Prolog: almacenar conocimiento nuevo dinámicamente

2021-04-11 - Categorías: Inteligencia Artificial / Prolog
Prolog assert añadiendo conocimiento dinamicamente

Esto es un howto o codekata en Prolog para almacenar nuevo conocimiento en una base de conocimiento dinámicamente. Para hacer esto se utilizan dos función assert para añadir los nuevos conocimientos. También tenemos disponible la función retract o retractall para borrar conocimientos.

Código fuente

Un arranque para hacer esto puede ser algo tal que así:

% Testing retractall y assert..

persona(maria).
persona(jose).

Esto simplemente establece que maria es una persona, y que jose también es una persona. Si ahora queremos añadir mientras que consultamos a Prolog que jaime también es una persona podríamos decirle a Prolog:

?- assert(persona(jaime)).

Ahora, tal y como se ve en la imagen podríamos consultar las personas que están almacenadas en la BD haciendo persona(X). Así X tomará todos los valores posibles del predicado persona(), es decir, todos los átomos ligados al predicado persona, y los lista como en la imagen del principio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

© 2021 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.