Está en la página 1de 8

NOMBRE DE ASIGNATURA : LÓGICA MATEMÁTICA Y DIGITAL .

SEMANA 7

Nombre del estudiante : Julio Enrique Martinez Pérez.


Fecha de entrega : 11/12/2023
Carrera : Ingeniería en Automatización y Control.
DESARROLLO
Lee atentamente la información que se presenta. Analízala de acuerdo con los contenidos revisados en la
semana y desarrolla la actividad evaluativa.

Has aplicado para un nuevo trabajo en una importante empresa líder en el desarrollo de sistemas
automatizados de última tecnología, enfocados en Programación Lógica como herramienta base para la
aplicación de sistemas expertos e inteligencia artificial.

La Programación Lógica es una variedad de la programación declarativa, muy diferente a los lenguajes de
programación que se usan comúnmente en la actualidad. En ella un algoritmo se crea para generar nuevo
conocimiento a partir de sentencias o datos que se definen como conocidos y que se relacionan en forma
lógica mediante un mecanismo de inferencia.

Como paso previo para la selección, los postulados al puesto deben superar ciertas pruebas técnicas sobre
el tema, donde se plantean dos de los problemas más analizados por la Programación Lógica, como son, las
relaciones familiares o jerárquicas, y el encadenamiento de datos.

Por tanto, es necesario, aunque resulte un tema bastante complejo, manejar los conceptos relativos a este
tipo de programación basada en lógica de primer orden, o como también se conoce Lógica de Predicados,
porque constituye el punto de origen y base teórica en la cual se fundamentan las diversas aplicaciones de
sistemas expertos e Inteligencia Artificial, que inundan la cotidianidad humana, tanto a nivel personal
(apps móviles con reconocimiento de voz, sistemas de navegación, GPS, entre otros), así como en el área
laboral e industrial (charlas virtuales chatbot, sistematización industrial, por nombrar algunos).

A partir de la información anterior, elabora un informe escrito, que relacione los principios y elementos
básicos de la Programación Lógica, con la finalidad de establecer su importancia como herramienta para la
formulación de algoritmos de programación.

Dicho informe debe estar estructurado de la siguiente forma:

• Introducción.

• Desarrollo de actividades.

• Conclusiones.

• Aportes profesionales.

• Referencias bibliográficas.
La Programación Lógica es un paradigma de programación declarativa que se diferencia significativamente
de los lenguajes de programación convencionales. Se basa en la creación de algoritmos que generan nuevo
conocimiento a partir de sentencias o datos conocidos, relacionados de manera lógica a través de
mecanismos de inferencia. Este enfoque tiene una gran relevancia en el desarrollo de sistemas
automatizados de última tecnología, especialmente en la construcción de sistemas expertos para realizar
una tarea determinada. En este informe, se explorarán los principios y elementos básicos de la Programación
Lógica y se discutirá su importancia como herramienta para la formulación de algoritmos de programación.

Para completar tu informe, desarrolla las actividades que aparecen a continuación:

1. Elementos Básicos de la Programación Lógica: Explica con tus propias palabras, justificando con un
ejemplo, que entiendes por:

a) Una cláusula de Horn es una estructura fundamental en la programación lógica que se utiliza para
representar reglas lógicas en un formato específico. Se caracteriza por tener al máximo una única
afirmación positiva y cero o más afirmaciones negativas.

Podríamos expresar una cláusula de Horn de la siguiente manera: Si una persona tiene 18 años o más
(hecho positivo) y no es un estudiante a tiempo completo (negación), entonces es un adulto.

Esta es una cláusula de Horn porque tiene una sola afirmación positiva (es un adulto) y una condición
negativa (no es estudiante a tiempo completo). La estructura de las cláusulas de Horn permite la inferencia
lógica y el razonamiento en la programación lógica.

b) Unificación

La unificación es un proceso esencial en la programación lógica que se utiliza para encontrar instancias
comunes entre dos expresiones lógicas. En otras palabras, se trata de encontrar sustituciones de variables
que hacen que dos expresiones sean idénticas o compatibles

2. Motor de Inferencia: Tomando la base de datos de relaciones familiares que se muestra en el siguiente
gráfico, escribe un motor de inferencia, identificando seis hechos y dos reglas. Luego explica el proceso de
consulta que se puede realizar, dando dos ejemplos de consultas cuya conclusión sea Verdadera y dos
ejemplos de consultas con respuesta Falso.
Para crear un motor de inferencia basado en la base de datos de relaciones familiares, primero definiremos
seis hechos y dos reglas que representen las relaciones familiares. Luego, explicaremos el proceso de
consulta y proporcionaremos ejemplos de consultas con respuestas verdaderas y falsas.

Hechos:

Padre (Juan)  Hijos (Julia – José – Pablo)

Madre (Sara)  Hijos (Pablo)

Padre (José - Pablo)

Madre (Julia)  Hijos (Erika)

Padre (José)  Hijos (Doris - Pedro)

Padre (Pablo)  Hijos (Hans - Maria)

Estos hechos representan relaciones familiares donde "Padre" y "Madre" son relaciones entre dos
personas que indican la paternidad y maternidad.

Reglas:

Abuelo(X, Y) :- Padre(X, Z), Padre(Z, Y)

Abuela(X, Y) :- Madre(X, Z), Madre(Z, Y)

Estas reglas nos permiten inferir las relaciones de abuelo y abuela basadas en la relación de padre y madre.

Proceso de Consulta:

Para realizar consultas en este motor de inferencia, se pueden utilizar las reglas y hechos definidos para
deducir relaciones familiares adicionales.
3. Estrategia de Inferencia: Explica la estrategia de encadenamiento de reglas, determinando todas las
conclusiones posibles con el siguiente grupo de reglas y suponiendo los valores conocidos C = verdadero, H
= verdadero, K = falso y M = verdadero. Puedes diseñar un diagrama de bloque que muestre el
encadenamiento de las reglas.

Esta estrategia sigue las reglas secuencialmente y evalúa si las condiciones de una regla son verdaderas, lo
que lleva a la activación de esa regla y la aplicación de su conclusión. A continuación, se presentan las
reglas y los valores conocidos:

Reglas:

1. Si C es verdadero, entonces D es verdadero.

2. Si D es verdadero, entonces E es verdadero.

3. Si H es verdadero, entonces I es verdadero.

4. Si I es verdadero, entonces J es verdadero.

5. Si J es verdadero, entonces K es verdadero.

6. Si M es verdadero, entonces N es verdadero.

Valores conocidos:

• C = verdadero

• H = verdadero

• K = falso

• M = verdadero

Para determinar todas las conclusiones posibles, aplicaremos la estrategia de encadenamiento de reglas:

Paso 1: Regla 1 (C -> D)

• Como C es verdadero, activamos la Regla 1.

• Conclusión: D es verdadero.

Paso 2: Regla 2 (D -> E)


• Como D es verdadero, activamos la Regla 2.

• Conclusión: E es verdadero.

Paso 3: Regla 3 (H -> I)

• Como H es verdadero, activamos la Regla 3.

• Conclusión: I es verdadero.

Paso 4: Regla 4 (I -> J)

• Como I es verdadero, activamos la Regla 4.

• Conclusión: J es verdadero.

Paso 5: Regla 5 (J -> K)

• Como J es verdadero, activamos la Regla 5.

• Conclusión: K es verdadero.

Paso 6: Regla 6 (M -> N)

• Como M es verdadero, activamos la Regla 6.

• Conclusión: N es verdadero.

Ahora, tenemos todas las conclusiones posibles basadas en las reglas y los valores conocidos:

• C = verdadero

• D = verdadero

• E = verdadero

• H = verdadero

• I = verdadero

• J = verdadero

• K = verdadero

• M = verdadero

• N = verdadero
En conclusión, la Programación Lógica, respaldada por los principios de la Lógica de Predicados, se
presenta como una herramienta esencial en la formulación de algoritmos de programación. La capacidad
de inferir conclusiones a partir de datos previamente establecidos, y la aplicabilidad práctica de estos
conceptos en el desarrollo de sistemas avanzados, resalta la importancia de este enfoque en la industria
tecnológica actual.

Para los profesionales que aspiran a desempeñarse en el campo de sistemas automatizados, comprender a
fondo la Programación Lógica y la Lógica de Predicados se convierte en un activo invaluable. Estos
conocimientos no solo facilitan la superación de pruebas técnicas en procesos de selección, sino que
también permiten la contribución significativa al desarrollo y mejora continua de tecnologías de
vanguardia, desde sistemas de inteligencia artificial hasta aplicaciones que impactan la vida diaria de las
personas.
REFERENCIAS BIBLIOGRÁFICAS
IACC. Contenidos semana 7 “LÓGICA MATEMÁTICA Y DIGITAL”.

file:///C:/Users/marti/Downloads/S7_CONTENIDO_LOGMD1302%20(300922)%20(1).pdf

IACC. Contenidos semana 7 “Principios de programación lógica”.

https://publicaciones-api.iacc.cl/pubs/vista/1761

IACC. Contenidos semana 7 “Características de la programación lógica”.

https://publicaciones-api.iacc.cl/pubs/vista/1762

Contenidos semana 7 “Cláusulas de Horn”.

https://dit.upm.es/~gfer/ssii/rcsi/rcsisu39.html

También podría gustarte