Está en la página 1de 6

lOMoARcPSD|12539330

Actividad 2, Inteligencia Artificial

Ingeniería (Universidad Tecnológica Latinoamericana)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Caro CM (yuri27caro@hotmail.com)
lOMoARcPSD|12539330

Nombre de la materia
Inteligencia artificial

Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales

Nombre del alumno


Marco Antonio Rodríguez Romero

Matrícula
010254043

Nombre de la Tarea
Tarea 2

Unidad #2
Sintaxis y semántica del lenguaje
de programación lógica

Nombre del Profesor


Carlos Roberto Domínguez Mayorga

Fecha
25/07/2021

Descargado por Caro CM (yuri27caro@hotmail.com)


Unidad 2. Sintaxis y semántica del lenguaje de programación
lógica

INTRODUCCION.

La programación declarativa es un estilo de programación en el que el programador no dice “cómo”


llegar a obtener la solución de un problema (es decir, las instrucciones necesarias para llegar a ella) sino
“qué” define esa solución. Es lo contrapuesto a la programación imperativa, en la que el programador
indica los pasos o instrucciones que deben realizarse para obtener la solución.

Programa = Lógica + Control.

La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño
de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional. La
programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación
declarativa.

PROLOG es un lenguaje de programación para ordenadores que se basa en el lenguaje de la Lógica de Primer
Orden y que se utiliza para resolver problemas en los que entran en juego objetos y relaciones entre ellos. Por
ejemplo, cuando decimos "Jorge tiene una moto", estamos expresando una relación entre un objeto (Jorge) y otro
objeto en particular (una moto). Más aún, estas relaciones tienen un orden específico (Jorge posee la moto y no al
contrario). Por otra parte, cuando realizamos una pregunta (¿Tiene Jorge una moto?) lo que estamos haciendo es
indagando acerca de una relación. Además, también solemos usar reglas para describir relaciones: "dos personas
son hermanas si ambas son hembras y tienen los mismos padres".

2
Descargado por Caro CM (yuri27caro@hotmail.com)
Unidad 2. Sintaxis y semántica del lenguaje de programación
lógica

TAREA 2

Tarea:

1. Realiza un programa en Prolog con los siguientes hechos:

• Clara es madre de Pedro.


• Pedro es padre de José.
• Ana es madre de Clara.
• José es padre de Clara.
• ¿Es Clara abuela de José?
• ¿Es Pedro abuelo de Clara?
• ¿Es Ana bisabuela de alguien?
• ¿De quién?

3
Descargado por Caro CM (yuri27caro@hotmail.com)
Unidad 2. Sintaxis y semántica del lenguaje de programación
lógica

2. Genera un reporte de cómo realizaste el programa considerando como mínimo los siguientes puntos:

• ¿Cómo instalaste el programa?

Desde la pagina web oficial https://www.swi-prolog.org/download/stable posteriormente busque el archivo exe


con las características de mi computadora. Una vez descargado lo ejecute como administrador y finalmente solo
acepte los términos

• ¿Qué software de Prolog usaste? SWI-Prolog 8.2.4-1, y ¿por qué? Porque es el más
actualizado y tiene una interfaz sencilla de utilizar, aunque también me acomodo desde la terminal.
• ¿Qué reglas sintácticas utilizaste?

Condicionantes, ya que nos va a indicar si el valor descrito es o no correcto.

• Describe el funcionamiento del algoritmo.

Se usaron los algoritmos de ordenamiento los cuales revisan cada elemento de la lista en la que se va a ordenar
e intercambiándolos de posición si el orden estaba equivocado

• ¿Cómo se compila y qué resultado obtuviste?

Primero se realiza un archivo nuevo, que es donde vamos a colocar las variables a utilizar. Una vez definidas,
se selecciona la opción que dice compile buffer y se obtienen los resultados solicitados

3. Envía tu reporte académico al profesor para que lo retroalimente.

Conclusión.

4
Descargado por Caro CM (yuri27caro@hotmail.com)
Unidad 2. Sintaxis y semántica del lenguaje de programación
lógica

Un sistema Prolog está basado en un comprobador de teoremas por resolución para cláusulas de Horn. La regla de
resolución no nos dice que cláusulas elegir ni que literales unificar dentro de cada cláusula. La estrategia de
resolución particular que utiliza Prolog es una forma de resolución de entrada lineal (árbol de búsqueda
estándar). Para la búsqueda de cláusulas alternativas para satisfacer el mismo objetivo, Prolog adopta una
estrategia de primero hacia abajo (recorrido del árbol en profundidad). Por todo esto, el orden de las cláusulas
(hechos y reglas) de un determinado procedimiento es importante en Prolog, ya que determina el orden en que las
soluciones serán encontradas, e incluso puede conducir a fallos en el programa. Más importante es, si cabe, el
orden de las metas a alcanzar dentro del cuerpo de una regla.

Referencias.

Programación lógica (Rossel, G., 2004).

5
Descargado por Caro CM (yuri27caro@hotmail.com)

También podría gustarte