Teoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio
|
|
- Lino Spano
- 7 anni fa
- Visualizzazioni
Transcript
1 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) di calcolo. Modelli di calcolo: per lo più MT multinastro con nastro di input di sola lettura. Risultati fondamentali: relazioni tra modelli di macchina relazioni tra determinismo e nondeterminismo relazioni tra spazio e tempo gerarchie di classi caratterizzazione dei problemi trattabili (risolubili effcientemente in pratica) e dei confni del concetto di trattabilità computazionale NP-completezza. Accettazione/riconoscimento di linguaggi in tempo/spazio Def. M (det. o nondet.) accetta una stringa x in τ passi se dalla confgurazione iniziale si arriva ad una fnale in al più τ passi. Def. M (det. o nondet.) accetta un linguaggio L in tempo t(n) se accetta L e se accetta stringhe di lunghezza n in t(n) passi. Def. L è accettabile in tempo t(n) (det. o non det.) se esiste una macchina deterministica (o non deterministica) che lo accetta in tempo t(n). Def. M (det.) rifuta una stringa x in τ passi se dalla confgurazione iniziale arriva ad una massimale non fnale in al più τ passi. Def. M (det.) riconosce (decide) un linguaggio L in tempo t(n) se ogni stringa di lunghezza n viene accettata in t(n) passi se appartiene ad L e rifutata in t(n) passi se non appartiene ad L Def. L è decidibile in tempo t(n) se esiste una macchina deteministica che lo decide (riconosce) in tempo t(n). Oss. Identiche defnizioni valgono per lo spazio di lavoro utilizzato, che non include le celle utilizzate per la rappresentazione dell input. Lo spazio di lavoro utilizzato è defnito su A. come il numero totale di celle utilizzate sui nastri di lavoro, mentre su H. come il numero massimo di celle utilizzate sui nastri di lavoro.
2 Data una funzione f: N ->N possiamo defnire le seguenti classi di complessità: DTIME (f(n)): insieme dei linguaggi riconosciuti da una MTM deterministica in tempo al più O(f(n)); DSPACE (f(n)): insieme dei linguaggi riconosciuti da una MTM deterministica in spazio al più O(f(n)). NTIME (f(n)): insieme dei linguaggi accettati da una MTM non deterministica in tempo al più O(f(n)); NSPACE (f(n)): insieme dei linguaggi accettati da una MTM non deterministica in spazio al più O(f(n)). N.B. Se ci riferiamo a modelli di macchina diversi dalle macchine di Turing multinastro con nastro di input di sola lettura dobbiamo indicarlo esplicitamente. Classi di complessità notevoli Per queste due classi il modello di MT ha nastro di input di sola lettura e nastro di output di sola scrittura: L = LOGSPACE = DSPACE(log n) NLOGSPACE = NSPACE(log n) P = k DTIME (nk) PSPACE = k DSPACE(nk) NP = k NTIME (nk) NPSPACE = k NSPACE(nk) EXPTIME = k DTIME(2nk ) NEXPTIME = k NTIME(2nk ) Separazione tra le classi spaziali e temporali. Def. Una funzione totale non decrescente f: N N è chiamata: - tempo- costruibile se: - esiste una MTM che per ogni istanza di lunghezza n si ferma dopo aver eseguito esattamente f(n) passi - f(n) n+1 Informalmente si può dire che la MTM sa contare esattamente fno a f(n). - spazio-costruibile se: - esiste una MTM che per ogni istanza di lunghezza n si ferma dopo aver usato esattamente f(n) celle di lavoro - f(n) log 2 (n+1) Informalmente si può dire che la MTM sa marcare esattamente f(n) celle, senza utilizzarne altre. Praticamente tutte le funzioni che crescono suffcientemente sono sia tempo che spazio costruibili. Se f e g lo sono, lo sono anche f+g, f*g, f g ; anche n k, k 1 è sia tempo che spazio costruibile.
3 Relazioni tra modelli di macchina DTIME (t(n)) DTIME RAM (t(n) log(t(n))) mod. costi log. pag.258 DTIME RAM (t(n)) DTIME (t 2 (n)) pag.259 Relazioni tra spazio e tempo di MTM deterministiche DTIME (t(n)) DSPACE (t(n)) Ogni passo può al più richiedere una nuova cella di memoria. DSPACE (s(n)) DTIME (c s(n) ) s(n) log 2 (n+1), c N Su una quantità s(n) di nastro una MTM con k nastri di lavoro può al più operare per t' passi distinti con t' (n+1) s(n) k Q Γ b s(n) 2 s(n) s(n) k Q Γ b s(n) c s(n), con la costante c che dipende dal numero di stati e di caratteri della macchina. N.B. Queste relazioni valgono anche per MTM non deterministiche. Relazioni tra macchine non deterministiche e deterministiche NTIME (t(n)) DTIME (t(n) 2 t(n) ) pag.219 Basta ricordare il risultato del teorema relativo alla simulazione di una macchina nondeterministica con una deterministica [..Se M accetta una stringa x in t passi, M' la accetta in O(t d T) passi] ed osservare che è possibile usare sempre grado di non-determinismo d = 2. NTIME (t(n)) DSPACE (t(n)) con t(n) tempo-costruibile pag.337 Dim. Sia d = 2 il grado di non-det. della macchina non deterministica. La macchina deterministica, che simula quella non deterministica, usa sul nastro dei percorsi uno spazio di lavoro t(n) e, per ogni possibile percorso, simula esattamente t(n) passi della macchina non deterministica usando spazio O(t(n)); lo stesso spazio può essere riutilizzato in tutti i cammini di computazione. Cosa possiamo dire per lo spazio dal modello non det. a quello det.? Innanzitutto che: NSPACE (s(n)) DSPACE (c s(n) ) se s(n) log 2 (n+1) Infatti se la macchina non det. usa s(n) celle e compie t(n) passi, allora la macchina deterministica che effettua la simulazione usa sul nastro dei percorsi s'(n) t(n) celle (se d=2) e sull altro nastro di lavoro usa s(n) celle, per un totale di t(n) + s(n) celle. D'altra parte se la macchina nondeterministica usa s(n) celle tutto ciò che possiamo dire sul suo tempo (v. rag. prec.) e' che t(n) c s(n). Il teorema di Savitch dice che possiamo fare molto meglio. Vanno prima dimostrati il lemma seguente (Lemma 8.3 a pag 330) e la complessità del problema decisionale seguente.
4 Lemma (pag. 330): Sia M una MT (det/non det) che accetta L in spazio s(n), s(n) spazio-costruibile. Esiste una MT M' (det/non det) con un nastro in più che accetta L in spazio O(s(n)) e che si ferma per ogni input. Il problema decisionale dell'esistenza di un cammino orientato da un nodo s ad un nodo t in un grafo orientato di n nodi ed m archi si può risolvere, nel modello RAM a costi uniformi, in tempo O(m+n) oppure con spazio di lavoro O(log n). Ne seguono i due risultati seguenti. Teorema di Savitch. NSPACE (s(n)) DSPACE (s(n) 2 ) se s(n) spazio-costruibile pag.339 Infne dimostriamo anche che: NSPACE (s(n)) DTIME (c s(n) ) c N, se s(n) spazio-costruibile pag.336 Teoremi di gerarchia Siano s1, s2 due funzioni : N N, s2 spazio-costruibile, tali che: lim n s1(n) / s2(n) = 0 Allora esiste un linguaggio L tale che: L DSPACE(s1(n)) ma L DSPACE(s2(n)). Siano t1, t2 due funzioni : N N, t2 tempo-costruibile, tali che: limn t1(n)(log t1(n)) / t2(n) = 0 Allora esiste un linguaggio L tale che: L DTIME(t1(n)) ma L DTIME(t2(n)). Gerarchia delle classi di complessità notevoli E aperto se le inclusioni della gerarchia sono proprie. Alcune devono esserlo poiché, grazie ai teoremi di gerarchia, possiamo affermare le seguenti separazioni tra classi: i) P EXPTIME ii) LOGSPACE PSPACE Le relazioni tra macchine deterministiche e non deterministiche e il teorema di Savitch ci permettono di asserire che: iii) PSPACE = NPSPACE iv) P NP Infne le relazioni tra classi spaziali e classi temporali ci permettono di asserire che: v) PSPACE EXPTIME vi) NP NPSPACE = PSPACE vii) LOGSPACE P NB Per classi di tempo esponenziale, con n = 10, 2n2 = 2100; se l unità fosse di 10 ns. il tempo sarebbe 1014 secoli.
5 Classi di complessità più elevate Classi doppiamente esponenziali 22 n (per n = 10, 22 n = 21000); complessità della decisione di teoremi dell'aritmetica di Presbuger Classi triplamente, quadruplamente...esponenziali n (sono chiamate funzioni elementari le funzioni che, per input n, richiedono tempo n con una catasta di k esponenziali) Classi che, per input n, richiedono tempo: con una catasta di n esponenziali: complessità di decisione dell'equivalenza di espressioni regolari con negazione. NB Siamo ancora nel campo delle funzioni ricorsive primitive. Tipi di problemi Data una funzione f: I P (O) che associa ad una istanza x I un insieme f(x) di possibili output possiamo considerare i problemi di: calcolo: dato x I determinare f(x) decisione: dato x I decidere se esiste y f(x) ricerca: dato x I cercare un y O tale che y f(x) enumerazione: dato x I determinare f(x) ottimizzazione: data una metrica su O e dato x I determinare y f(x) che sia ottimo in f(x) rispetto alla metrica Complessità dei problemi di decisione Ogni problema di decisione P, dopo aver codifcato ragionevolmente le istanze in input e standardizzato l'output (SI, NO), può essere formulato come un problema di riconoscimento di un linguaggio. Al problema P, che ha istanze I P = Y P N P, si associa si associa l insieme Y P delle istanze-sì del problema. Se le istanze sono codifcate ragionevolmente su un alfabeto Σ, risolvere P è equivalente a riconoscere il linguaggio L P delle stringhe di Σ* che codifcano le istanze-sì Y P del problema. (Si può sempre assumere che siano riconoscibili in modo effciente tutte le stringhe di Σ* che non descrivono alcuna istanza (positiva o negativa) del problema.) I concetti di complessità di problemi di decisione possono anche essere traslati a problemi di enumerazione o a problemi di ottimizzazione.
6 Esempio di standardizzazione di un problema decisionale P Istanza: grafo G, intero k Proprietà: G ha un sottografo completo di k nodi? Y P ={ (G = < N, A >, k) esiste un sottoinsieme N' N tale che N' = k ed il sottografo indotto da N' è completo},. Scegliamo una codifca ragionevole delle istanze. Risolvere P equivale a riconoscere il linguaggio L P {0, 1, #, &} * : L P = {c(g) & b(k) dove c(g) e' una stringa in {0,1, #} * che codifca un grafo G, b(k) e' la rappresentazione binaria dell'intero k ed infne G ha un sottografo completo di k nodi } Schema di codifca ragionevole: - rappresenta un intero in base b 2 - rappresenta un insieme fnito enumerando le codifche degli elementi - rappresenta una relazione binaria enumerando le codifche delle coppie - rappresenta un grafo come insiemi di nodi ed di archi Lunghezza di una istanza di un problema: numero di caratteri necessari a rappresentarla in uno schema di codifca predefnito. Due schemi di codifca c, c per un problema sono polinomialmente correlati se esistono due polinomi p, p tali che, per ogni istanza I del problema : c(i) p ( c (I) ) c (I) p( c(i) ) Assumeremo, senza specifica ulteriore, di adottare schemi di codifica ragionevoli. La complessità di un algoritmo risulta invariante, a meno di un polinomio, al variare dello schema. Faremo analisi asintotiche.
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1
acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 tipologie di problemi e notazioni sulla complessità classi di complessità appartenenza di problemi
DettagliCalcolabilità e Complessità. Schifano S. Fabio
schifano@fe.infn.it Laurea Specialistica in Informatica - Universitá di Ferrara 2005-2006 [1] Complessità La teoria della complessità si occupa di caratterizzare e classificare i problemi, di cui la teoria
DettagliMACCHINE DI TURING defnizione formale del concetto astratto di algoritmo accettare riconoscimento parziale di tutti i linguaggi di tipo 0
MACCHINE DI TURING La macchina di Turing è un automa con testina di scrittura/lettura su un nastro "potenzialmente" illimitato. In ogni istante la macchina si trova in uno stato appartenente ad un insieme
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
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
DettagliPARTE I APPROFONDIMENTI SULLA COMPLESSITA COMPUTAZIONALE: LE CLASSI P E PSPACE
PARTE I APPROFONDIMENTI SULLA COMPLESSITA COMPUTAZIONALE: LE CLASSI P E PSPACE - Richiami sulla complessita dei problemi decisionali: I problemi NP-completi - Dentro la classe P: le classi NC e LOGSPACE
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?
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
DettagliProblemi computazionali
Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
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
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
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,
DettagliLe parole dell informatica: modello di calcolo, complessità e trattabilità
Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario
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
DettagliDiario delle Lezioni del Corso di Algoritmimodulo
Diario delle Lezioni del Corso di Algoritmimodulo Complessità A.A. 2010-2011 Dott.ssa Margherita Zorzi 1 Materiale didattico Libro di testo C.H. Papadimitrious, Computational Complexity, ed Addison-Wesley
DettagliMacchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD
Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento
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
DettagliMacchine a registri RAM (Random Access Machines)
Macchine a registri RAM (Random Access Machines) Introdotte da Shepherdson e Sturgis nel 1963 per sviluppare la teoria della calcolabilità con un modello astratto di un reale calcolatore (macchina di von
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
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
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliNote aggiuntive al corso di Informatica Teorica a.a
Note aggiuntive al corso di Informatica Teorica a.a. 2008-2009 Giorgio Gambosi 1 Equivalenza tra MT multinastro e MT ad un nastro Le macchine di Turing multinastro hanno lo stesso potere computazionale
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
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
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliAlgoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014
Algoritmi e Principi dell'informatica Seconda Prova in Itinere - 14 Febbraio 2014 Nome..Cognome.Matr. Laureando Avvisi importanti Il tempo a disposizione è di 1 ora e 30 minuti. Se non verranno risolti
DettagliTempo e spazio di calcolo
Tempo e spazio di calcolo Modelli di calcolo e metodologie di analisi F. Damiani - Alg. & Lab. 04/05 (da M. Zacchi - Alg. & Lab. 03/04) In quale modo stimiamo il tempo di calcolo? Possiamo considerare
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
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 20 Febbraio 2012 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2h e 30 Chi deve sostenere solo il modulo di Informatica
Dettagli11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
DettagliAlgoritmi e strutture di dati 2
Paola Vocca Lezione 4: Programmazione dinamica 1 Caratteristiche Programmazione dinamica: paradigma basato sullo stesso principio utilizzato per il divide et impera o il problema viene decomposto in sotto-problemi
DettagliCapitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,
DettagliLa Macchina RAM Shepherdson e Sturgis (1963)
La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni
DettagliAlgoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.
E. Calabrese: Fondamenti di Informatica Algoritmi-1 Algoritmi di ricerca Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. Per esempio: - cercare
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliCammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
DettagliUNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 2015/16 UNA GERARCHIA DI MACCHINE UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine di Turing Macchine di
DettagliL AUTOMA ESECUTORE L AUTOMA ESECUTORE
L AUTOMA ESECUTORE Metodo Risolutivo (algoritmo) Un automa capace di ricevere dall esterno una descrizione dello algoritmo richiesto DATI Esecutore RISULTATI cioè capace di interpretare un linguaggio (linguaggio
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
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}*
DettagliProprieta dei Linguaggi regolari
Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.
DettagliParte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliAnno accademico 2001/2002
Raccolta temi d esame del corso di Complessità Roberto Posenato 12 febbraio 2014 Parte I Anno accademico 2001/2002 1 Appello del 24/06/2002 Esercizio 1.1. (Esercizio annunciato) Dimostrare il teorema della
DettagliEsercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen
Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di
DettagliLe grammatiche formali
Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente
DettagliAlgoritmi e Principi dell Informatica
Algoritmi e Principi dell Informatica Appello del 2 Marzo 2015 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica
DettagliMinimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
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=
DettagliProprietà delle notazioni asintotiche
Proprietà delle notazioni asintotiche Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Notazioni asintotiche Argomento di oggi Proprietà
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Dettagli3.4 Metodo di Branch and Bound
3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land
DettagliLucchetto con combinazione (3 numeri tra 0 e 39)
Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2011/12 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Combinazione di 3 numberi
DettagliAppunti di Teoria descrittiva della complessità. Alessandro Achille, Giovanni Paolini
Appunti di Teoria descrittiva della complessità Alessandro Achille, Giovanni Paolini 19 dicembre 2014 2 Indice 1 Definizioni 5 1.1 Macchine di Turing deterministiche..................... 5 1.2 Macchine
DettagliTeoria della Complessità Concetti fondamentali. la teoria della complessità computazionale tenta di rispondere a domande del tipo
Teoria della Complessità Concetti fondamentali la teoria della complessità computazionale tenta di rispondere a domande del tipo quanto è efficiente un algoritmo? quanto è intrinsecamente difficile un
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:
DettagliLaurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1]
Laurea Specialistica in Informatica - Università di Ferrara 2008-2009 [1] Macchine di Turing modello di calcolo introdotto dall ingegner Alan Turing nel 1936, per simulare il processo di calcolo umano
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
Dettagli1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine
1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine In questo tipo di giochi l arena è costituita da due grafi orientati G = (V, E), G = (V, E ). Lo scopo del I giocatore è di mostrare, in un numero
DettagliComplessità e Approssimazione
1 Complessità e Approssimazione Corso di Laurea in Scienze dell'informazione Corso di Laurea Specialistica in Matematica Docente: Mauro Leoncini 2 Aspetti organizzativi Sito web: http://algo.ing.unimo.it/people/mauro
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
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
DettagliMacchine di Turing e Complessità
Macchine di Turing e Complessità Lucidi di Pierluigi Crescenzi,Università di Firenze, adattati ed estesi da A.Marchetti Spaccamela A.A. 2012-2013 Pilu Crescenzi () IT A.A. 2012-2013 1 / 150 Obiettivi e
DettagliAlgoritmi e Strutture Dati
Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
DettagliFondamenti di Informatica. Algoritmo. Algoritmo funzionale. Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a.
Fondamenti di Informatica Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2011-2012 Algoritmo L algoritmo è una sequenza finita di istruzioni, mediante le quali un qualunque operatore
Dettagli1 Funzioni reali di una variabile reale
1 Funzioni reali di una variabile reale Qualche definizione e qualche esempio che risulteranno utili più avanti Durante tutto questo corso studieremo funzioni reali di una variabile reale, cioè Si ha f
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
DettagliLa teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della
Grafi La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della topologia combinatoria. Definizione intuitiva di grafo: Un Grafo è un insieme di nodi (rappresentabili
DettagliCapitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali
Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,
Dettagli0.1 Esercizi calcolo combinatorio
0.1 Esercizi calcolo combinatorio Esercizio 1. Sia T l insieme dei primi 100 numeri naturali. Calcolare: 1. Il numero di sottoinsiemi A di T che contengono esattamente 8 pari.. Il numero di coppie (A,
DettagliRicerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015
1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)
DettagliL algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013
L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)
DettagliIngegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation
Ingegneria della Conoscenza e Sistemi Esperti Lezione 9: Evolutionary Computation Dipartimento di Elettronica e Informazione Politecnico di Milano Evolutionary Computation Raggruppa modelli di calcolo
DettagliIntroduzione ai problemi NP-completi
Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea
DettagliRappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)
Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme
DettagliAlgoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
DettagliAlternanza, parallelismo e complessità
Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Matematica Tesi di Laurea Triennale Alternanza, parallelismo e complessità Candidato Pietro Battiston Relatore Prof. Alessandro
Dettagli1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):
. equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale
DettagliLezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi
Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)
DettagliAlgoritmi (9 CFU) (A.A )
Algoritmi (9 CFU) (A.A. 2009-10) Equazioni di ricorrenza Prof. V. Cutello Algoritmi 1 Overview Definiamo cos è una ricorrenza Introduciamo 3 metodi per risolvere equazioni di ricorrenza Sostituzione e
DettagliLucchetto con combinazione (3 numeri tra 0 e 39)
Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2010/11 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Ans: Combinazione di 3
Dettaglia + 2b + c 3d = 0, a + c d = 0 c d
SPAZI VETTORIALI 1. Esercizi Esercizio 1. Stabilire quali dei seguenti sottoinsiemi sono sottospazi: V 1 = {(x, y, z) R 3 /x = y = z} V = {(x, y, z) R 3 /x = 4} V 3 = {(x, y, z) R 3 /z = x } V 4 = {(x,
DettagliEsercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi
Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore
DettagliAniello Murano Overview del corso
Aniello Murano Overview del corso Lezione n. Parole chiave: Overview 1 Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Informazioni Generali sul Corso Esame: Calcolabilità
DettagliLaurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Successioni e loro limiti
Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Successioni e loro limiti Docente: Anna Valeria Germinario Università di Bari A.V.Germinario (Università di
DettagliLA COMPLESSITA DEGLI ALGORITMI
LA COMPLESSITA DEGLI ALGORITMI Tra i problemi che ammettono soluzione esistono problemi facili e difficili. Teoria della complessità (anni 70): complessità di un problema; valutazione dell efficienza degli
Dettagli5) Equazioni di ricorrenza
Pag 37 5) Equazioni di ricorrenza Valutare la complessità di un algoritmo ricorsivo è, in genere, più laborioso che nel caso degli algoritmi iterativi. Infatti, la natura ricorsiva della soluzione algoritmica
DettagliEsercizi sulla complessità di frammenti di pseudo-codice
Esercizi sulla complessità di frammenti di pseudo-codice Esercizio 1 Si determini la complessità temporale del seguente frammento di pseudo-codice in funzione di n. Il ciclo contiene solo istruzioni elementari;
DettagliLa tesi di Church-Turing
ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo
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
DettagliAgenti che risolvono problemi attraverso la ricerca in uno spazio di stati
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_1 V1.4 Agenti che risolvono problemi attraverso la ricerca in uno spazio di stati Il contenuto del documento è
DettagliTipologie di macchine di Turing
Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica
DettagliIl problema di P e NP
Il problema di P e NP Calcolo efficiente, sicurezza di Internet, e i limiti della conoscenza umana Linda Pagli Dipartimento di Informatica Clay Math Institute Problemi del Millennio da $1M ciascuno Congettura
DettagliMacchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
Dettagli