ICS 804 Theory of Computation Ibrahim Otieno iotienouonbi
: : ICS 804: : Theory of Computation - Ibrahim Otieno iotieno@uonbi. ac. ke +254 -0722 -429297 SCI/ICT Building Rm. 214
Course Outline • • • Mathematical Preliminaries Turing Machines Recursion Theory Markov Algorithms Register Machines Regular Languages and finite-state automata • Aspects of Computability
Last Week: Discrete Mathematics • Topics: - Set-theoretic concepts Formal language theory Functions Big-O notation Propositional logic Proof Techniques Number-theoretic predicates
Course Outline • • • Mathematical Preliminaries Turing Machines Recursion Theory Markov Algorithms Register Machines Regular Languages and finite-state automata • Aspects of Computability
Turing Machines • • What is Computation? Informal Description of Turing Machines Formal Description of Turing Machines as Language acceptors and Language recognizers • Turing Machines as Computers of number-theoretic functions • Modular Turing Machines • Complexity Theory
What is Computation?
Computation • Think of machines: Computers and calculators • Until 1930 s: computation done solely by human beings • Computation is a cultural phenomenon • Most typical example: numeric computation - 34239 + 23478378 - 2347 - 293874 43. 3421 - 3. 24 - 72% of the population of Nairobi
Computation • But also: non-numeric computation (operations on strings of symbols) - Sorting a set of strings alphabetizing Find the length of string ababbbaba What is abababbabbab. R? Is abababbbbbababa a palindrome? What is the longest substring common to GCATCCTAA and ATACTAATCCTTA?
Algorithm • Related to the concept of an algorithm • Informal definition of algorithm: - a certain sort of general method for solving a family of related questions e. g. truth table algorithm for argument validity in propositional calculus - End result of the mathematician’s quest for a general procedure for answering any one of some infinite family of questions
Algorithm - example Question template: is natural number n a prime number? Corresponds to an infinite family of yes/no questions: is natural number 1 a prime number? is natural number 2 a prime number? is natural number 3 a prime number? …
Algorithm - example Question template: is natural number n a prime number? Decision problem is natural number 1 a prime number? is natural number 2 a prime number? is natural number 3 a prime number? … Instance of the general problem
Algorithm - example What if n is large, e. g. 807 or 907 - Attempt successive division by divisors k=2, 3, 4, … up to a certain point - If k is seen to divide n without a remainder, it is not a prime number
Algorithm - example What if n is large, e. g. 807 or 907 - Attempt successive division by divisors k=2, 3, 4, … up to a certain point - If k is seen to divide n without a remainder, it is not a prime number
Euclidean Algorithm
Algorithm • This algorithm may involve many steps, but is always determinate • Always gives a definite answer • Decision problem expressed by question template is natural number n a prime number? is a decidable problem
Algorithm What-questions ( yes/no questions) What is the nth prime number? Algorithm for Finding the nth Prime Number Input: natural number n 1 Output: the nth prime number Begin i : = 1; k : = 1; while i n do begin k : = k + 1; if k is prime then i : = i+1 end; return k end.
Algorithms • Procedure to answer an infinite number of questions • Algorithm itself must be finitely described • Definite: at each step there is a determinate next step (“mechanical”): deterministic • Finite process: finite number of steps to solve the problem • Conclusive: when the algorithm terminates an unambiguous result or “output” must be generated
Three Computational Paradigms • Number-theoretic function computation (functions from N to N) • Language acceptance (recognition) • Transduction (transformation of an input into an appropriate output) • Turing machines implement each of these paradigms
Three Computational Paradigms • Number-theoretic function computation (functions from N to N) • Language acceptance (recognition) • Transduction (transformation of an input into an appropriate output)
Number-theoretic Functions (recap) • Number-theoretic functions: map natural numbers unto natural numbers • Unary number-theoretic functions f(n) = n + 1 Binary number-theoretic functions f: N 2 N f(n, m) = n + m • K-ary number-theoretic functions f: Nk N • 0 -ary number theoretic functions C 02: N 0 N C 02() = 2
Number-theoretic functions Computation of a given k-ary numbertheoretic function f Computation of the unique value f(n 1, n 2, …, nk) of n given arguments n 1, n 2, …, nk
Number-theoretic functions Computable function: no definition, but describe what it means for a numbertheoretic function to be computable
Number-theoretic functions Example: f(n) = the nth primary number f(1) = 2 f(2) = 3 f(3) = 5 … Computation involved for f(1000) Computable: given any natural number n one can find the value of f for argument n (using the algorithm defined earlier)
Number-theoretic functions Binary function g(n, m) = n / m Effectively calculable: we possess an algorithm that produces after a finite number of steps, the correct value of g for any argument pair <n, m> Effectiveness of g Partial function (undefined for <n, 0>): g’s partiality does not compromise its effectiveness If g(n, m) is undefined the algorithm should not return a value
Function Computation Paradigm Computing the value of a numeric function is a paradigmatic instance of the phenomenon we call computation Function computation paradigm Also other types of computation, not involving function computation
Three Computational Paradigms • Number-theoretic function computation (functions from N to N) • Language acceptance (recognition) • Transduction (transformation of an input into an appropriate output)
Language Recognition Paradigm Finite string w from * with = {a, b} abbbabababbba Determine whether w is palindrome
Language Recognition Paradigm • Finite string w from * with = {a, b} abbbabababbba • Determine whether w is palindrome If leftmost and rightmost symbol are identical, remove them. Iterate until (1) leftmost remaining symbol is not identical with rightmost remaining symbol (2) just one symbol remains (3) no symbol remains o (2, 3): w is a palindrome o (1): w is not a palindrome
Language Recognition Paradigm No numerical computation involved! Only symbol manipulation (removing, comparing, … symbols) Does w (abbbabababbba) contain the same number of a’s and b’s? ◦ Remove leftmost occurrence of a together with leftmost occurrence of b until (1) no symbols remain (2) just a’s remain (3) just b’s remain (1): na(w) = nb(w) (2, 3): na(w) nb(w)
Language Recognition Paradigm Compute whether or not the original string belongs to the class of strings possessing a certain property (e. g. palindromes) String classification paradigm Language recognition paradigm
Formal Language (recap) • * set of all words over • Language over : any subset of * - Empty language: - Universal language: * - Unit language L = {w}
Language Recognition Paradigm Determine whether or not an arbitrary word w belongs to some language L where L is assumed to be given/defined in advance. An algorithm that successfully does this in the case of language L will be said to recognize L Redefine into language recognition problem: LPrime = {11, 11111, 1111111, …}
Three Computational Paradigms • Number-theoretic function computation (functions from N to N) • Language acceptance (recognition) • Transduction (transformation of an input into an appropriate output)
Transduction paradigm • Computation that involves some welldefined transformation (transduction) of symbol strings e. g. reversing a word w = aabaabb and w. R = bbaabaa
Paradigms • Study computability: - Function computation paradigm: in-principle computability - Language/recognition: when we need to take time/space resources into account - But: paradigm inter-reducibility: so no real emphasis necessary • Language function: translate symbols into numeric values (e. g. ASCII codes)
Representing Natural Numbers Unary notation 111 represents natural number 2 The “extra” 1 is the representational 1 Why do we need the representational 1?
Representing Natural Numbers Unary notation 111 represents natural number 2 The “extra” 1 is the representational 1 Why do we need the representational 1? we need to be able to represent 0
Models of Computation • Try to characterize/analyze the intuitive notion of computable function • Effectively calculable function: addition, word reversal, …: part of cultural heritage: - It is pretheoretic - Non-mathematical, philosophical concept • !!!! Models of computable function (turingcomputable function, …): technical concepts as opposed to computable function
Models of Computation • Most famous model: Turing model • “On Computable Numbers, with an Application to the Entscheidungsproblem” (1936 -1937) • Still the only frequently cited model outside computer science: standard for sequential computation
Feasible Computation • Computability in principle: computation in the absence of any restriction on either time or space • Computational feasibility - A computation is feasible if it would consume only a quantity of resources that does not exceed what is likely to be available to the computational process e. g. is n prime? Algorithm that requires n division steps: feasible since each step involves a reasonable number of computation steps • Intuition of feasibility ( economically cost-effective, …) • Infeasibility = not cost-effective • Feasibility is a philosophical concept
The Turing Machine Concept (Informal Description)
Example State diagram (transition diagram): full description of machine M’s behavior Machine states and instructions Initial state q 0 Machine instructions
Example Read/write (tape) tape (tape squares) B: blank tape square Read/write head scans one tape square Initial tape configuration
M initially B Machine configuration: In state q 0 scanning a blank tape square
M after One Computation Step Machine configuration: In state q 1 scanning an a (all other squares blank).
M after 2 Computation Steps Machine configuration: In state q 2
M after 3 Computation Steps b Machine configuration: In state q 3
M after 4 Computation Steps b Machine configuration: In state q 4
Summary of M’s Behavior When started scanning squares on a completely blank tape, M writes ab and halts scanning a. We makes no claims for M if tape not initially blank.
Important Concepts • Tape configuration: content of M’s tape + location of M’s read/write head on it at any given step in M’s computation • Machine configuration = tape configuration + current state e. g. final machine configuration: M is in state q 4 with its tape configured as b
Exercise What do these machines do?
Exercise What do these machines do? • Machine on left moves off to the right forever • Machine on the right writes 1 s off to the right forever • Turing machines can compute forever
Turing Machines as abstract mathematical concepts Tapes, read/write heads, but TMs are abstract mathematical concepts Tape: memory, storage in PC ◦ Stores intermediate and final results ◦ But: hard drive is finite, tape isn’t Turing machine is abstract Transition function
Transition Functions (Alternative Description of Turing Machines) • (q 0, B) = (a, q 1) • (q 2, B) = (b, q 3) • (q 1, a) = (R, q 2) • (q 3, b) = (L, q 4)
Transition Functions • • (q 0, B) = (a, q 1) (q 2, B) = (b, q 3) (q 1, a) = (R, q 2) (q 3, b) = (L, q 4) General form M(qi, ) = (action, qj) indicates the (unique) value of binary transition function M for an (ordered) argument pair <qi, >. M is undefined for <q 0, a>
Notation Tape representation: …Baa. Hbaa. B… Baa. Hbaa. B (without ellipsis) ◦ M’s read/write head is scanning symbol b on a tape that contains the string aabaa and that is otherwise blank ◦ Place H immediately to the left of the tape square being scanned aaq 3 baa ◦ Also indicates machine state (machine configuration) ◦ Instantaneous (Turing Machine) descriptions
Exercise Assuming the Turing Machines M 1, M 3 and M 4 start scanning a blank tape, describe in a sentence what these Turing Machines do. When, where do they halt?
Exercise Assuming the Turing Machines M 1, M 3 and M 4 start scanning a blank tape, describe in a sentence what these Turing Machines do. When, where do they halt?
M 3: writes 1 s. The machine doesn’t halt and keeps moving left and right, writing 1 s
M 4: writes ab sequences. The machine doesn’t halt and keeps moving left and right, writing a’s and b’s
The Turing Machine Concept (Formal Description)
Defining the TM A Turing machine consists of: - A finite input alphabet ◦ A finite, nonempty set Q of states, among which is the initial state qinit (q 0) ◦ Read/write head actions (machine actions) ◦ A set of instructions over Q x {B} as embodied in a transition function M. instruction: quadruple <qi, ; action, qj> qi and qj are states : alphabet symbol or blank Action: any one of the possible machine actions E. g. <q 1, a; R, q 2> Also: <q 2, B; R, q 2>
Defining the TM ◦ A set of instructions over Q x {B} as embodied in a transition function M. instruction: quadruple <qi, ; action, qj> qi and qj are states : alphabet symbol or blank Action: any one of the possible machine actions E. g. <q 1, a; R, q 2> Also: <q 2, B; R, q 2> This definition is incomplete because we will require some auxiliary symbols that do not belong to or {B} as computational markers
An example = {a, b} and L = {w *|where na(w) = nb(w)} Input string will consist of a finite, unbroken string of a’s and b’s (otherwise blank) – the characters are in no particular order M will start scanning at the leftmost symbol of the string
An example cont… Description of M: When starting scanning at the leftmost symbol of word w (as previously defined), Turing machine M halts when scanning a single 1 on an otherwise blank tape if and only if the number of a’s in w is equal to the number of b’s in w i. e. na(w) = nb(w)
An example cont… Start: BHabbbaa. B Halt: BH 1 B Design: ◦ Delete a’s and b’s in pairs until either Every symbol has been eliminated, in which case the number of a’s was equal to the number of b’s Some symbol is eliminated for which no companion can be found in which case the number of a’s was not equal to the number of b’s
An example cont… We will implement this idea using the symbol * as a marker Start: BHabbbaa. B BH*bbbaa. B B*H*bbaa. B BH**bbaa. B B*H*bbaa. B B**Hbbaa. B … B***Hb*a. B … B*****H*B … HB******B B******HB Halt: BH 1 B
Language Acceptance Produces accepting 1 for word w just in case na(w) = nb(w) BHabbbaa. B Deus EM demo
Determinism No state node has two distinct arcs both emanating from it such that both arcs involve one and the same member of input alphabet or B. Implements Turing Machine requirement of determinism
Determinism M is in state qi scanning {B}, there is at most one instruction that dictates M’s behavior in this situation. M’s behavior is strictly determined at every point whenever - If in state qi scanning {B} such that there is a (unique) instruction for qi and , then M must proceed in accordance with that instruction ◦ If in state qi scanning {B} such that there is no instruction for qi and , then M must halt
Determinism What is happening here?
Determinism Neither situation is possible (for now)
Definition: deterministic TM A deterministic TM M is anything of the form Q, , , qinit, Where Q is a nonempty finite set, and are nonempty finite alphabets with , qinit Q, and is a (partial) function with domain and codomain given by: : Q x ( {B}) ( {B} {L, R}) x Q
Definition: deterministic TM cont… � Set Q is the set of states of M, qinit is the initial state of M, is M’s input alphabet, and is the tape alphabet. Finally, is the transition function of M.
Remarks Transition function may be partial Determinism means that will be singlevalued. Any given state/symbol pair <qi, > for which is defined, is mapped by onto a unique action/state pair <action, qj> Useless instructions qi, s; s, qi are permitted
Set-theoretic definition of the form Q, , , qinit, Nonempty finite state set Q Input alphabet (typically {a, b} Tape alphabet (typically {a, b} { , 1}) Always Initial state qinit Q is usually q 0 Transition function Allows mathematical discussion of TMs using set operations, function operators, … Anything
Turing Machines as Language Acceptors and as Language Recognizers
Acceptance Vs Recognition Concentrate on formal languages Word vs. Language Acceptance What is the difference? A Turing Machine May Accept Word w *|na(w) = nb(w)} Starts scanning leftmost symbol of input w Halts scanning a 1 on otherwise blank tape (accepting configuration) Special case w = {w
Acceptance vs Recognition TMs can accept formal languages and can recognize languages Acceptance: Let L be a language over alphabet that we consider given in advance; e. g. {w *|na(w) = nb(w)} aabb, ababba, belong to L aaab, aba do not
Acceptance vs Recognition Turing Machine M will be said to accept language L provided that, given an arbitrary word w as input, where w consists solely of symbols of , machine M processes w (reads w) and identifies w as a member of L if and only if indeed w L Meaning that if : L then M will respond in the ‘affirmative’ w L then M will not respond in the ‘affirmative’ w
Word Acceptance Deterministic TM M accepts nonempty word w if, when started scanning the leftmost symbol of w on an input tape that contains w and is otherwise blank, M ultimately halts scanning a 1 on an otherwise blank tape. Turing machine M accepts empty word if, when started scanning a blank on a completely blank tape, M ultimately halts scanning a 1 on an otherwise blank tape Or: M halts in an accepting configuration word is accepted
Example Accepted: b, ab, bb, aab, abb, bbb, . . . Not accepted: a, aa, ba, aaa, aba, bba, . . .
Language Acceptance Both machines on previous slide accept all and only words in language L = {anbm|n 0, m 1} We say that these machines accept language L = {anbm|n 0, m 1} We don’t care what M does for input words not in L as long as it does not write accepting 1.
Language Acceptance Deterministic TM M accepts language L if M accepts all and only the words w in L. Furthermore, we shall write L(M) for the language accepted by Turing machine M. If TM M accepts language L, then L(M) = L. A language is said to be Turing-acceptable if there exists some deterministic TM M that accepts L.
Language Recognition Given a language L over , can some Turing machine be found that can decide whether an arbitrary word w over is in L?
Language Recognition M recognizes language L If w L, then M writes accepting 1 and halts. (M accepts w. ) If w L, then M writes rejecting 0 and halts. (M rejects w. ) Note that 0, 1 . Special case
Language Recognition B: R a: R 1 a: B 0 |w| is even B: 1 B: R 3 2 5 b: R B: 1 B: R B: L 7 b: B a: L |w| is odd with a in the middle 11 b: B abba aaa a: R b: R 4 |w| is odd with b in the middle a: R B: L 6 b: R a: R 8 b: R 9 b: B B: L 10 12 B: L 13 b: L a: B b: B B: 0 14
Language Recognition Language acceptor: machine halts at some state or processes infinitely: doesn’t tell us anything about the input Language recognizer provides output 0 or 1
Terminology Language L is Turing-acceptable if some Turing machine accepts L. Language L is Turing-recognizable if some Turing machine recognizes L. If M recognizes L, then M accepts L, but not necessarily vice versa.
Exercise Consider Turing Machine M 0 a: B • • b: B B: R 4 What is ? What is the shortest word accepted by M? Is word aba accepted by M? abab? What language over is accepted by M 1 B: R B: 1 2 a: B B: R 5 3
Exercise Consider Turing Machine M 0 a: B b: B B: R 4 • What is ? {a, b} • What is the shortest word accepted by M? b • Is word aba accepted by M? yes abab? no • What language over is accepted by M L = {anbam | n 0 and m 0} 1 B: R B: 1 2 a: B B: R 5 3
Turing Machines as Computers of Number. Theoretic Functions
Natural numbers Denote natural numbers as an unbroken string of 1 s n = n + 1 1 s, with the extra 1 called the representational 1 Arguments are split by a single blank B B B 1 1 1 B B …B 111111 B… <5, 2>
? ? What does this TM do?
Computes the Successor (+1) Function If M started scanning input 1111, then halts scanning 11111. Deus
Definition Deterministic Turing Machine M computes (unary) partial number-theoretic function f provided that (i) If M is started scanning the leftmost 1 of an unbroken string of n + 1 1 s on an otherwise blank tape, where function f is defined for an argument n, then M halts when scanning the leftmost 1 of an unbroken string of f(n)+1 1 s on an otherwise blank tape (i) If M is started scanning the leftmost 1 of an unbroken string of n+1 1 s on an otherwise blank tape, where function f is undefined for argument n, then M does not halt in a value-representing configuration: that is, either M does not halt at all or, if M does halt, it does not halt scanning the leftmost 1 of an unbroken string of 1 s on an otherwise blank tape
Computing Binary Functions M computes addition function f(n, m) = n + m E. g. binary addition 1: R 0 1: B 1 B: R Erase 1 on the left Deus 2 1: R B: R 3 1: L 4 B: L 1: B 5 B: L Erase 1 on the right 6 1: L B: 1 7 Write a 1 In the center B: R 8 Return to the left
Definition Deterministic Turing Machine M computes k-ary partial number-theoretic function f with k 1 provided that: • If M is started scanning the leftmost 1 of an unbroken string of n 1+1 1 s followed by a single blank followed by an unbroken string of n 2+1 1 s followed by a single blank … followed by an unbroken string of nk +1 1 s on an otherwise blank tape, where function f happens to be defined for arguments n 1, n 2, …, nk then M halts scanning the leftmost 1 of an unbroken string of f(n 1, n 2, …, nk) + 1 1 s on an otherwise blank tape • If M is started scanning the leftmost 1 of an unbroken string of n 1+1 1 s followed by a single blank followed by an unbroken string of n 2+1 1 s followed by a single blank … followed by an unbroken string of nk +1 1 s on an otherwise blank tape, where function f is undefined for arguments n 1, n 2, …, nk, then M does not halt scanning the leftmost 1 of an unbroken string of 1 s on an otherwise blank tape
Turing Machines as Transducers Language acceptors, recognizers and number-theoretic computer Transducing: transforms the input word w to produce some output w’ e. g. reversing input word
Turing Machines as Transducers Input tape abb
Exercise Turing Machine M • Try out M with input tape BHaba. B and BHaa. B • What is the input alphabet ? • What is the tape alphabet? • What is the domain of this function? • What is the codomain of this function? • What function is this?
Exercise Turing Machine M • Try out M with input tape BHaba. B and BHaa. B • What is the input alphabet ? {a, b} • What is the tape alphabet? {a, b, *, 1} • What is the domain of this function? * • What is the codomain of this function? N • What function is this? f(w) = na(w)
Complexity Theory
Complexity Theory Computability-in-principle vs computational feasibility (calculate time/space requirements) Complexity theory: study of resourcebounded computability Resource bounds (time, space) of computation Worst-case time analyses of Turing machines (algorithms)
Big-O (recap)
time. M(n) Unary number-theoretic function The maximum number of steps in any terminating computation of M for input of size n ◦ Step: execution of a single instruction ◦ Input: length of given input word
time. M(n) Example L = {w *| n (w) = n (w) } a b
Same number of a’s and b’s Example words Time complexity time. M(0) = 2 a, b time. M(1) = 2 aa, ab, ba, bb time. M(2) = 14 aaa, aab, aba, abb, baa, bab, bba, bbb time. M(3) = 12 aaaa, aaab, aaba, aabb… time. M(4) = 32
Same number of a’s and b’s cont… Example words Time complexity aaaaa, aaaab … time. M(5) = 28 aaaaaa, aaaaab … time. M(6) = 56 aaaaaaa, aaaaaab time. M(7) = 50 … time. M(8) = 86 … time. M(9) = 78 … time. M(10) = 122
Same number of a’s and b’s cont… Notice that: ◦ time. M is not strictly monotone increasing. Why? ◦ For n 4 time. M 2 n 2 i. e. Time. M(n) is O(n 2) or M has time complexity O(n 2) ◦ Counting steps is tedious so is there an easier way of finding the upper bound?
Time complexity high road low road
Time complexity cont… Accepted inputs (na=nb) result in the greatest number of high road / low road traversals Maximum number of traversal per road will be n/2 Most costly situation: ****…*****a****…*****b One traversal of either of the two cycles will involve 2 n + 2 states
Time complexity cont… Scanning the *** n times q 0 to q 6 one time. M(n) (n/2). (2 n + 2) + n + 1 + 2 n + 1 = n 2 + 4 n + 2 Cycle traversal Max steps Self loop q 0 q 6 Erasing Writing Per traversal asterisks Accepting 1 q 0 that for n 5 we have n 2 + 4 n + 2 2 n 2 there we can say that time. M(n) is O(n 2) and hence M computes in polynomial time Note
Time complexity cont… Function time. M is number-theoretic since both its domain and codomain are natural numbers (note that number of steps can be neither negative nor fractional) time. M(n) is undefined when a TM does not terminate. Thus, in general, time. M will not be a total function. Function time. M measure worst-case performance on the part of a TM
Time complexity cont… Complexity class P: class of all languages accepted in polynomial time by some Turing Machine L = {w *| na(w) = nb(w) } is a member of complexity class P A language L over alphabet is said to be if there exist both polynomial-time Turingacceptable a deterministic TM M and a polynomial p(n) such that for any w *, we have w L if and only if M accepts w in O(p(|w|)) steps.
Comparison of growth rates of several functions n = 10 n = 20 n = 30 time. M(n) = n 0. 00001 0. 00002 0. 00003 time. M(n) = n 2 0. 001 0. 0004 0. 0009 time. M(n) = n 3 0. 001 0. 008 0. 027 time. M(n) = n 4 0. 01 0. 16 0. 81 time. M(n) = 2 n 0. 001024 1. 048576 17. 8957 min 1 step = 1 microsecond
Comparison of growth rates of several functions cont… n = 40 n = 50 n = 60 time. M(n) = n 0. 00004 0. 00005 0. 00006 time. M(n) = n 2 0. 0016 0. 0025 0. 0036 time. M(n) = n 3 0. 064 0. 125 0. 216 time. M(n) = n 4 2. 56 6. 25 12. 96 time. M(n) = 2 n 1 step = 1 microsecond 12. 72583 days 35. 67843 years 365. 34711 centuries
Feasibility Cobham – Edmonds thesis regarding computational feasibility: the problem of determining whether a given string is a member of a given language L is feasible if and only if L is in P
space. M(n) Unary number-theoretic function The maximum number of tape squares scanned over the course of any terminating computation of M for input of size n
Summary We have now seen that Turing machines implement each of our three paradigms. ◦ Language acceptance (recognition) ◦ Number-theoretic function computation ◦ Transduction
Turing Machines • • What is Computation? Informal Description of Turing Machines Formal Description of Turing Machines as Language acceptors and Language recognizers • Turing Machines as Computers of number-theoretic functions • Complexity Theory
- Slides: 122