MIT6_045JS11_lec12

MIT6_045JS11_lec12 - 6.045: Automata, Computability, and...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the 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: Turing-recognizable = enumerable, and Turing-decidable. 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 Turing-decidable 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 1-tape 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 left-to-right 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 reject---not 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.

Page1 / 50

MIT6_045JS11_lec12 - 6.045: Automata, Computability, and...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online