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