Vous êtes sur la page 1sur 52

Tecnologías

Emergentes
Una visión desde la Inteligencia Artificial
Objetivos de Aprendizaje

• Poder resolver ejercicios de cálculo proposicional.

• Poder resolver ejercicios de cálculo de primer orden.


• Estudiar teoría de agentes inteligentes y entender su arquitectura.
• Repasar estrategias de búsqueda.
• Repasar principios de optimización.
• Estudiar algoritmos inspirados en la biología y poder implementarlos.
Cálculo de Primer Orden

• La lógica proposicional asume que hay hechos que suceden o no suceden


en el mundo.
• La lógica de primer orden asume que el mundo se compone de objetos con
ciertas relaciones entre ellos (predicados), y estas relaciones suceden o no
suceden.
• La noción de existencia de un mundo introduce el concepto de dominio.
• Además, la lógica de primer orden cuantifica el tipo de relaciones de los
objetos con respecto a su dominio mediante el uso de dos cuantificadores:
cuantificador universal y cuantificador existencial.
Cálculo de Primer Orden

• Sintaxis:
Cálculo de Primer Orden

• Semántica
• Término: es una expresión lógica que se refiere a un objeto.
• Sentencias atómicas: representan hechos. Una sentencia
atómica está compuesta por un símbolo de predicado seguido
de una lista de términos entre paréntesis.
• Sentencias compuestas: son el resultado de usar conectivas
lógicas, al igual que en cálculo proposicional.
Cálculo de Primer Orden

• Semántica:
• Cuantificadores: universal (∀) y existencial (∃) permiten expresar
propiedades entre colecciones de objetos.
• Cuantificadores aninados:
• Todo el mundo ama a alguien.
∀𝑥∃𝑦 𝐴𝑚𝑎 𝑥, 𝑦 .
• Hay alguien que es amado por todos.
∃𝑦∀𝑥 𝐴𝑚𝑎 𝑥, 𝑦 .
Cálculo de Primer Orden

• Semántica:
• Conexiones entre ∀ y ∃

• Igualdad:
• El símbolo de igualdad se usa para representar hechos acerca de una función
dada o para describir que se refieren al mismo objeto.
• Padre(Juan) = Enrique.
• ∃𝑥, 𝑦 𝐻𝑒𝑟𝑚𝑎𝑛𝑜 𝑥, 𝑃𝑒𝑑𝑟𝑜 ∧ 𝐻𝑒𝑟𝑚𝑎𝑛𝑜(𝑦, 𝑃𝑒𝑑𝑟𝑜) ∧ ¬(𝑥 = 𝑦).
Reglas de Inferencia

7, 7→9
• Modus Ponens:
9

7→9, ¬9
• Modus Tollens:
¬7

7∧9
• Eliminación:
7, 9

7, 9
• Introducción:
7∧9
Reglas de Inferencia

• Instanciación Universal
• De cualquier cuantificador universal en una sentencia, 𝑃(𝑥),
si se reemplaza 𝑥, por un término apropiado de su dominio,
el resultado es una sentencia verdadera. Así:
• Si 𝐴, es parte del dominio de 𝑥, ∀𝑥P(𝑥) se infiere 𝑃(𝐴).
Proceso de Inferencia

• Para poder aplicar reglas de inferencia, un sistema de inferencia tiene


que poder comparar dos expresiones.
• En el caso del cálculo proposicional, esta comparación era trivial ya que
solo se requería que las expresiones sean sintácticamente equivalentes.
• En el cálculo de predicados la existencia de variables cuantificadas,
introduce la necesidad de encontrar las substituciones que hacen a dos
expresiones comparables.
• Este proceso se conoce como Unificación.
Unificación

• Unificación: es el algoritmo que determina las sustituciones necesarias para hacer que
dos expresiones de cálculo de predicados concuerden.
• Consideremos el siguiente ejemplo:
• All students in this class understand logic. Xavier is a student in this class. Therefore, Xavier
understands logic.
• 𝑃(𝑥): 𝑥 is a student in this class.
• 𝑄(𝑥): 𝑥 understands logic.
• 𝑃 𝑥 → 𝑄(𝑥)
• 𝑃(𝑋𝑎𝑣𝑖𝑒𝑟)
• Is 𝑄(𝑋𝑎𝑣𝑖𝑒𝑟) true?
Unificación

• Ejercicio:
• 𝑃 𝑥 → 𝑄(𝑥)
• 𝑃(𝑋𝑎𝑣𝑖𝑒𝑟)
• Is 𝑄(𝑋𝑎𝑣𝑖𝑒𝑟) true?
• 𝑈𝑛𝑖𝑓𝑦(𝑃(𝑥), 𝑃(𝑋𝑎𝑣𝑖𝑒𝑟))?
• 𝑥 = 𝑋𝑎𝑣𝑖𝑒𝑟, true.
• 𝑃 𝑋𝑎𝑣𝑖𝑒𝑟 → 𝑄 𝑋𝑎𝑣𝑖𝑒𝑟
• 𝑃(𝑋𝑎𝑣𝑖𝑒𝑟)
• Modus Ponens: 𝑄 𝑋𝑎𝑣𝑖𝑒𝑟 (objetivo)
• 𝑄 𝑋𝑎𝑣𝑖𝑒𝑟 , true.
Unificación

• Es un concepto importante porque permite especificar las condiciones en las


cuales los predicados pueden ser equivalentes.
• Lo que permite encontrar todas las posibles interpretaciones a un conjunto de
hechos y reglas, mediante el uso de resolución, backtracking y las reglas de
inferencia.

• Observación de representación:
• 𝑃(𝐴, 𝐵) (𝑃 𝐴 𝐵)
• 𝑃(𝐹(𝐴), 𝐺(𝑥, 𝑦)) (𝑃 (𝐹 𝐴) (𝐺 𝑥 𝑦))
• 𝐼𝑔𝑢𝑎𝑙(𝐸𝑣𝑎, 𝑀𝑎𝑑𝑟𝑒(𝐶𝑎í𝑛)) (𝐼𝑔𝑢𝑎𝑙 𝐸𝑣𝑎 (𝑀𝑎𝑑𝑟𝑒 𝐶𝑎í𝑛))
Algoritmo de Unificación

Rompe la
llamada
recursiva

Algoritmo
Recursivo
Retorna
Ejercicio

• 𝑢𝑛𝑖𝑓𝑦((𝑃𝑎𝑑𝑟𝑒𝑠 𝑥 (𝑃𝑎𝑑𝑟𝑒 𝑥) (𝑀𝑎𝑑𝑟𝑒 𝐵𝑖𝑙𝑙)), (𝑃𝑎𝑑𝑟𝑒𝑠 𝐵𝑖𝑙𝑙 (𝑃𝑎𝑑𝑟𝑒 𝐵𝑖𝑙𝑙) 𝑦))


Programación Lógica en PROLOG

• La programación lógica se basa en la idea de:


• Algoritmo = Lógica + Control

• Prolog es el lenguage de programación lógica más extensamente


utilizado.
• Muchos sistemas expertos han sido escritos en Prolog para dominios
legales, médicos, financieros, entre otros.
• Los programas en Prolog son conjuntos de cláusulas positivas escritas en
una notación similar a lógica de primer orden.
PROLOG

• Las sentencias en Prolog consisten en términos.


• Un término es:
• Átomo:
• Cadena de caracteres que empiezan con letras minúsculas.
• Cadena de caracteres entre comillas simples.
• Cadenas de caracteres especiales: @=/====>/;/:-/
• Números
• Números enteros o flotantes. Los números flotantes no son muy utilizados, sin
embargo, dependiendo del ambiente se encuentran implementados.
PROLOG

• Un término es:
• Variables:
• Cadena de caracteres que empiezan con letras mayúsculas o
underscore (_).
• Términos complejos:
• O functors, del tipo:
• f(a, b, c, d)
• f(f(f(a)))
Ejercicio en PROLOG

• Ayudante Financiero Basado en Lógica.


• Reglas:
Código en PROLOG

minsavings(X,Z) :- Z is 5000 * X.

minincome(X,Z) :- Z is 15000 + (4000 * X).

greater(X,Y) :- X > Y.

investment(savings) :- savings_account(inadequate).

investment(stocks) :- savings_account(adequate), income(adequate).

investment(combination) :- savings_account(adequate), income(inadequate).

savings_account(adequate) :- amount_saved(X), dependents(Y), minsavings(Y,W), greater(X, W).

savings_account(inadequate) :- amount_saved(X), dependents(Y), minsavings(Y, W), not(greater(X, W)).

income(adequate) :- earnings(X, steady), dependents(Y), minincome(Y, W), greater(X, W).

income(inadequate) :- earnings(X, steady), dependents(Y), minincome(Y, W), not(greater(X, W)).

income(inadequate) :- earnings(X, unsteady).

amount_saved(22000).

earnings(25000, steady).

dependents(3).
Agentes Inteligentes
¿Qué es un Agente?

• Entidad capaz de percibir su entorno con la ayuda de sensores y actuar


en ese medio utilizando actuadores.

Agente Sensores
Percepciones

Entorno
Acciones
Actuadores
Observaciones

• Percepción: es un proceso constante que implica que el agente recibe


entradas potencialmente en cualquier instante.
• Secuencia de percepciones: es el historial de lo que el agente ha
recibido. Un agente toma una decisión decisión dependiendo de una
secuencia completa de percepciones.
• El comportamiento del agente viene dado por la función del agente.
Comportamiento

• La función del agente puede ser vista como una tabla que rige el
comportamiento del agente.
• Del agente se espera que su comportamiento sea el mejor posible
conforme a la tarea que intenta cumplir.
• Esto introduce el concepto de agente racional, que es aquel que hace lo
correcto en función de un criterio de rendimiento (medida de
rendimiento).
Comportamiento

• Racionalidad:
• La medida de rendimiento que define el criterio de éxito.
• El conocimiento acumulado del entorno por el agente.
• Las acciones que el agente puede realizar.
• La secuencia de percepciones del agente.
• Así, un agente racional es aquel que: en cada secuencia de percepciones
ejecuta la acción que le permite maximizar su medida de rendimiento
basado en la secuencia de percepciones y el conocimiento de su entorno
almacenado.
Comportamiento

• Omnisciencia:
• Un agente omnisciente conoce el resultado de su acción y actúa conforme a él.
• Requiere información/conocimiento absoluto de su entorno.
• Aprendizaje:
• Llevar a cabo acciones con la intención de modificar percepciones futuras (recopilando
información).
• Autonomía:
• Los agentes exitosos dividen las tareas de calcular la función del agente en tres fases: en base al
diseño del agente, cuando evalúa la siguiente operación y cuando aprende de su experiencia.
• Un agente es autónomo cuando apoya sus acciones en sus propias percepciones más que en el
conocimiento inicial agregado en su diseño.
Entorno

• El entorno de un agente es el problema que queremos resolver, y


típicamente el agente es la solución o el ente que encuentra la solución a
nuestro problema.
Propiedades del Entorno

• Totalmente observable vs. parcialmente observable:


• Totalmente observable: los sensores del agente le proporcionan acceso al estado
completo del medio en cada momento.
• Parcialmente observable: la existencia de ruido o sensores poco exactos o locales
no permiten acceder al estado completo del medio.
• Determinista vs. Estocástico:
• Determinista: si el siguiente estado del medio está determinado por el estado
actual y la acción ejecutada por el agente.
• Estocástico: si el siguiente estado del medio no se encuentra determinado por el
estado actual y la acción que ejecuta el agente.
Propiedades del Entorno

• Episódico vs. Secuencial:


• Episódico: cuando la experiencia del agente se divide en episodios atómicos.
Cada episodio consiste en la percepción del agente y la realización de una única
acción posterior que no depende de la realizada en un episodio anterior.
• Secuencial: la decisión en el presente del agente puede afectar las decisiones
futuras.
• Estático vs. Dinámico:
• Estático: cuando el entorno no cambia cuando el agente se encuentra
deliberando de cuál acción tomar.
• Dinámico: cuando el entorno cambia durante la deliberación actual del agente.
Propiedades del Entorno

• Discreto vs. Continuo:


• Discreto: cuando el estado del medio, el manejo del tiempo, las percepciones y acciones del
agente toman valores de un conjunto numerable.
• Continuo: cuando el estado del medio, el manejo del tiempo, las percepciones y acciones
del agente toman valores de todo un intervalo de valores.

• Agente individual vs. Multiagente:


• Individual: en la presencia de un solo agente.
• Multiagente: en la presencia de dos o más agentes.
• Competitivo: cuando dos o más agentes intentan maximizar su propia función de rendimiento.
• Cooperativo: cuando dos o más agentes intentan maximizar una función común de
rendimiento.
¿Cuál es el Entorno más complejo?

• Parcialmente Observable.

• Estocástico.
• Secuencial.
• Dinámico.
• Continuo.
• Multiagente.
Estructura de los Agentes

• El trabajo de la Inteligencia Artificial es diseñar el programa del agente que


implemente la función del agente que proyecta las percepciones en las
acciones.

𝐴𝑔𝑒𝑛𝑡𝑒 = 𝑎𝑟𝑞𝑢𝑖𝑡𝑒𝑐𝑡𝑢𝑟𝑎 + 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑎

• La arquitectura hace que las percepciones de los sensores estén disponibles


para el programa, ejecuta los programas, y se encarga de que los
actuadores pongan en marcha las acciones generadas.
Agentes reactivos simples

• Es el tipo de agente más sencillo.

• Seleccionan las acciones sobre la base de percepciones actuales,


ignorando el resto de las percepciones históricas.
• Las decisiones se toman en función de reglas de condición-acción:
• Si se cumple estado de percepción X, entonces realizar acción Y.
• Caso contrario, probar otra regla de condición-acción.
Agentes reactivos simples

Agente
Sensores
Percepciones
Cómo es el mundo
ahora

Entorno
Reglas de Qué acción debo
condición tomar ahora
-acción

Acciones
Actuadores
Agentes reactivos basados en modelos

• Es un tipo de agente que guarda algún tipo de estado interno que


depende de la historia percibida de su entorno.
• Guarda información acerca de cómo evoluciona el mundo
independiente del agente.
• Guarda información sobre cómo afectan al mundo sus acciones.

• El conocimiento del estado del mundo, o conocimiento de cómo


funciona el mundo se denomina modelo del mundo.
Agentes reactivos basados en modelos

Agente
Sensores
Percepciones
Estado
Cómo es el mundo
Cómo evoluciona el ahora
mundo

Entorno
Qué efectos causan
mis acciones

Reglas de Qué acción debo


condición-acción tomar ahora

Acciones
Actuadores
Agentes basados en objetivos

• El conocimiento sobre el estado actual del mundo no es siempre


suficiente para decidir qué hacer.
• El agente necesita información sobre su meta que describa las situaciones
que son deseables.
• Esta necesidad implica el estudio de estrategias de búsqueda y de
planificación, que se centran en encontrar secuencias de acciones que
permitan a los agentes alcanzar sus metas.
• Los agentes basados en objetivos son más flexibles y dinámicos.
Agentes basados en objetivos

Agente
Sensores
Percepciones
Estado

Cómo evoluciona el Cómo es el mundo


mundo ahora

Entorno
Qué efectos causan
Qué pasará si
mis acciones
realizo la acción X

Qué acción debo


Objetivos
tomar ahora

Acciones
Actuadores
Agentes basados en utilidad

• Las metas no son suficientes para generar comportamiento de calidad en un


entorno.
• Cuando un agente se basa en objetivos tiene diversas maneras de llegar a
ese objetivo, pero ese camino puede ser ineficiente.
• Por consiguiente, se introduce el concepto de utilidad que permite discriminar
la preferencia de un estado por otro, por el agente.
• La función de utilidad proyecta un estado (o secuencia de estados) en un
número real que representa el nivel de satisfacción de múltiples objetivos (a
veces competitivos).
Agentes basados en utilidad

Agente Sensores
Percepciones
Estado
Cómo es el mundo
Cómo evoluciona el ahora
mundo

Entorno
Qué efectos causan Qué pasará si
mis acciones realizo la acción X

Utilidad Estaré contento en


este estado

Qué acción debo


tomar ahora

Acciones
Actuadores
Agentes que aprenden

• Debido a la complejidad de ciertos entornos, nace la necesidad de que


los agentes aprendan.
• Esto permite que el agente opere en medios inicialmente desconocidos y
que sea más competente que si utilizara un conocimiento incial.
• Para esto se diferencian dos elementos: el elemento de actuación y el
elemento de aprendizaje.
Agentes que aprenden
Nivel de actuación

Sensores
Crítica
Percepciones

retroalimentación

Entorno
cambios
Elemento de Elemento de
aprendizaje actuación
conocimiento
objetivos a
aprender

Generador de
problemas

Acciones
Agente Actuadores
Multi-agentes

• Multi-agentes: implica la presencia de dos o más agentes.


• Competitivo: cuando dos o más agentes intentan maximizar su propia función de rendimiento.
• Cooperativo: cuando dos o más agentes intentan maximizar una función común de rendimiento.

• Un entorno donde se tienen agentes competitivos puede ser un juego de múltiples


jugadores, donde un agente puede representar a un jugador que intenta ganar el juego.
• Un entorno donde se tienen agentes cooperativos puede ser el dominio de una función que
queramos optimizar, en donde cada agente representa una respuesta parcial de la función
y las interacciones entre ellos (cooperación) ayudan a encontrar mejores soluciones en el
tiempo.
Breve Revisión de Estrategias de Búsqueda

• El proceso de hallar la secuencia posible de acciones que conduzcan a un


estado esperado se llama búsqueda.
• Un algoritmo de búsqueda toma un problema y devuelve una solución que
es una secuencia de acciones para llegar a un estado esperado.
• Un problema se define por:
• Estado inicial.
• Una descripción de las posibles acciones o función para obtener un sucesor.
• El objetivo.
• Costo del camino.
Breve Revisión de Estrategias de Búsqueda

• El estado inicial y la función sucesor definen un espacio de estados sobre el problema.


• Este espacio de estados se lo representa a través de un Grafo.
• Un Grafo se define como un par ordenado:
𝐺 = (𝑉, 𝐸)
• 𝑉: es el conjunto de vértices o nodos.
• 𝐸: es el conjunto de aristas o arcos que conectan los nodos.

• Los nodos representan los estados posibles alcanzables desde un estado inicial usando
la función sucesor.
• Las airstas o arcos conectan dos estados relacionados por la función sucesor.
Breve Revisión de Estrategias de Búsqueda
Estrategias de Búsqueda

• Data-Driven (forward chaining):


• El problema empieza con los hechos conocidos.
• Las reglas para crear nuevos estados.
• Se aplican reglas para producir nuevos estados hasta encontrar (si es posible) el
camino que lleve al objetivo.
Estrategias de Búsqueda

• Goal-Driven (backward chaining):


• Se toma el objetivo que se quiere resolver.
• Se analiza las reglas que pueden producir ese objetivo.
• Se agregan las condiciones según las reglas seleccionadas y se convierten en nuevos
objetivos, hasta llegar(si es posible) a uno de los hechos/datos del problema (el estado
inicial).
Estrategias de Búsqueda

• Las estrategias de data-driven y goal-driven terminan manejando el mismo


grafo/espacio de estados.
• Sin embargo, el orden y el número de estados que intervienen en la
búsqueda pueden diferir.
• La estrategia de búsqueda se selecciona considerando:
• Propiedades del problema.
• Complejidad de las reglas.
• La forma del espacio de estados.
• La naturaleza y la disponibilidad de datos del problema.
Algoritmos de Búsqueda

• Depth-First (Primero en profundidad):


Algoritmos de Búsqueda

• Breath-First (Primero en anchura):


Algoritmos de Búsqueda

Vous aimerez peut-être aussi