Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)
|
|
- Roberta Marconi
- 7 anni fa
- Visualizzazioni
Transcript
1 Note sulle classi di complessità P, NP e NPC per ASD (DRAFT) Nicola Rebagliati 20 dicembre La complessità degli algoritmi Obiettivo principale della teoria della complessità: ottenere una tassonomia di problemi decisionali interessanti rispetto alle risorse computazionali per risolverli. La teoria che stiamo per vedere ha la sua origine nel 1966 con Jack Edmonds e col tempo ha dimostrato di fornire risposte corrette alla distinzione tra problemi risolvibili e difficili. Un problema che riteniamo essere risolvibile è, ad esempio, quello del cammino minimo tra due vertici, infatti grazie all algoritmo di Dijkstra possiamo trovare la soluzione in tempo O(n 2 ), con n il numero di vertici. Parleremo di problemi difficili nella prossima sezione. Ora abbiamo bisogno di fissare un po di notazione. Dopo aver stabilito una codifica binaria efficiente dell input, consideriamo un problema decisionale come una funzione f : {0, 1} {yes, no} Dopodiché, dato un problema decisionale f, definiamo il suo linguaggio come: L := {x {0, 1} f(x) = yes} Vediamo come vengono scritti alcuni problemi decisionali: Cammino minimo di un grafo tra due nodi u e v. Questo problema si risolve con l algoritmo di Dijkstra che lavora in tempo O(n 2 ), con n il numero di vertici. PATH:={ G, u, v, k Esiste un cammino con meno di k archi che collega i vertici u e v nel grafo G} Albero di copertura minimo di un grafo è un albero connesso contenuto nel grafo e che minimizza la somma dei pesi degli archi che lo compone. Lo si trova con l algoritmo di Kruskal in O(n 2 log n) 1. 1 In questa complessità sono stati omessi dei fattori log log n 1
2 MST:= { G, T T è un albero contenuto nel grafo G che contiene tutti i suoi vertici tale che la somma dei pesi è minimale} Primalità di un numero, cioé sapere se sia primo o no, è un problema che è stato risolto recentemente da Agrawal, Kayal e Saxena, lavora in tempo O(log 12 n). Cioé polinomiale nel numero di bits. PRIMES:={ n n è la codifica binaria di un numero primo} A questo punto siamo in grado di definire una classe di linguaggi che contiene questi esempi e molti altri: la classe P dei problemi risolvibili in tempo polinomiale. P := {L Esiste k, dipendente da L, tale che per ogni x {0, 1} si può decidere x L in tempo O(n k )} 2 La classe dei problemi certificabili in tempo polinomiale Introduciamo adesso dei problemi che risultano, ai fatti, più difficili da risolvere dei precedenti. Satisfiability Una formula booleana in forma congiuntiva (CNF:=Congiuntive Normal Form) consiste in una serie di clausole congiunte, in cui ogni clausola è una serie di disgiunzioni di variabili, possibilmente negate. Ad esempio questa è una formula (x 1 (x 2 ) x 3 ) ( (x 1 ) x 2 x 3 ) ( x 1 (x 2 ) (x 3 )) con tre clausole 2. Se ogni clausola contiene meno di k variabili si dice k-cnf. Il problema è trovare un assegnamento booleano che renda vera la formula. Ci concentreremo sul caso in cui le clausole abbiano al più tre variabili: 3-SAT:= {x x è un formula in forma 3-CNF che ha almeno un assegnamento che la rende vera.} Clique di un grafo è un sottinsieme di vertici per cui ognuno è connesso ad ogni altro del sottinsieme. Ovviamente le coppie di vertici connesse formano delle clique, ma potrebbero esserci insiemi più grandi a cui siamo interessati. Il linguaggio corrisponendente è: CLIQUE:= { G, k G è un grafo con almeno una clique di dimensione k} Independent set di un grafo è un sottinsieme di vertici che non sono collegati l uno con l altro. INDEPENDENT SET:= { G, k G è un grafo con almeno un independent set di dimensione k} 2 verificare che è vera se, ad esempio, tutte le variabili sono false 2
3 Al momento non sono noti algoritmi che siano in grado di risolvere questi problemi decisionali in tempo polinomiale. Questo nonostante strenui sforzi di menti brillanti nell informatica. D altra parte è molto semplice verificare se una certa soluzione valga per questi problemi, cioé è facile certificare una soluzione e si può vedere che lo si può fare, per questi tre problemi in tempo polinomiale. Ad esempio se ho un grafo G, un numero k ed un insieme di vertici posso verificare facilmente se questi formino una clique di dimensione k. Come posso facilmente verificare se una assegnazione di un insieme di variabili che rende vera una formula in forma 3-CNF. Definiamo un certificato come una stringa binaria y ed una funzione verificatrice g : {0, 1} {0, 1} {yes, no} Tale che x L se e solo se esiste y, g(x, y) = yes. Se g lavora in tempo polinomiale, e il certificato y è di lunghezza polinomiale in x 3, allora L è certificabile in tempo polinomiale e per questo definiamo la classe di complessità NP: NP := {L Esiste una costante c per cui x L se e solo se esiste un certificato y con dimensione polinomiale y O( x c ) e verificabile in tempo polinomiale.} 3 Riduzioni e problemi NP-completi Alcuni problemi nella classe NP sono più interessanti di altri in quanto è possibile ricondurre la risoluzione di uno alla risoluzione di un altro. Ad esempio vedremo che se fossimo in grado di decidere la CLIQUE in tempo polinomiale, allora saremmo in grado di capire se una formula in 3-SAT sia soddisfacibile. Questo è sorprendente in quanto a prima vista i due problemi sono completamente diversi. Vediamo innanzitutto cosa vuol dire ridurre un problema in un altro. Diremo che un linguaggio L 1 è riducibile in tempo polinomiale ad L 2 se esiste una funzione calcolabile in tempo polinomiale r : {0, 1} {0, 1} tale che per ogni x {0, 1} x L 1 se e soltanto se r(x) L 2 r è detta funzione di riduzione e scriviamo L 1 p L 2. Il seguente lemma è facile da verificare: Lemma 3.1. Siano L 1, L 2 {0, 1} linguaggi tali che L 1 p L 2, allora L 2 P implica L 1 P Dimostrazione. Visto che la funzione di riduzione lavora in tempo polinomiale r(x) ha una lunghezza polinomiale in x. Ma il polinomio di un polinomio è ancora un polinomio, per cui r(x) L 2 viene deciso in un tempo polinomiale in x. 3 x denota il numero di caratteri della stringa x 3
4 4 Problemi NP-Completi E interessante che ci sia un ampia gamma di problemi in NP per cui ci si può ridurre dall uno all altro in tempo polinomiale. Questo implica anche che se si trovasse un algoritmo che ne risolvesse uno in tempo polinomiale, questo algoritmo varrebbe in realtà per una moltitudine di problemi. Definizione 4.1. Un problema si dice NP-completo se: 1. L NP 2. L p L per ogni L NP Se vale solo la seconda condizione L si dice essere NP-difficile. La classe dei problemi NP-completi si chiama NPC. Per motivi di spazio assumeremo 3 SAT sia NP-completo, e vedremo come lo si possa ridurre in tempo polinomiale a CLIQUE, e quindi ridurremo CLIQUE a INDEPENDENT SET. Quindi stiamo per mostrare: 3-SAT p CLIQUE p INDEPENDENT SET. Teorema SAT p CLIQUE: presa una formula φ in forma 3-CNF con m clausole, costruiamo un grafo G che abbia un vertice per ogni variabile (o variabile negata) all interno di ogni clausola. Quindi un grafo con 3m vertici. Colleghiamo due vertici se e solo se appartengono a clausole diverse e non rappresentano la stessa variabile negata, cioé non sono una coppia della forma (x, x). La funzione r(φ) restituisce una coppia G, m, lavora in tempo polinomiale, e ci chiediamo se φ 3-SAT se e solo se G, m CLIQUE. Ora, se G contenesse una clique di dimensione m, questa clique avrebbe un vertice in ogni clausola e ci consentirebbe di trovare un assegnazione che soddisfa φ senza incappare in una contraddizione. Viceversa se avessimo un assegnazione che soddisfa φ, potremmo scegliere da ogni clausola una variabile con valore vero, dal momento che le m variabili scelte hanno tutte lo stesso valore, dovrebbero essere collegate l una con l altra nel grafo, formando una clique. Vedi figura 4.2 CLIQUE p INDEPENDENT SET: Dato un grafo G consideriamo il suo negato G come quello in cui l assenza/presenza di archi è invertita rispetto a G. Ora basta notare che un sottinsieme di vertici è una clique in un grafo G se e soltanto se è un independent set nel grafo G 5 conp e P = NP La classe conp consiste di linguaggi per cui il complemento 4 appartiene ad NP : conp = {L L NP } 4 Il complemento di un linguaggio L {0, 1} è l insieme delle stringhe x / L 4
5 x 1 x 2 x 3 x 1 x 1 x 2 x 2 x 3 x 3 Figure 1: Ogni triangolo, cioé una clique con tre vertici, in figura corrisponde ad una assegnazione vera per la formula (x 1 (x 2 ) x 3 ) ( (x 1 ) x 2 x 3 ) ( x 1 (x 2 ) (x 3 )) Ovviamente P conp e P = cop cosicché abbiamo P NP conp. Ma questo a sua volta implica che P = NP cop = conp NP = conp. Quindi NP conp P NP Ci sono quattro possibilità: P=NP=coNP P NP=coNP P = conp NP, e conp NP NP e NP conp P conp NP, e conp NP NP e NP conp La ricerca su questa domanda è stata, ed è tuttora, vastissima. Generalmente si ritiene che P NP, in quanto sembra strano che cercare una risposta sia tanto facile quanto riconoscerla. Oppure notate l asimmetria tra NP e conp, sembra molto più semplice, ad esempio, verificare che una formula 3-SAT sia soddisfacibile (essenzialmente basta produrre una assegnazione che la renda vera) piuttosto che dimostrare che è insoddisfacibile (per ogni assegnazione è falsa.) 6 Bibliografia fortnow/papers/pnp-cacm.pdf Introduzione agli algoritmi e strutture dati - Cormen Leiserson Rivest Stein, capitolo 34. 5
Sommario. 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
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à)
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
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
DettagliLuca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente
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
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
DettagliMETODI MATEMATICI PER L INFORMATICA
METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 2 17/03/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Applicazioni della logica proposizionale La logica ha una
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
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Dettagliuna possibile funzione unidirezionale
una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare
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à
Dettagli1 IL LINGUAGGIO MATEMATICO
1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti
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
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
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
DettagliSomma diretta di sottospazi vettoriali
Capitolo 8 Somma diretta di sottospazi vettoriali 8.1 Introduzione Introduciamo un caso particolare di somma di due sottospazi vettoriali: la somma diretta. Anche questo argomento è stato visto nel corso
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
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
DettagliAppunti di informatica. Lezione 7 anno accademico Mario Verdicchio
Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
DettagliMaiuscole e minuscole
Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e
DettagliVISITA IL SITO PER ALTRO MATERIALE E GUIDE
COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti
DettagliCorso di elettrotecnica Materiale didattico: i grafi
Corso di elettrotecnica Materiale didattico: i grafi A. Laudani 12 ottobre 2005 I grafi costituiscono uno strumento matematico che permette di descrivere e schematizzare una grande varietà di problemi
Dettagli4 0 = 4 2 = 4 4 = 4 6 = 0.
Elementi di Algebra e Logica 2008. Esercizi 4. Gruppi, anelli e campi. 1. Determinare la tabella additiva e la tabella moltiplicativa di Z 6. (a) Verificare dalla tabella moltiplicativa di Z 6 che esistono
DettagliComplementi di Analisi Matematica Ia. Carlo Bardaro
Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo
DettagliAlgoritmi e Strutture Dati - Prof. Roberto De Prisco A.A Seconda prova di verifica (4 Febbraio 2005)
Algoritmi e Strutture Dati - Prof. Roberto De Prisco A.A. 004-00 Seconda prova di verifica (4 Febbraio 00) Laurea/Diploma in Informatica Università di Salerno Nome e Cognome: Matricola: 1 3 4 TOTALE /1
DettagliMatematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1
Corso integrato di Matematica per le scienze naturali ed applicate Materiale integrativo Paolo Baiti 1 Lorenzo Freddi 1 1 Dipartimento di Matematica e Informatica, Università di Udine, via delle Scienze
Dettagli2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
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
DettagliLOGICA MATEMATICA PER INFORMATICA
LOGICA MATEMATICA PER INFORMATICA A.A. 12/13, DISPENSA N. 6 Sommario. Il Teorema di Compattezza e alcune sue applicazioni: assiomatizzabilità e non-assiomatizzabilità di proprietà di strutture, e modelli
DettagliIl Teorema di Kakutani
Il Teorema di Kakutani Abbiamo visto, precedentemente, il seguente risultato: 1 Sia X uno spazio di Banach. Se X è separabile, la palla è debolmente compatta. B X = {x X x 1} Il Teorema di Kakutani è un
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
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
DettagliEquazioni, funzioni e algoritmi: il metodo delle secanti
Equazioni, funzioni e algoritmi: il metodo delle secanti Christian Ferrari 1 Introduzione La risoluzione di equazioni in R ci ha mostrato che solo per le equazioni polinomiali di primo e secondo grado,
Dettagli0.1 Spazi Euclidei in generale
0.1. SPAZI EUCLIDEI IN GENERALE 1 0.1 Spazi Euclidei in generale Sia V uno spazio vettoriale definito su R. Diremo, estendendo una definizione data in precedenza, che V è uno spazio vettoriale euclideo
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
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)
DettagliCOMPLETAMENTO DI SPAZI METRICI
COMPLETAMENTO DI SPAZI METRICI 1. Successioni di Cauchy e spazi metrici completi Definizione 1.1. Una successione x n n N a valori in uno spazio metrico X, d si dice di Cauchy se, per ogni ε > 0 esiste
DettagliAppunti introduttivi sulle classi di complessità
Appunti introduttivi sulle classi di complessità A. Agnetis 1 Introduzione Lo scopo di queste note è quello di fornire una introduzione ad alcuni concetti di complessità computazionale che, nati in ambito
DettagliPrecorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
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 =
DettagliAlgoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
DettagliTEORIA DEI SISTEMI SISTEMI LINEARI
TEORIA DEI SISTEMI Laurea Specialistica in Ingegneria Meccatronica Laurea Specialistica in Ingegneria Gestionale Indirizzo Gestione Industriale TEORIA DEI SISTEMI SISTEMI LINEARI Ing. Cristian Secchi Tel.
DettagliAnno 4 Matrice inversa
Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
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
DettagliEquazioni esponenziali e logaritmi
Copyright c 2008 Pasquale Terrecuso Tutti i diritti sono riservati. Equazioni esponenziali e logaritmi 2 equazioni esponenziali..................................................... 3 casi particolari............................................................
DettagliLa matematica non è un opinione, lo è oppure...?
La matematica non è un opinione, lo è oppure...? Giulio Giusteri Dipartimento di Matematica e Fisica Università Cattolica del Sacro Cuore Brescia 26 Febbraio 2010 Vecchie conoscenze Dedurre... dedurre...
DettagliIl più grande problema irrisolto dell informatica
Il più grande problema irrisolto dell informatica Un breve percorso intorno al concetto di complessità computazionale Marco Liverani liverani@mat.uniroma3.it 5 aprile 2005 Liceo Scientifico Statale G.
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
DettagliAnno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali
Anno 2 Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali 1 Introduzione In questa lezione tratteremo i poligoni inscritti e circoscritti a una circonferenza, descrivendone
Dettagli1 Fattorizzazione di polinomi
1 Fattorizzazione di polinomi Polinomio: un polinomio di grado n nella variabile x, è dato da p(x) = a n x n + a n 1 x n 1 + + a 1 x + a 0 con a n 0, a 0 è detto termine noto, a k è detto coefficiente
DettagliRapida Nota sulla Rappresentazione dei Caratteri
TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit
DettagliUniversità degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni
Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a
DettagliCapitolo 1. Gli strumenti. 1.1 Relazioni
Capitolo 1 Gli strumenti Consideriamo un insieme X. In geometria siamo abituati a considerare insiemi i cui elementi sono punti ad esempio, la retta reale, il piano cartesiano. Più in generale i matematici
DettagliIntegrale indefinito
Integrale indefinito 1 Primitive di funzioni Definizione 1.1 Se f: [a, b] R è una funzione, una sua primitiva è una funzione derivabile g: [a, b] R tale che g () = f(). Ovviamente la primitiva di una funzione,
Dettagli04 - Numeri Complessi
Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,
DettagliGiovanna Carnovale. October 18, Divisibilità e massimo comun divisore
MCD in N e Polinomi Giovanna Carnovale October 18, 2011 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore
DettagliLEZIONE 15. (15.1.2) p(x) = a 0 x n + a 1 x n a n 1 x + a n = a h x n h.
LEZIONE 15 15.1. Polinomi a coefficienti complessi e loro e loro radici. In questo paragrafo descriveremo alcune proprietà dei polinomi a coefficienti complessi e delle loro radici. Già nel precedente
DettagliLezione 3 - Teoria dei Numeri
Lezione 3 - Teoria dei Numeri Problema 1 Trovare il più piccolo multiplo di 15 formato dalle sole cifre 0 e 8 (in base 10). Il numero cercato dev'essere divisibile per 3 e per 5 quindi l'ultima cifra deve
DettagliCorso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati
Dettagli1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.
1 Introduzione alle matrici quadrate 2 2 a coefficienti in R Per introdurre il concetto di matrice, a 2 righe e 2 colonne, iniziamo col considerare griglie o tabelle di numeri Gli elementi della griglia,
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
DettagliIl codice di Sarngadeva
Matematica - Musica Il codice di Sarngadeva È oggi riconosciuto da molti (vedi, ad esempio, Knuth [3]) come diverse nozioni combinatorie di base (quali il sistema binario, il triangolo di Tartaglia-Pascal,
DettagliIntroduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente
Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino
DettagliLEZIONE 30. Se x = 1 si dice che x è un versore. Se poi y = (y 1,..., y n ) R n poniamo. Ricordiamo che vale la cosiddetta disuguaglianza triangolare
LEZIONE 30 30.1. Insiemi aperti e chiusi in R n. Nel corso di Analisi sono state introdotte alcune nozioni di topologia di R, come la nozione di aperto, di chiuso, di punto d accumulazione. Lo scopo di
DettagliMATEMATICA DI BASE 1
MATEMATICA DI BASE 1 Francesco Oliveri Dipartimento di Matematica, Università di Messina 30 Agosto 2010 MATEMATICA DI BASE MODULO 1 Insiemi Logica Numeri Insiemi Intuitivamente, con il termine insieme
Dettagli35 è congruo a 11 modulo 12
ARITMETICA MODULARE Scegliamo un numero m che chiameremo MODULO Identifichiamo ogni altro numero con il suo resto nella divisione per m Tutti i numeri col medesimo resto si trovano insieme nella classe
DettagliProblemi difficili e ricerca esaustiva intelligente
Problemi difficili e ricerca esaustiva intelligente Roberto De Prisco Corso di Progettazione di Algoritmi - a.a. 2015-2016 1 Introduzione Queste brevi note sono a supporto dell ultimo argomento trattato
DettagliAnno 2. Circonferenza e retta: definizioni e proprietà
Anno 2 Circonferenza e retta: definizioni e proprietà 1 Introduzione I Sumeri furono tra i primi popoli ad occuparsi di matematica, e in particolare di problemi relativi alla. La è una figura geometrica
DettagliNOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE
NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE ROBERTO GIAMBÒ 1. DEFINIZIONI E PRIME PROPRIETÀ In queste note saranno presentate alcune proprietà principali delle funzioni convesse di una variabile
DettagliLE EQUAZIONI DIFFERENZIALI DEL PRIMO ORDINE
LE EQUAZIONI DIFFERENZIALI DEL PRIMO ORDINE 1. EQUAZIONI DIFFERENZIALI LE EQUAZIONI DIFFERENZIALI DEL PRIMO ORDINE ESEMPIO Della funzione y = f(x) si sa che y' 2x = 1. Che cosa si può dire della funzione
DettagliUn po di logica. Christian Ferrari. Laboratorio di matematica
Un po di logica Christian Ferrari Laboratorio di matematica 1 Introduzione La logica è la disciplina che studia le condizioni di correttezza del ragionamento. Il suo scopo è quindi quello di elaborare
DettagliCorso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica
Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica Soluzione del compito di Matematica Discreta 1 del 25 luglio 200 1. Qual è il numero di applicazioni f : A = {1,..., 5} B
DettagliNote del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT
Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il
DettagliCorso di Analisi Numerica
Corso di Laurea in Ingegneria Informatica Corso di 4 - DERIVAZIONE NUMERICA Lucio Demeio Dipartimento di Scienze Matematiche 1 Calcolo numerico delle derivate 2 3 Introduzione Idea di base L idea di base
DettagliLa funzione di Hilbert e i numeri di Betti tra Algebra e Geometria
La funzione di Hilbert e i numeri di Betti tra Algebra e Geometria Alfio Ragusa Dipartimento di Matematica e Informatica Università di Catania Gennaio 2014 Alfio Ragusa (Univ. Catania) La funzione di Hilbert
DettagliL aritmetica degli insiemi infiniti Parte I
L aritmetica degli insiemi infiniti Parte I Stefano Baratella Versione L A TEX realizzata in collaborazione con Tullio Garbari 1 Prerequisiti La relazione di equipotenza tra insiemi. Definizione 1. Si
Dettagli8. Completamento di uno spazio di misura.
8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme
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
DettagliInformatica, Algoritmi, Linguaggi
Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo
Dettagli1 ELEMENTI DI ALGEBRA BOOLEANA I postulati dell'algebra di Boole Alcuni teoremi I teoremi di De Morgan
1 ELEMENTI DI LGER OOLEN... 1 1.1 I postulati dell'lgebra di oole... 1 1.2 lcuni teoremi... 5 1.3 I teoremi di De Morgan... 6 1.4 Esercizi... 8 1.1 1 ELEMENTI DI LGER OOLEN 1.1 I postulati dell'lgebra
DettagliSviluppi e derivate delle funzioni elementari
Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim
DettagliTEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.
TEN 2008. Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. Lemma 1. Sia n Z. Sia p > 2 un numero primo. (a) n è un quadrato modulo p se e solo se n p 1 2 1 mod p; (b) Sia n 0
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
DettagliGrafi e gruppo fondamentale di un grafo
Grafi e gruppo fondamentale di un grafo Note per il corso di Geometria IV (relative alla parte dei 6 crediti) Milano, 2010-2011, M.Dedò Come trovare un grafo omotopicamente equivalente all'oggetto 3d raffigurato
Dettagli1 Calcolo dei predicati del I ordine. Semantica
1 Calcolo dei predicati del I ordine. Semantica Ricordiamo la sintassi del calcolo dei predicati. 1.1 Sintassi. Sintassi. Un linguaggio del calcolo dei predicati L = (Pred, Fun, Const) consiste di (1)
DettagliDIMOSTRAZIONI E TAUTOLOGIE, IPOTESI NON TAUTOLOGICHE. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini
DIMOSTRAZIONI E TAUTOLOGIE, IPOTESI NON TAUTOLOGICHE Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini INFERENZE CORRETTE E TAUTOLOGIE Il Calcolo Proposizionale permette di formalizzare
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
DettagliMetodi per la risoluzione di sistemi lineari
Metodi per la risoluzione di sistemi lineari Sistemi di equazioni lineari. Rango di matrici Come è noto (vedi [] sez.0.8), ad ogni matrice quadrata A è associato un numero reale det(a) detto determinante
DettagliPrecorso di Matematica
UNIVERSITÀ DEGLI STUDI ROMA TRE FACOLTA DI ARCHITETTURA Precorso di Matematica Anna Scaramuzza Anno Accademico 2005-2006 4-10 Ottobre 2005 INDICE 1. ALGEBRA................................. 3 1.1 Equazioni
DettagliRappresentazione della Conoscenza. Lezione 2. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0
Rappresentazione della Conoscenza Lezione 2 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0 Logica come linguaggio di rappresentazione della conoscenza Sommario richiami sintassi e semantica
DettagliAnno 1. Quadrilateri
Anno 1 Quadrilateri 1 Introduzione In questa lezione impareremo a risolvere i problemi legati all utilizzo dei quadrilateri. Forniremo la definizione di quadrilatero e ne analizzeremo le proprietà e le
DettagliPORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
DettagliAPPUNTI DI INFORMATICA
APPUNTI DI INFORMATICA Per il biennio di liceo scientifico scienze applicate Sommario Il calcolo binario... 2 Numerazione Decimale... 2 Numerazione Binaria... 2 Conversione Binario -> Decimale... 2 Conversione
DettagliCONSEGUENZA PROPORZIONI
Corso di laurea: BIOLOGIA Tutor: Floris Marta PRECORSI DI MATEMATICA CONSEGUENZA PROPORZIONI PROBLEMI DEL TRE SEMPLICE Le conoscenze acquisite sui rapporti e sulle proporzioni possono essere applicate
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:
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)
Dettagli