miércoles, 4 de junio de 2014

PROLOG 2.0 MATCHING

                           Matching (empataminto)

Dados dos términos cualesquiera decimos que "empatan" si se cumple lo siguiente :
(1). Son idénticos.
(2). Las variables en ambos términos pueden instanciarse a objetos de tal modo que después de la sustitución de las variables por estos objetos los términos puedan ser idénticos.
  

          Ejemplo. Los términos fecha( D, M, 1900) y fecha( D1, mayo, Y1) empatan. Una instanciación que hace que ambos términos sean idénticos es:
D se instancia a D1.
M se instancia a mayo.
Y1 se instancia a 1992.
  
Las reglas generales para decidir si dos términos S y T empatan son las siguientes :
(1). Si S y T son constantes entonces S y T empatan únicamente si se
trata de los mismos objetos.
(2). Si S es una variable y T es cualquier cosa, entonces empatan y S se instancia a T. Y a la inversa, si T es la variable, entonces T se instancia a S.
(3). Si S y T son estructuras empatan únicamente si :
(a). S y T contienen el mismo functor principal, y
(b). Todos sus componentes correspondientes empatan.
La instanciación resultante se determina por la operación de
matching sobre los componentes.

Fig.1 Operaciones de matching.
Resultados de las operaciones de matching.
Fig.2 Resultados de matching.
Bibliográfica: Prolog.pdf


No hay comentarios:

Publicar un comentario