Nº 116: IA Lógica - Agentes Lógicos (en Lógica de Proposiciones)
Donaciones: https://www.paypal.me/jliglesiasferia Explicación de cómo son los agentes lógicos basados en la lógica de proposiciones: sus características, su funcionamiento, sus ventajas e inconvenientes, el tipo de reglas con las que deben trabajar para poder hacer inferencia lógica de forma efectiva y cómo se pueden usar en planificación. PDF con las Diapositivas de la Presentación: https://www.dropbox.com/s/w2z6nbwfj2khc9e/video.116.agentes.logicos.pdf?dl=0 Libros Recomendados: · "IA: Un Enfoque Moderno" https://amzn.to/2VCZn20 · "IA: Funcamentos, Práctica y Aplicaciones" https://amzn.to/2OGhum3 · "IA Avanzada" https://amzn.to/3133xkI · "Probabilidad y Estadística" https://amzn.to/2VzeDwL · "Aprendizaje Automático" https://amzn.to/2ILC1ll · "Lógica para Principiantes" https://amzn.to/35sfJin Licencia CC-BY-NC Creative Commons - Reconocimiento - No Comercial
Nº 116: IA Lógica - Agentes Lógicos (en Lógica de Proposiciones)
Introducción a la lógica de proposiciones y agentes lógicos
Resumen de la sección: En esta sección, el instructor introduce el tema de los agentes lógicos y cómo se pueden utilizar los conceptos de la lógica de proposiciones para crearlos.
Libro recomendado sobre lógica
- El instructor recomienda un libro llamado "Lógica para principiantes" de Mario Manzano y António Aguertas como una buena introducción al mundo de la lógica.
- El libro es útil para entender mejor algunos conceptos que pueden haber quedado atrás en el curso.
- También se menciona un curso gratuito en línea ofrecido por la Universidad Nacional de Educación a Distancia (UNED) como otra opción para aprender sobre lógica.
Agentes lógicos
- Los agentes lógicos son aquellos que utilizan la lógica de proposiciones para trabajar y tomar decisiones.
- Se discute cómo se pueden utilizar los algoritmos vistos anteriormente en el curso para crear agentes lógicos.
Agentes Reactivos y Planificadores
Resumen de la sección: En esta sección, el orador habla sobre los diferentes tipos de agentes en la inteligencia artificial. Los agentes reactivos son aquellos que no tienen memoria ni base de conocimiento, pero pueden percibir y realizar acciones. Los agentes planificadores, por otro lado, utilizan la utilidad o los objetivos para tomar decisiones.
Agentes Reactivos
- Los agentes reactivos se dividen en dos grupos: aquellos que no tienen emoción ni base de conocimiento y aquellos que sí tienen emoción y pueden acceder a la información dentro de una base de conocimiento.
- Los agentes lógicos proposicionales son un ejemplo de agentes reactivos pasados en modelos.
- Estos agentes utilizan la lógica para representar el conocimiento.
Agentes Planificadores
- Los agentes planificadores toman decisiones basadas en la utilidad o los objetivos.
- Estos agentes pueden utilizar diferentes herramientas como estructuras de grafos, lenguajes orientados a objetos o probabilidades para representar el conocimiento.
- La programación declarativa es comúnmente utilizada para programar este tipo de sistemas.
Programación Lógica
Resumen de la sección: En esta sección, el orador habla sobre cómo se utiliza la lógica en la programación de agentes inteligentes.
Representación del Conocimiento
- La programación lógica se utiliza para representar el conocimiento.
- Los hechos y las reglas son los componentes principales de la base de conocimiento.
- El razonamiento es utilizado para deducir nuevos hechos a partir de las reglas existentes.
Programación Declarativa
- La programación lógica es un ejemplo de programación declarativa, donde los hechos y las reglas son definidos por el ingeniero de conocimiento y el sistema actúa internamente.
Introducción a la programación lógica
Resumen de la sección: En esta sección, el instructor introduce la programación lógica y explica cómo funciona desde una perspectiva general.
Lenguaje como un producto
- La programación lógica utiliza un lenguaje como un producto.
- Los programadores utilizan hechos y reglas para crear declaraciones.
- El instructor recomienda ver los videos iniciales para entender mejor los conceptos.
Agentes y percepciones
- Los agentes reactivos basados en modelo son similares a la programación lógica.
- Los agentes reciben percepciones y emiten acciones.
- El tiempo es importante en la percepción de los agentes.
Crear sentencia percepción
- Las percepciones deben ser convertidas en un lenguaje lógico.
- Se crea una función llamada "crear sentencia percepción" que convierte las percepciones en sentencias lógicas.
- Las sentencias se agregan a la base de conocimiento.
Preguntar acción T
- Se utiliza el método "preguntar acción T" para determinar qué acción tomar.
- La pregunta realizada a la base de conocimiento depende del tipo de problema que se esté resolviendo.
Introducción a la lógica de recursosios
Resumen de la sección: En esta sección, se introduce el concepto de base de conocimiento y cómo se utiliza para convertir preguntas en cláusulas sentencias de lógica de recursosios. También se explican los métodos "tell" y "ask", que permiten agregar información a la base de conocimiento y obtener nueva información.
Base de conocimiento
- La base de conocimiento es utilizada para convertir preguntas en cláusulas sentencias de lógica.
- Se utiliza una función para pasar la pregunta a la base de conocimiento y obtener una respuesta.
- Los métodos "tell" y "ask" son utilizados para agregar información a la base de conocimiento y obtener nueva información.
Método "ask"
- El método "ask" permite obtener nueva información a partir de la base de conocimiento.
- Este método puede ser más complicado que otros métodos debido a que requiere convertir la respuesta en una sentencia lógica.
Acciones
- Las acciones son introducidas dentro del hacer conocimiento como una forma de llevarlas a cabo.
- Las acciones son guardadas dentro de la base de conocimiento como un registro.
Representación del mundo con lógica proposicional
Resumen de la sección: En esta sección, se discute cómo representar el mundo utilizando lógica proposicional. Se explica que las partes estáticas del mundo son fáciles de diseñar utilizando sentencias simples en lógica proposicional, mientras que las partes dinámicas son más complicadas debido a que cambian con el tiempo.
Partes estáticas del mundo
- Las partes estáticas del mundo son fáciles de diseñar utilizando sentencias simples en lógica proposicional.
- Estas sentencias no están ligadas a ningún ciclo y pueden ser utilizadas en cualquier momento.
Partes dinámicas del mundo
- Las partes dinámicas del mundo son más complicadas debido a que cambian con el tiempo.
- Es necesario utilizar una representación temporal para capturar los cambios en el tiempo.
Introducción a la lógica de circunstancias
Resumen de la sección: En esta sección, el orador introduce el concepto de lógica de circunstancias y cómo puede ser utilizada para modelar situaciones dinámicas.
Introducción a la lógica de circunstancias
- La lógica de circunstancias es una herramienta útil para modelar situaciones dinámicas.
- La ley de la verdad es una ley universal que no cambia con el tiempo.
- Las cosas que cambian con el tiempo son parte dinámica del modelo y deben ser tratadas como tales.
- En cada ciclo, se deben agregar nuevos datos y hechos que sean relevantes para ese momento en particular.
- Las posiciones en el mundo pueden cambiar con el tiempo y deben ser incluidas en el modelo.
- Se pueden utilizar símbolos complejos para representar los valores en un modelo.
Variables en la lógica de circunstancias
- Las variables son importantes para representar los valores en un modelo.
- Cada variable debe tener un valor asociado con ella, lo cual puede cambiar con el tiempo.
- Es importante introducir nuevos datos y hechos relevantes en cada ciclo del modelo.
- Las lógicas monotómicas no dan nada por hecho y requieren que se especifique tanto lo que es verdadero como lo que es falso.
Problemas de la lógica de proposiciones
Resumen de la sección: En esta sección, el orador habla sobre los problemas que surgen al trabajar con la lógica de proposiciones para representar el mundo.
Limitaciones de la lógica de proposiciones
- La explosión potencial de información que surge al tener que introducir y ver datos en cada posición del mundo.
- La necesidad de tener una gran cantidad de datos para representar conocimiento en una expresión más pequeña.
- La complejidad creciente a medida que aumenta la cantidad y variedad de datos.
Ventajas y desventajas
- La mayor expresividad del lenguaje implica menos costos en cuanto al almacenamiento de datos, pero también significa un aumento en la complejidad temporal.
- Las reglas son más sencillas en las lógicas con menos complejidad, pero ocupan más espacio.
Problemas con mundos infinitos
- No es posible utilizar posiciones fijas para mundos infinitos debido a la necesidad de definir todas las posiciones del mundo.
- La lógica de primer orden permite trabajar con mundos infinitos.
Reglas y acciones
Resumen de la sección: En esta sección, el orador habla sobre cómo las reglas y acciones afectan a los cambios en el mundo.
Cambios producidos por las acciones
- Cada acción llevada a cabo produce un cambio en el mundo en las posiciones correspondientes.
Problemas con la complejidad
- La necesidad de agregar un gran número de reglas y cláusulas para representar los datos y las acciones.
- El aumento exponencial de la complejidad temporal y espacial a medida que aumenta la cantidad y variedad de datos.
Soluciones
- Pasar a lógica de primer orden, que es utilizada por muchos lenguajes de programación lógica.
Algoritmos de lógica de proposición y predicados
Resumen de la sección: En esta sección, el orador explica que los algoritmos utilizados en la lógica de proposición y predicados son más lentos que los algoritmos utilizados en la lógica basada en el conocimiento. También sugiere libros y videos para aquellos interesados en aprender más sobre lógica.
Algoritmos de lógica de proposición y predicados
- Los algoritmos utilizados en la lógica de proposición y predicados son más lentos que los algoritmos utilizados en la lógica basada en el conocimiento.
- Hay libros y videos disponibles para aquellos interesados en aprender más sobre lógica.
Modelos de transición
Resumen de la sección: En esta sección, el orador explica cómo definir un modelo de transición dentro del marco de la lógica de proposiciones. También habla sobre cómo trabajar con variables relacionadas con el tiempo T.
Definir un modelo de transición
- Un modelo básico puede ser definido utilizando asionados defectos y asionados del marco.
- Cada vez que hacemos un ciclo, se genera una gran cantidad de información nueva que se agrega a lo ya existente, lo que hace que sea cada vez más complejo trabajar con él.
Trabajar con variables relacionadas con el tiempo T
- Es importante ver tanto lo que ha cambiado como lo que no ha cambiado para poder trabajar con variables relacionadas con el tiempo T.
- Para trabajar con lo que no ha cambiado, se utiliza un marco que indica que la acción ejecutada en el momento T implica que el estado del momento T es y que la letra está en el tema 1.
El modelo de transición y los flujos
Resumen de la sección: En esta sección, el presentador explica el problema de la explosión combinatoria en el modelo de transición y cómo se intentó solucionar. Luego introduce el concepto de flujo como una forma más eficiente de definir los cambios en el mundo.
Problema del modelo de transición
- El modelo de transición tiene un problema llamado "explosión combinatoria" que lo hace ineficiente.
- Cada vez que agregamos nueva información a la base de datos, tenemos que revisar más cosas y usar algoritmos cada vez más complejos.
- Se intentó mejorar este modelo cambiando el modelo de transición.
Introducción al concepto de flujo
- Los ingenieros de conocimiento enseñan otro sistema basado en flujos para solucionar el problema del modelo anterior.
- Un flujo es un aspecto del mundo que cambia.
- En vez de crear un modelo con estados y acciones, se definen las cosas que cambian en el mundo como flujos.
- Se define lo que ocurre con ese flujo cuando ejecutamos una acción y cuando no ejecutamos una acción.
Ejemplo práctico
- Se presenta un ejemplo práctico sobre la posición xy del agente en el mundo como un flujo.
Nueva posición y flujo
Resumen de la sección: En esta sección, el presentador explica cómo llegaron a una nueva posición y cómo esto afecta al flujo. También menciona que ahora están decidiendo acciones por cada flujo en lugar de por cada acción.
Nueva posición y flujo
- Antes estaban en una casilla de izquierdo.
- El par es el flujo en el momento t, está en la posición x-1 y y.
- La variabilidad va a ser en temas 1 o sea xy.
- Puede ser que estuvieran en p y ya en xy, no nos veamos como la derecha. Entonces no cambiamos de posición.
Acciones más intuitivas
Resumen de la sección: En esta sección, el presentador explica que con las nuevas acciones introducidas, tendrán que introducir menos acciones y menos os. Esto les permitirá ser más efectivos.
Acciones más intuitivas
- Con este tipo de acción más, la idea es que van a tener que introducir menos acción.
- Luego cuando vean los ejemplos hay partes más intuitivas.
- Hoy en día se utiliza como casi como una ayuda cuando están trabajando con lenguajes de pronuncio como proloz.
Problemas al modelar el mundo
Resumen de la sección: En esta sección, el presentador habla sobre los problemas al modelar el mundo y cómo hay que tener en cuenta todas las cosas que pueden afectar al flujo. También menciona que hay excepciones que deben ser incluidas.
Problemas al modelar el mundo
- Hay que tener en cuenta todas las cosas que pueden afectar al flujo.
- Las excepciones deben ser incluidas como OTAL, OTAL, OTAL, OTAL.
- Es un problema también de deducciones potenciales de la base de datos.
Limitaciones del modelo de transición
Resumen de la sección: En esta sección, el presentador habla sobre las limitaciones del modelo de transición y cómo es muy limitado. También menciona que es útil para problemas muy concretos pero no para grupos sencillos.
Limitaciones del modelo de transición
- El modelo de transición es muy limitado.
- Es útil para problemas muy concretos pero no para grupos sencillos.
La lógica y su eficiencia
Resumen de la sección: En esta sección, el orador habla sobre cómo la lógica ha evolucionado a lo largo del tiempo y cómo su eficiencia ha sido un problema. También menciona que se han utilizado enfoques híbridos para mejorar la eficiencia.
Evolución de la lógica
- La lógica ha evolucionado hacia agonimos con costes polinómicos o lineales.
- Se espera avanzar hacia una lógica de primer orden para mejorar el problema de eficiencia.
- Se han definido lenguajes que utilizan un conjunto a lógica de primer orden y aspectos de la lógica de proposiciones para conseguir algoritmos más eficientes.
Problemas con la eficiencia
- Los costes en tiempo y espacio son muy grandes en la lógica, lo que hace difícil reducirlos.
- La incertidumbre es otro problema que no se puede tratar tan eficientemente como con otros enfoques como las redes bayesianas.
Enfoques híbridos
- Se han utilizado agentes híbridos mezclando diferentes enfoques, como la búsqueda en grafos y la probabilidad.
- Los agentes híbridos entre lógica y probabilidad serán tratados más adelante.
Agentes Lógicos Híbridos
Resumen de la sección: En esta sección, el orador habla sobre cómo funcionan los agentes lógicos híbridos y cómo se utilizan para obtener acciones a realizar.
Funcionamiento de los agentes lógicos híbridos
- Los agentes lógicos híbridos mezclan enfoques como la lógica y la búsqueda en grafos.
- Se pregunta a la base de conocimiento por el estado del mundo utilizando algoritmos de lógica.
- Se obtienen una serie de acciones a realizar una vez que se conoce el estado del mundo.
Uso de axiomas
- Los axiomas iniciales son atemporales y corresponden a la parte estática del mundo.
- En cada ciclo, se agregan nuevos axiomas y sucesores para trabajar con el modelo de transición.
Ampliando la base de conocimientos
Resumen de la sección: En esta sección, el orador habla sobre cómo ampliar la base de conocimientos y cómo obtener acciones a través de búsquedas en lugar de inferencias lógicas. También discute técnicas para mejorar el proceso, como el uso de caché y aproximaciones.
Ampliando la base de conocimientos
- La base de conocimientos se amplía con razonamiento e información obtenida a través del tiempo.
- La percepción agrega información a la base de conocimiento que luego puede ser razonada para obtener más información.
- El algoritmo permite ampliar la base de conocimiento con información obtenida a través del razonamiento.
- A medida que crece la base de conocimiento, las búsquedas se vuelven más lentas y centralizadas.
Técnicas para mejorar el proceso
- El uso de caché permite acceder rápidamente a las últimas acciones y percepciones trabajadas.
- Las aproximaciones pueden utilizarse para obtener una probabilidad aproximada en lugar de una exacta.
- Los algoritmos pueden hacer aproximaciones lógicas utilizando el estado de creencia.
Agente híbrido
- El agente híbrido tiene una percepción, una acción y un plan que se guarda en una lista.
- La percepción genera una sensación que alimenta la base de datos y la base del conocimiento.
Creación de un plan y definición del problema
Resumen de la sección: En esta sección, el orador explica cómo crear un plan y definir el problema para el algoritmo de búsqueda.
Creación de un plan
- Verificar si hay algo en el plan existente.
- Si hay algo en el plan, pasar al siguiente paso.
- Crear una sensación para esa acción.
- Convertir la sensación al lenguaje lógico.
- Introducir la acción en la base de conocimiento.
Definición del problema
- Convertir la base de conocimiento en una definición útil del problema para el algoritmo de búsqueda.
- Definir un problema que tenga la estructura necesaria para trabajar con el dominio de búsqueda.
Preguntas a la base de conocimiento
- Hacer preguntas a la base de conocimiento para obtener información sobre ciertas condiciones.
- Realizar razonamientos y ampliar los datos y reglas en la base de conocimiento.
- Devolver un CEO como resultado condicional.
Lista de acciones
- Lanzar un árbol y módulo de búsqueda para obtener una lista detallada de acciones necesarias para resolver el problema.
- Cada vez que se saque una acción del plan, reconvertirla a lógica y guardarla en la base de conocimiento.
Combinando lógica y búsqueda
Resumen de la sección: En esta sección, el orador explica cómo combinar lógica y búsqueda para resolver problemas complejos.
Combinando lógica y búsqueda
- Combinar la base de conocimiento representada mediante la lógica con la lista de acciones obtenida mediante el algoritmo de búsqueda.
- Ampliar los datos y reglas en la base de conocimiento a medida que se hacen preguntas.
- Reconvertir las acciones del plan a lógica y guardarlas en la base de conocimiento.
Implementación
- No enfocarse demasiado en la implementación, sino entender el concepto general.
- Recurrir a libros o comentarios para obtener más información si es necesario.
Utilizando la lógica para planificación
Resumen de la sección: En esta sección, el presentador habla sobre cómo utilizar la lógica para hacer planificación y cómo esto se relaciona con el enfoque de grafos. Se discute el horimo de planificación y cómo definir las diferentes cosas que antes se definían en los grafos.
Utilizando la lógica para hacer planificación
- La idea es utilizar la lógica para hacer lo que hacíamos en el enfoque de grafos.
- Existe un horimo de planificación que permite hacer la planificación utilizando la lógica.
- Es necesario definir una sentencia lógica que describa cuál es el objetivo a alcanzar.
- Una vez que tenemos esa forma normal con puntiva, tenemos que ver si podemos encontrar un modelo que satisfaga a ese problema.
Creando un plan a partir del modelo
Resumen de la sección: En esta sección, el presentador habla sobre cómo crear un plan a partir del modelo obtenido anteriormente utilizando símbolos y acciones.
Creando un plan a partir del modelo
- A partir del modelo obtenido anteriormente, es necesario crear una solución eligiendo y creando un plan.
- Las acciones estarán representadas por símbolos y cada acción estará en un tiempo determinado.
- La mejor acción será la que sea verdadera en el tiempo 1.
Planificación con lógica de proposiciones
Resumen de la sección: En esta sección, el presentador explica cómo funciona la planificación con lógica de proposiciones y sus limitaciones.
Algoritmo de búsqueda en lógica de proposiciones
- La planificación con lógica de proposiciones utiliza un algoritmo de búsqueda para encontrar una solución.
- El algoritmo busca una secuencia de acciones que lleven del estado actual al estado deseado.
- Si llega a un punto donde no puede encontrar más acciones, devuelve una falla.
Limitaciones
- La planificación con lógica de proposiciones tiene limitaciones y no puede ser utilizada en entornos parcialmente observables o infinitos.
- Los entornos estocásticos tampoco son adecuados para este tipo de planificación.
- Es importante incluir las acciones precondicionales y las exclusiones mutuas para evitar planes imposibles o contradictorios.
Ventajas y desventajas
- La planificación con lógica de proposiciones es útil para problemas sencillos y específicos, pero tiene limitaciones en entornos complejos.
- Puede generar planes optimizados en tiempo si se utilizan acciones simultáneas.
- Se utiliza principalmente para depurar la base de conocimiento.
Introducción a la lógica de proposiciones
Resumen de la sección: En esta sección, el instructor introduce la lógica de proposiciones y explica cómo se utilizan los sistemas expertos basados en lógica. También menciona que aunque estos sistemas son limitados, todavía tienen aplicaciones prácticas.
Sistemas expertos basados en lógica
- Los sistemas expertos basados en lógica no necesariamente son complejos.
- Estos sistemas utilizan programas que están programados en algún lenguaje de lógica.
- Aunque estos sistemas son limitados, todavía tienen aplicaciones prácticas.
Lógica de proposiciones
- La lógica de proposiciones ha sido un poco intensa.
- Los agentes lógicos basados en esta forma de lógica son muy limitados y tienen problemas con el costo del espacio y el tiempo.
- Los sistemas expertos basados en esta forma de lógica han ido quedando atrás mientras que otros enfoques como la búsqueda han avanzado mucho más.
Recursos adicionales
- El instructor recomienda el libro "Lógica para principiantes" por María Manzano y António Agueltas para aquellos interesados en aprender más sobre la lógica de proposiciones.
- También recomienda un curso sobre la misma temática para ampliar conocimientos sobre este tema.