Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
187 vistas12 páginas

Juan Lorca Control Semana 8

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 12

Lógica de Programación.

Juan Manuel Lorca Gajardo

Lógica Matemática y Digital

Instituto IACC

08 de enero 2021
Antecedentes:
1) De la siguiente línea de código:
a) Identifique las secciones.
b) Identifique los hechos.
c) Mencione las reglas y la unificación en el caso de que exista.

Predicados Mondeterm Hermana (STRING, STRING)


Mondeterm Hermano (STRING, STRING)
Mondeterm Casado (STRING, STRING)
Mondeterm Cunado (STRING, STRING)
Cláusulas Casado (“Tiberio”, “Carolina”) Hecho 1
Casado (“Jaider”, “Adriana”) Hecho 2
Hermano (“Jaider”, “Tiberio”) Hecho 3
Hermana (“Adriana”, “Edna”) Hecho 4
Hermana (“Adriana”, “Mónica”) Hecho 5
Cunado (A, C), REGLA 1
Hermana (C, B), REGLA 1
Cunado (A, B), REGLA 1
Hermano (A, C) REGLA 1
Casado (C, B) REGLA 1
Goal Cunado (“Jaider”, Z)

Desarrollo:
Debemos inferir que PROLOG es un lenguaje declarativo e interpretado, donde se
representan los conocimientos sobre un determinado dominio y sus relaciones. En base a
ello, se deducen las respuestas a las cuestiones planteadas, obteniendo con ello una
inferencia.
El dominio lo constituye un conjunto de objetos.

El conocimiento se formaliza mediante un conjunto de relaciones que describen de forma


simultánea las propiedades y sus interacciones.

Se declara el conocimiento disponible acerca de:


OBJETOS:
 Propiedades
 Relaciones
REGLAS:
 Que determinan interacciones lógicas del tipo: si ocurre q, r, s y t entonces P

VENTAJA:
 No hay que preocuparse de detalles de cómo resolver algo

DESVENTAJA:
 La resolución no siempre es eficiente.

Desde un punto de vista lógico, un programa Prolog está constituido por un conjunto de
cláusulas de Horn. Una cláusula de Horn tiene la forma general:
p(t1,t2,….,tn) :- p1(….),p2(….),…,pm(….) con m >= 0

Explicado a grandes rasgos la estructura y el funcionamiento de Prolog, ahora nos


abocares de a identificar las secciones, los hechos y las reglas si están insertas en este
ejercicio.
PREDICADOS
Se utilizan para expresar propiedades de los objetos, predicados monádicos, y relaciones
entre ellos, predicados poliádicos. En Prolog los llamaremos hechos.

Debemos tener en cuenta que:


• Los nombres de todos los objetos y relaciones deben comenzar con una letra
minúscula.
• Primero se escribe la relación o propiedad: predicado
• Y los objetos se escriben separándolos mediante comas y encerrados entre
paréntesis: (argumentos.)
• Al final del hecho debe ir un punto (".").

simbolo_de_predicado (arg1,arg2,...,argn).

Tanto para los símbolos de predicado como para los argumentos, Prolog utiliza constantes
atómicas.
CLÁUSULAS:
Un programa en Prolog está constituido por una secuencia de cláusulas. Estas cláusulas
deben representar todo el conocimiento necesario para resolver el problema.
Se pueden diferenciar tres tipos de Cláusulas:

 Hechos (afirmaciones), pueden representar:


 Objetos
 Propiedades de objetos.
 Relaciones entre objetos.
 Reglas.
 Consultas (cláusulas negativas).

Como se ha mencionado, un programa Prolog es una secuencia de cláusulas, donde cada


cláusula puede estar formada por uno o varios predicados. Las cláusulas deben terminar
obligatoriamente en punto.

Una cláusula en Prolog es una unidad de información en un programa Prolog que termina
con una parada completa (" .").

TÉRMINOS
Los términos pueden ser constantes o variables, y suponemos definido un dominio no
vacío en el cual toman valores (Universo del Discurso). En la práctica se toma como
dominio el Universo de Herbrand. Para saber cuántos individuos del universo cumplen una
determinada propiedad o relación, cuantificamos los términos.

Las constantes se utilizan para dar nombre a objetos concretos del dominio, dicho de otra
manera, representan individuos conocidos de nuestro Universo. Además, como ya hemos
dicho, las constantes atómicas de Prolog también se utilizan para representar propiedades
y relaciones entre los objetos del dominio. Hay dos clases de constantes:

 Átomos: existen tres clases de constantes atómicas:


 Cadenas de letras, dígitos y subrayado (_) empezando por letra minúscula.
 Cualquier cadena de caracteres encerrada entre comillas simples (').
 Combinaciones especiales de signos: "?-", ":-", ...

 Números: se utilizan para representar números de forma que se puedan realizar


operaciones aritméticas. Dependen del ordenador y laimplementación4
 Enteros: en la implementación de Prolog-2 puede utilizarse cualquier entero que el
intervalo [-223,223-1]=[-8.388.608,8.388.607].

 Reales: decimales en coma flotante, consistentes en al menos un dígito,


opcionalmente un punto decimal y más dígitos, opcionalmente E, un «+» o «-» y
más dígitos.

GOALS (Objetivos, Metas)


Un objetivo es una declaración que comienza con un predicado y probablemente seguida
por sus argumentos. En un objetivo válido, el predicado debe haber aparecido en al
menos un hecho o regla en el programa consultado, y el número de argumentos en el
objetivo debe ser el mismo que aparece en el programa consultado. Además, todos los
argumentos (si los hay) son constantes.

El propósito de presentar un objetivo es averiguar si la declaración representada por el


objetivo es verdadera de acuerdo con la base de datos de conocimiento (es decir, los
hechos y las reglas en el programa consultado). Esto es similar a probar una hipótesis: el
objetivo es la hipótesis, los hechos son los axiomas y las reglas los teoremas.

HECHOS
Cada cláusula es un hecho o una regla. Después de que un programa de Prolog es cargado
(o consultado) en un intérprete de Prolog, los usuarios pueden enviar metas o consultas, y
el intérprete de Prolog dará resultados (respuestas) de acuerdo con los hechos y las
reglas.

Hechos:
Un hecho debe comenzar con un predicado (que es un átomo) y terminar con un tope
completo. El predicado puede ir seguido de uno o más argumentos que están entre
paréntesis. Los argumentos pueden ser átomos (en este caso, estos átomos se tratan
como constantes), números, variables o listas. Los argumentos están separados por
comas.

Si consideramos que los argumentos en un hecho son objetos, entonces el predicado del
hecho describe una propiedad de los objetos.
La presencia de un hecho indica una afirmación que es verdadera. La ausencia de un
hecho indica una afirmación que no es cierta. Vea el siguiente ejemplo:

REGLAS:
Una regla puede verse como una extensión de un hecho con condiciones adicionales que
también deben cumplirse para que sea cierta. Está formado por dos partes. La primera
parte es similar a un hecho (un predicado con argumentos). La segunda parte consta de
otras cláusulas (hechos o reglas que están separadas por comas) que deben ser
verdaderas para que la regla misma sea verdadera. Estas dos partes están separadas por
“: - ". Puede interpretar este operador como " si " en inglés.

2) Siendo las siguientes reglas, diseñe el diagrama de bloques correspondiente:

Regla 6
Regla 1 Regla 2 Regla 3 Regla 4 Regla 5
Si K y L
Si A y B Si D, E y F Si H y I Si C y G Si G y J
Entonces
Entonces C Entonces G Entonces J Entonces K Entonces L
M

Para hacer el diagrama asigne los valores A = Verdadero, G = Falso, K = Falso, L = Falso,
determine el Valor de H, mediante la estrategia de encadenamiento de reglas orientado a
un objetivo.

Asignación de Valores:

A = AVerdadero

G = GFalso

K = K Falso

L = L Falso

 Determine el valor de H H
Simbología

A B C D E F G H I J

K L M
PASO 1:
Estructura del Diagrama:

B
K

M
E G

F
L

I
PASO 2:
El Objetivo es H

B
K

M
E G

F
L

Se marca el objetivo y se busca una regla que involucre a H

J
Para este caso se involucra la regla 3, por lo tanto se señala a como nuevo
objetivo.

PASO 3:
El Objetivo es J

B
K

M
E G

F
L

Ahora pasa J nuevo objetivo, dónde H pasa a ser un objetivo previo, se marca J y se busca
una regla que involucre a J.
La regla que involucra a J es la regla 5 dónde dice, Si G y J entonces L, como se desconoce
el valor de G, no se puede concluir

PASO 4
Se señala como nuevo objetivo G.

B
K

M
E G

F
L

Se señala a G como el nuevo objetivo, H y J pasan a ser objetivos de G y se busca una regla
que involucre a G, para esto se encuentra la regla 2 que dice:
Si D, E y F entonces G.

Al observar la simbología dada para este ejercicio G = Falso, por ende el valor de H es
Falso y finaliza.

3) Diseñe un algoritmo que permita hallar los abuelos de Luis, basándose en los
siguientes hechos.
Julio es el padre de Jaider
José es el padre de Adriana
Jaider es el padre de pedro
Adriana es la hermana de pedro
Pedro es hermano de Luis
RESPUESTA:
Dominios
persona= string
Predicados
Padre (persona, persona).
Clases
Padre ("Julio", "Jaider"). %Julio es padre de Jaider
Padre ("José", "Adriana"). %José es padre de Adriana
Padre ("Jaider", "Pedro"). %Jaider es padre de Pedro
Hermanos ("Adriana", "Pedro"). %Adriana es Hermana de Pedro
Hermanos ("Pedro", "Luis"). %Pedro es Hermano de Luis

JULIO (Padre) JOSÉ (Padre)


FIGURA
ABSTRACTA
FEMENINA

ADRIANA
JAIDER (Hija de José)
Madre de
(Hijo de Julio) Pedro
Adriana y
Luis

HERMANOS
PEDRO
Luis
Por lo (Hijo
tantodelos abuelos
Jaider y de Luis son Julio y José y conforman dos familia, dónde Pedro,
(Hermano
Adriana y Luisdetienen
hermano consanguineidad por parte materna.
Adriana)
de Pedro)

Bibliografía:
IACC (2018). Lógica de programación. Lógica Matemática y Digital. Semana 8.

También podría gustarte