This preview shows pages 1–8. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 6.045: Automata, Computability, and Complexity Or, GITCS Class 12 Nancy Lynch Today: Complexity Theory First part of the course: Basic models of computation Circuits, decision trees DFAs, NFAs: Restricted notion of computation: no auxiliary memory, just one pass over input. Yields restricted class of languages: regular languages. Second part: Computability Very general notion of computation. Machine models like Turing machines, or programs in general (idealized) programming languages. Unlimited storage, multiple passes over input, compute arbitrarily long, possibly never halt. Yields large language classes: Turingrecognizable = enumerable, and Turingdecidable. Third part: Complexity theory Complexity Theory First part of the course: Basic models of computation Second part: Computability Third part: Complexity theory A middle ground. Restrict the general TM model by limiting its use of resources: Computing time (number of steps). Space = storage (number of tape squares used). Leads to interesting subclasses of the Turingdecidable languages, based on specific bounds on amounts of resources used. Compare: Computability theory answers the question What languages are computable (at all)? Complexity theory answers What languages are computable with particular restrictions on amount of resources? Complexity Theory Topics Examples of time complexity analysis (informal). Asymptotic function notation: O, o, , Time complexity classes P, polynomial time Languages not in P Hierarchy theorems Reading: Sipser, Sections 7.1, 7.2, and a bit from 9.1. N e x t : Midterm, then Section 7.3 (after the break). Examples of time complexity analysis xamples of time complexity analysis Consider a basic 1tape Turing machine M that decides membership in the language L = {0 k 1 k  k 0}: M first checks that its input is in 0*1*, using one lefttoright pass. Returns to the beginning (left). Then does repeated passes, each time crossing off one 0 and one 1, until it runs out of at least one of them. If it runs out of both on the same pass, accepts, else rejects. Q : How much time until M halts? Depends on the particular input. Example: 01111110 (length n) Approximately n steps to rejectnot in 0*1*, Example: 000111 (n/2 0s and n/2 1s) Approximately (at most) 2n + (n/2) 2n = 2n + n 2 steps to accept. Initial check Number of passes Upper bound on steps For one pass Time complexity analysis L(M) = {0 k 1 k  k 0}. Time until M halts depends on the particular input....
View
Full
Document
This note was uploaded on 12/26/2011 for the course ENGINEERIN 18.400J taught by Professor Prof.scottaaronson during the Spring '11 term at MIT.
 Spring '11
 Prof.ScottAaronson

Click to edit the document details