I SISTEMI BASATI SULLA CONOSCENZA GIURIDICA
P., Information Retrieval Research, 1981.
3. I principali progotti dogli anni
3.1. La programmasi ona logica: il progatto PROLOG
La programmazione logica56 si è presto rivelata uno degli indirizzi più promettenti per le applicazioni giuridiche dell'intelligenza artificiale. A favore di questo approccio vi sono, in generale, i vantaggi correlati all'uso di metodi logici per la rappresentazione della conoscenza57. Inoltre, una rappresentazione logica della conoscenza giuridica può vantare importanti precedenti negli studi di logica delle norme, così che risulta facilitato il collegamento tra intelligenza artificiale e cultura filosofico-giuridica.
Come vedremo nel seguito, in linea di principio, qualsiasi applicazione di intelligenza artificiale può essere realizzata con tecniche di programmazione logica58. Tuttavia, queste tecniche rendono immediatamente disponibile un approccio determinato: la normativa giuridica può essere
55Si osservi che la causa sopra descritta non sarebbe reperita con questa interrogazione, in quanto non soddisfa le tutte condizioni specificate nell'interrogazione. Infatti nella causa dell'esempio è falsa la firma dell'emittente e non quella del girante, e il convenuto è una banca.
56Abbiamo già introdotto la programmazione logica nel cap. 3 par. 4. Riprenderemo più estesamente questa problematica nel cap. 7 par. 2.
S7Cfr. cap. 9 par. 1.
58I1 problema dei limiti e delle prospettive dell'uso della programmazione logica per rappresentare contesti giuridici sarà trattato nel cap. 8 par. 6.
rappresentata come un insieme di assiomi espressi (formalmente) nel linguaggio logico prescelto. Un dimostratore di teoremi deduce le conseguenze che derivano da quegli assiomi e da altre informazioni formalizzate nel sistema (come parti della sua base assiomatica). Ad esempio, i fatti di un caso determinato possono essere anch'essi espressi in un linguaggio logico. Il sistema, unendo la rappresentazione di norme e fatti, disporrà allora di un insieme di premesse sufficienti per dedurre la disciplina del caso particolare59.
I risultati più significativi nell'uso della programmazione logica si sono avuti finora con il PROLOG. Non viene usata tutta la logica dei predicati, ma un sottoinsieme determinato: le clausole di Horn estese con la negazione come fallimento. Questo formalismo è infatti un linguaggio semplice, naturale, sufficientemente ricco per molte applicazioni, e per esso sono disponibili dimostratori di teoremi collaudati ed efficienti60.
II progetto PROLOG, avviato presso 1'Imperiai College di Londra all'inizio degli anni 80, è il primo e il più conosciuto tra i progetti che hanno utilizzato metodi di programmazione logica. Nell'ambito di questo progetto sono state sviluppate applicazioni in diversi settori del diritto inglese: la legislazione in materia di cittadinanza61 e di immigrazione, la disciplina dei finanzi aunenti governativi all'industria, aspetti del diritto previdenziale e fiscale62. Attualmente è in corso lo sviluppo di un sistema
59Per una discussione di questo approccio all'intelligenza artificiale nel diritto, cfr. KOWALSKI R.A., SERGOT M.J., The Use of Logical Models
in Legal Problem Solving, relazione presentata al Congresso
internazionale Expert Systems in Law (Bologna, maggio 1989) .
^ P e r la distinzione tra programmazione logica in senso lato e in senso stretto, cfr. cap. 7 par. 2.
61Cfr. SERGOT M.J., SANDRI F., KOWALSKI R.A., KRIWACZEK F., HAMMOND P., CORY H.T., British Nationality Act as a Logic Programme, in "Communication of the ACM", 29,5, 1986, pp. 370-386: SERGOT M.J., CORY H.T., HAMMOND P., KOWALSKI R.A., KRIWACZEK F., SADRI F., Formalisation
of the British Nationality Act, in ARNOLD C. (a cura di) Yearbook of Law, Computers and Technology: Volume 2, Butterworth, London, 1986.
®2pej. più precisi riferimenti a questi lavori, cfr. SERGOT M.J., The
Representation of Law in Computer Programs: A Survey and Comparison of Past and Current Projects, cit.
che ha per oggetto un ampio settore della disciplina inglese della sicurezza sociale63.
Le ricerche sviluppate presso 1'Imperiai College si caratterizzano per il rigore e la consapevolezza nell'uso della programmazione logica. In particolare, si è posto l'accento sull'uso dichiarativo della programmazione logica: i linguaggi di programmazione logica (e, specificamente, il PROLOG) sono stati usati per ottenere una rappresentazione assiomatica delle conoscenze (norme giuridiche e/o fatti cui debbano essere applicate); è poi un motore inferenziale (lo stesso del sistema PROLOG, o un diverso motore inferenziale), a usare quelle conoscenze, cioè a dedurre dalla rappresentazione assiomatica le conseguenze rilevati. Gli studiosi partecipanti a questo progetto hanno ripetutamente sottolineato i vantaggi dell'uso dichiarativo della programmazione logica:
(a) Una stessa rappresentazione della conoscenza può essere utilizzata con diversi metodi di deduzione (diversi motori inferenziali).
(b) Come il ragionamento, così anche la spiegazione è una prova logica, più comprensibile che la ripresentazione
(il "tracciato") dell'esecuzione di un programma.
(c) Una rappresentazione dichiarativa può essere usata per scopi diversi.
E' possibile anche un uso imperativo del PROLOG che, però non presenta vantaggi decisivi rispetto all'uso di metodi di programmazioni tradizionali64. Nel progetto PROLOG
63Cfr. BENCH-CAPON T.J.M., ROBINSON G.O., ROUTEN T.W., SERGOT M.J.,
Logic Programming for Large Scale Applications in Law: A Formalisation of Supplementary Benefit legislation, in Proceedings of the First
international Conference on Artificial Intelligence and Law (Boston,
Maggio 1987), c i t ., pp. 190-198.
64In questo approccio il PROLOG viene usato, anziché per rappresentare la conoscenza (delegando al motore inferenziale il compito della sua manipolazione), per specificare nel dettaglio le operazioni che il sistema dovrà effettuare nell'interazione con l'utente. Cfr. SERGOT M.J., The Representation of Law in Computer Programs, cit. p. 32 s., il quale pone l'accento sulla differenza tra l'approccio dichiarativo seguito presso 1'Imperiai College e l'approccio imperativo adottato, ad esempio, da SCHLOBOHM A., TA— A PROLOG Program which Analyses Income
Tax Issues under Section 318 (A) on the Internal Revenue Code, in WALTER
C. (a cura di), Computing Power and Legal Reasoning, cit., pp. 765-815. Schlobohm ha realizzato in PROLOG un programma assimilabile a quelli illustrati sopra, nel cap. 2 par. 2.1.2. (nell'articolo citato è riportato l'intero codice del programma).
l'uso dichiarativo della programmazione logica è stato facilitato dall'uso del guscio APES65.
Finora, le applicazioni giuridiche della programmazione logica si sono limitate al ragionamento deduttivo. In particolare, nell'ambito del progetto PROLOG, sono stati sviluppati sistemi che deducono conclusioni giuridiche sulla base della una rappresentazione formale (a) della normativa giuridica e (b) del caso da qualificare.
La rappresentazione del caso viene fornita dall'utente nella consultazione del sistema, il quale si limita, a risolvere questioni di diritto66. Lo sviluppo rigoroso di modelli logici del diritto ha il merito di aver posto in luce le difficoltà che ineriscono al ragionamento deduttivo nel diritto, difficoltà spesso superficialmente accantonate da chi ha preferito affrontare direttamente aspetti che vanno al di là del ragionamento deduttivo (il ragionamento comune, l'analogia, i concetti indeterminati e cosi via), seppure con strumenti teorici ed informatici relativamente rozzi.
Tuttavia, sembra che anche presso 1'Imperiai College, si stiamo ora avviando applicazioni che vanno al di là delle esperienze sin qui realizzate. In particolare, si stanno esaminando gli aspetti seguenti: la possibilità di diversi usi di una stessa rappresentazione della conoscenza giuridica (per diversi utenti o con diverse strategie inferenziali), l'impiego nel processo legislativo di rappresentazioni della legislazione in modelli logici (per controllare, ad esempio, se tutte le implicazioni della legislazione progettata siano accettabili), il trattamento di regole incompatibili (espressione, ad esempio, di interpretazioni divergenti della stessa disposizione) e della vaghezza67.
65Su APES, cfr. SERGOT M.J. A Query-the-User Facility for Logic Programming, in DEGANO P., SANDEWALL E. (a cura di), Integrated
Interactive Computer Systems, North-Holland, Amsterdam, 1983; SERGOT M.J., HAMMOND P., A PROLOG Shell for Logic Based Expert Systems, in
Expert Systems 83: Proceedings of the 3rd Technical Conference of the British Computer Society Specialist Group on Expert Systems (Cambridge,
Dicembre 1983), British Computer Society, 1983, pp. 94-104; HAMMOND P., SERGOT M.J., APES. Augmented Prolog for Expert Systems. System Documentation, Logic Based Systems LTD., 1987 (terza edizione) . Alcuni aspetti questo sistema saranno toccati più avanti, nel cap. 8 par. 2
.
1.
1.
66Cfr. KOWALSKI R.A., SERGOT M.J., The Use of Logical Models in Legai Problem Solving, c i t .
67Cfr. KOWALSKI R.A., SERGOT M.J., The Use of Logical Models in Legai Problem Solving, cit. p. 7 ss.