Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)"

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 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

Dettagli

L algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013

L 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à)

Dettagli

Problemi, istanze, soluzioni

Problemi, 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

Dettagli

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza

Introduzione 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

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca 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

Dettagli

3 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 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

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5

Algoritmi 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

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI 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

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto 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

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso 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

Dettagli

una possibile funzione unidirezionale

una 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

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

1 IL LINGUAGGIO MATEMATICO

1 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

Dettagli

Il problema di P e NP

Il 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

Dettagli

Logica proposizionale

Logica 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

Dettagli

Aniello Murano Decidibilità delle teorie logiche

Aniello 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

Dettagli

Somma diretta di sottospazi vettoriali

Somma 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

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi 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

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto 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

Dettagli

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Appunti 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

Dettagli

Maiuscole e minuscole

Maiuscole 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

Dettagli

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

VISITA 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

Dettagli

Corso di elettrotecnica Materiale didattico: i grafi

Corso 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

Dettagli

4 0 = 4 2 = 4 4 = 4 6 = 0.

4 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

Dettagli

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi 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

Dettagli

Algoritmi 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 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

Dettagli

Matematica. Corso integrato di. per le scienze naturali ed applicate. Materiale integrativo. Paolo Baiti 1 Lorenzo Freddi 1

Matematica. 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

Dettagli

2.6 Calcolo degli equilibri di Nash

2.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

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Complessità e Approssimazione

Complessità 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

Dettagli

LOGICA MATEMATICA PER INFORMATICA

LOGICA 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

Dettagli

Il Teorema di Kakutani

Il 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

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA 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

Dettagli

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

1. 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

Dettagli

Equazioni, funzioni e algoritmi: il metodo delle secanti

Equazioni, 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,

Dettagli

0.1 Spazi Euclidei in generale

0.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

Dettagli

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine

1 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

Dettagli

11.4 Chiusura transitiva

11.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)

Dettagli

COMPLETAMENTO DI SPAZI METRICI

COMPLETAMENTO 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

Dettagli

Appunti introduttivi sulle classi di complessità

Appunti 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

Dettagli

Precorsi di matematica

Precorsi 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

Dettagli

Esercizi proposti 10

Esercizi 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 =

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo 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

Dettagli

TEORIA DEI SISTEMI SISTEMI LINEARI

TEORIA 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.

Dettagli

Anno 4 Matrice inversa

Anno 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

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo 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

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

UNIVERSITÀ 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

Dettagli

Equazioni esponenziali e logaritmi

Equazioni esponenziali e logaritmi Copyright c 2008 Pasquale Terrecuso Tutti i diritti sono riservati. Equazioni esponenziali e logaritmi 2 equazioni esponenziali..................................................... 3 casi particolari............................................................

Dettagli

La matematica non è un opinione, lo è oppure...?

La 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...

Dettagli

Il più grande problema irrisolto dell informatica

Il 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.

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Anno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali

Anno 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

Dettagli

1 Fattorizzazione di polinomi

1 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

Dettagli

Rapida Nota sulla Rappresentazione dei Caratteri

Rapida 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

Dettagli

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

Università 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

Dettagli

Capitolo 1. Gli strumenti. 1.1 Relazioni

Capitolo 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

Dettagli

Integrale indefinito

Integrale 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,

Dettagli

04 - Numeri Complessi

04 - 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,

Dettagli

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

Giovanna 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

Dettagli

LEZIONE 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.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

Dettagli

Lezione 3 - Teoria dei Numeri

Lezione 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

Dettagli

Corso di Matematica per la Chimica

Corso 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

Dettagli

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

1 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,

Dettagli

Informatica/ 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 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

Dettagli

Il codice di Sarngadeva

Il 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,

Dettagli

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Introduzione. 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

Dettagli

LEZIONE 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. 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

Dettagli

MATEMATICA DI BASE 1

MATEMATICA 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

Dettagli

35 è congruo a 11 modulo 12

35 è 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

Dettagli

Problemi difficili e ricerca esaustiva intelligente

Problemi 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

Dettagli

Anno 2. Circonferenza e retta: definizioni e proprietà

Anno 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

Dettagli

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

NOTE 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

Dettagli

LE EQUAZIONI DIFFERENZIALI DEL PRIMO ORDINE

LE 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

Dettagli

Un po di logica. Christian Ferrari. Laboratorio di matematica

Un 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

Dettagli

Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica

Corso 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

Dettagli

Note 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 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Corso di Analisi Numerica

Corso 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

Dettagli

La 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 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

Dettagli

L aritmetica degli insiemi infiniti Parte I

L 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

Dettagli

8. Completamento di uno spazio di misura.

8. 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

Dettagli

Le parole dell informatica: algoritmo e decidibilità

Le 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

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, 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

Dettagli

1 ELEMENTI DI ALGEBRA BOOLEANA I postulati dell'algebra di Boole Alcuni teoremi I teoremi di De Morgan

1 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

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi 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

Dettagli

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.

TEN 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

Dettagli

Tipologie di macchine di Turing

Tipologie 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

Dettagli

Grafi e gruppo fondamentale di un grafo

Grafi 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

Dettagli

1 Calcolo dei predicati del I ordine. Semantica

1 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)

Dettagli

DIMOSTRAZIONI 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 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

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti 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)

Dettagli

Metodi per la risoluzione di sistemi lineari

Metodi 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

Dettagli

Precorso di Matematica

Precorso 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

Dettagli

Rappresentazione 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 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

Dettagli

Anno 1. Quadrilateri

Anno 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

Dettagli

PORTE 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. 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

Dettagli

APPUNTI DI INFORMATICA

APPUNTI 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

Dettagli

CONSEGUENZA PROPORZIONI

CONSEGUENZA 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

Dettagli

Costruzione di espressioni regolari 4

Costruzione 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:

Dettagli

Teoria della Complessità Computazionale. Accettazione/riconoscimento di linguaggi in tempo/spazio

Teoria 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