PROGRAMACION LOGICA
Regla de inferencia
Una regla de inferencia, o regla de transformación es una forma lógica que consiste en una función que toma premisas, analiza su sintaxis, y devuelve una conclusión (o conclusiones).
+ Info
Relacion
Cláusulas de Horn
Resolución SLD
La resolución SLD ( resolución de cláusula definida lineal selectiva ) es la regla de inferencia básica utilizada en a programación lógica. Es un refinamiento de la resolución, que es a la vez sólida y refutación completa para las cláusulas Horn.
Una cláusula de Horn es una regla de inferencia lógica con una serie de premisas (cero, una o más), y un único consecuente. Las cláusulas de Horn son las instrucciones básicas del lenguaje de programación Prolog, de paradigma declarativo.
+ Info
+ Info
Programacion logica
La programación en lugar de darle instrucciones a una computadora con el programa, se establecen relaciones entre los objetos. De esta manera la computadora puede razonar estas relaciones y así alcanzar soluciones lógicas.
Prolog, uno de los lenguajes de programación lógica más conocido
Ejemplos de programacion logica
Conceptos clave:Echos Reglas Consultas Recursion
De interes:
Verdad y deducción lógica
Lógica de primer orden
Forma clausal
Aplicaciones:
Inteligencia artificial
- Inteligencia artificial.
- Sistemas expertos.
- Demostración automática de teoremas.
- Reconocimiento de lenguaje natural.
- Aplicaciones o problemas reales.
Historia
Anexos
Haskell
Haskell es un lenguaje de programación funcional puro, lo que significa que las funciones en Haskell no tienen efectos secundarios y el concepto de estado mutable es inexistente.
Algunas de las características más interesantes de Haskell incluyen:
- Tipos de datos y funciones recursivas: Haskell tiene un fuerte sistema de tipos estáticos que ayuda a prevenir muchos tipos comunes de errores en tiempo de ejecución. También permite la definición de funciones recursivas, que son funciones que se llaman a sí mismas.
- Listas y tuplas: Haskell tiene un excelente soporte para manipular listas y tuplas, que son tipos de datos compuestos muy utilizados.
- Guardas y encaje de patrones: Las guardas son una forma de definir funciones que tienen diferentes comportamientos dependiendo de los valores de sus argumentos. El encaje de patrones es una característica que permite inspeccionar la estructura de los datos y extraer sus componentes.
- Expresiones de alto nivel: Haskell permite la creación de funciones casi triviales cuya versión en lenguajes imperativos pueden llegar a resultar extremadamente tediosas de escribir.
Lógica de primer orden
Es una ramificación de la lógica proposicional. Considera si los objetos son verdaderos o falsos desde una perspectiva parcial del mundo, llamada dominio. La programación lógica se basa en una generalización de la lógica de primer orden. Esta lógica está compuesta de sintaxis y semántica. La sintaxis es el lenguaje formal que se utiliza para expresar conceptos. Por otro lado, la semántica de las fórmulas lógicas de primer orden indica cómo determinar el valor verdadero de cualquier fórmula. Esta lógica se fundamenta en un alfabeto y un lenguaje de primer orden, además de un conjunto de axiomas y reglas de inferencia.
Ejemplo 2
Consultas: Se especifica el problema, la proposición a demostrar o el objetivo. La consulta se deduce de la base de conocimiento (hechos + reglas).
Hechos: Declaración, cláusula o proposición cierta o falsa, el hecho establece una propiedad o relación entre objetos y es la forma más sencilla de sentencia. Reglas: Implicación o inferencia lógica que deduce nuevo conocimiento, establece dependencias
entre hechos, la regla permite definir nuevas relaciones a partir de otras ya existentes.
Forma clausal
Es un subconjunto de la lógica de primer orden. Tiene una forma normalizada donde una sentencia viene definida por un prefijo universal o cadena de cuantificadores universales, y un conjunto libre de cuantificadores de la cláusula.
Al solicitar una consulta al programa se considerará el cuerpo de la cláusula cuyo encabezado pueda coincidir. Esto es lo mismo que aplicar en lógica una regla de inferencia.
Como paso de la inferencia se eligen dos cláusulas que tengan como propiedad que una contenga un disyuntivo X (un literal positivo) y la otra contenga un disyuntivo ¬X (un literal negativo). Estos disyuntivos se conocen como complementarios.
A partir de estas dos cláusulas iniciales se construye una nueva cláusula resolutiva utilizando todos los literales, excepto los complementarios.
RESOLUCIÓN SLD, Ejemplo
Los hechos y las reglas se denominan clausulas definidas: Los hechos representan “hechos acerca de los objetos” (de nuestro universo de discurso), relaciones elementales entre estos objetos las reglas expresan relaciones condicionales entre los objetos, dependencias.
Ejemplo 1
Luego tenemos las reglas que nos serviran para inferir informacion, donde nos dice que "x" es un vejetal si "x" es un arbol o decimos que "x" es un bejetal si "x" es una flor.Esto nos permite inferir informacion, si invocamos que perro es un vegetal esta nos devolvera falso, porque no esta en la base de echos y las reglas no me permiten inferir esa informacion. Por otro lado si decimos que perro es un animal nos devolvera verdadero, por que si esta en los echos y las reglas me permiten inferir esa informacion. Lo mismo sucede si decimos que palmera es un vegetal esta nos devolvera verdadero.
En este ejemplo tenemos los echos que son cosas que son verdad y por otro lado las reglas.Primero tenemos varios predicados la primera indica que perro es un animal es un echo , al igual que el gato y conguro son animales, palmera es un arbol y margarita es una flor, todos son echos.
Verdad y deducción lógica
Los programas lógicos se pueden descifrar a través de dos conceptos importantes: verdad y deducción lógica. La verdad sale si el cálculo en el programa es verdadero o no, bajo la implementación de los símbolos del programa. La deducción lógica determina si una cláusula lógica es una consecuencia del programa.
Algunas reglas de inferencia
Modus Tollens (MT) Si P implica Q, y Q no es cierta, entonces P no es cierta.
Forma lógica:
- P → Q
- ¬Q
- ¬P
Silogismo Hipotético (SH) Si P implica Q, y Q implica R, entonces P implica R.
Forma lógica:
- P → Q
- Q → R
- P → R
Silogismo Disyuntivo (SD) Ya sea que P es cierta o Q es cierta; P no es cierta; por lo tanto, Q es cierta. De la misma manera, si P es cierta o Q es cierta; Q no es cierta; por lo tanto, P es cierta.
Forma lógica:
- P v Q
- ¬P
- Q
- P v Q
- ¬Q
- P
Modus Ponens (MP) Si P implica Q, y P es verdadera, entonces Q es cierta. Forma lógica:
- P → Q
- P
- Q
Cláusulas de Horn, EJEMPLO
Se llaman cláusulas de Horn aquellas que tienen como máximo un literal positivo.
Hay dos tipos:
Las cláusulas determinadas (clausulas definitivas)
cláusulas de Horn con cabeza son las que sólo tienen un literal positivo: (¬p1 ¬p2 ... ¬pk q) (p1 p2 ... pk q)
Caso particular son las no tienen más que ese literal positivo, que representan «hechos», es decir, conocimiento factual. Los objetivos determinados (definite goals), o «cláusulas de Horn sin cabeza» son las que no tienen ningún literal positivo: (¬p1 ¬p2 ... ¬pk) ¬(p1 p2 ... pk)
Inteligencia artificial
La programación lógica es una metodología que es empleada para buscar que las computadoras deduzcan, porque resulta útil para representar el conocimiento. Se utiliza la lógica para representar el conocimiento y la inferencia para manejarlo. La lógica utilizada para representar el conocimiento es la forma clausal. Se utiliza porque la lógica de primer orden se entiende bien y es capaz de representar todos los problemas computacionales.
Prolog es un lenguaje de programación que se basa en las ideas de programación lógica. La idea de Prolog es hacer que la lógica parezca un lenguaje de programación.
Ramirez_Gabriel_A3.1 Infografía
gabriel ramirez vazquez
Created on April 15, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Akihabara Connectors Infographic
View
Essential Infographic
View
Practical Infographic
View
Akihabara Infographic
View
The Power of Roadmap
View
Artificial Intelligence in Corporate Environments
View
Interactive QR Code Generator
Explore all templates
Transcript
PROGRAMACION LOGICA
Regla de inferencia
Una regla de inferencia, o regla de transformación es una forma lógica que consiste en una función que toma premisas, analiza su sintaxis, y devuelve una conclusión (o conclusiones).
+ Info
Relacion
Cláusulas de Horn
Resolución SLD
La resolución SLD ( resolución de cláusula definida lineal selectiva ) es la regla de inferencia básica utilizada en a programación lógica. Es un refinamiento de la resolución, que es a la vez sólida y refutación completa para las cláusulas Horn.
Una cláusula de Horn es una regla de inferencia lógica con una serie de premisas (cero, una o más), y un único consecuente. Las cláusulas de Horn son las instrucciones básicas del lenguaje de programación Prolog, de paradigma declarativo.
+ Info
+ Info
Programacion logica
La programación en lugar de darle instrucciones a una computadora con el programa, se establecen relaciones entre los objetos. De esta manera la computadora puede razonar estas relaciones y así alcanzar soluciones lógicas.
Prolog, uno de los lenguajes de programación lógica más conocido
Ejemplos de programacion logica
Conceptos clave:Echos Reglas Consultas Recursion
De interes:
Verdad y deducción lógica
Lógica de primer orden
Forma clausal
Aplicaciones:
Inteligencia artificial
Historia
Anexos
Haskell
Haskell es un lenguaje de programación funcional puro, lo que significa que las funciones en Haskell no tienen efectos secundarios y el concepto de estado mutable es inexistente. Algunas de las características más interesantes de Haskell incluyen:
Lógica de primer orden
Es una ramificación de la lógica proposicional. Considera si los objetos son verdaderos o falsos desde una perspectiva parcial del mundo, llamada dominio. La programación lógica se basa en una generalización de la lógica de primer orden. Esta lógica está compuesta de sintaxis y semántica. La sintaxis es el lenguaje formal que se utiliza para expresar conceptos. Por otro lado, la semántica de las fórmulas lógicas de primer orden indica cómo determinar el valor verdadero de cualquier fórmula. Esta lógica se fundamenta en un alfabeto y un lenguaje de primer orden, además de un conjunto de axiomas y reglas de inferencia.
Ejemplo 2
Consultas: Se especifica el problema, la proposición a demostrar o el objetivo. La consulta se deduce de la base de conocimiento (hechos + reglas).
Hechos: Declaración, cláusula o proposición cierta o falsa, el hecho establece una propiedad o relación entre objetos y es la forma más sencilla de sentencia. Reglas: Implicación o inferencia lógica que deduce nuevo conocimiento, establece dependencias entre hechos, la regla permite definir nuevas relaciones a partir de otras ya existentes.
Forma clausal
Es un subconjunto de la lógica de primer orden. Tiene una forma normalizada donde una sentencia viene definida por un prefijo universal o cadena de cuantificadores universales, y un conjunto libre de cuantificadores de la cláusula. Al solicitar una consulta al programa se considerará el cuerpo de la cláusula cuyo encabezado pueda coincidir. Esto es lo mismo que aplicar en lógica una regla de inferencia. Como paso de la inferencia se eligen dos cláusulas que tengan como propiedad que una contenga un disyuntivo X (un literal positivo) y la otra contenga un disyuntivo ¬X (un literal negativo). Estos disyuntivos se conocen como complementarios. A partir de estas dos cláusulas iniciales se construye una nueva cláusula resolutiva utilizando todos los literales, excepto los complementarios.
RESOLUCIÓN SLD, Ejemplo
Los hechos y las reglas se denominan clausulas definidas: Los hechos representan “hechos acerca de los objetos” (de nuestro universo de discurso), relaciones elementales entre estos objetos las reglas expresan relaciones condicionales entre los objetos, dependencias.
Ejemplo 1
Luego tenemos las reglas que nos serviran para inferir informacion, donde nos dice que "x" es un vejetal si "x" es un arbol o decimos que "x" es un bejetal si "x" es una flor.Esto nos permite inferir informacion, si invocamos que perro es un vegetal esta nos devolvera falso, porque no esta en la base de echos y las reglas no me permiten inferir esa informacion. Por otro lado si decimos que perro es un animal nos devolvera verdadero, por que si esta en los echos y las reglas me permiten inferir esa informacion. Lo mismo sucede si decimos que palmera es un vegetal esta nos devolvera verdadero.
En este ejemplo tenemos los echos que son cosas que son verdad y por otro lado las reglas.Primero tenemos varios predicados la primera indica que perro es un animal es un echo , al igual que el gato y conguro son animales, palmera es un arbol y margarita es una flor, todos son echos.
Verdad y deducción lógica
Los programas lógicos se pueden descifrar a través de dos conceptos importantes: verdad y deducción lógica. La verdad sale si el cálculo en el programa es verdadero o no, bajo la implementación de los símbolos del programa. La deducción lógica determina si una cláusula lógica es una consecuencia del programa.
Algunas reglas de inferencia
Modus Tollens (MT) Si P implica Q, y Q no es cierta, entonces P no es cierta. Forma lógica:
Silogismo Hipotético (SH) Si P implica Q, y Q implica R, entonces P implica R. Forma lógica:
Silogismo Disyuntivo (SD) Ya sea que P es cierta o Q es cierta; P no es cierta; por lo tanto, Q es cierta. De la misma manera, si P es cierta o Q es cierta; Q no es cierta; por lo tanto, P es cierta. Forma lógica:
Modus Ponens (MP) Si P implica Q, y P es verdadera, entonces Q es cierta. Forma lógica:
Cláusulas de Horn, EJEMPLO
Se llaman cláusulas de Horn aquellas que tienen como máximo un literal positivo. Hay dos tipos: Las cláusulas determinadas (clausulas definitivas) cláusulas de Horn con cabeza son las que sólo tienen un literal positivo: (¬p1 ¬p2 ... ¬pk q) (p1 p2 ... pk q) Caso particular son las no tienen más que ese literal positivo, que representan «hechos», es decir, conocimiento factual. Los objetivos determinados (definite goals), o «cláusulas de Horn sin cabeza» son las que no tienen ningún literal positivo: (¬p1 ¬p2 ... ¬pk) ¬(p1 p2 ... pk)
Inteligencia artificial
La programación lógica es una metodología que es empleada para buscar que las computadoras deduzcan, porque resulta útil para representar el conocimiento. Se utiliza la lógica para representar el conocimiento y la inferencia para manejarlo. La lógica utilizada para representar el conocimiento es la forma clausal. Se utiliza porque la lógica de primer orden se entiende bien y es capaz de representar todos los problemas computacionales. Prolog es un lenguaje de programación que se basa en las ideas de programación lógica. La idea de Prolog es hacer que la lógica parezca un lenguaje de programación.