Está en la página 1de 221

AGENTES INTELIGENTES

EL MUNDO DE WUMPUS
M.Sc. Ing. Raul Ricardo Sulla Torres
CONOCIMIENTO
Niveles del entendimiento

Es humano.
Es una apreciación del por qué.
Entendimiento Puede generar conocimiento.

Es información útil, contextual,


tácita. Es la aplicación de los
datos y la información, responde
Conocimiento a cómo. Se puede aprender.

Es la data con un significado por


vía de una relación. El significa-
do puede o no ser útil. Responde
Información a quién, qué, donde, cuándo.

La data es cruda. Existe o no,


pero no tiene significado por si
Datos misma. Es codificable y explicita,
es fácil de ser transferida.
Conocimiento
 Datos. Es el registro de un evento. No tiene significado por si
mismo.
 Información. Es el dato más un significado, el significado lo
adquiere al ser relacionado. Puede o no ser útil.
 Conocimiento. [Dato + Información]. Es una colección de
información útil. Se puede memorizar (amasar conocimiento).
 Entendimiento. Es cuando se puede sintetizar nuevo
conocimiento desde el conocimiento y la información.
Conocimiento  Memorización.
Entendimiento  Aprendizaje
 Sabiduría. Es el nivel previo de la conciencia. Se relaciona
con el futuro.
Diagrama de transición
relación

sabiduría

crítica del
entendimiento
entendimiento

entendiendo
principios
conocimiento

entendiendo
patrones
información

entendiendo
relaciones
datos entendimiento
Conocimiento

 El conocimiento es el saber hacer


que sirve como marco para la
incorporación de nuevas
experiencias e información, y es
útil para la acción.

 En las organizaciones con


frecuencia no sólo se encuentra
dentro de documentos o
almacenes de datos, sino que
también está en rutinas
organizativas, procesos, prácticas,
y normas.
Conocimiento

 “Conocimiento significa entonces apropiarnos de las


propiedades y relaciones de las cosas, entender lo que
son y lo que no son. Tener discernimiento, es decir
juicio por cuyo medio se percibe y establece la
diferencia que existe entre varias cosas”.

 Podemos ver entonces que el conocimiento se divide


en dos partes:
 El objeto en sí, con sus propiedades y relaciones, que
queremos conocer.
 El sujeto que trata de apoderarse de ese saber.
REPRESENTACION DEL
CONOCIMIENTO
Representación del Conocimiento

 El conocimiento requiere ser


representado de tal forma que permita
representar las generalizaciones.
 Es decir que no es necesario representar
de forma separada cada situación
individual, en lugar de ello se agrupan las
situaciones que comparten propiedades
importantes.
 Puede modificarse fácilmente para
corregir errores y reflejar los cambios en
el mundo y en nuestra visión del mundo.
 Puede usarse en gran cantidad de
situaciones aun cuando no sea
totalmente preciso o completo.
Representación del Conocimiento

 Se afirma que el poder heurístico del que resuelve


problemas se encuentra en la representación explícita
de conocimiento a la que el programa puede tener
acceso; y no en algún sofisticado mecanismo de
inferencia o alguna complicada función de evaluación.

Una heurística es un algoritmo que permite encontrar soluciones en tiempos


razonables para problemas combinatorios.

Una heurística es una técnica que mejora la eficiencia de un proceso de


búsqueda en un espacio de estados, sacrificando determinando la perfección
de la solución.
Representación del Conocimiento

 Expresar el conocimiento de forma que sea manejable


por el computador, de modo que pueda ser utilizado
como auxiliar para el desempeño de los agentes.
Representación Declarativa
(∀X)(persona(X))  mortal(X)
(∀X)(perro(X))  mortal(X)
 Cálculo de Predicados,
Reglas de Producción, y persona(Sócrates)
Redes Semánticas persona(Eva)
 Fragmentos de conocimientoperro(Lassie)
interdependientes unos de
otros
 Facilidad de modificación.
 Los conocimientos se
combinan, mediante un
mecanismo general de
razonamiento y deducción.
 Flexible y modular.
Representación Procedural
function persona(X)
IF (X=Sócrates) or (X=Eva) THEN
return true
 Algoritmos.
ELSE return false
 Autómatas Finitos.
 Difícilmente modificable function erro(X)
(Reglas y Estructuras de
IF (X=Lassie) THEN return true
control).
ELSE return false
 Facilitan el uso del meta-
conocimiento.
function mortal(X)
 Se puede descomponer
IF persona(X) or perro(X) THEN
explícitamente el problema. return true
 Operación Eficiente. ELSE return false
Representación del conocimiento
Representación del Conocimiento

El lenguaje consta de dos aspectos:


 Sintaxis.
 Explica las posibles configuraciones mediante las cuales
se forma las oraciones o sentencias (lenguaje).

 La semántica.
 Determina los hechos del mundo a los que se hace
alusión en las oraciones o sentencias.

 Si la semántica y la sintaxis están definidas de manera


precisa, se dice que el lenguaje es una lógica.
Representación del Conocimiento
 La conexión entre oraciones y hechos es algo que se
establece mediante la semántica del lenguaje.
 La propiedad de que un hecho es decir la consecuencia de
otros hechos, se refleja en la propiedad de que una oración
es consecuencia de otras oraciones.
 La inferencia lógica genera nuevas oraciones que son
consecuencia de oraciones ya existentes.

implican
Oraciones Oraciones
Semántica

Semántica
Representación

Mundo

Hechos Hechos
producen
Ejercicio

 Un interesante problema, de orden combinatorio, es el


denominado Problema de Coloreo de Grafos. Donde se
pretende colorear un grafo, con la mínima cantidad de
colores, de tal forma que dos regiones adyacentes no
tengan el mismo color. Una aplicación práctica de la técnica
es colorear un mapa con la mínima cantidad de colores.
Para el siguiente ejemplo diseñe un conjunto de “reglas” que
permita luego a un “motor de inferencia”, resolver el
problema.
V4
V1

V3

V2

V5
Ejercicio
 Intente identificar una fórmula para representar algún
estado para el problema de la dama china. Entregar la
fórmula para los tres estados indicados
 El objetivo del juego es llegar al casillero inicial del
oponente. Los movimientos posibles son: [arriba ( ↗),
arriba(↖)] o [abajo (↘), abajo(↙)], no es posible avanzar de
frente [frente (→), frente(←)], pero se puede saltar una
ficha del oponente [saltar (S)], no es posible “comer una
pieza”.
RACIONALIDAD
Racionalidad

 La racionalidad se entiende referida a la acción y


designa aquel tipo de acción configurada de forma que
permita obtener ciertos objetivos predefinidos.

 La racionalidad consiste en la inteligente persecución de


fines mediante acciones adecuadas.

 Un agente racional es aquel que saca el máximo


provecho (objetivo, meta) de una dada situación
(restricciones).

 Actuar racionalmente significa elegir una alternativa con


la jerarquía más alta dentro de un grupo de alternativas
factibles.
INTELIGENCIA
¿Inteligencia?

 Es la facultad que tienen las


personas de conocer, analizar,
comprender situaciones.
 Es un conjunto de habilidades,
destrezas y experiencias sobre cierto
dominio.
 Es la capacidad de resolver
problemas.

¿tienen inteligencia los animales?


¿el libre albedrío es inteligencia?
¿la conciencia de si mismo es inteligencia?
Signos de Inteligencia

 Aprender de la experiencia
 Encontrar sentido a mensajes ambiguos
 Responder rápidamente a situaciones
nuevas.
 Entender e inferir en forma racional.
 Aplicar conocimiento para manipular el
medio que nos rodea.
 Aplicar y adquirir conocimiento nuevo.
 Pensar y razonar.
Aspectos de la Inteligencia
INTELIGENCIA ARTIFICIAL
 Percepción
INTELIGENCIA HUMANA  Aprendizaje
 Percepción  Memoria y asociación
 Aprendizaje  El pensamiento abstracto.
 Memoria y asociación  Razonamiento
 El pensamiento  Solución de problemas
abstracto.  Creatividad e imaginación
 Razonamiento
 Conciencia
 Solución de problemas
 Creatividad e
imaginación
 Conciencia
Ejercicio

 Indicar qué facultades que no correspondan a la


inteligencia natural.
1. Aprender por prueba y error.
2. Mover las extremidades.
3. Responder rápidamente a situaciones
aprendidas previamente.
4. Encontrar el sentido a mensajes ambiguos.
5. Girar la cabeza hacia la fuente de un sonido
persistente.
6. Corta un trozo de papel.
7. Retirar el brazo ante un pinchazo.
INTELIGENCIA ARTIFICIAL
Objetivos de la Inteligencia Artificial

 Es la comprensión de nosotros mismos como


entidades inteligentes
 Es la construcción de entidades inteligentes.
 Es el arte de crear máquinas que realizan funciones
que requieren inteligencia cuando dichas funciones
son realizadas por el hombre.
 Es el estudio de cómo hacer que los ordenadores
hagan cosas que, por el momento, los seres humanos
lo hacemos mejor.
Problemas que aborda la Inteligencia Artificial

 “¿Cómo es posible que un diminuto y lento cerebro,


sea biológico o electrónico, tenga capacidad para
percibir, comprender, predecir y manipular un mundo
que en tamaño y complejidad le excede con creces?”,
“¿Cómo es posible crear apoyándose en esas
propiedades?”

 ¿El investigador de IA tiene pruebas contundentes de


que tales entidades existen y son factibles?
Motivación para la investigación en IA

 La IA es una de las disciplinas más nuevas (inició


formalmente en 1956).

 A diferencia de otros campos de estudio donde “todo


está descubierto” (como la física o las matemáticas), la
IA tiene muchas áreas con grandes oportunidad para
la investigación e innovación.
El estudio de la inteligencia

 Es una de las disciplinas más antiguas.


 Desde hace 2000 años los filósofos han tratado de
entender como se ve, aprende, recuerda y razona, y
cómo debe esto hacerse.
 La aparición de las computadoras en los 50’s permitió
pasar de la especulación a una disciplina teórica y
experimental.
Alcance de la IA

 La IA abarca desde áreas generales (percepción,


razonamiento lógico) hasta específicas (ajedrez,
teoremas, etc.)
 Permite automatizar el trabajo intelectual a científicos
de otras áreas.
 Ofrece a los científicos de IA el aplicarla en cualquier
área donde se aplique el intelecto humano.
¿Qué es la Inteligencia Artificial?
“La interesante tarea de lograr que “El estudio de las facultades
las computadoras piensen... mentales mediante el uso de
Máquinas con mente, en su amplio modelos computacionales”
sentido literal” (Haugeland, 1985) (Carniak y McDermott, 1985)

“[La automatización de] “El estudio de los cálculos que


actividades que vinculamos con permiten percibir, razonar y actuar”
procesos de pensamiento humano, (Winston, 1992)
actividades tales como la toma de
decisiones, resolución de
problemas, aprendizaje...”
(Bellman, 1978)
“El arte de crear máquinas con “Un campo de estudio que se
capacidad de realizar funciones que enfoca a la explicación y emulación
realizadas por personas requieren de la conducta inteligente en
inteligencia” (Kurzweil, 1990) función de procesos
“”El estudio de cómo lograr que las computacionales” (Schalkoff,
computadores realicen tareas que, 1990).
por el momento, los humanos
“La rama de la ciencia de la
hacen mejor” (Rich y Knight,
computación que se ocupa de la
1991)
automatización de la conducta
inteligente” (Luger y Stubblefield,
1993).
Categorías para las definiciones de IA
Humano Racional

Sistemas que Sistemas que


Pensamiento
piensan como piensan
humanos racionalmente
2 (idealmente) 3

Sistemas que Sistemas que


Comportamiento actúan como actúan
humanos racionalmente
(idealmente)
1 4

Razonamiento  (Lógica) razonamiento para llegar a conclusiones.


Comportamiento  (Acción) acciones para llegar a objetivos.
Actuar como humano:
La prueba de Turing

 Propuesta por Alan Turing (1950).


 Turing definió la conducta inteligente como “la
capacidad de lograr eficiencia humana en todas las
actividades cognoscitivas, suficiente para engañar a un
evaluador”.
Test de Turing

Escenario: dos seres


humanos y un ordenador;
uno de los seres humanos, el
interrogador, debe averiguar
cuál de los otros dos
participantes es el
ordenador; el interrogador
puede preguntar cualquier
cosa, sin importar el tema o
la profundidad, y al
ordenador se le permite
hacer todo lo posible por
provocar la errónea
identificación. El ser humano
participante debe, sin
embargo, responder siempre
verazmente a las cuestiones
que se le formulen.

http://cogsci.ucsd.edu/~asaygin/tt/ttest.html
La prueba de Turing

 Para que una computadora pase la prueba de Turing,


debe por lo menos:
 Procesar lenguaje natural
 Representar el conocimiento
 Razonar automáticamente
 Autoaprender
 Para la prueba total de Turing, la computadora debe
tener
 Vista
 Robótica
Pensar como humano:
El modelo cognoscitivo

 Primero habría que definirse ¿cómo piensan los


humanos?. Lo hacen mediante
 Introspección
 Experimentos psicológicos
 GPS (General Problem Solver), de Newell y Simon
(1961) vs. Wang (1960).
 La ciencia cognoscitiva usa modelos de IA y
experimentos psicológicos.
 Aportaciones:
 Visión, lenguaje natural, aprendizaje
Pensar racionalmente:
Las leyes del pensamiento

 Aristóteles intentó codificar la “manera correcta de pensar”


(silogismos). De ahí surge la lógica.
 La tradición logicista de IA trata de hacer sistemas
inteligentes basados en la lógica.
 Problemas: pasar conocimiento informal e incierto en
términos lógicos formales y realizar la solución teórica
obtenida en la práctica.
Representación del conocimiento impreciso
Versus
Notación Lógica

 Lógica fuzzy(1968)
Actuar racionalmente:
El agente racional

 Actuar racionalmente es hacerlo de tal manera que se


logran los objetivos deseados.
 Un agente es algo que percibe y actúa. De acuerdo a
esto, la IA es el estudio y construcción de agentes
racionales.
 Actuar racionalmente no implica sólo actuar por
inferencias lógicas (ejemplo, reflejos).
Inteligencia Artificial
 Nació en 1943 cuando Warren McCulloch y Walter Pitts
propusieron un modelo de neurona del cerebro humano y
animal.
 Es una ciencia que intenta la creación de programas para
máquinas que imiten el comportamiento y la comprensión
humana, que sea capaz de aprender, reconocer y pensar.
¿Inteligencia Artificial?

 ¿Puede pensar realmente un sistema inteligente


artificial dentro de una computadora?

 ¿Tiene realmente libre albedrío?

 ¿Puede llegar a reemplazar al ser humano?

 ¿Hasta que punto puede un sistema ser inteligente?


Ejercicio

 ¿Cómo se puede inhabilitar la prueba de turing?


 ¿Qué preguntas se puede hacer a una persona de tal
forma que se pueda diferenciar de un computador?
 ¿Qué preguntas se puede hacer a un computador de
tal forma que se pueda diferenciar de una persona?
Agentes

 Un agente  lo que se puede interpretar como que


percibe el ambiente y que actúa sobre dicho
ambiente.
 Ejemplos:
 Sistema de diagnóstico médico
 Análisis de imágenes satelitales
 Robot ensamblador de partes
 Controlador de una refinería
Un agente inteligente

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

Oye Razona
Toca
Gusta
Huele

Comportamiento

SALIDAS
Tipificando a un agente inteligente

SENSORES
PERCEPCIONES

?
AMBIENTE
AGENTE

ACCIONES

EFECTORES
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 del buen éxito
• Tener en cuenta el PRR  Principio de Racionalidad
Restringida de Herbert Simon
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
• cuando podemos probar que el razonamiento programado fue
correcto
• la lógica de primer orden fue completa

 Actuante racionalmente
 Actuar de forma de lograr las metas deseadas
 “El enfoque del agente racional” - a ser encarado en esta disciplina.
 Imagine usted mismo como se hacen las decisiones correctas
• a veces pensando racionalmente (enfoque europeo)
• otras teniendo reflejos racionales (enfoque truqués)
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
 esta no es la definición habitual de racionalidad ideal basada
en la lógica teórica
 Racional no es omnisciente
 Racional no es clarividente
 Racional ideal en conflicto con el PRR
 diapositivas 15 y 16
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
AGENTE INTELIGENTE IDEAL

 Elagente 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
 su conocimiento internalizado
 su secuencia de percepciones
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
Programa con tabla y un ejemplo

Table (Percept Sequence,Action)


Action := Function(Percept Sequence)
If (Percept Sequence) then do Action


Ejemplo - Glóbulos vivos finitos predictores -
de Dewdney - ingresar iterativamente
010011010011010011

Contrajemplo : ingresar 011000010110

Cita bibliogr. - Inv y Ciencia, ene 1986, p94


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 la justo 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.
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)
Algo más (Randall Beer)

 Los navegantes europeos aplican la planificación a su


derrotero  lo trazan en el mapa y se sujetan a él,
corrigiendo los desvíos.
 Los navegantes truqueses aplican toda su atención a todos
los detalles  de las olas, los vientos, las aves y las
corrientes de cada momento y llegan a su destino de una
manera práctica.
 A la hora de explicar por qué hicimos lo que hicimos, ¿no
seremos truqueses disfrazados de europeos?
 Los agentes racionales suelen mostrar inteligencia
académica,
 pero hay otra inteligencia mucho más adaptiva,
mostrada por los agentes autónomos, que los ayuda
en la meta de sobrevivir.
Agentes autónomos
 La “parábola” de los navegantes Europeos y los Truqueses
 Unos aplican su inteligencia a planear por adelantado toda su
conducta futura y corregir cualquier defecto en el rumbo
planeado
 En el otro caso, aplican su inteligencia a PERCIBIR
atentamente todo lo que está pasando y aplicarla a tender hacia
la meta adaptándola a las contingencias cuidadosamente
correlacionadas.
 De nuevo ¿seremos truqueses que nos disfrazamos de
europeos a la hora de dar explicaciones de nuestra conducta?
 Son agentes autónomos los que no se guían por reglamento
externo impuesto alguno.
 Dos tipos
 CONDUCTA DETERMINADA POR SU PROPIA EXPERIENCIA
 CONDUCTA AUTOORGANIZADA A PARTIR DE SU RED
NEURAL (caso del Periplaneta computatrix de Beer)
Teoría de la completitud NP

 La completitud NP se refiere a algoritmos polinómicos no


determinísticos.
 Algunos problemas, como quizás el clásico del viajante de
comercio, es probable que sean imposibles de resolver en
cualquier computadora arbitraria
 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.
Grado de Racionalidad - Nivel
de Conocimiento - Newell

 Grado de racionalidad  grado con el cual el agente


pensante y actuante maximiza su medida de buen éxito
en lograr su 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 bot es
responsable por no usar reglas que no conoce.
…a un termostato le han dado dos reglas y las usa…
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 por
el “sandwich” 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


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
 donde la función del agente es “f”
 una función de agente es racional
• aplicar al glóbulo vivo finito de Dewdney
 El programa de agente trata de implementar la función de
agente en forma concisa
 Un programa de agente toma una percepción singular como
input y mantiene el estado interno
PaMA
 En el diseño de un agente inteligente la primera tarea es ubicarnos
en el panorama
 a = f(datos)
 a = f(P,M,A)
 Ejemplo - Tachero new age: piloto automático (taximetrero
reemplazado por un agente inteligente )
• Percepciones ??
• acciones ??
• Metas ??
• Ambiente ??
PaMA
 Para identificar a un agente debemos analizar su PaMA:

Ejemplos de
descripciones
PaMA de un
dado agente
ttípico
P-percepción
a-acción
M-meta
A-ambiente
Análisis PaMA
 La meta de la IA es la construcción de agentes inteligentes: En cualquier
algoritmo aplicado a un tema de 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.
• Las técnicas para combinar submetas o multiobjetivos tienen un EJEMPLO
muy instructivo en el APH de Thomas Saaty.
 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 satelitales,
 percepciones: pixels de intensidad y longitud de onda variables
 acciones: mover la cámara, cambiar el filtro, imprimir letreros como
”tanque82"
 metas: identificación cercana a la realidad de todos los objetos de la
imagen
 ambiente: imágenes distorsionadas provenientes de una cámara satelital
Tachero new agepiloto automático
 Percepciones
– video
– acelerómetro, instrumental del tablero
– sensores del motor
– teclado
 acciones
– gestión del volante
– acelerar y frenar
– bocina
– hablar/graficar
 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
Estructura de un agente inteligente
 Como todos los agentes tienen una estructura básica o mínima
o esquelética igual, se puede investigar cuál es ella.
 Resulta así un AGENTE ESQUELÉTICO:

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
action Choose-Best-Action(memory)
Choose-Best-Action(memory)
memory 
memory Update-Memory(memory,
Update-Memory(memory,action)
action)
return action
return action
 Desde un punto de vista estricto, no es necesario que el agente
guarde en su memoria las percepciones entrantes  depende
del dominio. Un dominio es un fragmento del mundo acerca del
que deseamos adquirir conocimiento.
 El agente esquelético no incorpora la medida de buen éxito en su
meta  se entiende que ella está siendo aplicada externamente.
Código en Lisp del agente esquelético

 \code{\func{Skeleton-Agent}{{\ts}\var{percept}}{action}
 \firststatic{memory}{the agent's memory of the world}
 \bodysep
 \setq{\var{memory}}{\prog{Update-Memory}
(\var{memory{\ac}percept})} \setq{\var{action}}
{\prog{Choose-Best-Action}(\var{memory})}
\setq{\var{memory}}{\prog{Update-Memory}
(\var{memory{\ac}action})}
 \key{return} \var{action}}
IDEAL: DISPONER DE UNA TABLA
 Lo básico de un agente tabla-intensivo:
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
indexedby
bypercept
perceptsequences,
sequences,initially
initiallyfully
fullyspecified
specified
append
appendpercept
percepttotothe
theend
endofofpercepts
percepts
action
action LookUp(percepts,
LookUp(percepts,table)
table)
return action
return action

 ¿Por qué fracasa el ideal de disponer de una tabla de consulta?


 Esta arquitectura adolece de
• tamaño excesivo (no factible)
• falta de adaptación.
 ¿Qué tamaño tendría que tener la tabla? (Caso límite, el
termóstato)
 El agente ¿podría aprender de sus errores?
 ¿De dónde podría provenir dicha table en primera instancia?
Tipos de Agentes
 Tabla-intensivos
 para encontrar la acción siguiente  usar una tabla en memoria del tipo
“secuencia de percepciones”/acción. Se trata de una tabla bastante
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 referente a estados pasados del
mundo.
 Bien informados de lo que pasa
 Agentes con memoria
 con un estado interno usado para seguirle la pista a los estados pasados
del mundo.
 Agentes meta-intensivos
 además de disponer de información sobre el estado, tienen una clase de
información sobre la meta que describe situaciones deseables. Agentes de
este tipo tienen bajo consideración eventos del futuro.
 Utilidad-intensivos
 basan su decisión en la teoría axiomática clásica de la utilidad para actuar
racionalmente.
¿Qué es un agente reactivo simple? Agente reflejo simple

Agente
.
Sensores

Cómo es el mundo en este


momento

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

Efectores
¿Qué es un agente reactivo simple?
 Las reglas condición-acción
permiten establecer la conexión
entre percepción y acción.
 A la derecha del agente se indica
el estado interno, único en un
momento dado del proceso
decisional.
 A la derecha está la base de
conocimiento en forma de reglas
de producción.
 El sencillo programa del agente
aparece más abajo
 Interpret-input genera una function
descripción abstracta del estado functionSimple-Reflex-Agent(percept)
Simple-Reflex-Agent(percept)returns
returnsaction
action
static: rules, a set of condition-action rules
static: rules, a set of condition-action rules
mostrado por la percepción
 Rule-match produce una regla del state
state Interpret-Input(percept)
Interpret-Input(percept)
conjunto que satisface la rule 
rule  Rule-Match(state,rules)
Rule-Match(state, rules)
percepción action
action Rule-Action[rule]
Rule-Action[rule]
return
returnaction
action
¿Qué es un agente reactivo cuasi-pro-
activo?

Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones

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

Efectores
¿Qué es un agente reactivo cuasi-pro-activo?
Agentes bien informados de lo que pasa

 La actualización del estado


interno requiere dos tipos de
conocimiento codificado
 conocimiento acerca de la
forma como el mundo cambia
- independiente 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 function Reflex-Agent-With-State(percept) returns action
interno no siempre es suficiente function Reflex-Agent-With-State(percept) returns action
static: rules, a set of condition-action rules
static: rules, a set of condition-action rules
 para elegir entre rutas state,
state,aadescription
descriptionofofthe
thecurrent
currentworld
world
decisionales alternativas(en
una intersección ¿doblar o no state
state Update-State(state,
Update-State(state,percept)
percept)
rule  Rule-Match(state, rules)
rule  Rule-Match(state, rules)
doblar el volante del coche?)
 pues se requiere conocer la action
action Rule-Action[rule]
Rule-Action[rule]
state 
state  Update-State(state,action)
Update-State(state, action)
meta a lograr return
returnaction
action
¿Qué es un agente orientado a metas?

Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones

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

Qué acción debo


Hilera de
hacer en este
metas
momento

Efectores
Agentes Meta-Intensivos

 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 cuál 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 aquélla que logra la
meta mejor que otras.
Arquitectura General de Agentes Meta-Intensivos

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 monitorear el ambiente.
¿Qué es un agente utilidad-intensivo?

Agente
. Estado
Sensores
Cómo evoluciona el mundo
Cómo es el mundo en este
momento
Qué producen mis acciones

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

Qué acción debo


Reglas Si
hacer en este
- Entonces
conocimiento momento

Efectores
Agentes Utilidad-Intensivos

 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 trueques entre metas en conflicto


• evaluación de metas en conflicto
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
AHP analytical hierarchy process

 Thomas Saaty, que además de ser talentoso programador es


un humorista con muchos libros de buen humor publicados,
ha salpimentado su demo que presenta su contribución
matemática para la resolución de problemas multiobjetivos,
tan frecuentes con los agentes inteligentes meta-intensivos..
 El demo está en Internet en nuestro portal
 Razonando sobre el demo, los costos tienen una importancia
del 50 % en la metodología usada.
¿Qué es un agente aprendiz?
Estándar de desempeño

.
Diferencia Sensor
o error

Retroali-
mentación

Ambiente
cambios
Elemento de Elemento
aprendizaje de desempeño
conocimiento

Meta de
aprendiz

Generador de
problema Efectores
Un modelo novedoso

 En la gráfica previa se estudia un modelo general de agente


aprendiz, modelo novedoso con respecto a lo ya estudiado.
 Comparado con los tres diagramas del capítulo 2 de r&n
(Agentes inteligentes), este cuarto diagrama tiene diferencias.
 Aparece una entrada adicional (en rojo) ajeno al agente, que
es el “estándar de desempeño” que está marcado aparte por
el diseñador si se trata de un agente aprendiz autónomo o no
supervisado, o bien corresponde a un “maestro” en el
aprendizaje supevisado. El “error” debe irse corrigiendo.
 La zona de conección directa entre sensores y efectores está
regulada por un elemento de procesamiento del desempeño
en el futuro inmediato, influible por maquinaria auxiliar de
aprendizaje, maquinaria corregida por el “error” detectado.
 Las metas del aprendiz pueden tener distintos significados.
 Estudiaremos algunos de estos módulos en detalle.
Un modelo novedoso
caso de un aprendiz de taximetrero automático (cont.)

* El “ejemplo” gatilla al “elemento de aprendizaje”. Éste detecta que la


maniobra negativa ya realizada estaba autorizada por el conjunto de
reglas (estaba clasificada como positiva, permitida, buena), siendo así
que debiera haber estado prohibida (era un ejemplo positivo falso). Hay
que desaprender lo mal aprendido y de esa tarea se encarga el algoritmo
de aprendizaje, p. ej., el de mejor hipótesis del momento. Es un real bucle
de retroalimentación. Las modificaciones van hacia el elemento de
desempeño en forma de reglas más complicadas que las previas.
 El generador de problemas actúa respondiendo a una de las metas del
aprendizaje, en este caso el de optimizar el recorrido a hacer. En base a
ese objetivo el “error” o crítico observa que hay mucho retardo en la ruta
tentativa empleada (lo cual tambien puede provenir del elemento de
desempeño) y gatilla al elemento de aprendizaje que a su vez deriva el
inconveniente al generador de problemas para que diseñe un
experimento por otra ruta, que una vez encarado es comunicado al
elemento de desempeño (enlace sesgado).
SISTEMAS INTELIGENTES
Agentes

Agente Agente Agente


Agente = Multiagente
racional inteligente autónomo

Racionalidad (+)Percepción
(-)Conocimiento Previo
Agente
 Es un sistema que percibe y que actúa sobre su medio
ambiente.
 Tiene:
• Sensores con los que perciben
• Efectores con los que producen acciones
 Para cada conjunto de percepciones, el agente toma la
acción que maximiza su rendimiento basado en la
información de la percepción y su propio conocimiento
implícito.
Agente

Sistema que actúa (eventualmente, por encargo) para


producir ciertos efectos en su entorno.
Agentes y Sistemas de Información

SI medio ambiente

Agente medio ambiente


Agente Racional

 No se limita a la inferencia racional (lógica).


 Es un agente que actúa en forma correcta en un
medio ambiente, para lograr un objetivo mediante
acciones racionales.
 a veces es imposible determinar formalmente
cuál es la mejor acción.
 en algunas situaciones es “racional” emprender
una acción “buena” inmediatamente en vez de
esperar hasta determinar la alternativa óptima.

Ventajas:
 Proporciona criterios transparentes para evaluar
una acción.
 Permite obtener resultados en tiempos razonables.
Agente Inteligente
 Actúan de forma racional en su entorno
 Determinantes de un comportamiento racional :
• medida de rendimiento: define el grado de éxito del agente
• secuencia de percepciones: la experiencia del agente
• conocimientos a priori sobre su entorno
• capacidades: las acciones que el agente pueda emprender

Comportamiento Racional
 a partir de la secuencia de percepciones hasta el momento, y el conocimiento a priori sobre el
entorno
 elegir entre las capacidades la acción que maximice la medida de rendimiento.

Racionalidad ≠ Omniscencia
 la selección racional de acciones sólo se basa en la información disponible
Agente autónomo
 Agente racional ideal: dado una percepción que genere la
acción que maximice su desempeño, en función a:
(+) la secuencia de percepciones anteriores.
(-) el conocimiento incorporado en el agente.

 Un agente es más autónomo en la medida en que su


comportamiento se basa:
(+) en el aprendizaje y
(-) en el conocimiento incorporado.
Sistemas Multiagente
 Es un conjunto de multiples agentes trabajando
coordinadamente para resolver un problema “grande”.
 Temas a resolver:
 ComunicaciónSemántica.
 CoordinaciónTeoría de Juegos
 SincronizaciónEventos, planificación.
 PlataformaAbierta.
 ConocimientoDistribuido
 EficienciaDel conjunto
Sistema Inteligente
Inteligencia

 Es un sistema que aprende durante su


existencia.
 Aprende en cada situación cuál es la
respuesta que le permite alcanzar sus
objetivos (racional).
 Actúa continuamente, procesando
información y actuando sobre su medio, Racionalidad
para alcanza sus objetivos.
Estructuras de los agentes

 Agente=arquitectura + programa

¿Que arquitectura necesitamos


Para caminar?

caminar
Ahora definimos los tipos de agentes de acuerdo a su orden de
generalidad

 Agentes simples reflexivos o reactivo


 Agentes reflexivos con estados o modelos
 Agentes basados en metas
 Agentes basados en utilidades
 Agentes que aprenden

Todos estos pueden ser convertidos en agentes de aprendizaje


Agente reactivo simple
 Selecciona acciones sobre la base de percepciones
actuales
 Se ignoran el resto de las percepciones anteriores.
 Usan reglas condición-acción

Funcion agente-aspiradora-reactivo([ localizacion,estado]) returna accion


si estado = sucio entonces devolver aspirar
de otra forma, si localización = A entonces devolver Derecha
de otra forma, si localización = B entonces devolver Izquierda
Vemos cada uno
agente simple reflexivo
La funcion de este agente quedaria asi:

Function agente-simple(percibe) return accion


{
static: reglas, conjunto de reglas-accione
estado- interpreta-entrada(percibe)
regla compara-regla(estado, reglas)
accion regla-accion[regla]
return accion
}
Agentes basados en modelos o estados

 Almacenar la información de las partes del mundo que


no pueden ver (estado interno)
 Se necesita conocer de cómo funciona el modelo para
en base a eso tomar decisiones
Agentes reflexivos con estados
Función del agente basado en modelos

Function agente-reactivo-modelos (percibe) regresa


acción
{
estatico: estado una descripción actual del estado del entorno
reglas: tipo condicion-accion
Accio: la accion mas reciente, inicio ninguna

Estado --- actualizar –estado (estado, accion,percepcion)


Regla --- Regla-coincidencia (estado, reglas)
Accion --- Regla- Acción (regla)
Devolver accion
}
Agentes basados en metas

 Conocimiento actual del mundo no es siempre


suficiente para decidir que hacer (cruce de carretera)
 Se necesita conocer el estado actual para tomar la
decision
 Necesita informacion sobre la meta, acciones
deseables para llegar a ella
 Busqueda y planificacion son los elementos
Agentes basados en metas
Agentes basados en utilidades

 Metas no son suficientes para generar comportamiento


de gran calidad
 Felicidad tristeza?????
 Que es mas util en un momento dado
 Funcion de utilidad proyecta un estado en un nuemro
real que representa algo (nivel de felicidad)
Agentes basados en utilerías
Agentes basados en aprendizaje
Elementos de aprendizaje

 Distincion entre aprendizaje y elemento de actuacion


 Elemento de aprendizaje se alimenta de las criticas y
determina como se debe modificar
 Elemento de actuacion para mejoras futuras
Agentes que razonan de manera lógica

 Clase 1
 Un agente conocimiento-intensivo.
 El ambiente del mundo de wumpus
 Representación, Razonamiento y Lógica

Clase 2
 Lógica propositiva
 Un agente para el mundo de wumpus
 Resumen
 Se introduce el diseño de un agente basado
en el conocimiento
 Se presenta un lenguaje lógico sencillo pero
insuficiente, el de la lógica propositiva,
 Se ejemplifica con un agente capaz de
desempeñarse bien en el mundo de
Wumpus, siendo Wumpus un juego que
provoca adicción
Representación del Conocimiento
La meta consiste en que

 el conocimiento aparezca explícitamente


 se logren conclusiones del conocimiento declarado
 Para ello es indispensable la LÓGICA
 Una dada lógica es una notación ( o un lenguaje) matemáticos para
gestionar el conocimiento
 La principal alternativa que hay para la lógica es el lenguaje natural
(español, inglés,...).
 Tanto en el lenguaje natural como en la lógica la unidad es la oración
( “sentence”)
 Sintaxis y Semántica
 Inferencia Lógica
 Lógica sana y completa
Un agente basado en el
conocimiento
 Función [Fig.] => a aclarar en temas
siguientes
 base de conocimiento
 declarada (dicha)
 aprendida
 - motor de inferencias
Un agente basado en el
conocimiento
 Función
 Un agente conocimiento-intensivo es una base de
conocimientos
 Una base de conocimientos es un conjunto de
representaciones de hechos del mundo
 Cada una de esas representaciones se llama una
“oración”
 Las oraciones se expresan en un lenguaje
representacional del conocimiento
Un agente basado en el
conocimiento
 El agente opera como sigue
 1. Le dice a la base su PERCEPCIÓN
 (añade oraciones a la base)
 2. Le pregunta a la base qué ACCIÓN encarar
 (contesta preguntas de la base)
 (mientras, opera un MOTOR DE INFERENCIAS)
 3. Ejecuta la ACCIÓN
Fig Un agente genérico basado en el
conocimiento
 Función AGENTE-BC(percepción) responde con una acción
 estático: BC, una base de conocimientos
 t, un reloj, inicialmente en cero
 DECIR(BC,HACER-PERCEPCIÓN-ORACIÓN(percepción,t))
 acción<-- PREGUNTAR(BC.HACER-ACCIÓN-CONSULTAR (t))
 DECIR(BC,HACER-ACCIÓN-ORACIÓN(acción,t))
 t <= t+1
 responde con acción
Arquitectura de agentes
las dos primeras referencias son para un agente reflejo
simple y luego para un agente conocimiento-intensivo .
loop
loopforever
forever
Input
Inputperce
percepts
pts
state 
state  Update-State(state,percept)
Update-State(state, percept)
ESTE rule  Rule-Match(state, rules)
ESTEAGENT
AGENTE E sig
sigue
uelala rule  Rule- Match(state, rules)
action
action Rule- Action[ rule]
Rule-Action[rule]
pista
pistadel
delestado
estado deldel Out
Output
putaction
action
mu
mundo
ndoexterno
externo
state 
state  Update-State(state,action)
Update-State(state, action)
end
end
medi
mediante
antesusufunción
función
““actuali
actualizar”
zar”.(Update)
.(Update)

loop
loopforever
forever
Input ESTE
ESTEOTROOTROAGENTE,
AGENTE,aa
Inputperce
percepts
pts
KB 
KB  tell(KB,make-sentence(percept))
tell(KB, make-sentence(percept)) cada
cadai nstante,
i nstante,
action 
action  ask(KB, action-query)
ask(KB
Out put action
, action-query) cual
cualesqui
esquiereraasean
seansus
sus
Out put action
KB
KB tell(KB,
tell(KB,make-sentence(action))
make-sentence(action)) percepcio
percepciones,
nes,lolo hace
haceen en
end
end form
formaadedeoraci
oración.
ón.P.ej
P.ej. .
F ound atio ns of Art ifici al I ntell igence “ “estoy
estoyhham
ambriento”
briento” 22
Arquitectura de un agente basado en el
conocimiento

 Nivel de conocimiento
 es el nivel más abstracto - describimos al agente

indicando qué conoce


 ejemplo - un taximetrero automático podría saber que

desde la playa Bristol a la playa La Perla hay una ruta


costanera rápida
Arquitectura de un agente basado en el
conocimiento

 Nivel lógico
 es el nivel en el cual el conocimiento queda
codificado en oraciones
 p.ej.: enlaces (Bristol, La Perla, ruta costanera
rápida)
Arquitectura de un agente basado en el
conocimiento

 Nivel de implementación
 es el nivel en el cual hay una representación física de las oraciones
en el nivel lógico
 p.ej.:”enlaces (Bristol, La Perla, ruta costanera rápida)”
 conexión{B,P,rcr} = 1
 (un 1 en una tabla tridimensional)
 (un conjunto de apuntadores dirigidos a los símbolos)
Representación, Razonamiento,
Lógica
 Representar: lograr que sea entendible para una
computadora; y así el agente puede operar
 sintaxis, forma usada para representar oraciones
 semántica, mapeo desde oraciones hacia hechos del mundo
 p.ej. Simulador del mundo de wumpus
• - hechos ”son consecuencia" de hechos
• - oraciones ”son consecuencia” de oraciones
• -conjuntos de oraciones “son consecuencia” de conjuntos de
oraciones.
Representación,Razonamiento y Lógica

 Representar: lograr que sea entendible para una computadora,logrando un buen


desempeño de los agentes.
 Conocimiento consta de dos aspectos:
 sintaxis,como están representadas las oraciones
 semántica,determina los hechos del mundo a los que hacen alusión las oraciones.
 Razonamiento: es el proceso de construir nuevas representaciones, bajo la
forma de oraciones, a partir de representaciones anteriores.
 Requisitos de la Lógica: opera si y solamente si la sintaxis y la semántica
están definidas de manera precisa .
Representación:
 Los lenguajes de programación como el C o el Pascal son
idóneos para representar algoritmos y estructuras de datos
concretas. El problema de los lenguajes de programación
es que están diseñados para describir cabalmente el estado
de la computadora y de cómo cambia ésta conforme al
programa que se está ejecutando.
 Sin embargo, sería deseable poder contar con un lenguaje
para representar el conocimiento que sirva para el caso
cuando no se cuenta con información completa: cuando no
hay total certeza de cómo son las cosas, y lo único que se
sabe son algunas posibilidades de cómo son. Se dice que
un lenguaje que no se presta a satisfacer lo anterior es un
lenguaje que no es lo suficientemente expresivo.
Representación:
Los lenguajes naturales como el inglés o el español
indudablemente son expresivos. Sin embargo,
han experimentado una evolución que tiende
más a satisfacer las necesidades de
comunicación que las de representación.
En un buen lenguaje para representar el
conocimiento se combinan las ventajas de los
lenguajes naturales y las de los lenguajes
formales.
Representación
 El objetivo de un lenguaje para la representación del
conocimiento es el de expresar los conocimientos en forma
manejable por el agente, permitiéndole a éste un buen
desempeño, p.ej. En el mundo de wumpus.
 El lenguaje utilizado para representar el conocimiento interno de
un agente es distinto del lenguaje externo empleado para
comunicarse con otros agentes. En el ej. se usa sólo interno.
Un buen lenguaje
 Entonces, tratemos de combinar las ventajas de los lenguajes naturales y las de los
lenguajes formales:
» a) lo suficientemente expresivo como para representar el conocimiento
aún cuando no se cuenta con información completa y no hay total
certeza de cómo son las cosas.
» b) lo suficientemente conciso como para evitar ambigüedades, siendo
independiente del contexto para su interpretación.
» c) apto para un procedimiento de inferencia con el cual obtener nuevas
representaciones a partir de las existentes en la base.
Representación

 Cualquier lenguaje representacional del conocimiento


 su sintaxis, ella define todas las posibles configuraciones
(secuencias) de símbolos que constituyen oraciones del lenguaje
• ejemplos: oraciones del texto
• bits de la memoria de la computadora

 su semántica, ella determina los hechos del mundo a los cuales se


están refieiendo las oraciones. Cada oración argumenta algo del
mundo. Un agente CREE en las oraciones referidas al mundo.
Representación

 Conexión entre oraciones y hechos


 su sintaxis, ella define todas las posibles configuraciones
(secuencias) de símbolos que constituyen oraciones del
lenguaje
• ejemplos: oraciones del texto
• bits de la memoria de la computadora
 su semántica, ella determina los hechos del mundo a los
cuales se están refiriendo las oraciones. De nuevo, el agente
CREE en ellas.
Semántica - Lenguajes composicionales

 Se llama lenguaje composicional a aquél en que el


significado de una oración es la suma de los significados
de cada parte. Casi todos los lenguajes tienen una
relación sistemática entre las oraciones y los hechos
 Ejemplo de la matemática:
 a^2 + b^2
 Su significado es la suma del significado de a^2 más la
de b^2
Inferencia
 RAZONAMIENTO e INFERENCIA:Son los nombres del proceso por el cual se
obtienen conclusiones.
 INFERENCIA LÓGICA y DEDUCCIÓN:Son los nombres de todo razonamiento o
inferencia válidos y confiables. Implantan las relaciones de implicación que
existe entre oraciones.
 Inferencia:
• Verificar la validez de oraciones que se garanten como verdaderas pese a
desconocerse su real interpretación.
 Verdad :
• Depende del estado del mundo y de la interpretación.
 Validez :
• Una oración es válida si es verdadera independientemente del mundo o de
la interpretación.
Razonamiento

 Consecuencias o implicaciones generan nuevas


oraciones a partir de otras previas, todas fidedignas.
 Teoría de la demostración - conjunto de reglas para
deducir las implicaciones de un conjunto de oraciones
- dentro de un lenguaje - ella estudia los pasos
confiables de un razonamiento
Razonamiento

 Razonamiento es el proceso de construir


nuevas representaciones, bajo la forma de
oraciones, a partir de representaciones
anteriores.
 Repaso - Una lógica es un lenguaje (notación)
matemático útil para el logro de demostraciones
acomodadas a las posibilidades de la
computadora.
Razonamiento

 Semántica - en lógica el SIGNIFICADO de una


oración es aquello que se afirma del mundo. Restringe
a que el mundo sea de la forma expresada y no de
otra forma alternativa. Para poder entender lo que
SIGNIFICA una oración, quien la compuso debería
proporcionar su respectiva INTERPRETACIÓN.
Ninguna oración tiene significado por sí misma ni es
autoevidente.
Razonamiento

 RAZONAMIENTO e INFERENCIA son los nombres del


proceso por el cual se obtienen conclusiones.
 INFERENCIA LÓGICA y DEDUCCIÓN son los nombres de
todo razonamiento o inferencia válidos y confiables.
Implantan las relaciones de implicación entre oraciones.
Razonamiento

 Hay inferencias inválidas


 ¿Caso de “Hay una brisa en (3,2) o no hay una brisa en (3,2)”?
 ¿Caso de A = A?
 Hay inferencias insatisfactibles si no existe un mundo
donde pueda suceder.
 ¿Caso de “hay varios wumpi”?
 ¿Caso de “hay un wumpus en (1,1)”?
 ¿Caso de “hay un wumpus en (1,1) y no hay un wumpus en (1,1)”?
Lógica

 compromiso ontológico
• para el agente, qué existe en el mundo
– en el caso de la lógica propositiva, para el agente existen
hechos que serán verdaderos o falsos
 compromiso epistemológico
• para el agente, cuál es la actitud con respecto a los hechos
– en el caso de la lógica propositiva, el agente cree que
una oración es verdadera o falsa, o no ha llegado a
conclusión alguna
Tipos de lógicas y sus preocupaciones
Lenguaje Ontología Epistemología
(lo que existe) (qué cree de los hechos)
-----------------------------------------------------------------------------------
Lógica Propositiva hechos verdadero/falso/no
sabe
Lógica de primer hechos, objetos, enlaces
orden verdadero/falso/no
sabe
Lógica temporal hechos, objetos,
enlaces, tiempos verdadero/falso/no
sabe
Teoría de la
probabilidad hechos grado de certidumbre
Lógica

 Lógica
 lógica propositiva => 6.4

 lógica de primer orden => 7.1

 lógica temporal => 7.2

 teoría de la probabilidad => 14

 lógica difusa =>14


Agente inteligente: Proyecta una percepcion
dada en una accion

 Sera aquel que toma las


mejores posibles acciones
en una situacion dada.
 Demanera abstracta sera
denotado por la funcion f ,
P* es lo que se percibe y A
accion
Agentes inteligentes. Tópicos

 Agentes y entornos
 Racionalidad
 Medidad del comportamiento, entorno , actores y
sensores
 Tipos de entorno
 Tipos de agentes
Los agentes y el entorno

percibe

ambiente agente

acciones

efectores
Un agente

 Incluye humanos, robots,softbots, termostatos, etc.


 La funcion de agente mapea lo que percibe a acciones
a traves de la funcion
 El programa de agente se ejecuta en una arquitectura
fisica para producir A
aspiradora

Percibe: localiza y contienes [A,suciedad]


Acciones: Izq, Der, chupa, NoOpera

La pregunta es como definir el agente denominado


Aspiradora !!!!!!!!!!!!!!!
Definamos el agente

 Secuencia de percepcion  Accion


[A,limpia] Derecha
[A,sucio] aspira
[B,limpio] Izq.
[B,sucio] Aspira
[A,limpia] [A,limpia] Derecha
[A,limpia] [A,sucio] aspira
Como definiría una función para el agente

Function aspiradora ([,posicion,estado]) regresa una accion


{
if estado=sucio then return aspira
else if posicion = A then return Derecha
else if posicion=B then return Izq.
}

Cual seria la funcion correcta?, puede ser implementado como un


Programita de agentes??????
Veamos algo de racionalidad

 fijamos una medida de comportamiento para evaluar


la secuencia en el entorno
 Un punto por cuadro limpio en tiempo T?
 Un punto por cuadro limpio por cada tiempo que pase,
menos un punto por movida.?
 Penalizar para >k cuadros sucios?

Un agente racional elige cualquier acción que maximice el valor esperado


de la medida de comportamiento dada la secuencia que percibe a la fecha
Medida comportamiento, medio,actores y sensores

 Para disenar un agente racional, debemos especificar la


tarea del medio.
 Suponga que desea diseñar un taxi automatico
 Cual seria la medida de comportamiento? $$$$,confort,etc
 Que entorno considerar?, calles de Puebla
 Que actores? Volante, acelerador, frenos
 sensores considerar? GPS, relojes, tacometros.
Suponga un punto de venta en linea como definiria

 La medida de comportamiento?
 El entorno?
 Actores?
 Sensores?
Esto supone que se pueden definir vario tipos de
entorno

 Observable totalmente y parcilamente.


 Deterministico y estocastico
 Episódico y secuencial
 Estático y dinamico
 Discreto y continuo
 Agente-solo y multiagente

Estudio individual: Realice una comparacion entre los entornos


TIPOS DE MEDIOS AMBIENTES

medio Solitario Bckgamon Internet Taxi

Observable
S S N N

Deterministico
S N Parcialmente N

Episodico
N N N N
Estatico
S +- +- N

Discreto
S S S N
agente-solo
(Persona) S S N excep N
Podemos decir que

 El medio determina el diseño del agente, ademas


 El mundo real es parcialmente observable, estocastico,
secuencial,
Dinamico, continuo y multiagente.
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 actuallizado 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 le autoriza al agente que
no se deba preocupar por la planificación de lo que puede ocurrir.
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 monitorear el mundo mientras piensa. El tiempo carece de
valor mientras se computa una buena estrategia. En el otro caso será
dinámico.
 Discreto/Continuo
 Discreto - con escaso número de percepciones y acciones en el
ambiente.
 Continuo - el otro caso.
 Sin adversario/con adversarios racionales
 Sin adversario - ausencia de otros agentes racionales adversarios: la
consecuencia es que el agente se libera de la preocupación de la
estrategia de 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).
Tipos de ambientes y sus características

 Solitario
 Chaquette o backgammon
 Taxi

 Accesible ??
 Determinístico ??
 Episódico ??
 Estático ??
 Discreto ??
Tipos de ambientes y sus características

 Solitario sí - sí - no - sí - sí
 Chaquette o backgammon sí - no - no -semi -sí
 Taxi no - no -no - no - no

 Accesible
 Determinístico
 Episódico
 Estático
 Discreto
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)
Tipos de ambientes y sus
características
An Agent Portfolio

34

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


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 simulador ambiental


 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 para cada unidad de tiempo
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)returns
Performance-Fn) 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.
Ejercicio

 Determine un conjunto de acciones racionales para


resolver el problema del rompecabezas deslizante,
calcule el número de posibles estados a los que se
puede llegar desde el estado inicial.

Estado Inicial Estado Meta


Ejercicio 5
Wumpus
El ambiente del mundo de Wumpus

 [Fig6.2]
 - Percepción = [Hedor, Brisa, Resplandor, Golpe, Grito]
 - el agente no puede percibir su propia ubicación
 - Acciones = [avanzar, girarizquierda, girarderecha, capturar,
dispararflecha, trepar]
 - agente muere al entrar a un habitáculo con pozo o con Wumpus
vivo.
 - meta del agente es encontrar oro, volver al habitáculo [1,1] y
trepar.
El ambiente del mundo de Wumpus

 razonamiento
 ejemplos de inferencias: ubicación de
• pozos,
• wumpi y
• habitáculos sin riesgo
El ambiente del mundo de Wumpus
 detalles
 mundos de wumpus elegidos al azar
 agentes múltiples, en comunicación
 wumpi móviles
 múltiples piezas de oro
 lenguaje natural
 aprendizaje
 visión
 habla
Ayudas en el mundo de wumpus
El mundo de wumpus

 El agente arranca de (1,1)


 La meta es encontrar oro, volver a (1,1) y
trepar la pared
 No viene mal matar al wumpus con la
única flecha, son más bonificaciones y hay
un nuevo camino por transitar
Percepciones

 Las percepciones forman una vector fila


de 1x5 del tipo
 (Hedor,Brisa,Nada,Nada,Nada)
 El primer Nada es resplandor
 El segundo es Golpe (contra la pared)
 El tercero es Grito
PaMA

 Percepciones
 acciones ..avanzar,girarizq, etc.
 Meta - Capturar el oro y volver
 Ambiente – mundo de wumpus
Primer paso
Segundo paso
¿Por qué (x,y) está bien?

 (1,1)<= Porque el agente está vivo


 (1,2) <=“No hedor en (1,1)” + “No brisa en
(1,1)” + “(1,1) y (1,2) son vecinos””
 (2,1) <=“no hedor en (1,1)”, + “no brisa en
(1,1)” + “(1,1) y (2,1) son vecinos”
Tercer paso
Cuarto paso
¿Por qué (1,3) = wumpus?

 Hedor en (1,2) implica que el wumpus está


ya sea en (1,1), ya sea en (2,2), ya sea en
(1,3)
 (1,1) fue visitado, lo visitado está bien==> el
wumpus no está en (1,1)
 (2,1) sin hedor fue visitado==>el wumpus no
está en (2,1)
 ==>El wumpus está en (1,3)
¿Por qué (3,1) = pozo?

 Brisa en (2,1) implica que hay un pozo ya


sea en (1,1), ya sea en (2,2), o ya sea en
(3,1)
 (1,1) fue visitado, el agente está vivo ==> el
pozo no está en (1,1)
 (2,1) sin brisa al ser visitado==>el pozo no
está en (2,2)
 ==>El pozo está en (3,1)
Mundo de Wumpus
Primer paso del agente
en el mundo de Wumpus

Percepciones: Percepciones:
[No,No,No,No,No] [No,Brisa,No,No,No]
Dos pasos mas adelante

Despues del tercer movimiento Despues del quinto movimiento


Lenguajes Formales
Modelos de Sentencias Complejas
Wumpus World

Perceptions: [Olor (s), Brisa (b), Brillo (g), Bump(u), Grito(c)]

Actions: Hacia-adelante , 900 derecha , 900 izquierda,


Disparar, Recoger, Soltar, Subir

Goal: Encontrar el oro y volver a [1,1] y Subir

Environment: Caverna, Pozos, Brisa, Wumpus, Oro


Wumpus World

1 A brisa pozo brisa

2 olor brisa

brisa
3 W pozo brisa
olor
brisa oro
4 olor

5 brisa pozo brisa

1 2 3 4 5
Wumpus World

 En el cuadrado que contiene al wumpus y los


cuadrados adyacentes (no diagonales) el agente
percibirá un olor (s=1).

 En los cuadrados directamente adyacentes a un pozo,


el agente percibirá una brisa (b=1)

 El cuadrado que contiene el oro desprende brillo (g=1)

 Cuando el agente choca con una pared percibe un


bump (u=1)
Wumpus World

 Cuando el wumpus muere da un grito horroroso


que se puede percibir en toda la cueva (c=1)

 Las percepciones se subministran en listas


[s,b,g,u,c]

 El agente no puede percibir nada en su propia


posición

 El agente muere en los pozos y en los brazos del


wumpus
Wumpus World

-1 por acción tomada

La función de utilidad es 1000 oro + subir

-10000 por muerte


Wumpus World

1 A brisa pozo brisa

2 olor brisa

brisa
3 W pozo brisa
olor
brisa oro
4 olor

5 brisa pozo brisa

1 2 3 4 5
Wumpus World

1 ok ok
A
2 ok
[nil,nil,nil,nil,nil]
3 A = agente
ok= seguro
4 v = visitado
5 s =olor
b = brisa
1 2 3 4 5 g = brillo
u = bump
c = grito
Wumpus World

ok
1 ok v
b A pozo? [nil,b,nil,nil,nil]
2 ok pozo? A = agente
ok= seguro
3 v = visitado
s =olor
4
b = brisa
5 g = brillo
1 2 3 4 5 u = bump
c = grito
Cálculo de Situaciones

Permite describir el mundo como una secuencia de


situaciones, y cada una de ellas como un snapshot
de un estado del mundo. Las situaciones son
generadas por las acciones previamente elegidas

Se toma como convención que las situaciones se


colocan al final.
At(Agente, [1,1],S0) At(Agente, [1,2],S1)
Cálculo de Situaciones

Ejemplos

Pared ([0,1])

Resultado(acción, S0) = S1

Resultado(Izquierda, S0) = S1
Localización

Orientación(Agente, S0) = 0o

x,y Dirección([x,y], 0o) = [x+1, y]

x,y Dirección([x,y], 90o) = [x, y+1]

x,y Dirección([x,y], 180o) = [x-1, y]

x,y Dirección([x,y], 270o) = [x, y-1]


Localización

Orientación(Agente, S0) = 0o

localidad-siguiente
p,l,s At(p,l,s) localidad-siguiente(p,s) =
dirección(l, orientación (p,s))
Adyacencia
l1,l2 adyacente(l1,l2 ) d l1=dirección(l2 ,d)

Pared
x,y pared([x,y]) (x=0  x=lim  y=0  y=lim)
Localización

Axioma de estado-sucesor para la localización



a,d,p,s At(p,l, Resultado(a,s))
[(a=hacia-adelante 
l=localidad-siguiente(p,s) 
pared(l))
 (At(p,l,s)  a hacia-adelante)]
Localización

Axioma de estado-sucesor para la orientación

a,d,p,s Orientación(p, resultado(a,s) = d 


a=girar(derecha) MOD(orientación(p,s)-90o,360o))
a=girar(izquierda) MOD(orientación(p,s) +90o,360o))
orientación(p,s) =d a=girar(derecha) 
a=girar(izquierda)
)
)
Reglas Causales

l1,l2 ,s At(Wumpus, l1, s )  adyacente(l1,l2 )


Olor (s=1)

l1,l2 ,s At(pozo, l1, s )  adyacente(l1,l2 )


brisa (b=1)
Reglas de Diagnóstico

 l,s At(Agente, l, s )  brisa(s )


brisa (l)

l,s At(Agente, l1, s )  olor(l )


olor (l)

l1,s Olor( l1) l2 At(Wumpus, l2,s ) 


l1=l2  adyacente(l1,l2 )
)

Simulación del programa: inicio
Primer paso
Segundo paso
Algoritmo

 Inicio: (etapa de exploración)


 Desplazo al explorador hacia derecha (para que observe que hay).
• Guardo el dato en memoria (matriz de la derecha)
 Desplazo al explorador hacia arriba (para que observe que hay).
• Guardo el dato en memoria (matriz de la derecha)
 Desplazo al explorador hacia izquierda (para que observe que hay).
• Guardo el dato en memoria (matriz de la derecha)
 Desplazo al explorador hacia abajo (para que observe que hay).
• Guardo el dato en memoria (matriz de la derecha)
Toma de decisión para la el siguiente movimiento

 Observo mi memoria, y determino para cual lado es mejor desplazarse,


esto se hace sumando los valores de la memoria y el menor valor significa
que es la mejor opción.
 Observo derecha
 Si: mi nuevo valor será x=x+1, y;
 Observo arriba
 Si: mi nuevo valor será x=x, y=y+1;
 Observo izquierda
 Si: mi nuevo valor será x=x-1, y;
 Observo abajo
 Si: mi nuevo valor será x=, y=y-1;
Ahora ya tengo mi nueva posición inicial, entonces
repito el proceso

 Repito el proceso, pero siempre y cuando no encuentre el oro


que tiene un valor numérico de 250.
 Si mi detecto en memoria un valor de 250 quiere decir que
encontré el oro entonces regreso por donde llegue.
Valores asignados

 Ausencia de variable = 0;
 Brisa = 50;
 Hedor = 50;
 Oro = 250;
 En caso de encontrar brisa y hedor se suma sus
valores = 100;
Bibliografía

* Russell, S. & Norvig, P. “Artificial Intelligence: A Modern Approach”


Prentice-Hall Series in Artificial Intelligence. 1995
ISBN 0-13-103805-2
* Haddadi, A. “Communication and Cooperation in Agent Systems: A
Pragmatic Theory” Lecture Notes in Artificial Intelligence #1056.
Springer-Verlag. 1996. ISBN 3-540-61044-8
* Rosenschein, J. & Zlotkin, G. “Rules of Encounter. Designing Conventions
for Automated Negotiation among Computers”. MIT Press. 1994
ISBN 0-262-18159-2
Bibliografía
Bibliografía
Bibliografía
Bibliografía