Categorieën: Alle - programación - árboles - listas - lógica

door Cruz Mendoza Cruz Mendoza 2 jaren geleden

424

MODELOS DE PROGRAMACION LOGICA

La programación declarativa se centra en resolver problemas mediante sentencias descriptivas que establecen relaciones entre entidades. En particular, la programación lógica utiliza un enfoque estructurado donde el orden de los literales y sentencias influye directamente en el funcionamiento y recorrido del árbol de llamadas.

MODELOS DE PROGRAMACION LOGICA

Concepto

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.

Programacion Logica

La programación lógica: construye base de conocimientos mediante reglas y hechos

Consulta
Se especifica el problema, la proposición a demostrar o el objetivo
Hecho
Una relación entre objetos y es la forma más sencilla de sentencia
Declaración, cláusula o proposición cierta o falsa
Regla
Definir nuevas relaciones a partir de otras ya existentes
implicación o inferencia lógica que deduce nuevo conocimiento

Programación Declarativa

Consiste en indicar como resolver un problema mediante sentencias, en la Programación Lógica, se trabaja en una forma descriptiva, estableciendo relaciones entre entidades

4.2 Semantica de los programas logicos

análisis de los problemas lógicos de significación

Prolog

Semantica
Busca relaciones entre los objetos creados, las variables y las listas, que son sus estructuras básicas.

Los identificadores con minúscula representan hechos, los que van con mayúscula variables.

Tipos de Datos primitivos

Tipos de datos estructurados:

Listas, representadas entre [ ].

Átomos

variables de cadena.

Constantes

Reales

Caracteres

Enteros

constantes

variables


Comentarios entre /**/

hechos (datos)
Conjunto de de reglas

relaciones entre objetos de la base de datos

MODELOS DE PROGRAMACION LOGICA

4.9 Predicados Meta-Logicos

controlar el algoritmo de resolución facilitando la meta-programación.
extraer el functor y la aridad de un término cualquiera.

4.6 P.L con numeros, listas y arboles

LISTAS
Colecciones de elementos en PROLOG

Cabeza

Es el primer elemento de la lista

Cola

una lista con el resto de los elementos de la lista.

EXPRESIONES
NUMEROS
los objetos numéricos pueden corresponder a tipos integer o float de C
ARBOLES
estructura escrita como un árbol en el que el nombre es un nodo y los componentes son las ramas.

4.5 Espacios de busqueda

Al conjunto de todas las posibles soluciones a un problema concreto
Cada posible solución se le puede asociar un fitness o un valor que indicará cómo de buena es la solución para el problema.
Cada punto en el espacio de búsqueda representa una posible solución.

4.8 Manipulacion de Terminos

construir programas que manipulan otros programas proporcionando una mayor expresividad al lenguaje
ARIDAD
FUNCTOR
Predicados Meta-Lógicos

Permiten controlar el algoritmo de resolución facilitando la meta-programación.

4.7 Control de Busqueda en Programas Logicos

EL ORDEN
SENTENCIAS

orden en que se obtienen las soluciones

correcto funcionamiento del programa

recorrido del árbol de llamadas

aparecen los literales dentro de una sentencia (dentro del cuerpo)

el orden en que se introducen las sentencias en el programa

4.4 Consulta de una Base de Clausulas

Eliminación de cuantificadores existenciales
La eliminación de un cuantificador existencial introduce una sentencia que no es equivalente

la sentencia original pero no es implicada por esta.

Desplazar Disyunciones
desplazar las disyunciones al interior de las sentencias de tal forma que conecten literales (átomos o átomos negados)

4.3 Representacion Clausada del Conocimiento

Representación del conocimiento
HECHOS

REGLAS

significar que un hecho depende de uno o más hechos.

CONSTANTES Y PREDICADOS

Combinación de predicados y constantes.

término comúnmente usado para referirse a representaciones pensadas

procesamiento por ordenadores modernos

representaciones compuestas por objetos explícitos

afirmaciones sobre ellos

4.1 Introducción al modelo de programación lógica