#!/usr/bin/env python # coding: utf-8 # # Textbook Authors # # [Stuart Russell](http://www.cs.berkeley.edu/~russell/) and [Peter Norvig](http://norvig.com/) # # Where do and have they worked? What are their main interests? # # What is Artificial Intelligence? # # * Thinking # * like a human # * rationally---optimally, or the best possible # * Acting # * like a human # * rationally # # Thinking Like a Human # # How do humans think? # # **Cognitive Science** is relatively new field that is trying to answer # this question. # # * [Wikipedia entry for Cognitive Science](http://en.wikipedia.org/wiki/Cognitive_science) # * [Stanford Encyclopedia of Philosophy entry for Cognitive Science](http://plato.stanford.edu/entries/cognitive-science/) # * [Stanford Encyclopedia of Philosophy entry for Embodied Cognition](http://plato.stanford.edu/entries/embodied-cognition/) # # Acting Like a Human # # In the study of "intelligence", many aspects are missed if studied in # isolation of human or robot bodies. # # A true "artificial intelligence" must be capable of interacting with # its world. # # **Turing Test**: a computer is intelligent if a human interrogator, # after posing some written questions, cannot tell whether the written # responses come from a person or from a computer. # # [xkcd version](http://xkcd.com/329/) and [another one](http://xkcd.com/632/) (thanks Brock Wilcox) # # Thinking Rationally # # **Rationality**: doing the right thing, given what is known. # # Logical reasoning systems. # # Problems: # * hard to write informal knowledge as logical statements # * solving most logical reasoning problems currently takes too much time or memory. # # Acting Rationally # # **Agent**: computer programs that # * operate autonomously # * perceive their environment # * persist over long time periods # * adapt to change # * create and pursue goals # # **Rational agent**: an agent that acts to achieve the best outcome, or best average outcome if the agent has incomplete knowledge # # Russell and Norvig take the view of rational agents in describing data # structures and algorithms. # # History # # [Wikipedia entry](http://en.wikipedia.org/wiki/History_of_artificial_intelligence#Dartmouth_Conference_1956:_the_birth_of_AI) # # Early # # # # Recent # # # # # Intelligent Agents # # An **agent** "perceives its **environment** through **sensors** and # acts upon that environment through **actuators**." # # # # An agent's choice of action can depend on the entire history of # percepts observed previously, but not on anything it has not # perceived. # # Rationality # # But, which action to choose? A **rational** agent is one that does # the "right thing", which depends on the **performance measure**. # # The performance measure should be designed to reflect what one # actually wants in the environment, rather than how one suspects the # agent should behave. Define it in terms of effects of actions on the # environment, rather than in terms of the agent's program. # # Rational behavior is not perfect, because an agent cannot know # everything about the environment, including past, present, and # future. We focus on maximizing **expected** performance, given what # we know about probabilities of things happening in the environment. # # Nature of Environments # # Specify the task environment (PEAS): # * P: performance measure # * E: environment # * A: agent's actuators # * S: agent's sensors # # # | Agent Types | Performance Measure | Environment | Actuators | Sensors | # | --- | --- | --- | --- | --- | # | medical diagnosis system | healthy patient, reduced costs | patient, hospital, staff | display of questions, tests, diagnoses, treatments, referrals | # | satellite image analysis system | correct image categorization | downlink from orbiting satellite | display of scene categorization | color pixel arrays | # | part-picking robot | percentage of parts in correct bins | conveyor belt with parts; bins | jointed arm and hand | camera, joint angle sensors | # | refinery controller | purity, yield, safety | refinery, operators | valves, pumps, heaters, displays | temperature, pressure, chemical sensors | # | interactive English tutor | student's score on test | set of students, testing agency | display of exercies, suggestions, corrections | keyboard entry | # # # | Task Environment | Observable | Agents | Deterministic | Episodic | Static | Discrete | # | --- | --- | --- | --- | --- | --- | --- | # | crossword puzzle | fully | single | deterministic | sequential | static | discrete | # | chess with clock | fully | multi | deterministic | sequential | semi | discrete | # | poker | partially | multi | stochastic | sequential | static | discrete | # | backgammon | fully | multi | stochastic | sequential | static | discrete | # | taxi driving | partially | multi | stochastic | sequential | dynamic | continuous | # | medical diagnosis | partially | single | stochastic | sequential | dynamic | continuous | # | image analysis | fully | single | deterministic | episodic | semi | continuous | # | part-picking robot | partially | single | stochastic | episodic | dynamic | continuous | # | refinery controller | partially | single | stochastic | sequential | dynamic | continuous | # | interactive English tutor | partially | multi | stochastic | sequential | dynamic | discrete | # # Structure of Agents # # Reflex agents # # Model-based reflex agents # # Goal-based agents # # Utility-based agents # # Using **learning** to modify each of the above.