1 Tesina 1 - Home di homes.di.unimi.it

annuncio pubblicitario
1
Tesina 1: Tecniche di costruzione di riduzioni
polinomiali
Dopo aver individuato un piccolo insieme di problemi NP-completi (e relative
riduzioni polinomiali) esplorare le tecniche più frequentemente usate per costruire riduzioni polinomiali fra problemi.
M.R. Garey, D.S. Johnson, Computers and Intractability, A guide to
the Theory of NP-completeness, W.H Freeman and Company, 1979.
2
Tesina 2: Sistemi deduttivi per la logica proposizionale
Accanto alle deduzioni per risoluzione esistono altri sistemi deduttivi per la
logica proposizionale, quali sistemi assiomatici, deduzione naturale, calcolo dei
sequenti, tableaux semantici.
A. Asperti, A. Ciabattoni, Logica a informatica, McGraw-Hill, 1997.
3
Tesina 3: Teoria delle sostituzioni
Nel corso abbiamo esposto elementi di teoria algoritmica delle sostituzioni senza
dare alcuna prova dei risultati citati. Esplorare le dimostrazioni di questi risultati.
Appunti del corso.
4
Tesina 4: Linguaggi con uguaglianza, paramodulazione
I linguaggi del I ordine matematicamente più interessanti sono quelli con l’uguaglianza (come simbolo distinto e speciale di predicato binario). La deduzione
1
automatica ha affrontato il problema dell’uguaglianza formulando la regola di
paramodulazione e le sue varianti.
C.L. Chang, R.C.T. Lee, Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973. Tradotto in: Logica simbolica, Tecniche nuove,
1988.
5
Tesine 5a e 5b: Teorema di McNaughton
Le logiche di L
à ukasiewicz sono funzionalmente incomplete. La classe di funzioni associate alle formule è individuata dal teorema di rappresentazione di
McNaughton. Studiare il caso generale o in dettaglio la costruzione per il caso
a una variabile.
D. Mundici, M. Pasquetto, A proof of the completeness of the infinitevalued calculus of L
à ukasiewicz with one variable In: Non-classical Logics and
their Applications to Fuzzy Subsets, Kluwer Academic Publishers, pp. 107–
123, 1995.
D. Mundici, A constructive proof of McNaughton’s Theorem in infinitevalued logics, Journal of Symbolic Logic, 59, pp. 596-602,1994.
6
Tesina 6: L
à UKSAT è NP-completo
Il problema della soddisfacibilità di formule nella logica infinito-valente è NPcompleto.
D. Mundici, Satisfiability in Many-valued Sentential Logic is NP-complete,
Theoretical Computer Science, 52, pp. 145–153, 1987.
7
Tesina 7: Gioco di Ulam
Il gioco di Ulam prevede due giocatori A e B. A pensa un numero x con
1 ≤ x ≤ 1000000. B pone ad A domande con risposta sı̀/no al fine di individuare
x. A può mentire al più un numero prefissato k di volte. Il gioco di Ulam è
2
formalizzabile in maniera più naturale nella logica polivalente piuttosto che nella
logica booleana.
D. Mundici, The logic of Ulam’s game with lies In: Knowledge, Belief and
Strategic Interaction, Cambridge University Press, pp. 275–284, 1992.
8
Tesina 8: Logica Polivalente e Controllo Fuzzy
La logica polivalente può fornire solide basi teoriche alla disciplina ingegneristica
del controllo fuzzy: alcuni passi in questa direzione sono già stati compiuti.
C. Manara, Descrizione linguistica del controllo di sistemi complessi: un
approccio basato sul soft computing e sulla logica multivalente Tesi di Laurea
in Informatica presso l’Università di Milano, 2000.
9
Progetto A: Macchine di Turing
Si richiede di implementare macchine di Turing non deterministiche sia nella
versione in cui una stringa è accettata se esiste almeno un ramo della computazione che termina, sia nella versione che prevede stati finali di accettazione
e di rifiuto.
La macchina di Turing deve essere specificabile in ingresso dall’utente a cui
viene richiesto l’alfabeto su cui lavora la macchina, gli stati e le transizioni
possibili.
La computazione della macchina di Turing va simulata analizzando l’albero
di computazione “livello per livello”, vale a dire, l’albero di computazione si
dovrà visitare un livello dopo l’altro (level-order) piuttosto che in pre-ordine,
onde evitare di perdersi in eventuali rami infiniti.
L’albero di computazione va visualizzato in uscita, dando la possibilità all’utente di analizzare lo stato della macchina in ogni nodo della computazione (vale
a dire la configurazione istantanea contenuta in quel nodo), e di selezionare un
cammino nell’albero di cui simulare l’esecuzione.
3
10
Progetto B: Calcolo dei Sequenti
Si richiede di implementare calcoli dei sequenti per logiche finito-valenti verofunzionali.
In ingresso il programma deve ricevere le tabelle di verità dei connettivi della
logica che possono essere:
• unari: ∗1 : Sn → Sn ,
• binari: ∗2 : Sn × Sn → Sn ,
dove Sn = {0, n1 , n2 , . . . , n−1
n , 1} è l’insieme dei valori di verità della logica finitovalente specificata dalla scelta dei connnettivi.
Si devono costruire tutte le regole necessarie per implementare un calcolo
per la logica specificata dalle tabelle di verità introdotte: vale a dire tutte le
regole della forma
• ∗1 A ≥
h
n
per 1 ≤ h ≤ n,
• ∗1 A ≤
h
n
per 0 ≤ h ≤ n − 1,
• A ∗2 B ≥
h
n
per 1 ≤ h ≤ n,
• A ∗2 B ≤
h
n
per 0 ≤ h ≤ n − 1.
Data in ingresso una formula A si deve costruire l’albero di prova per A nella
logica data.
Deve essere inoltre possibile visualizzare sia l’insieme delle regole costruite,
sia l’albero di prova (con esame dei nodi, dei livelli e della regola applicata in
ogni nodo).
11
Progetto C: Procedura di Davis-Putnam
Si richiede di implementare la procedura di Davis-Putnam.
Data una formula F (o un insieme finito di formule) la si deve trasformare
in una formula S che sia in forma normale premessa (FNP), in forma normale
4
congiunta (CNF), skolemizzata e chiusa. Equivalentemente S è un insieme finito
di clausole (del I ordine).
Sull’insieme di clausole S cosı̀ prodotto, si deve implementare un algoritmo
che produca approssimazioni finite successive H0 ⊂ H1 ⊂ H2 · · · dell’universo
di Herbrand HS . Per ognuna delle approssimazioni Hi si deve applicare la
procedura di Davis-Putnam su S/Hi .
Si richiede inoltre di poter visualizzare Hi , S/Hi ed ogni passo della procedura di Davis-Putnam esplicitando clausole banali, sussunte e coppie di clausole
da risolvere.
5
Scarica