Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Programación Logica: Paradigma y Ejemplos en Prolog, Apuntes de Programación Java

Una introducción al paradigma de programación lógica, tomando prolog como base de estudio. Se explican conceptos básicos como hechos y reglas, y se muestran ejemplos para ilustrar su funcionamiento. Se aborda el concepto de principio de universo cerrado y se ofrece una solución para el problema de verificar que aristóteles es mortal.

Tipo: Apuntes

2020/2021

Subido el 20/06/2021

isaac-uquillas
isaac-uquillas 🇪🇨

7 documentos

1 / 2

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS
Y MATEMÁTICAS
TRABAJO DE PROGRAMACION II
TEMA:
ELABORADO POR:
NORMAN ISAAC UQUILLAS VERDEZOTO
1
pf2

Vista previa parcial del texto

¡Descarga Programación Logica: Paradigma y Ejemplos en Prolog y más Apuntes en PDF de Programación Java solo en Docsity!

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS

Y MATEMÁTICAS

TRABAJO DE PROGRAMACION II

TEMA:

ELABORADO POR:

NORMAN ISAAC UQUILLAS VERDEZOTO

[email protected] [email protected] 1

Paradigma Lógico de programación. El paradigma lógico se basa en la definición de reglas lógicas y es un paradigma, para los ejemplos tomamos como base el lenguaje Prolog. Ejemplos ¿Qué quiere decir esto?  hombre(socrates) Es una afirmación que afecta únicamente a Sócrates y la llamamos un hecho.  mortal(X):-hombre(X) es lo que llamamos una regla y se puede leer como: X es hombreX es mortal. La regla es una implicación. Podemos observar que socrates está en minúscula, mientras que la X aparece en mayúscula, ¿por qué? Los términos en minúscula se refieren a cosas particulares y las palabras en mayúscula son incógnitas (o variables). Pero la principal diferencia entre el hecho y la regla es que la regla tiene un antecedente (que se debe cumplir para que se cumpla la regla) y el hecho no, el hecho es verdadero siempre. ¿Qué pasa si ahora quiero preguntar si Aristóteles es mortal? ?- mortal(aristoteles). Al ejecutar esa consulta, la secuencia de pasos del motor (simplificada) es la siguiente:

  1. El motor buscará en la base de conocimientos las diferentes cláusulas del predicado mortal/1, en particular las que reconoce con mortal(aristoteles).
  2. Al hacer esto encontrará una única regla: mortal(X):-hombre(X). Ergo, para probar que Aristóteles es mortal, deberá probar que es hombre.
  3. Al intentar verificar si Aristóteles es un hombre, es decir la consulta hombre(aristoteles).
  4. Pero la única definición del predicado hombre es hombre(socrates), que no reconoce con hombre(aristoteles). En este momento aparece un concepto que llamamos principio de universo cerrado , que dice que el motor asume como falso todo lo que no pueda probar como verdadero, es decir que si al preguntarle si Aristóteles es mortal, me va a contestar que no! ¿Cómo solucionar el problema? Agregando el hecho que indica que Aristóteles es un hombre Si volvemos a hacer la misma consulta ahora vamos a tener el resultado esperado. 2