1 / 77

Easy, Hard, and Impossible

Easy, Hard, and Impossible. Easy. Tic Tac Toe. Hard. Chess. Recall the Approach - Search. Searching for the Best Move. A B C D E F G H I J K L M

nellie
Télécharger la présentation

Easy, Hard, and Impossible

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Easy, Hard, and Impossible

  2. Easy

  3. Tic Tac Toe

  4. Hard

  5. Chess

  6. Recall the Approach - Search

  7. Searching for the Best Move A B C D E F G H I J K L M (8) (-6) (0) (0) (2) (5) (-4) (10) (5)

  8. How Much Computation Does it Take? • Middle game branching factor  35 • Lookahead required to play master level chess  8 • 358

  9. How Much Computation Does it Take? • Middle game branching factor  35 • Lookahead required to play master level chess  8 • 358 2,000,000,000,000 • Seconds in a year 

  10. How Much Computation Does it Take? • Middle game branching factor  35 • Lookahead required to play master level chess  8 • 358 2,000,000,000,000 • Seconds in a year  31,536,000 • Seconds since Big Bang  300,000,000,000,000,000

  11. Growth Rates of Functions

  12. Yet Machines Can Do It In 1997, Deep Blue beat Garry Kasparov.

  13. Seems Hard But Really Easy

  14. Nim At your turn, you must choose a pile, then remove as many sticks from the pile as you like. The player who takes the last stick(s) wins.

  15. Nim Now let’s try:

  16. Nim Now let’s try: Oops, now there are a lot of possibilities to try.

  17. Nim My turn: 10 (2) 10 (2) 11(3) 11 • For the current player: • Guaranteed loss if last row is all 0’s. • Guaranteed win otherwise.

  18. Nim My turn: 100 (4) 010 (2) 101 (5) 011 • For the current player: • Guaranteed loss if last row is all 0’s. • Guaranteed win otherwise.

  19. Nim Your turn: 100 (4) 001 (1) 101 (5) 000 • For the current player: • Guaranteed loss if last row is all 0’s. • Guaranteed win otherwise.

  20. Following Paths

  21. Seven Bridges of Königsberg

  22. Seven Bridges of Königsberg Seven Bridges of Königsberg: 1 3 4 2

  23. Seven Bridges of Königsberg Seven Bridges of Königsberg: 1 3 4 2 As a graph:

  24. For Any Graph An Eulerian path : Cross every edge exactly once. All these people care:  Bridge inspectors Road cleaners Network analysts

  25. Another Example

  26. Another Example Define the degree of a vertex to be the number of edges with it as an endpoint.

  27. Euler’s Observation Define the degree of a vertex to be the number of edges with it as an endpoint. Euler observed that: ● Eulerian path if and only if exactly two vertices of odd degree. ● Eulerian circuit if and only if all vertices have even degree.

  28. An Efficient Algorithm def eulerian_circuit(vertices, edges): for v in vertices: count = 0 for e in edges: if e touches v: count += 1 if odd(count): return(False) return(True) How many steps does it take?

  29. An Efficient Algorithm def eulerian_circuit(vertices, edges): for v in vertices: count = 0 for e in edges: if e touches v: count += 1 if odd(count): return(False) return(True) How many steps does it take? O(|vertices| * |edges|)

  30. Back to the Bridges 1 3 4 2 As a graph:

  31. The Good King and the Evil King The good king wants to build exactly one new bridge so that: • There’s an Eulerian path from the pub to his castle. • But there isn’t one from the pub to the castle of his evil brother on the other bank of the river.

  32. Here’s What He Starts With 1 3 4 2 As a graph:

  33. Unfortuntately, There Isn’t Always a Trick Suppose we need to visit every vertex exactly once.

  34. The Traveling Salesman Problem 15 25 10 28 20 4 8 40 9 7 3 23 Find the shortest circuit that visits every city exactly once.

  35. Visting Vertices Rather Than Edges ● A Hamiltonian path: visit every vertex exactly once. ● A Hamiltonian circuit: visit every vertex exactly once and end up where you started. • All these people care: • Salesmen, • Farm inspectors, • Network analysts

  36. The Traveling Salesman Problem 15 25 10 28 20 4 8 40 9 7 3 23 Given n cities: Choose a first city n Choose a second n-1 Choose a third n-2 … n!

  37. The Traveling Salesman Problem Can we do better than n! ● First city doesn’t matter. ● Order doesn’t matter. So we get (n-1)!/2.

  38. The Growth Rate of n!

  39. Putting it into Perspective

  40. Getting Close Enough • Use a technique that is guaranteed to find an optimal solution and likely to do so quickly. • Use a technique that is guaranteed to run quickly and find a “good” solution. The Concorde TSP Solver found an optimal route that visits 24,978 cities in Sweden. The World Tour Problem

  41. Is This The Best We Can Do? • It is generally believed that there’s no efficient algorithm that finds an exact solution to: • The Traveling Salesman problem • The question of whether or not a Hamiltonian circuit exists. Would you like to win $1M? The Millenium Prize

  42. Impossible

  43. An Interesting Puzzle 2 List 1 b a b b b List 2 b a

  44. An Interesting Puzzle 2 1 List 1 b a b b b b List 2 b a b b b

  45. An Interesting Puzzle 2 1 1 List 1 b a b b b b b List 2 b a b b b b b b

  46. An Interesting Puzzle 2 1 1 3 List 1 b a b b b b b b a List 2 b a b b b b b b a

  47. The Post Correspondence Problem

  48. The Post Correspondence Problem

  49. The Post Correspondence Problem

  50. The Post Correspondence Problem Shortest solution has length 252. http://webdocs.cs.ualberta.ca/~games/PCP/

More Related