Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Efficient.

Similar presentations


Presentation on theme: "CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Efficient."— Presentation transcript:

1 CSC 3130: Automata theory and formal languages Andrej Bogdanov http://www.cse.cuhk.edu.hk/~andrejb/csc3130 The Chinese University of Hong Kong Efficient computation Fall 2008

2 Why do we care about undecidability? decidableundecidable TM M accepts input w TM M accepts all inputs CFG G is ambiguous Post Correspondence Problem... pretty much everything else anything you can write a computer program for Is P a valid java program? Can you pair up people so that every pair is happy? Can you get from point A to point B in 100 steps? Can you schedule final exams so that there are no conflicts? L = {0 n 1 n : n > 0}

3 Decidable problems L = {0 n 1 n : n > 0} On input x : n := |x| if n is odd reject for i := 0 to n/2 : if x i ≠ 0 or x n-i ≠ 1 reject otherwise accept Is P a valid java program? Can you get from point A to point B in 100 steps? Option 1: Try all derivations Option 2: CYK algorithm Option 3:LR(1) algorithm 8 6 10 14 3 3 9 8 4 2 5 5 9 A B For all paths out of point A of length at most 100 : Try this path If path reaches B, accept Otherwise, reject

4 Scheduling Can you schedule final exams so that there are no conflicts? Say we have n exams, k slots (maybe n = 200, k = 10 ) Exams → vertices Slots → colors Conflicts → edges CSC 3230 CSC 2110 CSC 3160 CSC 3130... Task: Assign one of k colors to the vertices so that no edge has both endpoints of same color

5 Scheduling algorithm For every possible assignment of colors to vertices: Try this assignment If every edge has endpoints of different colors, accept If all colorings failed, reject Task: Assign one of k colors to the vertices so that no edge has both endpoints of same color CSC 3230 CSC 2110 CSC 3160 CSC 3130...

6 Matching Can you pair up people so that every pair is happy? People → vertices Happy together → edges Pairing → matching For every possible pairing: If each pair is happy, accept If all pairings failed, reject

7 Shades of decidability Is P a valid java program? Can you pair up people so that every pair is happy? Can you get from point A to point B in 100 steps? Can you schedule final exams so that there are no conflicts? L = {0 n 1 n : n > 0} Sure, we can write a computer program......but what happens when we run it?

8 How fast? L = {0 n 1 n : n > 0} On input x : n := |x| if n is odd reject for i := 0 to n/2 : if x i ≠ 0 or x n-i ≠ 1 reject otherwise accept Is P a valid java program? Can you get from point A to point B in 100 steps? Option 1: Try all derivations Option 2: CYK algorithm Option 3:LR(1) algorithm 8 6 10 14 3 3 9 8 4 2 5 5 9 A B For all paths out of point A of length at most 100 : Try this path If path reaches B, accept Otherwise, reject

9 How fast? the lifetime of the universe P = 100 line java program Is P a valid java program? Option 1: Try all derivations Option 2: CYK algorithm Option 3:LR(1) algorithm 1 week a few milliseconds very inefficient efficient?

10 Finding paths Can you get from point A to point B in 1000 steps? 8 6 10 14 3 3 9 8 4 2 5 5 9 A B For all paths out of point A of length at most 1000 : Try this path If path reaches B, accept Otherwise, reject Is there a better way to do this? Yes! Dijkstra’s algorit hm Edsger Dijkstra (1930-2002)

11 Matching For every possible pairing: If each pair is happy, accept If all pairings failed, reject Can we do better? Yes! Edmonds’ algorithm Jack Edmonds

12 Scheduling algorithm For every possible assignment of colors to vertices: Try this assignment If every edge has endpoints of different colors, accept If all colorings failed, reject Task: Assign one of k colors to the vertices so that no edge has both endpoints of same color CSC 3230 CSC 2110 CSC 3160 CSC 3130 100 vertices, 10 colors 10 100 assignments Can we do better?

13 Some history first electronic computer UNIVAC 1950s integrated circuits

14 The need for optimization routing problems how to route calls through the phone network? packing problems how many trucks do you need to fit all the boxes?

15 The need for optimization scheduling problems how do you schedule jobs to complete them as soon as possible? constraint satisfaction can you satisfy a system of local constraints? 30 min 40 min 45 min 50 min 0 min

16 Fast algorithms shortest paths 1956 matchings 1965 and a few more…

17 Proving theorems Kurt Gödel J. von Neumann Princeton, 20 March 1956 Dear Mr. von Neumann: With the greatest sorrow I have learned of your illness. […] Since you now, as I hear, are feeling stronger, I would like to allow myself to write you about a mathematical problem: […] This would have consequences of the greatest importance. It would obviously mean that in spite of the undecidability of the Entscheidungsproblem, the mental work of a mathematician concerning Yes-or-No questions could be completely replaced by a machine.

18 Proving theorems We know some true statements are not provable But let’s forget about those. Can you get a computer to find the proof reasonably quickly? –Better than “try all possible proofs?” 52 years later, we still don’t know!

19 Optimization versus proofs If we can find proofs quickly, then we can also optimize quickly! Question: Can we color G with so there are no conflicts? Proof: We can, set v1v1 v2v2 v3v3 v4v4 v1v1 v2v2 v3v3 v4v4 (v1,R), (v2,Y), (v3,R), (v4,Y)

20 The Cook-Levin Theorem However, Constraint satisfaction is no harder than finding proofs quickly It is no easier, either Stephen Cook Leonid Levin Cook 1971, Levin 1973

21 Equivalence of optimization problems constraint satisfaction schedulingpacking covering routing are all as hard as one another! theorem-proving Richard Karp Q: So are they all easy or all hard? A: We don’t know, but we suspect all hard (1972)


Download ppt "CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Efficient."

Similar presentations


Ads by Google