Está en la página 1de 54

Capítulo I

Inteligencia Artificial

Introducción a la IA
Agentes inteligentes
2
3
Un agente inteligente

Procesos INTERNOS
ENTRADAS
Conoce
Sensor del ambiente Comprensión/
intencionalidad

Oye Razona
Toca
Gusta
Huele

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 NP-
duro, 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
functionSkeleton-Agent(percept)
Skeleton-Agent(percept)returns
returnsaction
action
static:
static:memory,
memory,the
theagent's
agent'smemory
memoryofofthe
theworld
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
returnaction
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
functionTable-Driven-Agent(percept)
Table-Driven-Agent(percept)returns
returnsaction
action
static:
static:percepts,
percepts,aasequence,
sequence,initially
initiallyempty
empty
table,
table,aatable
tableindexed
indexedbybypercept
perceptsequences,
sequences,initially
initiallyfully
fullyspecified
specified
append
appendpercept
percepttotothe
theend
endofofpercepts
percepts
action  LookUp(percepts, table)
action  LookUp(percepts, table)
return
returnaction
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

Ambiente
cambios Qué acción debo
Reglas Si-
hacer en este
Entonces momento
conocimiento

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 function


functionSimple-Reflex-Agent(percept)
Simple-Reflex-Agent(percept)returns
returnsaction
action
descripción abstracta del estado static: rules, a set of condition-action rules
static: rules, a set of condition-action rules
mostrado por la percepción
state
state Interpret-Input(percept)
Interpret-Input(percept)
rule 
rule  Rule-Match(state,rules)
Rule-Match(state, rules)
 Rule-match proporciona una regla
del conjunto que satisface la action
action Rule-Action[rule]
Rule-Action[rule]
percepción return
returnaction
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
Estado
Sensores

Cómo evoluciona el mundo


Cómo es el mundo en este
Qué producen mis acciones momento

Ambiente
Qué acción debo
Reglas Si
hacer en este
- Entonces
momento
conocimiento

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
 al elegir entre dos rutas alternativas function
functionReflex-Agent-With-State(percept)
Reflex-Agent-With-State(percept)returns
returnsaction
action
(en una intersección ¿girar o no girar static: rules, a set of condition-action rules
static: rules, a set of condition-action rules
el volante del coche?) no se alcanzará state,
state,aadescription
descriptionofofthe
thecurrent
currentworld
world
el objetivo final
state
state Update-State(state,
Update-State(state,percept)
percept)
 pues se requiere conocer la meta a rule  Rule-Match(state, rules)
lograr para finalizar la tarea con éxito rule  Rule-Match(state, rules)
action  Rule-Action[rule]
action  Rule-Action[rule]
state
state Update-State(state,
Update-State(state,action)
action)
return
returnaction
action
34
¿Qué es un agente orientado a
metas?
Agente
Estado Sensores

¿Cómo evoluciona el mundo?


Cómo es el mundo en este
¿Qué producen momento

Ambiente
mis acciones? ¿Qué sucedería si
emprendo la acción A?

Qué acción debo


Reglas Si
hacer en este
- Entonces
momento
conocimiento

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
Inputpercept
percept
state
state Update-State(state,
Update-State(state,percept)
percept)
goal
goal Formulate-Goal(state,
Formulate-Goal(state,perf-measure)
perf-measure)
search-space 
search-space  Formulate-Problem(state,
Formulate-Problem (state,goal)
goal)
plan  Search(search-space , goal)
plan  Search(search-space , goal)
while
while(plan
(plannot
notempty)
empty)do
do
action
action Recommendation(plan,
Recommendation(plan,state)
state)
plan  Remainder(plan, state)
plan  Remainder(plan, state)
output
outputaction
action
end
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
Estado Sensores

¿Cómo evoluciona el mundo?


Cómo es el mundo en este
¿Qué producen momento

Ambiente
mis acciones? ¿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 el
PRINCIPIO DE MAXIMA UTILIDAD ESPERADA

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 sí - sí - no - sí - sí
 Taxi 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
An Agent Portfolio

34

Broker-Corredor de comercio---Spider-Buscador, literal araña.


48
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
modifythetheenvironment
environment
agents, a set of agents
agents, a set of agents
termination,
termination,aapredicate
predicatetototest
testwhen
whenweweare
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]  Program[agent](Percept[agent])
Action[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)

 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
functionRun-Eval-Environment(state,
Run-Eval-Environment(state,Update-Fn,
Update-Fn,agents,
agents,
termination,
termination,Performance-Fn)
Performance-Fn)returns
returnsscores
scores
local
local: :scores,
scores,aavector
vectorthe
thesame
samesize
sizeasasagents,
agents,initially
initiallyall
all00
repeat
repeat
for
foreach
eachagent
agentininagents
agentsdo
do
Percept[agent] 
Percept[agent]  Get-Percept(agent,state)
Get-Percept(agent, 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)
scores 
scores  Performance-Fn(scores, agents,state)
Performance-Fn(scores, agents, state)
until termination(state)
until termination(state)
return
returnscores
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

También podría gustarte