Notasbit

Las mejores noticias de tecnología en un sólo lugar

Publicado por: UnoCero

Publicado en: 23/11/2015 09:00

Escrito por: Manuel López Michelone

Programación lúdica: Un ejercicio simple en Prolog

Prolog es uno de los mejores lenguajes de programación para hacer inferencias lógicas. Básicamente, definimos hechos y reglas, los cuales podrían describirse formalmente como axiomas y teoremas. Así, podemos definir un hecho: ama(juan, maría). Lo cual se lee juan ama a maría. Cabe decir que si pongo ama(maría, juan)., lo que leería es maría ama a juan, lo cual no es lo mismo que en el hecho anterior. Aquí el orden de los parámetros si es significativo, al menos para quien programa este tipo de problemas en Prolog. Hay en cambio reglas, las cuales se analizan conforme a los hechos, pero que en esencia, generalizan una situación. Por ejemplo, cuando se quiere saber quién es hermano de quién. En Prolog escribiríamos: hermanos(X,Y) :- padre(X,Z), padre(Y,Z), X=\=Y. Lo cual se lee en español: X y Y son hermanos si el padre de X es Z, el padre de Y es también ese mismo Z y X y Y no son la misma persona. Podemos pues, hacer en Prolog este tipo de reglas que muestren las relaciones de una familia. Lo simpático es que estas definiciones de las reglas pueden llevar a casos por demás curiosos. Considérese el siguiente texto: Junto al cadáver de un suicida se encontró una carta explicatoria diciendo: ‘No se culpe a nadie de mi muerte. Me quito la vida porque dos días más que viviese sería mucho martirio: Tuve la desgracia de casarme con una viuda. Esta tenía una hija. De haberlo sabido, nunca me hubiera casado …

Top noticias del 23 de Noviembre de 2015