lecture 2 AI 2012,
2 October 2012
topics
Philosophy of AI
John Searle's Chinese room argument
"Can machines think like human?"
Intelligence as search
problem types
state space
input: any question in Chinese
output: answers in Chinese
inside the room:
an Englishman follows instruction books (in English)
he interprets the question according to those instructions
he looks up answers
then he composes the answer
argument: Chinese room does not "understand" Chinese
therefore machines do not think like human
refutation
There are many forms (for example):
1) The Englishman can be claimed to "understand" Chinese.
2) If he doesn't understand Chinese initially, he eventually understand
Chinese after performing this task for sometimes, ie. he probably learn
it.
3) Of course, when you takes apart a complex machinery, you find nothing
of its magic. The whole room can claimed to "understand" Chinese.
Machines can perform "search" to solve a problem. Machines are quite good
as this task. However, the problem must be transformed into data suitable
for searching by machines.
Example of searching by computers: given a map, find a shortest path from
A to B.
The map is represented as a graph (implemented by some suitable data
structure). Shortest path algorithm (such as Dijkstra's algorithm) can be
used.
Intelligence can be ascribed to an "intelligent agent", ie. an agent
(including hardware and software) that performs a task that considered as
"intelligent" by human (play chess, answer questions etc.)
An intelligent agent can use "search" to find sequence of actions to
achieve its goal.
In this frame of thought, we need
1) Presenting a problem in a suitable form: state space.
2) Define "goal".
3) Define "action".
4) A search procedure
Problem types
An agent can "sense" the world and can "act" to change it.
We can categorised the world with two aspects: certainty and observation.
Accordingly, there are four types of problems.
1) deterministic and fully observable
2) sensorless
3) non-deterministic and/or partially observable
4) exploration
The world is represented by "state" (similar to states in Finite State
Machine). We must "abstract" the real world to contain only the
"interesting" part (with respect to our problem solver). The "action" is
just a function that maps one state to another.
action is
state <- world(state,action)
Now we can introduce a simple algorithm for an intelligent agent:
function agen(state) returns action
s : sequence of actions
state = update(state,sensor)
if state != goal
s = search_goal(state)
action = first(s)
state = world(state,action)
return action
We apply this intelligent agent by setting up the world state, and call
agent(state); it will return an action. This action is carried out (and
perhaps change the world state). agent(.) is called repeatedly until the
goal state has been reached.
A state represents state of agent (may be its location) and state of the
world. In the vacumm cleaner world, the world has two rooms A and B (each
of: clean, dirty), the state of agent is where isthe cleaner robot, the
actions of robot are (move left, move right, suck)
we can "write" a state as a tuple (location of robot, state of room A,
state of room B) for example (A,clean,clean).
an action takes this world from one state to another, for example a move
right does
(A,_,_) -> move right -> (B,_,_)
and turning on the cleaner does
(A,dirty,_) -> suck -> (A,clean,_)
where _ denotes don't care value (such as clean/dirty).
In the above example, there are totally eight possible states (three
variables, each has two possible values, 2x2x2). A chart mapping out all
possibles states and actions is called "state-space".
Now we can define a task: Clean all rooms.
Given an initial state, perhaps (A,clean,dirty)
We want the goal state to be (_,clean,clean)
The cleaner robot perform "searching" the vacumm cleaner world state-space
for a sequence of actions that take the robot from an initial state to the
goal state.
Many search procedures can be applied. The consideration is given to
efficiency, both time and space, and avoidance of infinite loop
(non-termination of search).
Questions to ponder
1) AI philosophy -- a "strong" AI position is the belief that machines can
be as intelligent as human (or that we can not distinguish machines
intelligence from human intelligence), a "weak" AI position is the belief
that although machines can act "intelligently" they are not "really"
intelligent (not the same as human). What do you believe and why? Can you
give example of the evidence to support your belief?
2) AI philosophy -- if I built a robot that can "drink" (but putting and
water pump inside it so it can suck up water), does it really drink? Why
sucking up water by robots be different from human "drink"?
3) AI philosophy -- I can do a simple math finding the result of "1+2". I
can find out this result by asking my smart phone (using Siri or Google
voice) "what is one plus two". The phone will give the correct answer (in
human voice, even). Does it "do" the math?
4) State space -- Draw state-space of the task "starting at the front desk
of the international school, how to go to the classroom 1418?". Make
assumption (doing the suitable abstaction of the world). There are many
ways to do it.
5) State space -- Draw state-space of your plan for a trip home from the
school.
6) Now we challenge ourselves to a more difficult task. Draw state-space
of the robot ping-pong player to play with a human. The goal is to keep
going as long as possible (no need for any killer move to win the game).
Good luck and have fun thinking about AI!