Transcript IA_agentes

Inteligencia Artificial
Capítulo I
Introducción a la IA
Agentes inteligentes
2
3
Un agente inteligente
Procesos INTERNOS
ENTRADAS
Sensor del ambiente
Vé
Oye
Toca
Gusta
Huele
Conoce
Comprensión/
intencionalidad
Razona
Comportamiento
SALIDAS
4
Tipificando a un agente inteligente
SENSORES
PERCEPCIONES
?
AMBIENTE
AGENTE
ACCIONES
EFECTORES
5
Qué es un agente inteligente
 Un agente inteligente es cualquier cosa que pueda
 percibir un mundo perceptual en que esté anidado (“ambiente”)
mediante SENSORES y
 actuar sobre ese mundo mediante EFECTORES (o actuadores)
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”
 META de la IA  Diseñar un agente inteligente/racional que
opere o actúe adecuadamente en sus ambientes.
 Discusión sobre “adecuadamente”
Fijar alguna medida de “adecuadamente” (buen éxito)
Tener en cuenta el PRR  Principio de Racionalidad Restringida
de Herbert Simon
6
PRR (Herbert Simon)
 El Principio de la Racionalidad Restringida alega que la
racionalidad óptima ideal NO es el buen éxito perfecto.
 Ningun ser humano apela a una mayor racionalidad que
justo la necesaria para sus fines prácticos.
 Las limitaciones de un agente
con los SENSORES que tiene
con los EFECTORES que tiene y
con la POTENCIA COMPUTACIONAL
– disponible y
– (en algunos casos) óptima económica
 conducen a que la racionalidad ideal sea
imposible e
impráctica.
7
Algo más (Herbert Simon)
La razón es solamente un
instrumento porque
 no nos puede predecir hacia donde ir - no nos
propone metas
a lo sumo nos ayuda a decidirnos cómo llegar a
una meta (a través del análisis de medios y fines)
8
Agentes Racionales
Racionalidad e Inteligencia
Qué es un agente racional
El que actúa maximizando el valor
esperado de la medida de buen éxito
(función de utilidad) en el logro de su meta
Racional no es omnisciente
Racional no es clarividente
Racional ideal en conflicto con el PRR
10
Racionalidad
Satisfacción de restricciones
Depende de
 LA SECUENCIA DE PERCEPCIONES - TODO LO QUE EL
AGENTE HA PERCIBIDO HASTA AHORA (GESTIÓN DE LA
MEMORIA).
 No se puede criticar a un agente por no saber lo que nunca supo
 LA MEDIDA DE BUEN ÉXITO ELEGIDA
 Función de utilidad
 CUÁNTO CONOCE EL AGENTE DEL AMBIENTE EN QUE
OPERA
Lista de hipótesis de cómo es el mundo
 LAS ACCIONES QUE EL AGENTE ESTÉ EN CONDICIONES DE
REALIZAR
11
Grado de Racionalidad - Nivel
de Conocimiento - Newell
Grado de racionalidad  grado con el cual el
agente racional maximiza su medida de buen
éxito en lograr una meta,
sujeta a su disponibilidad de
 sensores, efectores, potencia de cómputo y conocimiento
internalizado.
Allen Newell define el nivel de conocimiento por el
número de reglas usadas respecto de su
disponibilidad total de reglas. Ningun robot es
responsable por no usar reglas que no conoce.
…a un termostato le han dado dos reglas y las usa…
12
AGENTE INTELIGENTE IDEAL
El agente inteligente ideal es el que,
para cualquier secuencia arbitraria de
percepciones, logre con su ACCION
maximizar la medida de su buen éxito.
Para ello usa
conocimiento interiorizado
secuencia de percepciones
13
Agentes autónomos
Son agentes autónomos los que no se guían
por reglamento externo alguno.
14
Agentes Racionales y problemas
Complejidad y racionalidad
P, NP, NP completo, NP duro
 P. Son problemas que se pueden resolver en tiempo polinómico (lo cual
significa rápido). Son muy frecuentes. Son P los que tienen tiempos de
ejecución O(n) y O(log n)
 NP. Un problema es NP si se puede verificar rapidamente (esto es, en
tiempo polinómico) que la solución hallada es correcta (aunque haya
sido complicadísimo hallar dicha solución). NP se refiere a “tiempo
polinomial no-determinístico” donde la voz “no-determinístico”
significa en la práctica “obtenida por adivinación”. Si alguien adivina
alguna solución, es rápido verificar si es correcta como solución.
 No se ha podido probar que un arbitrario problema NP se pueda
reducir a P, lo cual lleva al tema de la clase de problemas NP-duros.
 La subclase “de problemas NP-completos” se interpretan como que
la voz “completo” indica el ejemplo más difícil de resolver dentro del
tipo de problema.
16
Teoría de la completitud NP
Problemas NP-duros. Si fuesen polinómicos se verificaría P =
NP. Algunos problemas, como quizás el clásico del viajante de
comercio, es probable que sean imposibles de resolver en
cualquier computadora arbitraria (se trata de un problema NPduro, hasta donde se conoce). Se lo debe resolver, p. ej., de forma
aproximada y no exacta, o usando heurísticas.
 De ello se deduce que
 ya sea la inteligencia natural
 o la inteligencia artificial
NO son ilimitadas en sus capacidades.
 De ello se vuelve a deducir que la racionalidad práctica resulta
estar restringida.
  Nadie debe esmerarse por aplicar la racionalidad más allá de
sus necesidades prácticas.  PRR
 Caso límite  el termóstato con sus dos reglas - Alto nivel de conocimiento.
17
Agentes Racionales
Percepciones y acciones
Mapeo ideal
percepciones  acciones
El diseño o mapeo ideal especifica qué
acciones debe encarar el agente ideal
en respuesta a cualquier secuencia
arbitraria de percepciones
Se concreta con una tabla real o
virtual
Ejercicio de la racionalidad 
 Sandwich
Percepciones  Razonamiento  Acciones
19
Cometido de la IA
El cometido de la IA es el diseño de un Programa
de agente : una función que permita implantar el
mapeo del agente para pasar de percepciones
a acciones.
Este programa se ejecutará en
algún tipo de dispositivo de cómputo, al que se
denominará arquitectura (puede ser una
computadora sencilla o hardware especial). En
alguno ámbitos se utilizan agentes de software
(o robots de software o softbots).
Agente = arquitectura + programa
20
Funciones y programas de agentes
 El agente queda completamente especificado con la función del
agente que mapea lo que describe la ecuación
–
a = f (P,M,A)
 sobre todo el componente principal a = f (P)
 en principio uno puede suministrar cualquier secuencia perceptual posible para ver
qué sucede - una tabla que resuma esa información podría ser inmensa
 El programa de agente trata de implementar la función de
agente en forma concisa (ejemplo: cálculo de la raiz cuadrada en
una calculadora de bolsillo)
 Un programa de agente toma una percepción singular como
input y mantiene el estado interno
21
PaMA
Estrategia de “divide y vencerás”
a = f(datos)
a = f(P,M,A)
Ejemplo - Piloto automático (taxista reemplazado por
un agente inteligente )
Percepciones ??
acciones ??
Metas ??
Ambiente ??
22
PaMA
 Para identificar a un agente debemos analizar su PaMA:
Ejemplos de
descripciones
PaMA de un
dado agente
típico
P-percepción
a-acción
M-meta
A-ambiente
23
Análisis PaMA
 En cualquier algoritmo aplicado a la IA debemos reconocer cómo cada parte
contribuye a dicha meta.
 Analicemos las máquinas (limitadas) de la IA como agentes inteligentes.
 La meta planteada por la medida del buen éxito de ese agente suele ser
combinación de varias submetas.
 El análisis PaMA es un ejemplo de
 la estrategia general de la ingeniería de “dividir para conquistar”
  P+a+M+A  cada sumando es más fácil que la suma ponderada.
 la aplicación del ANÁLISIS DE REQUISITOS , que resuelve un problema
analizando qué es obtenible como input y qué es deseado como output.




 Otro Ejemplo: al analizar un sistema de imágenes por satelite,
percepciones: pixels de intensidad y longitud de onda variables
acciones:
mover la cámara, cambiar el filtro, imprimir información
metas:
identificación cercana a la realidad de todos los objetos de la imagen
ambiente:
imágenes distorsionadas provenientes de una cámara de satelite.
24
Taxista Robotpiloto automático
 Percepciones
–
–
–
–
video
acelerómetro, instrumental del tablero
sensores del motor
teclado
 acciones
–
–
–
–
gestión del volante
acelerar y frenar
bocina
hablar/dibujar
 Metas
– seguridad, llegar a destino, maximizar ganancias, obedecer las leyes,
satisfacción del cliente
 Ambiente
– calles urbanas, avenidas, tráfico, peatones, clima, tipo de cliente
25
Estructura de un agente inteligente
 ESQUEMA GENÉRICO DE UN AGENTE:
function Skeleton-Agent(percept) returns action
static: memory, the agent's memory of the world
memory  Update-Memory(memory, percept)
action  Choose-Best-Action(memory)
memory  Update-Memory(memory, action)
return action
 Desde un punto de vista estricto, no es necesario que el agente guarde en su
memoria las percepciones entrantes  dependería del dominio. Un dominio es
un fragmento del mundo acerca del que deseamos adquirir conocimiento.
 El esquema del agente no incorpora la medida de buen éxito en su meta  se
entiende que ella está siendo aplicada externamente.
26
Estructura de los Agentes
Racionales
Tipos de Agentes
Tipos de Agentes
Agentes sin información actualizada de su mundo
 Tabla
 encontrar la acción siguiente  usar una tabla en memoria del tipo “secuencia de
percepciones/acción”. Sería una tabla demasiado voluminosa para repetir la acción ya
experimentada antes.
 Agentes reflejos con un único estado (simples)
 se basan en reglas condición/acción y se implementan con un sistema de
PRODUCCIÓN. Carecen de memoria referida a estados pasados del mundo.
28
Lo más sencillo:
DISPONER DE UNA TABLA
function Table-Driven-Agent(percept) returns action
static: percepts, a sequence, initially empty
table, a table indexed by percept sequences, initially fully specified
append percept to the end of percepts
action  LookUp(percepts, table)
return action
 ¿Por qué fracasa el ideal de disponer de una tabla de consulta?
 Esta arquitectura tiene los siguientes inconvenientes
 tamaño excesivo (no factible)
 falta de adaptación.
 ¿Qué tamaño tendría que tener la tabla? (Caso límite, el ajedrez)
 El agente ¿podrá aprender de sus errores?
 ¿De dónde provendría dicha table en primera instancia?
29
Agente reactivo simple
Agente
Sensores
Cómo es el mundo en este
momento
cambios
conocimiento
Qué acción debo
hacer en este
momento
Ambiente
Reglas SiEntonces
Efectores
30
¿Qué es un agente reactivo simple?
 Las reglas condición-acción
permiten establecer la conexión
entre percepción y acción.
 Se indica el estado interno, único
en un momento dado del proceso
de decisión.
 Se indica la base de conocimiento
en forma de reglas de
producción.
 Programa del agente:
 Interpret-input genera una
descripción abstracta del estado
mostrado por la percepción
 Rule-match proporciona una regla
del conjunto que satisface la
percepción
function Simple-Reflex-Agent(percept) returns action
static: rules, a set of condition-action rules
state  Interpret-Input(percept)
rule  Rule-Match(state, rules)
action  Rule-Action[rule]
return action
31
Tipos de Agentes
Bien informados de lo que pasa en su mundo
 Agentes con memoria
 con un estado interno que sirve para seguirle la pista a los estados pasados de su mundo.
 Agentes focalizados en encontrar la meta
 además de disponer de información sobre el estado, tienen información sobre situaciones
deseables para alcanzar la meta. Lógicamente, agentes de este tipo tienen bajo
consideración eventos del futuro.
 Utilidad focalizados en mejorar la utilidad de sus acciones
 basan su decisión en la teoría axiomática clásica de la utilidad para actuar racionalmente.
32
¿Qué es un agente bien informado?
Agente
Sensores
Estado
Cómo evoluciona el mundo
Reglas Si
- Entonces
conocimiento
Ambiente
Qué producen mis acciones
Cómo es el mundo en este
momento
Qué acción debo
hacer en este
momento
Efectores
33
Agentes bien informados
 La actualización del estado
interno requiere dos tipos de
conocimiento codificado
 conocimiento acerca de la forma en
que el mundo cambia,
independientemente de las acciones
del agente.
 conocimiento acerca de la forma en
que el mundo cambia con motivo de
la acción del agente
 Pero el conocimiento del estado
interno no siempre es suficiente
function Reflex-Agent-With-State(percept) returns action
 al elegir entre dos rutas alternativas
static: rules, a set of condition-action rules
(en una intersección ¿girar o no girar
state, a description of the current world
el volante del coche?) no se alcanzará
el objetivo final
state  Update-State(state, percept)
 pues se requiere conocer la meta a
rule  Rule-Match(state, rules)
lograr para finalizar la tarea con éxito action  Rule-Action[rule]
state  Update-State(state, action)
return action
34
¿Qué es un agente orientado a
metas?
Agente
Sensores
Estado
¿Cómo evoluciona el mundo?
Cómo es el mundo en este
momento
Ambiente
¿Qué producen
mis acciones?
¿Qué sucedería si
emprendo la acción A?
Reglas Si
- Entonces
conocimiento
Qué acción debo
hacer en este
momento
Efectores
35
Agentes basados en Metas
 Razonando acerca de acciones
 un agente reflejo solo actúa basado en conocimientos precomputados (reglas)
 la búsqueda y la planificación ayudan a razonar acerca de qué acción logra la meta
 el agente es menos eficiente pero más adaptativo y flexible
 Qué argumentar acerca de acciones alternativas que llegan a la meta
 hay que maximizar la utilidad de las acciones, esto es, elegir aquella que logra la meta
mejor de todas.
36
Arquitectura General de Agentes basados en Metas
Input percept
state  Update-State(state, percept)
goal  Formulate-Goal(state, perf-measure)
search-space  Formulate-Problem (state, goal)
plan  Search(search-space , goal)
while (plan not empty) do
action  Recommendation(plan, state)
plan  Remainder(plan, state)
output action
end
 Los agentes simples no tienen acceso a su medida de buen éxito
 En ese caso el diseñador elige la meta y la incorpora por diseño a su agente
 Similarmente, los agentes tontos no pueden formular su propio problema
 en cuyo caso dicha formulación tambien se debe incorporar al diseño
 El bucle “while” (mientras) - ver arriba - es la fase de ejecución de la
conducta de este tipo de agentes
 Nótese que en esta arquitectura se sobreentiende que para la fase de ejecución no
importa monitorizar el ambiente.
37
¿Qué es un agente basado en
utilidad?
Agente
Sensores
Estado
¿Cómo evoluciona el mundo?
Ambiente
¿Qué producen
mis acciones?
Cómo es el mundo en este
momento
¿Qué sucedería si
emprendo la acción A?
¿Soy feliz así?
UTILIDAD
¿Qué hago ahora?
conocimiento
Efectores
38
Agentes basados en Utilidad
 Función Utilidad
 es un mapeo de estados bajo la forma de números reales
 lleva a decisiones racionales en dos tipos de situaciones
 evaluación de compromisos entre metas en conflicto
 evaluación de metas en conflicto
39
Agentes basados en utilidad
 Las metas no bastan para generar una conducta de
alta
calidad.
 Las metas permiten establecer una distinción entre estados
“felices” e “infelices”.
 Si se prefiere un estado en lugar de otro, se dice que ese estado
ofrece mayor “utilidad” al agente.
Utilidad
 Función que caracteriza el grado de satisfacción
 En temas venideros se mencionará frecuentemente
PRINCIPIO DE MAXIMA UTILIDAD ESPERADA
el
40
Ambientes
Características y tipos
Propiedades de los Ambientes
 Accesible/Inaccesible
 Si los sensores proporcionan todo lo que hay que saber sobre el estado
completo del ambiente - necesario para elegir una acción - entonces el
ambiente es accesible al agente. Esos ambiente resultan convenientes, ya que
liberan al agente de la tarea de mantener actualizado su inventario del mundo.
 Determinístico/No-determinístico (estocástico)
 Si el estado siguiente del ambiente está determinado plenamente por el estado
presente del mismo, y por la acción del agente - se trata de un ambiente
determinístico. Así el agente escapa de la incertidumbre.
 Episódico/No-episódico
 Un ambiente episódico implica que los episodios siguientes no dependen de las
acciones que ocurrían en episodios previos (como en las clásicas cadenas de
Markov). Esto permite al agente que no se preocupe por la planificación de lo
que pueda ocurrir.
42
Propiedades de los Ambientes (2)
 Estático/Dinámico
 Será estático todo ambiente que no cambie mientras el agente está “pensando”.
No tiene importancia el tiempo que se usa en pensar y no necesita monitorizar
el mundo mientras piensa. El tiempo carece de valor mientras se computa una
buena estrategia. En otro caso será dinámico.
 Discreto/Continuo
 Discreto - con escaso número de percepciones y acciones en el ambiente.
 Continuo - en otro caso.
 Sin adversario/con adversarios racionales
 Sin adversario - ausencia de otros agentes racionales adversarios: la
consecuencia es que el agente se libera de competir con dichos adversarios en
el mismo juego.
 Los ambientes ingenieriles suelen ser sin adversario.
 Los ambientes sociales y económicos aumentan en su complejidad por la
presencia de interacciones entre uno o más adversarios (por ejemplo en la
Bolsa).
43
Tipos de ambientes y sus características
 Solitario
 Taxi
 Accesible ??
 Determinístico ??
 Episódico ??
 Estático ??
 Discreto ??
44
Tipos de ambientes y sus características
 Solitario
 Taxi
sí - sí - no - sí - sí
no - no -no - no - no
 Accesible
 Determinístico
 Episódico
 Estático
 Discreto
45
Ambientes en Internet
e_mail
Grupos de noticias
WWW
FTP
Juegos en línea
Foros
Buscadores con diversos agentes
Ambiente apto para minería de datos
Bibliotecas virtuales (p.ej., de IA)
46
Tipos de ambientes y sus
características
47
Broker-Corredor de comercio---Spider-Buscador, literal araña.
48
Programa básico para el ambiente
procedure Run-Environment(state, Update-Fn, agents, termination)
input: state, the initial state of the environment
Update-Fn, function to modify the environment
agents, a set of agents
termination, a predicate to test when we are done
repeat
for each agent in agents do
Percept[agent]  Get-Percept(agent, state)
end
for each agent in agents do
Action[agent]  Program[agent](Percept[agent])
end
state  Update-Fn(actions, agents, state)
until termination(state)
 Programa básico para simular ambientes
 proporciona las percepciones a los agentes anidados en ese ambiente
 absorbe una acción de cada agente en la unidad de tiempo
 actualiza el ambiente cada unidad de tiempo
49
Simulador de ambiente al tanto de las
medidas de buen éxito de los agentes
function Run-Eval-Environment(state, Update-Fn, agents,
termination, Performance-Fn) returns scores
local : scores, a vector the same size as agents, initially all 0
repeat
for each agent in agents do
Percept[agent]  Get-Percept(agent, state)
end
for each agent in agents do
Action[agent]  Program[agent](Percept[agent])
end
state  Update-Fn(actions, agents, state)
scores  Performance-Fn(scores, agents, state)
until termination(state)
return scores
 Casi siempre, los agentes se han diseñado para satisfacer una
cierta clase de ambiente
 medición de buen éxito en ese ambiente, definido por un estado inicial singular
y una función de actualización particular.
50
Resumen
Tema I
Resumen
Los principales contenidos del tema I son:
 Un agente percibe y actúa en un cierto ambiente, posee una
arquitectura dada y está implementado a través de un programa
de agente.
 Un agente ideal (omnisciente) siempre elige aquella acción
mediante la cual se maximiza su logro esperado, sujeta a la
secuencia de percepciones recibida hasta ese momento.
 Un agente autónomo usa su experiencia propia en lugar de usar
conocimiento incorporado por su diseñador referente al
ambiente.
 Un programa de agente mapea la ruta entre percepción y acción
y actualiza el estado interno de dicho agente.
 Un agente reflejo (o reactivo) responde de inmediato a las
percepciones según la regla acción/percepción. (jugador de ping
pong).
52
Resumen
 Un agente basado en metas actúa de tal manera que pueda
obtener el logro de la meta programada.
 Un agente basado en utilidad maximiza su propia función de
utilidad.
 Poder representar el conocimiento (y a veces lograr que ese
conocimiento pueda ser legible por el humano) es importante
para que el diseño tenga buen éxito.
 No todos los ambientes son iguales para el agente. Hay unos que
son más difíciles que otros. Los más difíciles son los ambientes
inaccesibles, no-determinísticos, no-episódicos, dinámicos y
continuos.
 Uno fácil sería el de un robot encargado de hacer tostadas.
53
Resumen y conclusiones razonadas
 La inteligencia artificial se ha presentado como la tecnología de la construcción
de agentes inteligentes, con lo cual se unifican temas que no tenían relación con
otros enfoques (caso de la robótica y la visión).
 Es evidente que el hilo conductor es el de ir complicando gradualmente los
programas de agente , las funciones de agente ( utilidad,, actualización y
desempeño) y los programas de ambiente ( información básica y detallada).
 Obviamente la noción de agente aglutina en una meta clara a toda la
inteligencia artificial, la cual, sin embargo, al estar enlazada con los ambientes,
pierde – por suerte – toda posibilidad de ser una disciplina auto-contenida,
pasando a tener condición de multi-disciplinar.
54