Programació llògica
La programació llògica és un tipo de paradigma de programació dins del paradigma de programació declarativa. El restant dels subparadigmas de programació dins de la programació declarativa són: programació funcional, programació en restriccions, programes DSL (de domini específic) i híbrits. La programació funcional es basa en el concepte de funció (que no és més que una evolució dels predicats), de cort més matemàtic. La programació llògica gira entorn al concepte de predicat, o relació entre elements.
Motivació
[editar | editar còdic]Històricament, els ordenadorés s'han programat utilisant llenguages molt propencs a les peculiaritats de la pròpia màquina: operacions aritmètiques simples, instruccions d'accés a memòria, etc. Un programa escrit d'esta manera pot ocultar totalment el seu propòsit a la comprensió d'un ser humà, inclús un entrenat. Hui dia, estos llenguages pertanyents al paradigma de la Programació imperativa han evolucionat de manera que ya no són tan crípticos.
En canvi, la llògica matemàtica és la manera més senzilla, per a l'intelecte humà, d'expressar formalment problemes complexos i de resoldre'ls per mig de l'aplicació de regles, hipòtesis i teoremes. D'ahí que el concepte de "programació llògica" resulte atractiu en diversos camps a on la programació tradicional és un fracàs.
Campos d'aplicació
[editar | editar còdic]La programació llògica troba el seu hàbitat natural en aplicacions d'inteligència artificial o relacionades:
- Sistemes experts, a on un sistema d'informació imita les recomanacions d'un expert sobre algun domini de coneiximent.
- Demostració automàtica de teoremes, a on un programa genera noves teoremes sobre una teoria existent.
- Reconeiximent de llenguage natural, a on un programa és capaç de comprendre (en llimitacions) l'informació continguda en una expressió llingüística humana.
La programació llògica també s'utilisa en aplicacions més "mundanes" pero de manera molt llimitada, ya que la programació tradicional és més adequada a tasques de propòsit general.
Bibliografia
[editar | editar còdic]Les següents referències bibliogràfiques corresponen a lliteratura en anglés:
- Foundations of Logic Programming, J.W. Lloyd, Springer-Verlag, 1991.
- Essentials of Logic Programming, C. Hogger, Clarendon Press, Oxford, 1990.
- Logic for Computer Science: Foundations of Automatic Theorem Proving, J.H. Gallier, John Wiley and Sons, 1987.
- Logic programming as classical inference, Eric A. Martin, Show more. Journal of Applied Logic
Volume 13, Issue 3, September 2015, Pages 316–369
Existixen poques referències a lliteratura en castellà:
- Llògica Informàtica, J. Cuena, Editorial Aliança, 1985.
- Programació Llògica. Teoria i Pràctica, P. Julián, M. Alpuente, Pearson Prentice Hall, 2007.
Este últim siga possiblement el millor llibre de programació llògica en espanyol, ya que també conté les bases de llògica matemàtica.
Vore també
[editar | editar còdic]
- Este artícul conté una traducció derivada de «Programación lógica» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.