En este tema, aprenderemos cómo realizar consultas simples en Prolog. Las consultas son una parte fundamental de Prolog, ya que permiten interactuar con la base de datos de hechos y reglas para obtener información.

Objetivos

  • Comprender qué es una consulta en Prolog.
  • Aprender a formular consultas simples.
  • Practicar la ejecución de consultas en Prolog.

¿Qué es una Consulta en Prolog?

Una consulta en Prolog es una pregunta que se le hace al sistema para verificar si ciertos hechos o reglas son verdaderos. Las consultas se utilizan para extraer información de la base de datos de Prolog.

Ejemplo de Consulta

Supongamos que tenemos los siguientes hechos en nuestra base de datos:

hombre(juan).
hombre(pedro).
mujer(maria).
mujer(ana).

Podemos hacer una consulta para verificar si juan es un hombre:

?- hombre(juan).

La respuesta de Prolog será true si el hecho hombre(juan) está en la base de datos.

Formulando Consultas Simples

Consultas de Hechos

Las consultas de hechos verifican si un hecho específico es verdadero. La sintaxis es simplemente el nombre del hecho seguido de los argumentos entre paréntesis.

Ejemplo

?- mujer(maria).

Prolog responderá true si mujer(maria) está en la base de datos.

Consultas con Variables

Las consultas pueden incluir variables para buscar todos los valores que satisfacen la consulta. Las variables en Prolog se escriben con una letra mayúscula o un guion bajo _.

Ejemplo

?- hombre(X).

Prolog buscará todos los valores de X que hagan verdadera la consulta hombre(X). La respuesta podría ser:

X = juan ;
X = pedro.

El punto y coma ; permite continuar buscando más soluciones.

Consultas con Múltiples Condiciones

Podemos combinar múltiples condiciones en una consulta usando comas , para representar una conjunción lógica (AND).

Ejemplo

?- hombre(X), mujer(Y).

Prolog buscará todas las combinaciones de X y Y que hagan verdadera la consulta. La respuesta podría ser:

X = juan, Y = maria ;
X = juan, Y = ana ;
X = pedro, Y = maria ;
X = pedro, Y = ana.

Ejercicios Prácticos

Ejercicio 1

Dada la siguiente base de datos:

padre(juan, pedro).
padre(juan, maria).
madre(ana, pedro).
madre(ana, maria).

Realiza las siguientes consultas:

  1. ¿Quién es el padre de pedro?
  2. ¿Quiénes son los hijos de juan?
  3. ¿Quién es la madre de maria?

Soluciones

  1. Consulta: ?- padre(X, pedro).

    • Respuesta: X = juan.
  2. Consulta: ?- padre(juan, X).

    • Respuesta: X = pedro ; X = maria.
  3. Consulta: ?- madre(X, maria).

    • Respuesta: X = ana.

Ejercicio 2

Dada la siguiente base de datos:

amigo(juan, pedro).
amigo(pedro, maria).
amigo(maria, ana).

Realiza las siguientes consultas:

  1. ¿Quién es amigo de pedro?
  2. ¿Quiénes son amigos de maria?
  3. ¿Existen amigos mutuos entre juan y maria?

Soluciones

  1. Consulta: ?- amigo(pedro, X).

    • Respuesta: X = maria.
  2. Consulta: ?- amigo(maria, X).

    • Respuesta: X = ana.
  3. Consulta: ?- amigo(juan, X), amigo(X, maria).

    • Respuesta: X = pedro.

Resumen

En esta sección, hemos aprendido a realizar consultas simples en Prolog. Hemos visto cómo formular consultas de hechos, consultas con variables y consultas con múltiples condiciones. Además, hemos practicado con ejercicios para reforzar estos conceptos. En el próximo tema, exploraremos las variables y la unificación en Prolog.

© Copyright 2024. Todos los derechos reservados