ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación Lógica


Enviado por   •  26 de Enero de 2021  •  Trabajo  •  2.935 Palabras (12 Páginas)  •  139 Visitas

Página 1 de 12

Programación Lógica

La programación lógica está  basada en la lógica de primer orden. Es decir ella,  estudia el uso de la lógica para el planteamiento de problemas y el control sobre las reglas de inferencia para alcanzar la solución automática.

En la Programación Lógica, se trabaja en una forma descriptiva, estableciendo relaciones entre entidades, indicando no como, sino que hacer. Un programa lógico está compuesto por un conjunto de fórmulas lógicas de predicados que reflejan el conocimiento del que se dispone acerca del problema a resolver.

Características de la Programación Lógica

  • 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.

  • 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.

  • 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.

  • 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.

Relaciones

Una relación es una cualidad o propiedad de un grupo de entidades con respecto a otras. Las entidades y sus relaciones pueden también ser expresadas como variables. Se corresponden con los procedimientos se definen mediante hechos y reglas.

Características

  • Una relación liga dos objetos (designados por sus nombres).
  • Cuando se define una relación entre objetos, el orden que se da a estos es relevante, ya que la relación tiene un solo sentido.
  • Los identificadores no permiten nombrar a los objetos y a la relación que los liga.

Ejemplos de relaciones:

  • padre(pepe, maria). // En esta relación se denota una existencia de parentesco entre pepe y maria 

Reglas

Una regla establece dependencias entre hechos, de forma compacta, por lo que se entiende como una afirmación general sobre objetos y sus relaciones. Las reglas se aplican a los hechos para así obtener conocimiento sobre el medio ambiente.

Es decir es una implicación o inferencia lógica que deduce nuevo conocimiento, la regla permite definir nuevas relaciones a partir de otras ya existentes.

Características:

  • Una regla tendrá: cabeza y  cuerpo.
  • Las reglas recursivas ayudaran a resolver problemas.
  • Varias reglas con el mismo nombre de relación equivale a la disyunción lógica.

Ejemplo

1. mortal (x):- humano(x).

2. % x es mortal si x es humano

3. grandparent (A, B):- parent(A, X), parent(X, B).

4. % A es el abuelo de B si A es el 5. % padre de X y X es el padre de B

Hechos

Un hecho, es una declaración, cláusula o proposición cierta o falsa, el hecho establece una relación entre objetos y es la forma más sencilla de sentencia.

Características

  • Conjunto con las reglas, forman la base de datos con la que se resolverá el problema.
  • Se componen de atributos de un objeto o relaciones entre objetos.
  • Los hechos no tienen que reflejar el mundo real, pero será única y exclusivamente lo que el programa tomará como verdadero (no tiene más información que la que le demos en los hechos).

Ejemplo

1. humano (Socrates).

2. % Socrates es humano

3. parent (Juan, María).

4. % Juan es el padre de María.

Objetivos

Los objetivos son proposiciones construida con el propósito de ser demostrada/desmentida, o de encontrar el conjunto de valores que la convierten verdadera. En las consultas se especifica el problema a resolver. 

Características

  • Se corresponden con el programa principal.
  • Se definen mediante consultas.

Ejemplo

Con preguntas sobre el parentesco definidas mediante consultas

 Ejemplos: ¿es David padre de Emilio? =padre (david, emilio).

¿quiénes son los hijos de Eva? =  madre (eva,X).

¿quién es el padre de Silvia?= padre (P,silvia).

 Términos

Los términos son los componentes que conforman el lenguaje, y éstos van a ser los únicos elementos que componen un programa.

Existen tres tipos de términos:

  • Constantes: Representan exactamente un elemento del dominio particular.
  • Variables: Se representan mediante cadenas representadas por letras, números o por el símbolo ‘_’.
  • Estructuras: Estos son términos compuestos por otros términos.

[pic 1]Características

  • Todo nombre debe referir a un objeto.
  • Ningún nombre puede referir a más de un objeto.
  • Un objeto puede tener más de un nombre.

Ejemplo

Números: 1, 2, 0 (en algunos casos hay subdivisiones en reales y enteros).

variable(X).

Preguntas Existenciales

Son aquellas  preguntas  que se realizan para obtener información acerca del programa una vez listo.  Para responder a las preguntas se consulta una base de conocimiento. Ésta base conocimiento representa el programa como tal, programa que se compone de cláusulas, que con el uso de la lógica.

Negación como Falla

Es cuando se evalúa como falso cualquier cosa que el programa  sea incapaz de verificar que su predicado argumento es cierto.

Ejemplo

La negación por falla se define en términos del operador de corte: naf(X) :- X, !, fail. naf(X).

...

Descargar como (para miembros actualizados) txt (19 Kb) pdf (233 Kb) docx (807 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com