Philosophy of AI

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

Chinese room argument

  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.

Intelligence as search


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.


State space


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!