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, sviluppata da linguaggi ad alto livello quali Fortran, Cobol, BASIC, ALGOL, Pascal, 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 [1]. 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 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 è la regola di ragionamento detta risoluzione di Robinson, a sua volta basata su concetti come sostituzione e unificazione.

Fra le estensioni della programmazione logica sono la programmazione logica induttiva e la programmazione logica abduttiva.

Note

modifica
  1. ^ Furlan F. & Lanzarone G.A. - PROLOG Linguaggio e metodologia di programmazione logica

Altri progetti

modifica

Collegamenti esterni

modifica
Controllo di autoritàThesaurus BNCF 7540 · LCCN (ENsh86003454 · GND (DE4195096-3 · BNE (ESXX550687 (data) · BNF (FRcb12067891q (data) · J9U (ENHE987007553495005171

📚 Artikel Terkait di Wikipedia

Programmazione logica induttiva

Inductive Logic Programming) è una sottoarea dell'apprendimento automatico che rappresenta la sua confluenza con la programmazione logica. Spesso viene

Nicola Leone

Christoph Koch, Nicola Leone e Gerald Pfeifer, Enhancing disjunctive logic programming systems by SAT checkers, in Artificial Intelligence, vol. 151, n. 1

Prolog

linguaggio di programmazione che adotta il paradigma di programmazione logica. È stato ideato da Robert Kowalski (aspetto teorico), Marten Van Emdem (dimostrazione

Answer set programming

L'answer set programming (ASP) è una forma di programmazione logica di tipo dichiarativo utilizzato per problemi di ricerca complessi (in primis NP-difficili)

Logica lineare

Edition), Edward N. Zalta (ed.). Overview of linear logic programming by Dale Miller. In Linear Logic in Computer Science, edited by Ehrhard, Girard, Ruet

Ilp

Linear Programming – programmazione lineare per la risoluzione di problemi lineari interi Inductive Logic Programming (programmazione logica induttiva)

DBLP

& Library Project, precedentemente noto come DataBase systems and Logic Programming, è un sito web che fornisce risorse bibliografiche specialistiche

Apprendimento automatico

dettaglio: Programmazione logica induttiva. La programmazione logica induttiva (anche ILP, dall'inglese inductive logic programming) è un approccio all'apprendimento