Download presentation

1
PROLOG MORE PROBLEMS

2
**MAGIC PUZZLE 3 X 3 3 X 3 square Digits 1 to 9 All rows are equal to 15**

All columns are equal to 15 Both diagonals are equal to 15

3
MAGIC PUZZLE 3 X 3 3 X 3 square X1 X2 X3 X4 X5 X6 X7 X8 X9

4
**MAGIC PUZZLE 3 X 3 Basically only one solution (+symmetries) 2 7 6**

Check it out: all totals are 15

5
**MAGIC PUZZLE 3 X 3 All digits should be different**

All digits are between 1 and 9 Set of equations: X1 + X2 + X3 = 15 (1st row) X4 + X5 + X6 = 15 (2nd row) … X3 + X5 + X7 = 15 (opposite diagonal)

6
**MAGIC PUZZLE 3 X 3 solve(X1,X2,X3,X4,X5,X6,X7,X8,X9) :-**

member(X1,[1,2,3,4,5,6,7,8,9]), .. alldifferent([X1,X2,X3,….,X6,X7,X8,X9]), X1 + X2 + X3 =:= 15, X3 + X5 + X7 =:= 15.

7
**MAGIC PUZZLE 3 X 3 Would take about 7 minutes to generate the solution**

Intuitively The average number is 5 There are 3 numbers in each row, column, diagonal Average number (5) * # numbers/row .. (3) = 15 5 is probably in the middle (it is) hard code 5 in the middle to speed up the code.

8
**TOWERS OF HANOI 3 Towers: left, center, right N disks on left tower**

All disks have a different diameter A smaller disk must be on top of a bigger disk; it can be alone too We want to move the N disks to the center tower

9
TOWERS OF HANOI Starting position with 3 disks

10
**TOWERS OF HANOI Solution (general case: N >= 2):**

To move N disks from A to B using C Move (N-1) disks from A to C using B (recursive call) Move 1 disk from A to B Move (N-1) disks from C to B using A (recursive call) Base Case (only 1 disk to move from A to B; no need for C here):

11
TOWERS OF HANOI Problem: Can we move N disks from tower A to tower B using tower C? Yes or No answer + printing out all the steps Predicate move takes 4 arguments: the number of disks, and 3 towers

12
**TOWERS OF HANOI Base case: Move 1 disk from A to B move(1,A,B,_) :-**

write(‘Move top disk from ‘), write(A), write(‘ to ‘), write(B), nl.

13
**TOWERS OF HANOI General case: Move N disks from A to B using C**

move(N,A,B,C) :- N > 1, M is N – 1, move(M,A,C,B), move(1,A,B,_), move(M,C,B,A).

Similar presentations

Presentation is loading. Please wait....

OK

Order of Operations (P.E.M.D.A.S).

Order of Operations (P.E.M.D.A.S).

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google