computability, etc

30
11 1 Computability, etc. Recap. Present homework. Grammar and machine equivalences. Turing history Homework: Equivalence assignments. Presentation proposals, preparation. Keep up on postings.

Upload: meghan

Post on 25-Feb-2016

52 views

Category:

Documents


2 download

DESCRIPTION

Computability, etc. Recap. Present homework. Grammar and machine equivalences. Turing history Homework: Equivalence assignments. Presentation proposals, preparation. Keep up on postings. Recap. Define different types of machines. abstract machines - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computability, etc

1 1 1

Computability, etc.

Recap. Present homework. Grammar and machine equivalences. Turing historyHomework: Equivalence assignments.

Presentation proposals, preparation. Keep up on postings.

Page 2: Computability, etc

1 1 1Recap

• Define different types of machines.– abstract machines

• Machines are fed (my term) strings in a specified alphabet.

• Machines scan the strings and say yes or no (accept or reject)

• Each machine accepts strings in a certain pattern. We call the set of strings in that pattern a language.

Page 3: Computability, etc

1 1 1Recap

• Repeat: a language is a SET of strings.• This set may be finite or infinite.

– the empty set is a language, with no actual members==elements

• This set may or may not include the empty string

Page 4: Computability, etc

1 1 1Homework

• Define a FSA, alphabet {A,blank}, that accepts strings with even number of As. Define a second FSA that accepts strings with an odd number of As.

• Define a PDA, alphabet {A, blank,(, ),+} that accepts A, A+A, (A+A), (A+(A+A)) etc. NOT A+ , not unbalanced ( and ). HOLD OFF ON THIS ONE: SEE HOMEWORK!

• Define TM that subtracts 1. If input is zero, then tape is cleared.

• Define Turing machine to subtract two numbers a and b, represented by a+1 1s followed by a blank followed by b+1 1s– if (a>=b), put (a-b) + 1 1s on the tape– if a<b, leave zero 1s in the tape OR return something else if

a<b ???

Page 5: Computability, etc

1 1 1Turing machine

• can perform a function or • define same type of machine plus

accepting and rejecting states and say a TM defines a language L if strings in the language L make the machine stop in an accepting state and strings NOT in L stop in a rejecting state.

Page 6: Computability, etc

1 1 1Decidability

• A TM that always halts is called a decider.– TM can keep going, that is, loop…

• A language is Turing-decidable if a decider TM recognizes it.

Page 7: Computability, etc

1 1 1Univeral Turing Machine

• Consider the input <M,w> where M is [some encoding for] a Turing Machine and w is a string.

• Claim: it is possible to define a TM U such that U simulates M on w! This is analogous to a general purpose computer.– may have contributed to idea of stored

program computing

Page 8: Computability, etc

1 1 1Halting problem

• Consider a universal Turing machine U.• Now, if a M loops on a w, so would U.• U is not a decider!• Put another way: the set

ATM = {<M,w> | M is a TM and M accepts w} is undecidable. It can be proven that there does not exist a TM that always halts, that says yes or no on all inputs <M,w>.

Page 9: Computability, etc

1 1 1Recap

• There are different definitions/constructions/concepts that define the same set of functions or languages.

• So-called recursive functions (more next) correspond to computable (TM) functions.

• Languages defined by a Regular Expression (look it up) are languages recognized by a FSA.

• Languages defined by a Context Free Grammar (look it up) are languages recognized by a PDA.

• Some proofs of equivalence are easy and some more substantial.– Will not focus on proofs, BUT these are possible topics for

presentations.

Page 10: Computability, etc

1 1 1Recursive functions

Define a set of functions by specifying a starter set and then ways of adding new functions. Functions can be on vectors. Stick to integers.

Starter set• identify function and projection

I(x) = x and Pi(x1,x2,…xn) = xi• Add 1: A(x) = x+1• Constant: Ck(x) = k

Page 11: Computability, etc

1 1 1Ways to add

• Composition: if F and G are recursive (and F produces the right size vector, then the composition G F (first you do F and then G to the result) is recursive.

• Primitive recursion: Given functions F and G, define HH(0,x1, x2, …, xn) = F(x1, x2, … xn) andH(y+1, x1, x2, … xn)= G(y,x1, …,xn, H(x1,x2,…,xn))

• Minimal inverse: Given a function F, then the function H defined by H(x) = y such that F(y) = x and y is the smallest integer such that that is true.

Page 12: Computability, etc

1 1 1Equivalence!

• If there exists a TM for a function F, then F is recursive.

• If a function F is recursive (that is, in this set), then [you can define] a TM that performs F.

Page 13: Computability, etc

1 1 1Grammars

• A grammar G is a – set of symbols, divided in final symbols and auxiliary

symbols– (finite) set of production rules of the form

string of symbols => string of symbols• final symbols have no production rules of the form

f => …• In this exposition, we view certain strings of letters as

single symbols.– one auxiliary is called the started symbol s– The language generated (defined by) G is all the

strings of final symbols generated by a sequence starting with s

Page 14: Computability, etc

1 1 1Example

• Think of auxiliaries as parts of speech and final symbols as (whole) words

• Let s be sentencevp be verb phrasenp be noun phrasen be nounv be verbdo be direct objectadj be adjectiveadv be adverb

Page 15: Computability, etc

1 1 1Example

• Think of parts of speechs => np vpnp => adj n | nvp => v | v adv | v do | v do advdo => nn => boy | girl | dog | cheesev => walks | runs | jumps | eatsadj => short | tall | spottedadv => fast | slowly

Page 16: Computability, etc

1 1 1Try

• To construct the parse tree fortall girl walksshort boy eats cheese slowly

Page 17: Computability, etc

1 1 1Context free grammar

• Production rules are of the form

auxiliary symbol => string of symbols

Page 18: Computability, etc

1 1 1So what isn't CFG?

• There also can be rules of the formaPb => ….

• where P is an auxiliary symbol. Think of it as: P in the context of a and b produces something. So this is NOT context-free.

Page 19: Computability, etc

1 1 1Example CFG

• S => TT => aT => a + TT => (T)

• What language does this produce (list the terms)?

Page 20: Computability, etc

1 1 1Regular grammar

All rules are of the form:

• auxiliary symbol => final symbol or• auxiliary symbol => single final symbol

followed by an auxiliary symbol

Page 21: Computability, etc

1 1 1

• So a regular grammar is CFG!

Page 22: Computability, etc

1 1 1Regular grammars &FSA

• Any language accepted by a regular grammar is accepted by a FSA and

• Any language accepted by a FSA is accepted by a regular grammar.

Said a different way:If a language L is accepted by a regular grammar

G, we can define a FSA that accepts it AND if a language L is accepted by a FSA, we can define a regular grammar that accepts it.

Page 23: Computability, etc

1 1 1Informal proof

• Have a Grammar G with production rules of the accepted form.

• Define a FSA with one state for each auxiliary symbol, plus one more state. Make the initial state the one corresponding to the initial symbol. Add one more state, F and let it be the final state.

• If P=>aQ, where P and Q are auxiliaries and a is a symbol in the final alphabet, make an edge from P to Q, with label a.

• If P=>a, make an edge going from P to F with label a.

Page 24: Computability, etc

1 1 1Cont.

• Given a FSA, define a grammar with auxiliary symbols corresponding to the states. The initial symbol is the one corresponding to the initial state.

• Add production rules P=>aQ for all edges from P to Q.

• Change all production rules P=>aF to P=>a.

Page 25: Computability, etc

1 1 1Closure

Regular languages are closed with respect to various operations, including concatenation.

• If M is a regular language and N is a regular language, then we can define MN is the language made up of all the strings of the form sm sn where sn where sm is in M and sn is in N. Then MN also is regular.

Page 26: Computability, etc

1 1 1Closure

• If M and N are regular languages then so is the union of M and N.

• This is defined as the set of strings that are in M or are in N (or both).

• This also is a regular language.

Page 27: Computability, etc

1 1 1Regular expressions

Yet another equivalent definition! • A regular expression over an alphabet is a

pattern defined using letters from the alphabet combined using notation for union, concatenation, wild card, counts.

• The regular expession defines a set of strings, that is, a language

Page 28: Computability, etc

1 1 1CFG andPDA

Same equivalence here.

Page 29: Computability, etc

1 1 1Turing history

• Invented what came to be called Turing machines. Proved various things about them, including Halting problem

• Worked in Bletchley Park during WWII: built a machine to help decode German codes (codes changed). Given medal (in secret)

• Worked in general area, including spending time at Princeton with Van Neumann, others. Wrote papers on computer chess, notion of Turing test

• Arrested & convicted for homosexual acts. Made to take hormone drugs. Appeared to be okay…

• Committed suicide

Page 30: Computability, etc

1 1 1Homework

• Pick 1: Please think about it first instead of or before trying to look it up. Informal proofs are okay.– CFG and PDA equivalence

• If you believe this, then there does exist a PDA for the homework problem.

– Regular expression and (either) FSA or Regular grammar equivalence

• Possibilities for presentation topics in Turing work, history

• Keep up postings

• Shai videos