what is computable
play

What is computable? Examples: check if a number n is prime - PDF document

1/22/2009 What is computable? Examples: check if a number n is prime compute the product of two numbers sort a list of numbers find the


  1. 1/22/2009 What is computable? ������ • Examples: – check if a number n is prime ��������������������� – compute the product of two numbers – sort a list of numbers – find the maximum number from a list Spring 2009 • Hard but computable: – Given a set of linear inequalities, maximize a linear Sariel Har�Peled function sariel@cs.uiuc.edu Eg. maximize 5x+2y 3x+2y < 53 Madhusudan Parthasarathy ( Madhu ) x < 32 madhu@cs.uiuc.edu 5x – 9y > 22 Theory of Computation Theory of Computation �������������������������� " �����������!������������ • ������������������������ " ���������������������$����������!���� Computability ��$����������������������%"������ • ��������������������������������������������������������� ��������� " '����������������������$���������!���� Complexity • ������������������������������������������� � '���������������%"�������������������� ���������������������� ������$�������!��� • ����������������������!����������������������������"���� ������������������������������������������������������#� � ���������!������������������$�����$�� Automata �������$�������������������� • ���������������������$����������!�������$������������������� ���������������� ���%"�����������&��������������������������������������������� In short, ����������������������������������������� Theory of Computation Theory of Computation ���������!�����������������������$�� ���������!�����������������������$�� (����������!����))) Even checking whether a C�program will Computability Computability halt/terminate is not possible! *�#��+�$��������"���������������������� ����%��������������������������) input n; Verification of correctness of programs assume n>1; ������������ is hence impossible! Complexity Complexity while (n !=1) { ������������ if (n is even) ������������� (The woe of Microsoft!) n := n/2; �������������� else n := 3*n+1; Automata Automata } 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1. 1

  2. 1/22/2009 Theory of Computation Theory of Computation ����������������������������������� Computability Computability ����������������������������� • ����������������������� �� • ���!��������������"��# • $����%�������&��'������(����� Complexity Complexity )��������������������� ���������������* .��������������������������*!! • $����������������������� ����������-����&�/�����-��������� • +�����������&��� ����������������� Automata • ,������������������� �������������� Automata ������ ��0 • '�$��������-�����&��� $�����������������������-&� �� ������������� /�����������������������&����0 Theory of Computation Theory of Computation 1 � � ' What can we compute? + �� Most general notions of computability $ Computability Turing machines �� Uncomputable functions � 1 � 2 What can we compute fast? �� Faster algorithms, polynomial time Complexity Context�free � �� Problems that cannot be solved fast: . languages 3 * Cryptography . � What can we compute with very little space? Automata: 4 �� Constant space (+stack) ��� Foundations of computing Automata Automata + * String searching, language parsing, ��� Mathematical methods of argument 5 hardware verification, etc. ��� Simple setting 1 � 6 Theory of Computation Theory of Computation 1 1 � � � � ' ' + + Turing machines (1940s): $ $ �� The most general notion of computing Turing machines Turing machines � � �� The Church�Turing thesis 1 1 �� Limits to computing: � � Uncomputable functions 2 2 Context�free Context�free � � . languages . languages 3 3 Motivation from mathematics: Context�free languages . . • Can we solve any mathematical question ��� Grammars, parsing � � ������������ ? ��� Machines with stack 4 4 • Godel’s theorem: NO! Automata ��� Still a simple setting; but infinite state Automata + + • “Even the most powerful machines 5 5 cannot solve some problems.” 1 1 � � 6 6 2

  3. 1/22/2009 Theory of Computation Kurt Gödel 1 � � • Logician extraordinaire ' ���������������� • Hilbert, Russel, etc. tried to + Turing machines ������������� $ formalize mathematics � 1 • “Incompleteness theorem” (1931) � – Cannot prove consistency of 2 Context�free arithmetic formally ����������������������� . languages � ����������� – Consequence: unprovable theorems 3 . Since proofs �� computation, � ���������������� Automata 4 �������������� non�computability was established + 7����2����*�89:;�! 89�< 5 !������������������"���� 1 ������ � 6 Alonzo Church Alan Turing • “father of computer science” First notions of computable functions • Defined the first formal notion of a computer (Turing machine) in 1936: “ &���������!���(��!������������� First language for programs ,������������������*���������������!��� ” �� lambda calculus • Proved uncomputable functions �� formal algebraic language exist for computable functions • Church�Turing thesis: all real world computable • functions are Turing m/c computable $���������-*�898>�! 89=? • Cryptanalysis work breaking Enigma in WW�II $���(��������*� 89:��! 899= Noam Chomsky Automata theory • Linguist ; introduced the notion of formal • ,������������������������������������ languages arguing generative grammars are at the base of natural languages • �-������,������������������.�����������!���� • Hierarchy of formal languages that " /�!�������0�������1232� coincides with computation • Eg. Context�free grammars capture • ����������������������������������� most skeletons of prog. languages ������������������������������������ ������������*�89><! “Logical Structure of Linguistic Theory” (1957) • �����������$������������������������ • �������,������1245� 3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend