Programmazione logica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m introduzione dei concetti di risoluzione, sostituzione e unificazione
 
(12 versioni intermedie di 7 utenti non mostrate)
Riga 1:
{{S|programmazione}}
In [[informatica]] la '''programmazione logica''' è un [[paradigma di programmazione]] nato negli anni '70 che adotta la [[logica del primo ordine]] sia per rappresentare sia per elaborare l'informazione. La programmazione logica differisce dalla programmazione tradizionale, chesviluppata da
linguaggi ad alto livello quali [[Fortran]], [[Cobol]], Basic[[BASIC]], Algol[[ALGOL]], [[Pascal (linguaggio di programmazione)|Pascal]], [[Ada (linguaggio di programmazione)|Ada]], etc., in quanto richiede e nello stesso tempo consente al programmatore di descrivere la struttura logica del problema piuttosto che il modo di risolverlo <ref>Furlan F. & Lanzarone G.A. - PROLOG Linguaggio e metodologia di programmazione logica</ref>. Da un punto di vista concettuale, il programmatore si può così concentrare sugli aspetti logici del problema e sul modo migliore per rappresentarli, senza essere focalizzato sulla necessità di determinare in dettaglio il modo di pervenire ai risultati.
 
In particolare viene adottato il frammento della logica a [[clausola di Horn|clausole di Horn]] che rappresenta la base teorica su cui sono costruiti i linguaggi di programmazione afferenti al paradigma logico e in particolare il [[Prolog]], o suoi sottolinguaggi, come [[Datalog]] o [[AnsProlog]].
 
Il meccanismo principale per elaborare teorie logiche fatte di clausole è l'la regola di ragionamento detta [[Risoluzione (logica)|risoluzione]] di Robinson, a sua volta basata su concetti come [[Sostituzione (logica)|sostituzione]] e [[Unificazione (logica)|unificazione]].
 
Fra le estensioni della programmazione logica sono la [[Programmazioneprogrammazione logica induttiva]] e la [[Programmazioneprogrammazione logica abduttiva]].
 
== Note ==
Furlan F. & Lanzarone G.A. - PROLOG Linguaggio e metodologia di programmazione logica
<references/>
 
== Altri progetti ==
{{interprogetto|preposizione=sulla}}
 
== Collegamenti esterni ==
* {{ThesaurusCollegamenti BNCFesterni}}
* {{FOLDOC|logic programming|logic programming}}
 
{{Paradigmi di programmazione}}