55
CS206 - AI Class Discussions

CS206 Class Discussion

Embed Size (px)

DESCRIPTION

Various Question and Answer about basic Artificial Intelligence problem. Including Types of Agent, A* Search, BFS, DFS, Alpha - Beta Prunning, Propositional Logic, and Many more.

Citation preview

Page 1: CS206 Class Discussion

CS206 - AIClass Discussions

Page 2: CS206 Class Discussion

2

Simple Reflex Agent

Use table lookup of percept-action pairs defining all possible condition-action rules (reflex actions)

Is this an optimal architecture for: Vacuum cleaner world? (Goal: clean floor) Vacuum cleaner world? (Goal: clean floor & minimize energy) Taxi agent world?

Page 3: CS206 Class Discussion

3

Model-Based Agent

Uses memory to maintain internal state of the world to store percept history and a model of how the world works.

Is this an optimal architecture for: Vacuum cleaner world? (Goal: clean floor) Vacuum cleaner world? (Goal: clean floor & minimize energy) Taxi agent world?

Page 4: CS206 Class Discussion

4

Goal-Based Agent

Chooses actions so as to achieve a goal Involves planning if long sequences of

path to the goal state (Here, both action 1 and 2 will lead to the goal)

Is this an optimal architecture for: Taxi agent world? (Goal: shortest path)

action 1

Start

Goal

action 2

action 3

Page 5: CS206 Class Discussion

5

Utility-Based Agent

Uses utility function, to choose multiple possible alternatives to the goal state utility(goal) > utility(A)

Is this an optimal architecture for: Taxi agent world? (Goal: shortest path)

action 1

Start

Goal

action 2

A

Page 6: CS206 Class Discussion

6

Romania Map

Questions:1. Give the states, goal test, successor function, and step cost

for the above problem (start from Arad).

2. Draw the state space of the search problem up to depth 2.

Page 7: CS206 Class Discussion

7

Romania Map Solution

States: Cities Goal test: At Bucharest? Successor function: Arad Sibiu, Arad Zerind, etc.

(following the path in the map) Step cost: Distance between cities.

Page 8: CS206 Class Discussion

8

Vacuum-Cleaner World

Percepts: location and content, e.g. [A,Dirty]

Actions: Left, Right, Suck. The figure on the right is the

initial state.

Questions:1. Give the states, goal test, successor function, and step cost

for the above problem so that you can solve the problem by a search algorithm.

2. Draw the state space of the problem.

Page 9: CS206 Class Discussion

9

Vacuum-Cleaner World Solution

States: Boolean dirt and robot location Goal test: No dirt on all locations? Successor function: Left, Right, Suck Step cost: 1 per action.

Page 10: CS206 Class Discussion

10

Vacuum-Cleaner World Solution

The state space:

Page 11: CS206 Class Discussion

11

Blind Search Algorithms

Solve using:- Depth-First Search

- Breadth-First Search

- Uniform Cost Search

S: Start

G: Goal

Page 12: CS206 Class Discussion

12

Blind Search Algorithms

Solve using:- Depth-First Search

- Breadth-First Search

- Uniform Cost Search

- Iterative Deepening Search

Node 0: Start

Node 8: Goal

Page 13: CS206 Class Discussion

13

Blind Search Algorithms

0

1 4 3

5 8 6 4 62 4 7

5 4 5 8 67

8 5 8 67

Partial search tree:

DFS

BFS, UCS, IDS

Page 14: CS206 Class Discussion

14

Problem:

Three missionaries and three cannibals are on one side of a river, along with a boat that can hold one or two people.

Find a way to get everyone to the other side of the river, without ever leaving a group of missionaries in one place outnumbered by the cannibals in that place.

Questions:1. Formulate the problem precisely (give the states, goal test,

successor function, and step cost for the above problem).

2. Draw the state space of the problem. Note: assume you have a cycle detection so that cycles are not drawn.

Missionaries and Cannibals

Page 15: CS206 Class Discussion

15

States:

Six tuples of integers listing the number of missionaries, cannibals, and boat on the first side, and then the second side of the river.

Goal test:

Is the three missionaries and three cannibals are on the second side of the river?

Successor function:

All states that move 1 or 2 people and 1 boat from one side to another.

Step cost:

One per action.

Missionaries and Cannibals

Page 16: CS206 Class Discussion

16

Missionaries and Cannibals

3,3,1 ; 0,0,0

2,2,0 ; 1,1,1 3,1,0 ; 0,2,1 3,2,0 ; 0,1,1

1,1,0 ; 2,2,1

3,2,1 ; 0,1,0

3,0,0 ; 0,3,1

3,1,1 ; 0,2,0

2,2,1 ; 1,1,0

0,2,0 ; 3,1,1

0,3,1 ; 3,0,0

0,1,0 ; 3,2,1

0,2,1 ; 3,1,0

0,0,0 ; 3,3,1

Why do you think people

have a hard time solving

this puzzle, given that

the search space is small?

Page 17: CS206 Class Discussion

17

Examples of Search Problems

States: Locations of 8 tiles and blank

Initial State: Any state

Succ Func: Generates legal states that result from trying 4 actions (blank up, down, left, right)

Goal test: Does state match desired configuration

Path cost: Number of steps

Page 18: CS206 Class Discussion

18

Importance of Problem Formulation

States: Arrangement of 0 to 8 queens on the board

Initial State: No queens on the board

Succ Func: Add a queen to an empty space

Goal test: 8 queens on board, none attacked

Path cost: ?

How many states in the search tree? 64 x 63 x … x 57 ≈ 3 x 1014

Page 19: CS206 Class Discussion

19

Importance of Problem Formulation

States: Arrangement of n queens (n is between 0 and 8), one per column in the leftmost column, with no queens attacking another.

Initial State: No queens on the board

Succ Func: Add a queen to any space square in the leftmost empty column such that it is not attacked by another queen.

Goal test: 8 queens on board, none attacked

Number of state space? 2057 solutions are easy to find

However, for 100 queens this improved formulation has ≈ 1052 states!

Page 20: CS206 Class Discussion

20

More Examples

Page 21: CS206 Class Discussion

21

Informed Search Algorithms

Solve using:- Best-First Search

- A* Search

S: Start

G: Goal

Page 22: CS206 Class Discussion

22

Informed Search Algorithms

Best-First Search

Expnd. node Open list

S:26

S not goal N2:16.4, N1:25.1

N2 not goal N6:8.5, N5:8.8, N1:25.1

N6 not goal N10:6.5, N5:8.8, N1:25.1

N10 not goal N5:8.8, N1:25.1

N5 not goal G:0, N9:10, N1:25.1

G is goal N9:10, N1:25.1

Page 23: CS206 Class Discussion

23

Informed Search Algorithms

A* Search

Expnd. node Open list

S:26

S not goal N2:27, N1:35

N2 not goal N5:28.5, N6:31.9, N1:35

N5 not goal G:28.5, N6:31.9, N1:35, N9:38.3

G is goal N6:31.9, N1:35, N9:38.3

Page 24: CS206 Class Discussion

24

Question:

Use the Best-first and A* algorithm to find the route from Arad to Bucharest and draw the state space.

A* in Romania

Page 25: CS206 Class Discussion

25

Best-First in Romania

Page 26: CS206 Class Discussion

26

A* in Romania

Expnd. node Open list

Arad:366

Arad not goal Sibiu:393, Timisoara:447, Zerind:449

Sibiu not goal Rimnicu:413, Faragas:415, Timisoara:447, Zerind:449, Arad:646, Oradea:671

Rimnicu not goal Faragas:415, Pitesti:417, Timisoara:447, Zerind:449, Craiova:526, Sibiu:533, Arad:646, Oradea:671

Faragas not goal Pitesti:417, Timisoara:447, Zerind:449, Bucharest:450, Craiova:526, Sibiu:533, Sibiu:591, Arad:646, Oradea:671

Pitesti not goal Bucharest:418, Timisoara:447, Zerind:449, Bucharest:450, Craiova:526, Sibiu:533, Rimnicu:607, Craiova:615, Arad:646, Oradea:671

Bucharest is goal Timisoara:447, Zerind:449, Craiova:526, Sibiu:533, Rimnicu:607, Arad:646, Oradea:671

Page 27: CS206 Class Discussion

27

A* in Romania

Page 28: CS206 Class Discussion

28

Alpha-Beta Pruning #1

max A

B C E

I2

J6

K9

L12

M5

N1

min

F3

G14

H9

Page 29: CS206 Class Discussion

29

Alpha-Beta Pruning #1 Solution

max A

B C E

I2

J6

K9

L12

M5

N1

min

F3

G14

H9

=3

=3

=2 =1

Result: choose move B

Page 30: CS206 Class Discussion

30

Alpha-Beta Pruning #2

max A

B C E

I2

J6

K9

L1

M15

N9

min

F3

G14

H9

Page 31: CS206 Class Discussion

31

Alpha-Beta Pruning #2 Solution

max A

B C E

I2

J6

K9

L1

M15

N9

min

F3

G14

H9

=3

=3

=2 =1

Result: choose move BThe number of pruned nodes depends on the order of nodes.

Page 32: CS206 Class Discussion

32

Alpha-Beta Pruning #3

Amax

min

5

B C

H I J K L M N O

D E F G

6 4 7 7 6 1 -9 1 0 0 -4 4 -1 2 -3

Page 33: CS206 Class Discussion

33

Alpha-Beta Pruning #3 Solution

Amax

min B

5

C

H I J K L M N O

D E F G

6 4 7 7 6 1 -9 1 0 0 -4 4 -1 2 -3

=5

=5

=5 =6 =0

=5 =4 =6

Result: choose move B

=0

=0

=0

Page 34: CS206 Class Discussion

34

Alpha-Beta Pruning #4

1. Draw the game tree of Tic-tac-toe up to depth 2 (one X and one O on the board), taking symmetry into account.

2. Evaluate the evaluation values of all nodes at depth 2, using the following SBE function:Eval(n) = 3.X2(n) + X1(n) – ( 3.O2(n) + O1(n) )where, Xn is the number of rows, columns, or diagonals with exactly n X’s and no O’s. Similarly, On is the number of rows, columns, or diagonals with just n O’s.

3. Calculate the minimax values of the above game tree.4. Re-order the game tree so that the alpha-beta algorithm

can prune away as much nodes as possible.

Page 35: CS206 Class Discussion

35

Alpha-Beta Pruning #4

max

min

The game tree up to depth 2, taking symmetry into account.

XX

X

X O

O

X

X

O

X

O

X

O

X

O

X

O

X O

O

X

X

O

X OX

O

Page 36: CS206 Class Discussion

36

Alpha-Beta Pruning #4

max

min

Minimax values.

X

h=-2

X

h=-1

X

h=1

h=1

X O

h=0

O

X

h=2

X

O

h=0

X

O

h=-2

X

O

h=0

X

O

h=-1

X

O

h=-1

X O

h=1

O

X

h=1

X

O

h=1

X O

h=-1

X

h=0

O

Page 37: CS206 Class Discussion

37

Alpha-Beta Pruning #4

max

min

Optimal ordering of nodes.

X

h=-2

X

h=-1

X

h=1

h=1

X O

h=0

O

X

h=2

X

O

h=0

X

O

h=-2

X

O

h=0

X

O

h=-1

X

O

h=-1

X O

h=1

O

X

h=1

X

O

h=1

X O

h=-1

X

h=0

O

Page 38: CS206 Class Discussion

38

Alpha-Beta Pruning #5

• Consider the 2-player game below. The figure shows the starting position.

• Player A moves first. The two players move in turns, and each player must move his token to an open adjacent space in either direction. If the opponent occupies an adjacent space, then a player may jump over the opponent to the next open space if any. E.g. if A is on 3 and B is on 2, then A may move back to 1.

• The game ends when one player reaches the opposite end of the board. If player A reaches space 4 first, the value of the game for A is +1; if player B reaches space 1 first, then the value of the game to A is -1.

A B1 2 3 4

Page 39: CS206 Class Discussion

39

Alpha-Beta Pruning #5

1. Draw the complete game tree, using the following convention:– Write each state as (sA, sB), where sA, sB denote the token locations.– Put each terminal state in a square boxes and write its value in a circle.– Put loop states in double square boxes. Since it is not clear how to

assign values to loop states, annotate each with a “?” in a circle.

2. Now mark each node with its minimax value. Explain how you handled the “?” values and why.

3. Explain why the standard minimax algorithm will fail on this game tree and briefly explain how you might fix it. Does your modified algorithm give optimal decisions for all games with loops?

A B1 2 3 4

Page 40: CS206 Class Discussion

40

Alpha-Beta Pruning #5

1. The complete game tree.

A B1 2 3 4

(1,4)

(2,4)

(2,3)

(4,3) (1,3)

(1,4)(1,2)

(3,2)

(3,1) (3,4)

(2,4)

+1

-1

?

?

Max

Page 41: CS206 Class Discussion

41

Alpha-Beta Pruning #5

2. The complete game tree with minimax values.

A B1 2 3 4

(1,4)

(2,4)

(2,3)

(4,3) (1,3)

(1,4)(1,2)

(3,2)

(3,1) (3,4)

(2,4)

+1

+1

+1

+1

-1

-1

-1

-1

?

?

?

• Assumption: an agent with the choice of either winning the game or entering a “?” state, will always choose the win. So, min(-1,?) is -1 and max(1,?) is 1. If all successors are “?”, the backed-up is “?”.

Page 42: CS206 Class Discussion

42

Alpha-Beta Pruning #5

3. Standard minimax is based on depth-first search, thus would go into infinite loop. It can be fixed by remembering states that have been expanded, so if repeated will return a “?” value.However, it does not work all cases because it is not clear how to compare “?” with a drawn position. In games with chance nodes, it is unclear to compute the average of a number and a “?”.Note that it is not correct to treat repeated states as drawn positions. E.g. both (1,4) and (2,4) repeat in the tree but they are won positions.

A B1 2 3 4

Page 43: CS206 Class Discussion

43

Propositional inference: Enumeration

A B C (A C) (B C) KB KB False False False

False False True

False True False

False True True

True False False

True False True

True True False

True True True

• Let = A B and KB = (A C) (B C).• Is it the case that KB ╞ ?• Check all possible models: must be true whenever KB is true.

Page 44: CS206 Class Discussion

44

Propositional inference: Solution

A B C (A C) (B C) KB KB

False False False False True False False True

False False True True False False False True

False True False False True False True True

False True True True True True True True

True False False True True True True True

True False True True False False True True

True True False True True True True True

True True True True True True True True

• Let = A B and KB = (A C) (B C).• Is it the case that KB ╞ ?• Check all possible models: must be true whenever KB is true.

Page 45: CS206 Class Discussion

45

Converting a Sentence to CNF

Convert this sentence into CNF:– B (P Q)

Page 46: CS206 Class Discussion

46

Converting a Sentence to CNF

B (P Q)• Eliminate

(B (P Q)) ((P Q) B)• Eliminate

(B (P Q)) ((P Q) B)• Move inwards

(B (P Q)) (P Q) B)• Apply distributivity law

(B P Q) (P B) (Q B)• The original sentence is now in CNF, as a conjunction of

three clauses.

Page 47: CS206 Class Discussion

47

Deducing New Sentences from KB in PL

Given the following, can you prove that the unicorn is mythical? How about magical? Horned?

“If the unicorn is mythical, then it is immortal, but if it is not mythical, then it is a mortal mammal. If the unicorn is either immortal or a mammal, then it is horned. The unicorn is magical if it is horned.”

Page 48: CS206 Class Discussion

48

Deducing New Sentences from KB in PL

“If the unicorn is mythical, then it is immortal, but if it is not mythical, then it is a mortal mammal. If the unicorn is either immortal or a mammal, then it is horned. The unicorn is magical if it is horned.”

Equivalent PL sentences:1. mythical immortal2. mythical immortal mammal3. immortal mammal horned4. horned magical

Page 49: CS206 Class Discussion

49

Deducing New Sentences from KB in PL

Translating into CNF:1. mythical immortal mythical immortal2. mythical immortal mammal

2a. mythical immortal 2b. mythical mammal

3. immortal mammal horned3a. immortal horned3b. mammal horned

4. horned magicalhorned magical

Resulting clauses Parent clauses

5. immortal mammal 1 & 2b

6. mammal horned 5 and 3a

7. horned 6 and 3b

8 magical 7 and 4

Conclusion:• The unicorn is horned and magical.• Mythical cannot be proved.

Page 50: CS206 Class Discussion

50

One-Bit Full Adder

X

Y

Z

S

Sumxor1

xor2

C1

C2

Carry

and1

and2

or1

A digital circuit C1

Page 51: CS206 Class Discussion

51

Einstein’s Challenge

• There are five houses, each of a different color and inhibited by a man of a different nationality, with a different pet, drink, and brand of cigarettes.

a) The Englishman lives in the red house.b) The Spaniard owns the dog.c) Coffee is drunk in the green house.d) The Ukrainian drinks tea.e) The green house is immediately to the right of the ivory house.f) The Winston smoker owns snails.g) Kools are smooked in the yellow house.h) Milk is drunk in the middle house.i) The Norwegian lives in the first house on the left.j) The man who smokes Chesterfields lives in the house next to the man with the fox.k) Kools are smoked in the house next to the house were the horse is kept.l) The Lucky Strike smoker drinks orange juice.m) The Japanese smokes Parliaments.n) The Norwegian lives next to the blue house.

Who owns the Zebra? Who drinks water?

Page 52: CS206 Class Discussion

52

First-Order Logic #1

• Translate into FOL:

1. Some students took French in Spring 20012. Every students who takes French passes it3. Only one student took Greek in Spring 20014. The best score in Greek is always higher than the best

score in French

Use the following vocabulary:- takes(x,c,s) : student x takes course c in semester s- passes(x,c,s) : student x passes course c in semester s- score(x,c,s) : score of student x in course c in semester s

Page 53: CS206 Class Discussion

53

First-Order Logic #1 Solution

1. Some students took French in Spring 2001x students(x) takes(x, F, Spring2001)

2. Every students who takes French passes itx,s students(x) takes(x, F, s) passes(x, F, s)

3. Only one student took Greek in Spring 2001x students(x) takes(x, G, Spring2001) y y ≠ x takes(y, G, Spring2001)

4. The best score in Greek is always higher than the best score in Frenchs x y score(x, G, s) > score(y, F, s)

Page 54: CS206 Class Discussion

54

Unification Algorithm

• Find the MGU of the following pair of atomic sentences if it exists.a. P(A, B, B) and P(x, y, z)

b. Q(y, G(A, B)) and Q(G(x, x), y)

c. Older(Father(y), y) and Older(Father(x), John)

d. Knows(Father(y), y), Knows(x, x)

Page 55: CS206 Class Discussion

55

Unification Algorithm (2)

• Find the MGU of the following pair of atomic sentences if it exists.a. P(A, B, B) and P(x, y, z){ x/A, y/B, z/B }

b. Q(y, G(A, B)) and Q(G(x, x), y)No unifier: x cannot bind to both A and Bc. Older(Father(y), y) and Older(Father(x), John){ y/x, x/John }d. Knows(Father(y), y), Knows(x, x)

No unifier: occur check prevents unification of y with Father(y)