Indecidibilità del problema della fermata in C
|
|
- Marco Romani
- 5 anni fa
- Visualizzazioni
Transcript
1 Indecidibilità del problema della fermata in C Si può vedere che si può dimostrare l indecidibilità del problema della fermata usando un qualsiasi linguaggio di programmazione, che è quindi un linguaggio Turing-equivalent. Consideriamo ad esempio il linguaggio C. La tesi del teorema è che non è possibile in C scrivere una funzione int t(int x,y); Tale che: t(x,y) = 0 se la funzione x termina con input y = 1 se la funzione x non termina con input y La definizione di questa funzione presuppone a sua volta l esistenza di una funzione di codifica che data una funzione C ne ricavi la sua enumerazione (ad esempio basandosi sulla codifica ASCII del testo della funzione). Per semplicità ometteremo questa funzione, lasciando intendere che un nome di funzione rappresenti sia una chiamata alla funzione secondo la sintassi consueta del C, sia la sua enumerazione quando usata come variabile intera. La dimostrazione del teorema avviene per assurdo. Supponiamo quindi che sia possibile scrivere in C la funzione t(x,y). Possiamo allora definire la funzione h: int h(int x) {return t(x,x);} Quindi abbiamo che: h(x) = 0 se la funzione x termina con input x = 1 se la funzione x non termina con input x (la funzione h ha lo scopo della MdT Copia nella dimostrazione standard)
2 Indecidibilità del problema della fermata in C Si consideri ora la seguente funzione: int absurd(int x) { int y=0; while(y==0) y = h(x); return y } Vale quindi: absurd(x) non termina se la funzione x termina con input x termina con risultato 1 se la funzione x non termina con input x Se applichiamo la funzione absurd alla propria codifica abbiamo quindi: absurd(absurd) non termina se la chiamata absurd(absurd) termina termina con risultato 1 se la chiamata absurd(absurd) non termina L ipotesi quindi che sia possibile scrivere in C la funzione t(x,y) è quindi non valida. Si noti che le funzioni che abbiamo definito usano il tipo int come se fosse il tipo astratto dei numeri naturali: il tipo int del C non è però in grado di contenere gli enormi numeri che genero considerando la codifica ASCII di funzioni C qualsiasi. La limitatezza della memoria quindi sembra rendere il linguaggio non Turing equivalent. D altra parte, si potrebbe utilizzare una rappresentazione potenzialmente illimitata degli interi usando una lista collegata che ne memorizzi tutte le cifre in una base data, nell ipotesi (non molto realistica, ma approssimabile usando memoria secondaria) che sia sempre disponibile la memoria necessaria per allocare tutti gli elementi necessari.
3 Riducibilita Un problema decisionale P si dice Turing riducibile a un problema P se c è una macchina di Turing che presa qualsiasi istanza p! P come input produce un associata istanza p! P in cui la soluzione di p può essere ricavata dalla soluzione di p. Input Risultato p i! P Riduzione di P a P' p' i! P' Algoritmo per P' Yes/not Teorema - Se un problema decisionale P è indecidibile, e P è riducibile a P, allora è indecidibile! anche il problema P - Se un problema decisionale P è non ricorsivamente enumerabile, e P è riducibile a P,! allora il problema P non è ricorsivamente enumerabile.
4 Teorema di Rice TEOREMA (Rice) :Ogni proprietà non banale dei linguaggi ricorsivamente enumerabili è!! indecidibile In altre parole è impossibile riconoscere per mezzo di una MT le stringhe binarie che rappresentano codici di una MT il cui linguaggio soddisfa la proprietà. [Una proprietà individua un sottoinsieme dei linguaggi Ricorsivamente enumerabili] Esempio: essere un linguaggio Contex-free. La proprietà essere liberi dal contesto individua tutti i linguaggi liberi dal contesto all interno della classe dei linguaggi ricorsivamente enumerabili. Pertanto il teorema di Rice afferma che non esiste una MT capace di decidere se una MT accetti un linguaggio Contex-free. Def. Una proprietà si dice banale se appartiene a tutti i linguaggi ricorsivamente enumerabili oppure a nessuno. Altrimenti si dice non banale. Se P è una proprietà dei linguaggi ricorsivamente enumerabili il linguaggio LP è l insieme dei codici di macchine di Turing Mi tali che L(Mi) è un linguaggio in P, ovvero LP = {Mi : L(Mi )! P} per cui quando parliamo di decidibilità di una proprietà P si intende la decidibilità del linguaggio LP. [In altre parole si pone attenzione al riconoscimento delle MT che accettano quei linguaggi.] Il Teorema di Rice dice in sostanza che non è decidibile poter individuare un sottoinsieme proprio dei linguaggi ricorsivamente enumerabili.
5 Teorema di Rice Sia P una proprietà non banale, allora deve esistere un linguaggio L RE che abbia la proprietà P. Sia ML la macchina che accetta L. La dimostrazione verrà fatta riducendo il linguaggio LH, linguaggio della macchina universale, al linguaggio Lp. x w M Accetta start ML Accetta Accetta M L input della riduzione è la coppia (M,w), l output è la macchina M tale che L(M ) =! se M non accetta w, L(M ) = L se M accetta w. - M simula M su w comportandosi perciò come la macchina Universale. Si osservi che w non è l input alla macchina M. - Se M non accetta w allora M non fa niente e quindi M non accetta nessuna stringa in input e quindi L(M )=!. Poiché assumiamo che! " P ciò significa che il codice di M non è in LP - Se M accetta w allora M comincia a simulare ML sul proprio input x per cui siccome L# $ P il codice di M è in LP Dato che l algoritmo di riduzione trasforma l istanza (M,w) in una macchina M che è in LP se e solo se (M,w) è in LH, dalla indecidibilità di LH segue l indecidibilità di LP
6 Alcune Conseguenze del Teorema di Rice Nell ambito della programmazione. E indecidibile -La decidibilità di ogni problema P (halting Problem) - Dire se un dato programma C va in ciclo infinito su un certo ingresso o termini la sua esecuzine [quindi l impossibilità di definire un perfetto sistema di debugging] - Dire se due programmi C producano lo stesso risultato in corrispondenza degli stessi dati di ingresso. [quindi l impossibilità di definire un programma che controlli la correttezza dei programmi, pertanto siamo costretti ad usare le tecniche di testing per la verifica degli errori in un programma] Nell ambito dei linguaggi E indecidibile - Data una grammatica context-free dire se L(G) = V T * - Date due grammatiche context-free G 1 e G 2 dire se L(G 1 ) = L(G 2 ) - Dati due automi Pushdown dire se accettano precisamente lo stesso linguaggio. - Il linguaggio accettato da una MT contiene la stringa aabb? - Il linguaggio accettato da una MT contiene tutti i numeri pari?
7 Perché ci sono tanti problemi indecidibili? Abbiamo fatto l assunto che risolvere un problema significhi verificare l appartenenza di una stringa ad un linguaggio. L insieme dei linguaggi non è enumerabile (Teorema di Cantor) L insieme dei programmi è enumerabile (data l enumerabilità delle Macchine di Turing) Se ne deduce che ci sono infinitamente meno programmi che problemi. Il motivo per cui sembra che la maggior parte dei problemi sia decidibile è perché focalizziamo l attenzione su problemi semplici e strutturati.
8 Complessità computazionale di una MT Data una Macchina di Turing deterministica M si definisce complessità in tempo di M la funzione t M : N! N tale che t M (n) è il massimo numero di transizioni processate da una computazione di M su una stringa di dimensione n. Data una Macchina di Turing non deterministica si definisce la complessità di una computazione t M (n) come il massimo numero di transizioni effettuate per ogni possibile scelta di transizioni su una stringa di ingresso di lunghezza n.
9 Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare o meno l esistenza di algoritmi risolutivi. La teoria della complessità computazionale cattura la nozione di algoritmo eseguibile in tempo utile ovvero in un tempo che sia accettabile per gli scopi che l algoritmo si prefigge. Es: TRAVELLING SALESMAN: ci sono 10 città collegate tra di loro e per ogni collegamento è data la distanza in Km. Trovare il più piccolo percorso significa analizzare i (10-1)! possibili itinerari ovvero Se tuttavia le città sono ad esempio 40 esistono 39!! itinerari che, supposto di esaminarne al secondo, implicherebbe un tempo di esecuzione irrealizzabile. (Una) Scala di complessità significative O(log n) < O(n) < O(n log n) < P(n) < 2 n Convenzionalmente si stabilisce che i problemi aventi complessità maggiore della polinomiale siano intrattabili (affermazione da prendere comunque con cautela). Es: N 10 > 2 N! N < 59
10 Complessità Computazionale T(n) n n 3 /2 5n 2 Valore di taglio - valore di n al di sotto del quale è più conveniente usare un algoritmo di complessità peggiore rispetto ad un algoritmo di complessità migliore n Es: Ta = 100n Tb = 5n 2 Il programma b risulta più veloce del programma a se n! 20 T(n) 100n 5n 2 n 3 /2 2 n n dim. per dim. per incremento % Supposto di avere una macchina 10 volte più veloce al medesimo costo si osserva come un miglioramento del 900% nella velocità della macchina comporti un miglioramento nella dimensione del problema di solo il 30% se si una un algoritmo esponenziale.
11 Limitazioni polinomiali Una Macchina di Turing deterministica è detta limitata polinomialmente se c è un polinomio P tale per cui: per ogni input x la condizione di halt viene raggiunta in al più P( x ) passi. Un linguaggio si dice polinomialmente decidibile se esiste una macchina di Turing polinomialmente limitata che lo decide. La classe dei linguaggi polinomialmente decidibile è denotata da P. Le macchine di Turing limitate polinomialmente e quindi la classe P, catturano la nozione intuitiva di algoritmo e di problema realisticamente risolvibile. Proprietà di chiusura della classe P La classe P è chiusa rispetto al complemento Se un linguaggio L è decidibile in tempo polinomiale da una macchina M basta considerare la macchina M che inverte la condizione di q Y con q N. Con considerazioni analoghe si può mostrare come P sia chiuso anche rispetto all unione, intersezione e concatenazione.
12 Alcuni problemi per cominciare E conveniente fare una casistica di problemi per verificare la loro appartenenza o meno alla classe P. Esistono infatti taluni problemi che sono tra di loro similari, ma che non apparttengono alla stessa categoria di classi di complessità Abbiamo visto come la CHIUSURA RIFLESSIVA E TRANSITIVA di una relazione sia di complessità polinomiale, ovvero O(n 3 ) Si esamini ora il seguente problema: RAGGIUNGIBILITA Dato un Grafo diretto G = (N,V), dove N={n 1,n 2,...n n } è un insieme finito, esiste un percorso tra n i e n j? E facile verificare come il problema della RAGGIUNGIBILITA è polinomiale in quanto può essere risolto ispezionando la chiusura transitiva del grafo G. Il problema RAGGIUNGIBILITA può essere visto come un problema di tipo decisionale. Nella teoria della Complessità i problemi decisionali hanno un importanza fondamentale.
13 Sulla tipologia di problemi Le tipologie di problemi più comuni possono essere raggruppate nelle seguenti categorie: Decisionali Dato un insieme di istanze del problema P si vuol verificare se un certo predicato (SI/NO) è verificato Ricerca Dato un insieme di istanze del problema P si vuol trovare una possibile soluzione Enumerazione Dato un insieme di istanze del problema P si vuol trovare tutte le possibili soluzioni Ottimizzzazione Dato un insieme di istanze del problema P si vuol trovare la soluzione migliore secondo un criterio di misura prefissato. Esempio1 : Dato un Grafo G, e due nodi u e v in esso, trovare il più lungo cammino che porta da u a v senza passare due volte dallo stesso nodo. Esempio2 : Dato un Grafo G, e due nodi u e v in esso e un intero k, esiste un cammino che porta da u a v di lunghezza " k? Problema di ottimizzazione Problema decisionale Risolvendo il problema di ottimizzazione si risolve quello di decisione per tutti i valori di k. Risolvendo il problema di decisione si risolve quello di ottimizzazione trovando il più piccolo valore di k per cui il problema di decisione risulti vero.
14 Ancora sulla tipologia di problemi I problemi di tipo decisionale hanno l interessante proprietà che è possibile associarvi in modo naturale un linguaggio costituito da tutte le possibili istanze del problema. Inoltre, un problema decisionale ha le seguenti due caratteristiche peculiari: 1. La possibilità di discriminare tra due insiemi di stringhe quelle che corrispondono alle istanze positive (soluzioni del problema) e quelle che corrispondono alle istanze negative (che non sono soluzione del problema o non rappresentano il problema). 2. La non necessità di preoccuparsi del lavoro svolto dall algoritmo per la restituzione del risultato, dato che la risposta al problema è rappresentato da un solo bit (SI/NO) Per questi motivi la teoria della complessità computazionale enfatizza l uso di rappresentazioni di tipo decisionale per i problemi che essa studia.
15 Cicli Eureliani CICLI DI EULERO: Dato un grafo G = (N,V) esiste un percorso chiuso che usi ciascun arco esattamente una volta sola? (Si osservi che il percorso sugli archi può passare un numero arbitrario di volte dai singoli nodi) Un grafo si dice Eureliano se e solo se sono rispettate le due seguenti proprietà 1. Per ogni coppia di nodi u e v " N nessuno dei nodi è isolato ed esiste un percorso da u a v 2. Tutti i nodi hanno un ugual numero di archi entranti ed archi uscenti Euleriano Non Euleriano La complessità del problema è certamente in P in quanto per la proprietà 1 si può far uso dell algoritmo di chiusura riflessiva-transitiva e per la proprietà 2 un conteggio effettuabile in tempo polinomiale.
16 Cicli Hamiltoniani CICLO HAMILTONIANO: Dato un grafo G= (N,V) Esiste un ciclo che passa attraverso ciascun nodo esattamente una sola volta? (Si osservi che il percorso può non usare tutti gli archi) Hamiltoniano A fronte dell apparente similitudine dei due problemi non è stato ancora trovato un algoritmo polinomiale che lo risolva. Dato che il numero dei cicli Hamiltoniani è pari a n! L unico modo possibile consiste nell enumerare tutte le permutazioni dei nodi ed effettuare un test se la permutazione è un ciclo Hamiltoniano.
Complessità Computazionale
Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare
DettagliLa macchina universale
La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*
DettagliLinguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
DettagliCertificati dei problemi in NP
Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione
DettagliAlgoritmo per A. !(x) Istanza di B
Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione
DettagliProblemi intrattabili
Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi
DettagliSommario. martedì 23 ottobre 2012
Sommario Macchina di Turing universale il problema dell accettazione per TM e sua indecidibilità il problema della fermata e sua indecidibilità Proprietà dei problemi Turing riconoscibili Linguaggi non
DettagliTeoria della complessità
Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi
DettagliAniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale
Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliAutomi e Linguaggi Formali
Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.
DettagliPartizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché
Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,
DettagliAniello Murano Problemi non decidibili e riducibilità
Aniello Murano Problemi non decidibili e riducibilità 8 Lezione n. Parole chiave: Riduzione Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Overview Nelle lezioni
Dettaglia cura di Luca Cabibbo e Walter Didimo
a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 calcolabilità in vari contesti riduzioni e calcolabilità dimostrazioni di decidibilità di problemi
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
DettagliProblemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP
roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.
DettagliCapitolo 9: Trattabilitá e intrattabilitá dei problemi
Capitolo 9: Trattabilitá e intrattabilitá dei problemi 1 La classe P : é considerata tradizionalmente come una caratterizzazione formale dei problemi trattabili. n = 2 n = 5 n = 10 n = 100 n = 1000 n 2
DettagliLogica Algoritmi Cognizione
Logica Algoritmi Cognizione Le nozioni di DECIDIBILITÀ e COMPUTABILITÀ e i loro limiti Formulazione della logica in termini di teorie formalizzate e di dimostrazioni (all interno di teorie formalizzate)
DettagliElementi di Complessità Computazionale
Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con
DettagliCapitolo 8: Teoria della complessitá
Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá
DettagliTeoria della Complessità Computazionale
Teoria della Complessità Computazionale Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Rev. 1.3, 11/00 rev. 1.3 - Novembre 2000 Teoria della Complessità Studia la difficoltà dei problemi
DettagliSommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.
Sommario Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili. 1 UTM: la TM universale Una TM T che accetta un linguaggio è analoga a un programma
DettagliAncora su 2-SAT. può essere pensata come una coppia di implicazioni!! " 1
Ancora su 2-SAT Qualsiasi clausola a 1! a 2 può essere pensata come una coppia di implicazioni!! " 1 " a 2 e " 2 " a 1 Il caso di letterale singolo a viene considerato come "" a Partendo da una istanza
DettagliSoddisfacibilità e Semantic Tableau [1]
Intelligenza Artificiale I Soddisfacibilità e Semantic Tableau Marco Piastra Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema In forma rigorosa, un problema è una relazione
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo. L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliProblemi decidibili, semidecidibili, indecidibili
Problemi decidibili, semidecidibili, indecidibili (Paragrafo 3.5 delle dispense) Il problema di determinare se una formula A della logica proposizionale sia valida o no può essere risolto mediante un procedimento
DettagliMa il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione
Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?
DettagliDECIDIBILITÀ E INDECIDIBILITÀ
DECIDIBILITÀ E INDECIDIBILITÀ Obiettivo: analizzare i limiti della risoluzione dei problemi mediante algoritmi. Studieremo: il potere computazionale degli algoritmi nella soluzione dei problemi. Proveremo
DettagliTeoria della Complessità Computazionale
Teoria della Complessità Computazionale Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 21 Ottobre 2014 Ricerca Operativa 2
Dettaglie Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità
Intelligenza Artificiale I Soddisfacibilità e Algoritmi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema Un problema
DettagliInformatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza
Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere
DettagliPrincipio di composizione delle MT
Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi
DettagliFondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018
Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Esercizio 1 (Automi a stati finiti) {a, b}. Si considerino i seguenti automi a stati finiti sull alfabeto Per ognuno degli automi,
DettagliFondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano
DettagliLe parole dell informatica: algoritmo e decidibilità
Le parole dell informatica: algoritmo e decidibilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico dell Informatica
DettagliDECIDIBILITÀ E INDECIDIBILITÀ
arrows DECIDIBILITÀ E INDECIDIBILITÀ Obiettivo: analizzare i limiti della risoluzione dei problemi mediante algoritmi. Studieremo: il potere computazionale degli algoritmi nella soluzione dei problemi.
DettagliLA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE
LA TEORIA DELLA COMPLESSITÀ COMPUTAZIONALE INTRODUZIONE OBIETTIVO: classificare gli algoritmi a seconda delle risorse utilizzate - risorse necessarie (lower bound) - risorse sufficienti (upper bound) Aspetti
DettagliFondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014
Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Il compito è diviso in due parti come i compitini: 1) Automi e Linguaggi e 2) Macchine di Turing e Calcolabilità. Si può consegnare
DettagliProposte di approfondimenti
Linguaggi formali Proposte di approfondimenti 1. Forme normali di Greibach, trasformazione di una grammatica in forma normale di Greibach Automi a stati finiti 2. Automi di Büchi: particolari automi a
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliNP completezza. Problemi astratti
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
DettagliNP completezza. Vittorio Maniezzo - Università di Bologna
NP completezza Vittorio Maniezzo - Università di Bologna Problemi astratti Un problema è un entità astratta (es. il TSP). Una istanzadel problema è un suo caso particolare in cui vengono specificati tutti
DettagliFondamenti dell Informatica. Esercizi di preparazione al secondo compitino
Fondamenti dell Informatica (III anno Laurea Triennale) Esercizi di preparazione al secondo compitino a.a. 2016/17 Funzioni primitive ricorsive Si definiscano come primitive ricorsive le seguenti funzioni:
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliParte I.5 Cenni alla computazione
Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti
DettagliTuring cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE?
STORIA DELLE CONOSCENZE SCIENTIFICHE SULL UOMO E SULLA NATURA a.a. 2016 2017 Prof. Roberto Giuntini, PhD. Introduzione alla storia dell intelligenza artificiale e della robotica Modulo II: Le macchine
Dettagli1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione
DettagliLa tesi di Church-Turing e
La tesi di Church-Turing e l indecidibilità Automi e algoritmi i La domanda d fondamentale dll della teoria dll della calcolabilità è: Quali risultati possiamo e non possiamo ottenere mediante algoritmi?
DettagliTeoria della Calcolabilità
Teoria della Calcolabilità! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliSommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP
Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same
DettagliComplessità Strutturale e NP-Completezza
Complessità Strutturale e NP-Completezza Una breve introduzione Francesco De Rose Alberto Giorgi Università degli Studi di Brescia Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica
DettagliTeoria della Complessità Concetti fondamentali
Teoria della Complessità Concetti fondamentali L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile La difficoltà di un problema è una caratteristica generale e non
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità!! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.!! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliIntroduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza
NP-Completezza e la complessità strutturale degli algoritmi Simone Frassanito Dipartimento di Elettronica per l Automazione Università degli Studi di Brescia Cosa non è l NP-Completezza Si potrebbe pensare
DettagliNote sulle classi di complessità P, NP e NPC per ASD (DRAFT)
Note sulle classi di complessità P, NP e NPC per ASD 2010-11 (DRAFT) Nicola Rebagliati 20 dicembre 2010 1 La complessità degli algoritmi Obiettivo principale della teoria della complessità: ottenere una
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
DettagliLimiti della calcolabilità
Limiti della calcolabilità Argomenti della lezione Macchina di Turing universale Il problema della terminazione Altri problemi indecidibili Macchine di Turing in forma ridotta Per ogni MT M esiste una
DettagliTeoria della Complessità Computazionale Parte II: Classi di Complessità
Teoria della Complessità Computazionale arte II: Classi di Complessità Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 3.0 - Ottobre 2003 Classi di complessità: ed N classe dei problemi
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
DettagliCapitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
DettagliPumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
DettagliProblemi decisionali. Esempi
Problemi decisionali La teoria della complessità computazionale è definita principalmente in termini di problemi di decisione Essendo la risposta binaria, non ci si deve preoccupare del tempo richiesto
DettagliComplessità computazionale
Complementi di Algoritmi e Strutture Dati Complessità computazionale Docente: Nicolò Cesa-Bianchi versione 6 marzo 2019 Attenzione: Questo è un riassunto di alcune lezioni messo a disposizione dal docente.
DettagliTeoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio
Teoria della Complessità Computazionale. Obiettivo: classifcare i problemi (risolubili con algoritmi) in base alle risorse di calcolo che richiedono per essere risolti. Risorse: tempo e spazio (memoria)
DettagliSui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm
Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.
DettagliPrefazione all edizione italiana
Questo è l'indice del libro, in cui sono evidenziati i paragrafi corrispondenti agli argomenti trattati nel corso e che costituiscono il programma d'esame. Si noti che la presentazione di alcuni argomenti
DettagliAppunti lezione Capitolo 13 Programmazione dinamica
Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi
DettagliTeoria della Calcolabilità
Teoria della Calcolabilità n Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo n L origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliProblemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)
Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come
DettagliProblemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come
Problemi e algoritmi Il che cosa e il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come effettuare un calcolo
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
DettagliLinguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo
e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere
DettagliEsercitazione 6 Ancora sul Network Flow
Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima
DettagliEsercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
DettagliComplessità computazionale. Complessità e Crittografia
computazionale e Crittografia Piero A. Bonatti Università di Napoli Federico II Laurea Magistrale in Informatica Tema della lezione I Le funzioni crittografiche per cifrare e decifrare messaggi comunemente
Dettaglimin det det Allora è unimodulare se e solo se det 1, 1, 0 per ogni sottomatrice quadrata di di qualsiasi dimensione.
Se è unimodulare e è intero allora il poliedro 0 ha vertici interi. Sia un vertice di Per definizione esiste allora una base di tale che, 0 Poiché è non singolare ( invertibile det 0) si ha che det 1 è
DettagliInformatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione
Informatica e Laboratorio di Programmazione Automi Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione automa o automa: macchina astratta o realizza un certo algoritmo, secondo
DettagliRichiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo
DettagliAniello Murano NP- Completezza (prima parte)
Aniello Murano NP- Completea (prima parte) 14 Leione n. Parole chiave: Npcompletea Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduione I problemi NP-completi
DettagliAniello Murano Decidibilità delle teorie logiche
Aniello Murano Decidibilità delle teorie logiche 11 Lezione n. Parole chiave: Teorie logiche Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Prefazione Nelle lezioni
DettagliSommario. Esempi di problemi NP-completi: 3-COLORING TSP. HamCycle
Sommario Esempi di problemi NP-completi: 3-COLORING HamCycle SP 3-Coloring è NP-hard Una colorazione di un grafo G=(V,E) è una funzione f : V {1,...,n} tale che {u,v} E f(u) f(v). Una 3- colorazione usa
DettagliTeoria della NP-completezza
Teoria della NP-completezza Ivan Lanese Dipartimento di Informatica Scienza e Ingegneria Università di Bologna Ivan.lanese@gmail.com http://www.cs.unibo.it/~lanese/ NP-completezza 2 Complessità di problemi
DettagliMacchina di Turing. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017
Macchina di Turing Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Un modello di calcolo universale Macchina di Turing Gli AP sono più potenti degli FSA (= maggiori capacità
DettagliFondamenti d Informatica: Simulazione d esame. Barbara Re, Phd
Fondamenti d Informatica: Simulazione d esame Barbara Re, Phd 2 Parte teorica (1 punto per ogni domanda) Domande Parte Teorica } Che cosa s intende per teoria della computabilità? Cosa è computabile? Chi
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 29/01/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
DettagliAlgoritmo. Calcolabilità
Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata
DettagliLinguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari
DettagliAlgoritmi e Complessità
Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it a.a. 2002-03 e.merelli
DettagliIntroduzione ai grafi
TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale
Dettagli