LOGICA E SISTEMI INFORMATICI http://cialdea.dia.uniroma3.it

annuncio pubblicitario
LOGICA E SISTEMI INFORMATICI
http://cialdea.dia.uniroma3.it/teaching/lsi/
Logica (Wikipedia): La parola logica deriva dal greco “Logos”, ovvero “parola, pensiero,
idea, argomento, ragione”. La logica è lo studio dei procedimenti inferenziali, rivolto a
chiarire quali procedimenti siano validi e quali non validi.
Logic is the art and science of reasoning. More specifically, it is defined by the Penguin
Encyclopedia to be “The formal systematic study of the principles of valid inference and
correct reasoning”. As a discipline, logic dates back to Aristotle ... and is now an integral
part of disciplines such as mathematics, computer science, and linguistics.
Logic concerns the structure of statements and arguments ... The concept of logical form
is central to logic; it being held that the validity of an argument is determined by its logical
form, not by its content.
Logic is generally accepted to be formal, in that it aims to analyse and represent the form
(or logical form) of any valid argument type. The form of an argument is displayed by
representing its sentences in the formal grammar and symbolism of a logical language ...
Logica

















Linguaggio formale



Sintassi (alfabeto e grammatica)
Semantica (interpretazione delle espressioni)
Sistemi di inferenza (deduzione)
1
Logica e Informatica
1. Ruolo esterno e teorico: logica come meta-informatica
• definizione della nozione di calcolabilità
• risultati di indecidibilità
• classificazione dei problemi secondo la loro complessità
2. Ruolo interno e pratico:
Esempi:
• Linguaggi di specifica formale
• Fondamento di paradigmi di programmazione
– programmazione logica (basata su metodi di dimostrazione automatica): il programmatore specifica
CHE COSA si deve calcolare, senza
occuparsi di COME
– programmazione funzionale (basata
sul lambda-calcolo)
• Semantica di linguaggi di programmazione
2
• Specifica algebrica di tipi astratti di
dati
• Verifica di proprietà di programmi (correttezza, terminazione,
...), verifica dell’affidabilità di sistemi
hardware e software
• Linguaggio di rappresentazione e ragionamento in IA. Applicazione, ad
esempio, alla pianificazione automatica
Argomenti del corso
1. Logica classica (proposizionale e dei predicati)
(a) Sintassi e semantica, proprietà della logica proposizionale e della logica dei predicati
(b) Calcolo di deduzione naturale
2. Deduzione automatica in logica classica
(a) Tableaux per la logica proposizionale
(b) Il metodo di risoluzione e la programmazione logica
3. Il linguaggio Prolog
4. Il Calcolo delle Situazioni e il linguaggio Golog
5. Metodi formali per la verifica di sistemi
3
Argomenti del corso: D.M.509/99
1. Logica classica (proposizionale e dei predicati)
(a) Sintassi e semantica, proprietà della logica proposizionale e della logica dei predicati
(b) Calcolo di deduzione naturale
2. Deduzione automatica in logica classica
(a) Tableaux per la logica proposizionale
(b) Il metodo di risoluzione e la programmazione logica
3. Il linguaggio Prolog
4. Il Calcolo delle Situazioni e il linguaggio Golog
5. Metodi formali per la verifica di sistemi
4
Argomenti del corso: esame integrativo
1. Logica classica (proposizionale e dei predicati)
(a) Sintassi e semantica, proprietà della logica proposizionale e della logica dei predicati
(b) Calcolo di deduzione naturale
2. Deduzione automatica in logica classica
(a) Tableaux per la logica proposizionale
(b) Il metodo di risoluzione e la programmazione logica
3. Il linguaggio Prolog
4. Il Calcolo delle Situazioni e il linguaggio Golog
5. Metodi formali per la verifica di sistemi
5
Argomenti del corso: IA1/a
1. Logica classica (proposizionale e dei predicati)
(a) Sintassi e semantica, proprietà della logica proposizionale e della
logica dei predicati
(b) Calcolo di deduzione naturale
2. Deduzione automatica in logica classica
(a) Tableaux per la logica proposizionale
(b) Il metodo di risoluzione e la programmazione logica
3. Il linguaggio Prolog
4. Il Calcolo delle Situazioni e il linguaggio Golog
5. Metodi formali per la verifica di sistemi
6. Soluzione di problemi mediante ricerca nello spazio degli stati.
7. Pianificazione automatica
6
Argomenti del corso: IA1/b
1. Logica classica (proposizionale e dei predicati)
(a) Sintassi e semantica, proprietà della logica proposizionale e della
logica dei predicati
(b) Calcolo di deduzione naturale
2. Deduzione automatica in logica classica
(a) Tableaux per la logica proposizionale
(b) Il metodo di risoluzione e la programmazione logica
3. Il linguaggio Prolog
4. Il Calcolo delle Situazioni e il linguaggio Golog
5. Metodi formali per la verifica di sistemi
6. Soluzione di problemi mediante ricerca nello spazio degli stati.
7. Pianificazione automatica
7
Materiale didattico
• Logica classica:
M. Cialdea Mayer. Logica. Linguaggio, ragionamento, calcolo. Esculapio 2002
+ integrazioni disponibili in rete
• Prolog: qualunque testo di introduzione al Prolog
+ compilatore SWI-Prolog
• Calcolo delle Situazioni e Golog
Dispense + interprete Golog in SWI-Prolog
Consultare:
R. Reiter. Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems. MIT Press, 2001.
H.J. Levesque et al. GOLOG: A Logic Programming Language for Dynamic Domains.
• Verifica di sistemi software
Dispense.
D.A. Peled. Software Reliability Methods. Springer, 2001.
8
Scarica