Presentation is loading. Please wait.

Presentation is loading. Please wait.

Intro to Robots 10 Artificial Intelligence “I want to make a computer that will be proud of me” Daniel Hillis.

Similar presentations


Presentation on theme: "Intro to Robots 10 Artificial Intelligence “I want to make a computer that will be proud of me” Daniel Hillis."— Presentation transcript:

1 Intro to Robots 10 Artificial Intelligence “I want to make a computer that will be proud of me” Daniel Hillis

2 Intro to Robots What is Computer Intelligence? The Roomba robot can do a better job of vacuuming the floor than a person but does that make it smarter? It succeeds by “brute force”, going over the same patch again and again long after a human vacuumer would get very tired and give up. May computers exhibit “intelligence” by a similar strategy of brute force – consider every possible plan of action and pick the one with the best chance at “success”. Even though this brute force is “stupid” we often call this Artificial Intelligence.

3 Intro to Robots Turing Test: A man, a woman and in interrogator communicate via IM. The interrogator asks questions; the other two answer, honestly or dishonestly. The interrogator tries to identify who is male and who female. Turing said that a computer could be considered “intelligent” if it could play the role of either of the two questionees without giving itself away to the interrogator. This is the Turing Test.

4 Intro to Robots AI Today: Today, we are interested in seeing if computers can exhibit all kinds of intelligence – human, insect, whatever. AI work is going on in: –biology, psychology, cognitive science, neuro-science, linguistics and philosophy.

5 Intro to Robots AI Example 1 – Lingustics: Can computers be made to understand communications from humans who are using natural language? natural language vs computer language: ambiguous, redundant, incorrect, lots of “noise” What do you think? The volume of a rectangular cube is found by multiplying the length of the cube by its width by its height versus V = l x w x h standard formula one of many ways to express this in NL

6 Intro to Robots Can you “talk” to Scribbler? Obviously not about last night’s dinner – remember what sensors Scribbler has. But a conversation about light, obstacles, motion, direction are potentially possible since these are things that Scribbler is able to detect or experience.

7 Intro to Robots Intelligence and Language: Can we use natural language to communicate with our computers? Area called computational linguistics. Sample Conversation: You: do you see a wall? Scribbler: No You: Beep whenever you see a wall. You: Turn right whenever you see a wall to your left. You: Turn left whenever you see a wall to your right. You: Move for 60 seconds. [The Scribbler robot moves around for 60 seconds turning whenever it sees a wall. It also beeps whenever it sees a wall.]

8 Intro to Robots Talk or Type: From an AI point of view, talking or typing is the same thing but it may make a difference to you. Speech recognition software is available for free to enable you to really talk to a computer. Problems with this software include different accents, intonations, male or female voices etc. Processing involves: –understanding the spoken word syntax and transcribing to written text –understand the semantics of the written text

9 Intro to Robots Playing Games: 1997, Deep Blue beat Kasparov. Approach: –consider every possible move and pick best –consider every possible reply –consider every possible reply to reply –... –trace back from a winning strategy

10 Intro to Robots Tic-tac-toe Example: X might lose; can’t win X might win; might lose X might win; can’t lose

11 Intro to Robots Problem: The search tree in the previous slide might be very, very large and so you need a really big computer to figure out the best approach. If the search tree is too big (as in chess) you look ahead a few moves but not too many. This is how you can set the “level” of the chess-playing program. In other words, there is a trade-off between time taken to decide the next move and how good you want the program to be.

12 Intro to Robots Chess Analysis: Typical game has 32 moves for each player. Each time it is someone’s turn there is typically 10 possible moves. This means that the search tree is 64 levels deep – 32 white turns and 32 black turns. Each turn offers, on average, 10 possible moves The search tree is: Since 2 64 is already more than all the atoms in the universe, 10 64 is even bigger and too big a search space. 10 x 10 x 10 x... x 10 64 times

13 Intro to Robots Rock, Scissors, Paper: Humans who are playing randomly pick: –Rock: 36% of the time –Paper: 30% of the time –Scissors: 34% of the time To beat these numbers a computer program could play: –Paper: 36% of the time –Scissors: 30% of the time –Rock: 34% of the time

14 Intro to Robots Program Code: def mySelection(): # First generate a random number in the range 0..99 n = randrange(0, 100)‏ if n <= 29: # If the n is in range 0..29, select Scissors return "Scissors" elif n <= 63: # if n in range 30..63, select Rock return "Rock" else: # if n in range 64..99, select Paper return "Paper"

15 Intro to Robots Another Strategy: If this observation is true then we can devise a strategy that watches how someone plays and then begins to play to beat this strategy. This is called “machine learning”. Programs may not be “intelligent” as Turing imagined but they are smarter. After many rounds, people tend to make the move that would have beaten their own previous move.

16 Intro to Robots Machine Learning: Keep Track of your moves over a long period of time. Calculate your own selection percentages (other than 30%, 34%, 36%) and adjust the constants used in mySelection(). scissorPC = 30; rockPC = 34; # paperPC = 36; # need to be constantly adjusted after each move def mySelection(): global scissorPC, rockPC # First generate a random number in the range 0..99 n = randrange(0, 100)‏ if n <= scissorPC: # If the n is in range 0..29, select Scissors return "Scissors" elif n <= scissorPC + rockPC: # if n in range 30..63, select Rock return "Rock" else: # if n in range (100 - paperPC)..99, select Paper return "Paper"

17 Intro to Robots Exhaustive Search in Tic-Tac-Toe


Download ppt "Intro to Robots 10 Artificial Intelligence “I want to make a computer that will be proud of me” Daniel Hillis."

Similar presentations


Ads by Google