Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 3240 – Chapters.  PDAs with 2 stacks or 1 queue  TMs with 1-way infinite tape  TMs with n tapes or n heads or n-dim tapes  TMs with various “move”

Similar presentations


Presentation on theme: "CS 3240 – Chapters.  PDAs with 2 stacks or 1 queue  TMs with 1-way infinite tape  TMs with n tapes or n heads or n-dim tapes  TMs with various “move”"— Presentation transcript:

1 CS 3240 – Chapters

2  PDAs with 2 stacks or 1 queue  TMs with 1-way infinite tape  TMs with n tapes or n heads or n-dim tapes  TMs with various “move” options  Move by a number of cells (including 0), random cell access by position  Adding non-determinism to a Standard TM  Church's Lambda Calculus (LISP, Haskell)  Unrestricted Grammars  Matrix Grammars  Post Systems  Markov Algorithms  Structured Programming with unlimited memory  Any abstract machine yet imagined by man!

3  Queues pop at front, push at back  2 I/O points gives more flexibility  Equivalent to a TM!  Begin by pushing all initial data  Can simulate “moving around” by cycling through the data  circular shift via pop and push of same character  use a delimiter character ($) to keep track of the start of data

4

5 $aabbcc aabbcc$ abbcc$X bbcc$Xa bcc$XaY cc$XaYb c$XaYbZ $XaBbZc XaYbZc$ aYbZc$X YbZc$XX bZc$XXY Zc$XXYY c$XXYYZ $XXYYZZ XXYYZZ$ YYZZ$XX ZZ$XXYY $XXYYZZ XXYYZZ$

6 Just store the tuple (a,b,c) as the “symbol” in a single cell. Change part or all of the data as needed.

7 Just “wrap around the fold” to simulate a 2-way tape

8 Figure 10.04:

9 Figure 10.05:

10 Just place in different sections of a single tape

11 Figure 10.11:

12 Code the machine so it replicates and calls itself for each choice. (A form of backtracking). Do a breadth-first search for a halting configuration.

13  The TM we’ve seen so far have been “special- purpose computers”  they implement only one algorithm, or  they accept only one language  But TMs can take another TM as input, and simulate (run) it  “stored program computer”  general purpose computer as we know it

14 A TM that simulates other TMs. M u takes M as input, along with data input. See page 267 for a sample encoding for TMs.

15  The input TM must be encoded as a string  States, transitions, etc.  One way:  Order the tape alphabet, Γ = {a 1, a 2, a 3 …} ▪ a 1 = ☐, a 2 = L, a 3 = R, a 4 = 0, a 5 = 1, …  Encode each state by its index+1 ▪ q 0 = 1, q 1 = 11 …  Encode each transition in δ  Use 0 as the separator everywhere

16  δ(q 0,1) = (q 0,1,R)  Consider it as the quintuple (q 0,1,q 0,1,R)  Which encodes as:  (1,5,1,5,3) = 1 11111 1 11111 111 = 1011111010111110111

17  Notation: T U = the UTM; T M = the input machine  T U has a memory location for the current state of T M  T U reserves a portion of the tape for the encoding of the T M  T U reserves an infinitely large portion of the tape for the working memory of the T M (in one direction), initialized with the input to T M  And keeps track of the read/write position  T U has its own infinitely large memory area (in the other direction)

18  We won’t investigate the inner workings of UTMs further  We’ll just assume they exist  (If they didn’t, neither would computers :-)  What we will do is examine the consequences of the existence of UTMs  especially the consequences of encoding TMs as strings

19  http://ironphoenix.org/tril/tm/ http://ironphoenix.org/tril/tm/  Here are the instructions for the swap machine:  1,a,1,b,>  1,b,1,a,>  1,_,2,_,<  2,a,2,a,<  2,b,2,b,<  2,_,H,_,>

20  Every TM can be encoded as a bitstring  Not all strings represent TMs. TM form:  (11 * 0) 5 0((11 * 0) 5 0) *  Some TMs can have more than one string representation  e.g., the name(number) of the state is immaterial  How many strings are there?  How many TMs are there?

21  Some infinite sets are countable  like the set of positive even numbers  {0, 2, 4, …} = {2n | n ∈ N}; function: p(i) = 2i  There is a one-to-one mapping between the set’s elements and the Natural numbers  Others are not countable:  e.g., the set of real numbers  Consequence: |(0,1)| = |(-∞,∞)| !!!

22  -2, -4, -6, …  Maps to 1, 2, 3, …  By the function: n(i) = -2i

23  e(0) = 0  e(1) = 2  e(2) = -2  e(3) = 4  e(4) = -4  e(5) = 6  e(6) = -6  The “formula”: If i is even e(i) = -i else e(i) = i + 1

24

25  Take a cue from number systems’ positional notation  123 = 1*10 2 + 2*10 + 3  aba = v(a)*n 2 + v(b)*n + v(a), where n = |Σ|, v(a) = 1, v(b) = 2, f(λ) = 0  So f(aba) = 1*2 2 + 2*2 + 1 = 9  aba is the 9 th string (0-based) in Σ*: {λ,a,b,aa,ab,ba,bb,aaa,aab,aba,…}

26  A Language is a subset of Σ *  We can enumerate the elements of Σ * (or any subset thereof) in proper order  lexicographically in groups by increasing length  Therefore, there is a first one, a second one, etc.  So, the strings of a language are enumerable  ⇒ Every language is a countable set of strings

27  aka enumerable  They can be arranged in a sequence ▪ TM 0, TM 1, TM 2, etc.  Why?  Because they can be encoded as strings  Strings over any alphabet can be enumerated in proper order ▪ by length groups, lexicographically  So there you have it!

28  Some TMs only need a fixed size of working storage  never grows beyond (a factor of the) input size  Example: a n b n c n  Doesn’t expand working storage (remember?)  These are called Linear Bounded Automata  LBA; they use end-markers: [ ]  Why do we care?  We don’t, much; will use briefly in Chapter 11


Download ppt "CS 3240 – Chapters.  PDAs with 2 stacks or 1 queue  TMs with 1-way infinite tape  TMs with n tapes or n heads or n-dim tapes  TMs with various “move”"

Similar presentations


Ads by Google