Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thoughts on AI Will computers ever be intelligent? Really intelligent? Tasks that previously were thought to require intelligence: adding and subtracting.

Similar presentations


Presentation on theme: "Thoughts on AI Will computers ever be intelligent? Really intelligent? Tasks that previously were thought to require intelligence: adding and subtracting."— Presentation transcript:

1 Thoughts on AI Will computers ever be intelligent? Really intelligent? Tasks that previously were thought to require intelligence: adding and subtracting playing chess driving a car recognizing speech or handwriting translating to a foreign language proving mathematical theorems What does it mean to say that a computer is intelligent? Is that the same as being a person? What is a person? Is a computer program a person? Is a person a computer program?

2 Achieving “Intelligence” How do AI program achieve “intelligent” behavior? Currently, three main paradigms: Symbolic knowledge representation and search Neural Nets Genetic Algorithms

3 Search in Artificial Intelligence Represent your problem as a graph where nodes are states and edges are operators that go between states Define problem states (nodes) Identify start and goal states Define operators (edges) Use DFS or BFS to find goal Example: Missionaries and cannibals problem states: (3,3,1)  3 missionaries, 3 cannibals, and 1 boat on left side of river. Operators: one or two people cross the river in the boat, so that there isn’t a cannibal majority on either side. Goal: get to the other side? Moves? (331)–(220)–(321)–(210)–(221)–(020)–(031)–(010)–(021)–(000)

4 DFS/BFS Resource Requirements DFS: Runtime? O(n), n=number of nodes expanded Space required? O(d), d = depth of search Can I cut off a search after 5 seconds? BFS: Runtime?O(n) Space required? O(breadth of tree) = O(b d ), b=branching factor Can I cut off a search after 5 seconds? Staged DFS: do a DFS of depth 1, 2, 3, … until out of time Runtime? O(n) Space required? O(d)

5 Game Playing We could use DFS but…can’t search whole tree! limit depth of search and use an evaluation function We could use DFS but…how do we know which move the opponent will choose? minimax algorithm: assume the opponent does what looks best. i.e. at nodes where it is the human’s turn, pick the move that looks best for human. Where computer’s turn, pick the move that looks best for the computer

6 Mankalah An ancient gamed called Kalah or Mankalah uses stones and pits: 6 to a side and one on each end. 4 stones are initially placed in each side pit. None are in the end pits (called Kalahs – a player’s kalah is on her right). A move consists of picking up the stones in a pit and distributing them, one at a time, in successive pits. If the last stone is placed in your Kalah, you go again If the last stone is placed in an empty pit on your side, you capture the stones in that pit and the opposite one, on the opponent’s side of the board. These are put into your Kalah. The game ends when one player has no stones left; the other player puts all the remaining stones on her side into her Kalah. Whoever ends with more stones in her Kalah wins. See the demo program on holmes at /home/hplantin/kalah.c  Write a smart kalah playing program!

7 Mankalah minimax int kalahboard::minimax(depth d): //semi-pseudocode if [human won] return –infinity; if [machine won] return +infinity; if (d==0) return evaluate(); if (whosemove==HUMAN) best=+infinity; for (move=first; move<=last; move++) kalahboard b=*this;//duplicate board if (b.board[move]>0)//is move legal? b.makemove(move);//make the move v=b.minimax(d-1);//find its value if (v<best) best=v;//remember if best else // similarly for MACHINE’s move return best;


Download ppt "Thoughts on AI Will computers ever be intelligent? Really intelligent? Tasks that previously were thought to require intelligence: adding and subtracting."

Similar presentations


Ads by Google