001-2008.Introduccion_a_la_Programacion_en_Logica.ByN

Reviews
Shared by: karla torrres
Categories
Tags
Stats
views:
55
rating:
not rated
reviews:
0
posted:
2/9/2009
language:
pages:
0
Paradigmas de Programación • Principales paradigmas: – – – – Imperativo Lógico Funcional Orientado a Objetos Introducción a la Programación en Lógica Lógica para Ciencias de la Computación Primer Cuatrimestre de 2008 – Material Adicional – • En esta asignatura introduciremos el paradigma lógico y el funcional. Paradigma Imperativo Proceso de resolución de un problema en el paradigma imperativo: Algoritmo Paradigma Lógico Proceso de resolución de un problema en el paradigma lógico: Problema Descripción Precisa del Problema Problema Implementación Imperativo vs. Lógico • En el paradigma imperativo: 1. Comprender el problema y definir una solución viable. 2. Codificar la solución recién encontrada. Lenguajes de Programación del Paradigma Imperativo • Principales características: – – – – – Variables Asignación Secuencia Repetición Condicional • En el paradigma lógico: 1. Expresar el conocimiento acerca del problema en un lenguaje apropiado. 2. Dejar que el intérprete encuentre una solución al problema. En el paradigma lógico, muchas de estas características están ausentes! 1 Prolog • Prolog es el representante más conocido del paradigma lógico. • El problema a ser resuelto se expresa mediante un conjunto de relaciones entre objetos. • Un programa lógico permite: – Definir relaciones entre objetos. – Verificar si ciertos objetos están relacionados entre sí Sintaxis Informal nombres de relaciones (también llamadas predicados) y objetos. secuencias de caracteres comenzando con minúscula. • Prolog cuenta con variables. Las variables denotan objetos sin especificar. secuencias de caracteres comenzando con mayúscula. nombres de variables Sintaxis Informal Existen 3 tipos construcciones en PROLOG (llamadas cláusulas) : Hechos • Permiten establecer que una determinada tupla de objetos están relacionados bajo una relación en particular. • Sintaxis: • Hechos • Reglas • Consultas Permiten definir relaciones entre objetos. Permiten verificar si ciertos objetos están relacionados entre sí r(obj1, obj2, …, objn). “la tupla (obj1, obj2,…,objn) pertenece a la relación r” Ejemplos de Hechos padre_de(homero, bart). padre_de(homero, lisa). amigo_de(homero, barny). amigo_de(flanders, X). Reglas • Permiten establecer que una determinada tupla de objetos están relacionados bajo una relación en particular, pero en términos de otras relaciones. • Sintaxis: r(obj1, …, objn) :- r1(…), …, rm(…). 2 Ejemplos de Reglas hermanos(bart, lisa):padre_de(homero, bart), padre_de(homero, lisa). hermanos(X,Y):padre_de(P, X), padre_de(P, Y). Terminología r(obj1, …, objn) :- r1(…), …, rm(…). Cabeza (Head) Cuello (Neck) Cuerpo (Body) Programas Prolog • Un programa Prolog se compone de hechos y reglas. Ej: padre_de(homero, bart). padre_de(homero, lisa). padre_de(abraham, homero). hermanos(X,Y):- padre_de(P, X), padre_de(P, Y). abuelo(X,Y):- padre_de(X,Z), padre_de(Z,Y). definición del predicado abuelo/2 Consultas • Permiten verificar si una determinada tupla de objetos están relacionados bajo una relación en particular de acuerdo a un dado programa PROLOG. • Sintaxis: definición del predicado padre_de/2 definición del predicado hermanos/2 ?- r(obj1, obj2, …, objn). Ejemplos de Consultas padre_de(homero, bart). padre_de(homero, lisa). amigo_de(homero, moe). hermanos(X,Y):- padre_de(P, X), padre_de(P, Y). Ejemplos de Consultas padre_de(homero, bart). padre_de(homero, lisa). amigo_de(homero, moe). hermanos(X,Y):- padre_de(P, X), padre_de(P, Y). Programa Programa ?- padre_de(homero, bart). yes ?- amigo_de(homero, burns). no 3 Ejemplos de Consultas padre_de(homero, bart). padre_de(homero, lisa). amigo_de(homero, moe). hermanos(X,Y):- padre_de(P, X), padre_de(P, Y). Ejemplos de Consultas padre_de(homero, bart). padre_de(homero, lisa). amigo_de(homero, moe). hermanos(X,Y):- padre_de(P, X), padre_de(P, Y). Programa Programa ?- amigo_de(homero, X). X = moe ?- hermanos(bart, lisa). yes FIN 4

premium docs
Other docs by karla torrres
NotasProlog01
Views: 163  |  Downloads: 8
laboratorio_01_introduccion_al_prolog
Views: 102  |  Downloads: 5
juegos
Views: 67  |  Downloads: 8
IA-Ap01-2007- I
Views: 2  |  Downloads: 3
DEFINICIÓN
Views: 786  |  Downloads: 10
code07_whitepaper
Views: 79  |  Downloads: 3
Cap4_Parte1_6ppt_INF152
Views: 159  |  Downloads: 9
cap1
Views: 60  |  Downloads: 2
articles-126389_archivo
Views: 7  |  Downloads: 1
ApunteLogica
Views: 246  |  Downloads: 7
04Prolog
Views: 12  |  Downloads: 4
01Prolog
Views: 16  |  Downloads: 2