Programmazione logica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m introduzione dei concetti di risoluzione, sostituzione e unificazione
 
(41 versioni intermedie di 25 utenti non mostrate)
Riga 1:
{{S|programmazione}}
{{stub informatica}}
LaIn [[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, sviluppata da
linguaggi ad alto livello quali [[Fortran]], [[Cobol]], [[BASIC]], [[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 ==
<references/>
 
== Altri progetti ==
{{interprogetto|preposizione=sulla}}
 
[[Categoria:Linguaggi di programmazione]]
[[Categoria:Logica]]
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|logic programming|logic programming}}
 
[[Categoria:Linguaggi{{Paradigmi di programmazione]]}}
{{Controllo di autorità}}
{{stub portale|informatica|ingegneria}}
 
[[Categoria:Programmazione logica| ]]
* [http://www.dimi.uniud.it/gulp/ Gruppo Utenti Logic Programming]