INTELIGENCIA ARTIFICIAL Clase #2 : Agentes Inteligentes
Dr. Wladimir Rodríguez Postgrado en Computación ULA
[email protected]
Información General
• Profesor: Wladimir Rodríguez • e-mail:
[email protected]
• Horario: Lunes 8-12 • Página WEB:
• http://www.pgcomp.ula.ve/DISTANCIA/ INTELIGENCIA/index.html
• Libro Texto: • Stuart Russell
y Peter Norvig, “Inteligencia Artificial: Un enfoque moderno”, Prentice Hall, 1996. (http://aima.cs.berkeley.edu)
Dr. Wladimir Rodriguez
2
Inteligencia Artificial
Agenda
• Introducción • ¿Qué es un Agente Inteligente? • Estructura de los Agentes Inteligentes • Agentes de Reflejo Simple • Agentes Bien Informados • Agentes Basados en Metas • Agentes Basados en Utilidad
• Ambientes Dr. Wladimir Rodriguez
3
Inteligencia Artificial
Agente Inteligente
Dr. Wladimir Rodriguez
4
Inteligencia Artificial
Agente Humano
• Sensores: Ojos (visión), orejas (oído), piel •
(tacto), lengua (gusto), nariz (olfato), sistema neuromuscular (propriocepción) Percepciones:
• Al más bajo nivel – señales eléctricas del preprocesamiento – objetos en el • Después campo visual (posición, texturas, colores, …), flujos auditivos (tono, volumen, dirección),
• Eféctores: Brazos, dedos, ojos, lengua, ... • Acciones: alzar el brazo, voltear, caminar, ... Dr. Wladimir Rodriguez
5
Inteligencia Artificial
Introducción
Dr. Wladimir Rodriguez
6
Inteligencia Artificial
Ambiente Aspiradora
• Percepciones: Localización y contenido, por ejemplo [A, Sucio]
• Acciones: Izquierda, Derecha, Aspirar, Hacer_Nada
Dr. Wladimir Rodriguez
7
Inteligencia Artificial
Agente Aspiradora Secuencia de Percepciones
Derecha Aspirar Izquierda Aspirar Derecha Aspirar ...
[A, Limpio] [A, Sucio] [B, Limpio] [B, Sucio] [A, limpio] [A, Limpio] [A, Limpio] [A, Sucio] ...
Dr. Wladimir Rodriguez
Acción
8
Inteligencia Artificial
¿Qué tan bueno es un Agente?
• Se necesita una medida de desempeño:
• Objetiva / Subjetiva • Cuantitativa / Cualitativa • Tiempo de Evaluación (durante o después) • Mejor / Peor / Promedio
• La racionalidad de un agente depende de: • Rendimiento • Percepciones recibidas • Conocimiento interno del agente • Las acciones que el agente pueda hacer
Dr. Wladimir Rodriguez
9
Inteligencia Artificial
¿Qué tan bueno es un Agente?
• Un agente racional ideal:
todos los casos de posibles secuencias de • Para percepciones, un agente racional deberá emprender todas aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento, basandose en las evidencias aportadas por la secuencia de percepciones y en todo el conocimiento incorporado en tal agente
Dr. Wladimir Rodriguez
10
Inteligencia Artificial
Mapeo Percepciones/Acciones
• Un mapeo especifica la acción que un agente debe tomar en respuesta a una secuencia de percepciones.
• Puede ser en forma de tabla • •
Planes universales
• •
Comportamiento estimulo / respuesta
Casos (indexados)
• Pueden ser en forma de funciones
Dr. Wladimir Rodriguez
Algoritmos de varios tipos. (ejemplo de la raíz cuadrada del texto) 11
Inteligencia Artificial
Tipos de Agentes Agente
Perceptos
Acciones
Síntomas, signos, respuestas
Preguntas, pruebas, tratamientos
Pixels
Clasificar la escena
Clasificación correcta
Imágenes de satelite
Robot de recolección
Pixels
Agarrar partes colocarlas en recipientes
Colocación correcta
Cinta deslizante con las partes
Controlador de refinería
Medidas de presión, temperatura
Abrir y cerrar válvulas ...
Tutor interactivo
Palabras tecleadas
Preguntas, ejercicios, sugerencias ...
Sistema de diagnóstico medico Sistema de análisis de imágenes
Dr. Wladimir Rodriguez
12
Objetivos
Entorno
Sanar, Paciente, hospital minimizar costes
Maximizar pureza, producción Maximizar la puntuación en un test
Refinería Conjunto de estudiantes
Inteligencia Artificial
¿Qué es un Agente Inteligente?
• Un agente inteligente es cualquier cosa que pueda
un mundo perceptual en que esté anidado • percibir (“ambiente”) mediante SENSORES y sobre ese mundo mediante EFECTORES (o • actuar actuadores)
• • Dr. Wladimir Rodriguez
sinónimo de ambiente es “espacio de problema” sinónimo de agente inteligente es “operador que transforma un input en output dentro del espacio de problema” 13
Inteligencia Artificial
¿Qué es un Agente Inteligente?
• META de la Inteligencia Artificial
Diseñar un agente inteligente/racional que opere o actúe adecuadamente en sus ambientes.
• Discusión sobre “adecuadamente” • •
Dr. Wladimir Rodriguez
Fijar alguna medida del buen éxito Tener en cuenta el PRR Principio de Racionalidad Restringida de Herbert Simon
14
Inteligencia Artificial
¿Qué es un Agente Racional?
• Pensante racionalmente
• Captura de un proceso racional correcto • Proceso “ Irrefutable” • Metodología • •
Desarrollar un modelo formal - LÓGICA FORMAL que siempre conduzca a la respuesta correcta Implementar ese modelo
• Cómo sabemos si lo hicimos bien • • Dr. Wladimir Rodriguez
cuando podemos probar que el razonamiento programado fue correcto la lógica de primer orden fue completa 15
Inteligencia Artificial
¿Qué es un Agente Racional?
• Actuante racionalmente
• Actuar de forma de lograr las metas deseadas enfoque del agente racional” - a ser encarado en • “El esta disciplina. usted mismo como se hacen las decisiones • Imagine correctas
• • Dr. Wladimir Rodriguez
a veces pensando racionalmente (enfoque europeo) otras teniendo reflejos racionales (enfoque truqués)
16
Inteligencia Artificial
Estructura de los Agentes
• Como todos los agentes tienen una estructura
básica o mínima o esquelética igual, se puede investigar cuál es ella.
function functionSkeleton-Agent(percept) Skeleton-Agent(percept)returns returnsaction action static: memory, the agent's memory of the world static: memory, the agent's memory of the world memory memory¨ ¨Update-Memory(memory, Update-Memory(memory,percept) percept) action ¨ Choose-Best-Action(memory) action ¨ Choose-Best-Action(memory) memory memory¨ ¨Update-Memory(memory, Update-Memory(memory,action) action) return action return action Dr. Wladimir Rodriguez
17
Inteligencia Artificial
Agente Basado en Tablas
• Dada una percepción, simplemente buscar la •
respuesta. Parece simple, pero existen algunos problemas:
problemas reales requieren de tablas • Combinatoria: muy grandes
• Tablas son difíciles de crear
function functionTable-Driven-Agent(percept) Table-Driven-Agent(percept)returns returnsaction action static: percepts, a sequence, initially empty static: percepts, a sequence, initially empty table, table,aatable tableindexed indexedby bypercept perceptsequences, sequences,initially initiallyfully fullyspecified specified append appendpercept percepttotothe theend endofofpercepts percepts action ¨ LookUp(percepts, action ¨ LookUp(percepts,table) table) return returnaction action Dr. Wladimir Rodriguez
18
Inteligencia Artificial
Agentes Reflejo Simple
• Las reglas condición / acción tienen la forma • IF condición THEN acción • Aparear regla con la percepción a partir de un conjunto completo de reglas ENTONCES especificar acción a tomar.
• Peligro puede ser de poco alcance.
Dr. Wladimir Rodriguez
19
Inteligencia Artificial
Agente Reflejo Simple
Dr. Wladimir Rodriguez
20
Inteligencia Artificial
Agente Reflejo Simple
function functionSimple-Reflex-Agent(percept) Simple-Reflex-Agent(percept)returns returnsaction action static: static:rules, rules,aaset setofofcondition-action condition-actionrules rules state state¨ ¨Interpret-Input(percept) Interpret-Input(percept) rule ¨ Rule-Match(state, rule ¨ Rule-Match(state,rules) rules) action ¨ Rule-Action[rule] action ¨ Rule-Action[rule] return returnaction action
Dr. Wladimir Rodriguez
21
Inteligencia Artificial
Agente Reflejo con Estado
• Incluye memoria extendiendo el horizonte de tiempo del agente.
• Peligro: la información almacenada puede no ser valida.
• Un agente reflejo con un estado interno. Opera
encontrando una regla cuya condición coincida con la situación actual y luego procede a efectuar la acción que corresponda a la regla
Dr. Wladimir Rodriguez
22
Inteligencia Artificial
Agente Reflejo con Estado
Dr. Wladimir Rodriguez
23
Inteligencia Artificial
Agente Reflejo con Estado
function functionReflex-Agent-With-State(percept) Reflex-Agent-With-State(percept)returns returnsaction action static: static:rules, rules,aaset setofofcondition-action condition-actionrules rules state, a description of the current state, a description of the currentworld world state state¨ ¨Update-State(state, Update-State(state,percept) percept) rule ¨ Rule-Match(state, rules) rule ¨ Rule-Match(state, rules) action action¨ ¨Rule-Action[rule] Rule-Action[rule] state ¨ Update-State(state, state ¨ Update-State(state,action) action) return returnaction action
Dr. Wladimir Rodriguez
24
Inteligencia Artificial
Agente Basado en Metas
• Metas
• Ayudan al agente a decidir las acciones correctas. sobre la meta ayuda al agente a • Información describir situaciones deseables. la meta no es inmediata a una acción es necesario • Sirealizar algún proceso de búsqueda y planeación.
Dr. Wladimir Rodriguez
25
Inteligencia Artificial
Agente Basado en Metas
• La toma de decisiones no es tan directa como en un agente reactivo.
• Considera la forma en que cambiará el mundo. • Es más flexible para adaptarse • Ej. Agente que conduce
Dr. Wladimir Rodriguez
26
Inteligencia Artificial
Agente Basado en Metas
Dr. Wladimir Rodriguez
27
Inteligencia Artificial
Agente Basado en Metas Input Inputpercept percept state state¨ ¨Update-State(state, Update-State(state,percept) percept) goal ¨ Formulate-Goal(state, goal ¨ Formulate-Goal(state,perf-measure) perf-measure) search-space search-space¨ ¨Formulate-Problem Formulate-Problem(state, (state,goal) goal) plan plan¨ ¨Search(search-space Search(search-space, ,goal) goal) while while(plan (plannot notempty) empty)do do action action¨ ¨Recommendation(plan, Recommendation(plan,state) state) plan plan¨ ¨Remainder(plan, Remainder(plan,state) state) output outputaction action end end Dr. Wladimir Rodriguez
28
Inteligencia Artificial
Ejemplo de Agente Basado en Metas •
El robot debe mantener el objetivo en la mira
•
La trayectoria del objetivo no es conocida de antemano
•
El robot no sabe de antemano todos los obstáculos
•
Se debe actuar rapidámente
•
Dr. Wladimir Rodriguez
robot 29
target Inteligencia Artificial
Agente Basado en Utilidad
• Las metas no son suficientes para generar un comportamiento de calidad.
• Las utilidades sirven para distinguir la preferencia de un estado a otro.
• La utilidad mapea un estado a un número real • Debe considerarse las metas conflictivas y las metas inciertas.
Dr. Wladimir Rodriguez
30
Inteligencia Artificial
Agente Basado en Utilidad
Dr. Wladimir Rodriguez
31
Inteligencia Artificial
Agente Aprendiz
Dr. Wladimir Rodriguez
32
Inteligencia Artificial
Ambiente
• Accesible vs inaccesible • Sensores detectan toda la información
• Determinista vs no determinista siguiente estado depende sólo del anterior y de la • El acción actual
• Episódico vs no episódico • Existen episodios con percepciones y acciones Dr. Wladimir Rodriguez
33
Inteligencia Artificial
Ambiente
• Estático vs dinámico • El ambiente no cambia mientras el agente delibera
• Discreto vs continuo un número limitado de percepciones y • Existe acciones
Dr. Wladimir Rodriguez
34
Inteligencia Artificial
Características de los Ambientes Accesible
Determinista
Estático
Discreto
Solitario
No
Si
Si
Si
Backgammon
Si
No
Si
Si
Manejar Taxi
No
No
No
No
Compras Internet
No
No
No
No
Diagnóstico Médico
No
No
No
No
Dr. Wladimir Rodriguez
35
Inteligencia Artificial
Programa Básico para el Ambiente procedure procedureRun-Environment(state, Run-Environment(state,Update-Fn, Update-Fn,agents, agents,termination) termination) input: state, the initial state of the environment input: state, the initial state of the environment Update-Fn, Update-Fn,function functiontotomodify modifythe theenvironment environment agents, a set of agents agents, a set of agents termination, termination,aapredicate predicatetototest testwhen whenwe weare aredone done repeat repeat for foreach eachagent agentininagents agentsdo do Percept[agent] ¨ Percept[agent] ¨Get-Percept(agent, Get-Percept(agent,state) state) end end for foreach eachagent agentininagents agentsdo do Action[agent] ¨ Action[agent] ¨Program[agent](Percept[agent]) Program[agent](Percept[agent]) end end state state¨ ¨Update-Fn(actions, Update-Fn(actions,agents, agents,state) state) until termination(state) until termination(state)
Dr. Wladimir Rodriguez
36
Inteligencia Artificial
Simulador de Ambiente function functionRun-Eval-Environment(state, Run-Eval-Environment(state,Update-Fn, Update-Fn,agents, agents, termination, termination,Performance-Fn) Performance-Fn)returns returnsscores scores local : scores, a vector the same size as agents, initially all 0 local : scores, a vector the same size as agents, initially all 0 repeat repeat for foreach eachagent agentininagents agentsdo do Percept[agent] ¨ Percept[agent] ¨Get-Percept(agent, Get-Percept(agent,state) state) end end for foreach eachagent agentininagents agentsdo do Action[agent] ¨ Program[agent](Percept[agent]) Action[agent] ¨ Program[agent](Percept[agent]) end end state state¨ ¨Update-Fn(actions, Update-Fn(actions,agents, agents,state) state) scores ¨ Performance-Fn(scores, agents, scores ¨ Performance-Fn(scores, agents,state) state) until untiltermination(state) termination(state) return returnscores scores
Dr. Wladimir Rodriguez
37
Inteligencia Artificial
Resumen
• Un agente es algo que percibe y actúa en un ambiente.
• Un agente ideal es aquel que siempre emprende la mejor acción
• Los agente de reflejo responden de inmediato a las percepciones
• Los agentes basados en reglas actúan en función del logro de una meta.
Dr. Wladimir Rodriguez
38
Inteligencia Artificial
Resumen
• Los agentes basados en la utilidad se esfuerzan por maximizar una función de evaluación.
• El ambiente en el cual se encuentra los agentes pueden variar dramáticamente.
Dr. Wladimir Rodriguez
39
Inteligencia Artificial