Come vincere un milione di dollari e vivere felici: il problema P verso NP
|
|
- Aureliana Mariani
- 6 anni fa
- Visualizzazioni
Transcript
1 Lezioni Lincee di Scienze Informatiche Come vincere un milione di dollari e vivere felici: il problema P verso NP Giorgio Ausiello Dip. di Ingegneria Informatica Automatica e Gestionale 'Sapienza' Università di Roma Roma, 6 Maggio 2014
2 La precedente scena è tratta dal serial 'Elementary' Un'altro riferimento al tema di questa lezione è nel serial Numb3rs, episodio Uncertainty principle Charlie, il fratello matematico dell'agente dell'fbi Don Eppes, disgustato dalla violenza della criminalità si ritira a studiare e cerca di risolvere un celebre problema informatico: il problema P verso NP (nel doppiaggio chiamato erroneamente P contro NP ).
3 In questa presentazione cercheremo di spiegare: che cosa è questo problema, perché è così famoso, perché un importante istituto di matematica offre un milione di dollari in premio a chi lo risolve.
4 Tre problemi Abbiamo già visto che il problema del percorso Hamiltoniano (a differenza di quello del percorso Euleriano) è un problema per il quale non si conoscono algoritmi che 'sostanzialmente' non esaminino tutti i possibili percorsi (metodo di forza bruta). Ora vediamo altri tre classici problemi: - il problema della divisione dell'eredità - il problema del commesso viaggiatore - il problema delle disequazioni con variabili binarie.
5 Il problema della divisione dell eredità. Due sorelle devono dividere i gioielli ereditati dalla madre in modo che ciascuna ottenga lo stesso valore. Ad esempio gli oggetti hanno valore: 8, 15, 17, 21, 24, 25, 30, 32. Una soluzione può essere di attribuire gli oggetti di valore 8, 15, 17, 21, 25 (= 86) ad una e i rimanenti all altra. Con 20 oggetti la soluzione va cercata tra (2 20-2)/2, circa possibilità. Con 100 oggetti abbiamo un costo dell ordine di Se ogni possibilità venisse analizzata in un nanosecondo avremmo comunque un tempo di circa 100 miliardi di anni (superiore alla vita dell Universo).
6 Il problema del commesso viaggiatore (TSP). Data la mappa delle strade che collegano n città e i relativi costi di percorrenza un commesso viaggiatore che deve visitare tutte le n città e tornare al punto di partenza deve decidere se il budget che ha a disposizione glielo consente. Il problema si definisce in genere su un grafo completo (ogni città è collegata a tutte le altre). Se il grafo non è completo, come abbiamo visto, è già difficile stabilire se esiste un percorso di visita che passa una sola volta in ogni città (problema del percorso Hamiltoniano).
7 Se ad esempio il budget è 15 e i costi sono quelli indicati Roma Ancona Napoli 7 Bari Gli itinerari possibili hanno costo 23, 22 e 15. L'unica soluzione ammissibile è l itinerario Roma-Bari- Ancona-Napoli-Roma.
8 Nel caso peggiore i possibili itinerari da analizzare sono (n-1)!/2. Fissata la città di partenza le seconde possono essere 19, le terze 18 e così via, tenendo conto che ogni percorso può essere realizzato in due direzioni. Per n=20 si dovrebbero analizzare /2 percorsi impiegando un tempo pari a circa 2 anni (se, anche in questo caso ogni percorso potesse essere analizzato in un nanosecondo). Tecniche algoritmiche più sofisticate permettono di risolvere il TSP con un costo computazionale dell ordine di n 2 2 n ma sempre esponenziale!
9 Le disequazioni con variabili binarie (PL-(0,1)). Dato un sistema di disequazioni lineari esiste una assegnazione di valori 0 o 1 alle variabili che soddisfa tutte le equazioni? Ad esempio, le disequazioni 3x + 5y z 2 2x 3y + 2z 4 sono entrambe soddisfatte se assumiamo x=1, y=0, z=1 mentre non lo sono se assumiamo x=1, y=1, z=0. Se abbiamo m disequazioni ed n variabili le soluzioni possibili sono 2 n e il tempo necessario per trovare (se esiste) una assegnazione di valori che soddisfa tutte le disequazioni è dell ordine di m2 n.
10 Cosa hanno in comune questi problemi? Tutti questi problemi, e altre migliaia di problemi di grande interesse pratico, allo stato attuale delle conoscenze, sono difficili da risolvere. Per essi si conoscono solo algoritmi sostanzialmente di tipo 'forza bruta', di costo esponenziale MA nessuno ha mai dimostrato che non possono esistere algoritmi più efficienti, di costo polinomiale, cioè nessuno ha mai dimostrato che tali problemi sono veramente difficili.
11 Come si è visto, se è necessario utilizzare un metodo di forza bruta il costo di risoluzione è esponenziale e quando la dimensione di un problema da risolvere cresce (100 gioielli da dividere, 100 città da visitare!) neanche potenti computer lo possono risolvere.
12 In pratica è necessario: - adottare tecniche specifiche per i particolari casi che si devono risolvere; così ad esempio è stato risolto il problema del commesso viaggiatore in vari casi reali fino ad un massimo (record attuale) di città oppure: - risolvere il problema in modo approssimato; ad esempio se un grafo rispetta la disuguaglianza triangolare si può trovare abbastanza facilmente un percorso lungo al massimo il 50% più dell'ottimo.
13 Una regola intuitiva (ma con solide basi matematiche). Se un problema richiede tempo polinomiale è facile; se richiede tempo esponenziale è difficile. P: classe di problemi risolubili in tempo polinomiale con macchine di Turing. Se un problema appartiene alla classe P è ritenuto 'facile da risolvere'. Anche se richiede tempo n 100? SI (almeno in prima approssimazione - vedi quanto esposto nella lezione precedente).
14 La classe P viene assunta come sinonimo di classe di 'problemi facili', 'problemi computazionalmente trattabili'. Intuizione di Jack Edmonds (anni '60 - primo algoritmo polinomiale per il matching): I am claiming, as a mathematical result, the existence of a good algorithm for finding a... matching in a graph. There is an obvious finite algorithm, but that algorithm increases in difficulty exponentially with the size of the graph. It is by no means obvious whether or not there exists an algorithm whose difficulty increases only algebraically with the size of the graph.
15 Tesi di Cobham ( in analogia alla Tesi di Church-Turing che afferma che ogni problema risolubile mediante algoritmi di qualunque natura è risolubile mediante macchine di Turing): P è la classe dei problemi 'trattabili' - Ogni 'ragionevole' modello di calcolo porta a definire la stessa classe di problemi risolubili in tempo polinomiale. Macchine quantistiche?
16 Come sappiamo se un problema è facile o difficile? La questione fondamentale per sapere se un problema sia facile o difficile da risolvere, è dunque stabilire se appartenga o no alla classe P. Come si individua la reale complessità di risoluzione di un problema?
17 Per caratterizzare la complessità di un problema servono due informazioni: - quanto tempo basta per risolverlo (upper bound limite superiore) - quanto tempo è indispensabile per risolverlo (lower bound limite inferiore)
18 Ad esempio per ordinare un insieme di n numeri interi: - n log n confronti bastano (algoritmo merge-sort) - n log n sono indispensabili (per individuare uno fra n! ordinamenti nel caso più sfavorevole servono almeno log (n!) n log n confronti) In questo caso la complessità del problema è caratterizzata esattamente (upper bound e lower bound coincidono): la complessità dell ordinamento è n log n.
19 Nel caso dei 3 problemi citati prima invece: - upper bound: 2 n - lower bound: n 2 Grande divario grande incertezza sulla effettiva complessità. Scoprire se i 3 problemi sono veramente difficili o se esistono algoritmi che li possono risolvere in tempo polinomiale è di grande rilevanza.
20 Questo vale non solo per i nostri 3 problemi ma anche per altre migliaia di problemi di grande importanza: - investimenti - trasporti - localizzazione di impianti - progetto di reti di distribuzione Provate a cercare su Facebook il maggior gruppo di vostri amici che sono tutti amici tra loro (problema della massima cricca).
21 NOTA BENE: La complessità di un problema non è solo una caratteristica negativa. Sulla complessità di alcuni problemi (come ad esempio il problema della fattorizzazione) sono basate tecniche di crittografia usate per garantire la sicurezza delle transazioni elettroniche!
22 Visto che non ne conosciamo la complessità con esattezza come possiamo caratterizzare i problemi visti precedentemente? Nel tentativo di caratterizzare la complessità dei nostri 3 problemi possiamo utilizzare un altro modello di calcolo: gli algoritmi non deterministici. Un calcolo non-deterministico non si sviluppa come una sequenza di passi ma come un albero. NP: classe di problemi risolubili in tempo polinomiale ma con algoritmi 'non-deterministici'
23 Ad esempio nel caso del sistema di disequazioni un algoritmo non deterministico 'prova' tutti i valori possibili per le variabili. x=0 x=1 y=0 1 0 y=1 z= z=1 N N N N N SI N N Ricordate Nicholas Cage in Next?
24 I nostri 3 problemi sono tutti risolubili in tempo polinomiale se utilizziamo un modello di calcolo non deterministico. Essi appartengono alla classe NP. In realtà possiamo dire di più: essi sono nella classe dei più 'difficili' problemi appartenenti ad NP: sono NP-completi. Problemi NP-completi: problemi appartenenti a NP e tali che ogni problema in NP si può trasformare in tempo polinomiale ad essi.
25 Soddisfacibilità di formule del calcolo proposizionale (SAT) Data una formula del calcolo proposizionale in forma normale congiuntiva esiste un'assegnazione di valori di verità alle variabili che la rende vera? Ad esempio: (p q r) (p q r) ( p q r) è soddisfacibile perchè la rendiamo vera se assumiamo p = VERO, q = FALSO, r = FALSO oppure p = FALSO, q = VERO, r = VERO (p q) (p q) ( p q) ( p q) invece non è soddisfacibile.
26 Il problema della soddisfacibilità è il primo problema che è stato dimostrato NP-completo (S. Cook, 1971) Ogni problema risolubile in tempo polinomiale con macchine non deterministiche (cioè ogni problema in NP) può essere 'ricondotto' in tempo polinomiale al problema SAT. A partire da SAT altri problemi sono stati dimostrati NPcompleti.
27 Ad esempio possiamo mostrare che data una formula w di SAT possiamo costruire in tempo polinomiale un sistema di disequazioni S w che ammette soluzione se e solo se w è soddisfacibile. Sia w la formula (p q r) (p q r) ( p q r) con variabili logiche p, q, r, il sistema S w di disequazioni con variabili in 0, 1 x p, x q, x r è il seguente: x p + (1- x q ) + x r 1 x p + x q + (1 - x r ) 1 (1 - x p ) + (1- x q ) + x r 1
28 PSPACE EXPTIME NP-completi P NP
29 Ad oggi i problemi NP-completi noti sono diverse migliaia. Tutti questi problemi hanno le stesse caratteristiche: - per essi conosciamo solo algoritmi di costo esponenziale - se per uno solo di essi si dimostrasse che algoritmi polinomiali non esistono si avrebbe la prova che le due classi P ed NP sono diverse - se per uno solo di essi si trovasse un algoritmo polinomiale vorrebbe dire che per tutti gli altri problemi NP-completi esisterebbe un algoritmo polinomiale (sarebbero tutti facili da risolvere) e si avrebbe che le due classi P ed NP coincidono.
30 Il problema da un milione di dollari La classe P e la classe NP sono distinte o coincidono? (problema definito nel 1971 da S. Cook e aperto da allora) In altre parole, esiste un problema in NP (in particolare uno dei nostri 3 problemi o uno qualunque delle migliaia di problemi NP-completi noti) per il quale si può mostrare che non esiste alcun algoritmo polinomiale? OPPURE, AL CONTRARIO E' possibile trovare un algoritmo di costo polinomiale per qualcuno dei problemi NP-completi?
31 Se si scoprisse che P = NP: allora migliaia di problemi di grande interesse pratico potrebbero essere risolti in tempo polinomiale - sarebbero facili! Se si scoprisse che P NP: allora si saprebbe che per quei problemi non esistono algoritmi polinomiali - quei problemi sarebbero veramente difficili e potrebbero essere risolti solo in casi particolari o con metodi approssimati! Ma nella questione P verso NP si cela un problema epistemologico più profondo.
32 Un altro modo di guardare ai problemi NP-completi 1) TROVARE LA SOLUZIONE DI QUESTI PROBLEMI E DIFFICILE. Tutti gli algoritmi noti per risolvere questi problemi richiedono tempo esponenziale anche se nessuno ha mai dimostrato che un tempo esponenziale è effettivamente necessario. MA 2) VERIFICARE LA SOLUZIONE DI QUESTI PROBLEMI E FACILE. Per ognuno di questi problemi si può verificare facilmente in tempo polinomiale se una soluzione proposta risolve realmente il problema.
33 Ad esempio si può agevolmente verificare se una data suddivisione dei gioielli fornisce lo stesso valore alle due sorelle o se un dato itinerario può essere percorso dal commesso viaggiatore rispettando il budget. Tutti noi ci aspettiamo che trovare una soluzione sia 'più difficile' che verificare una soluzione che ci viene proposta. Se al contrario si scoprisse che trovare una soluzione e verificare una soluzione hanno la stessa difficoltà le conseguenze sarebbe sorprendenti.
34 Il problema del XX secolo. Parigi, 9 agosto 1900 Secondo Congresso Internazionale delle Matematiche David Hilbert formula 23 problemi aperti Sur les Problèmes Futurs des Mathématiques Secondo problema: " Dèmontrer que les axiomes [de l'arithmétique] ne sont pas contradictoires; c'est à dire démontrer qu'en se basant sur les axiomes l'on ne pourra jamais arriver à des résultats contradictoires au moyen d'un nombre fini de déductions logiques."
35 Bologna, 3-10 settembre1928 Congresso dell'unione Matematica Internazionale Hilbert esplicita ulteriormente il problema: - l'aritmetica è completa? - l'aritmetica è coerente? - l'aritmetica è decidible? 1931 Gödel dimostra che l'aritmetica è incompleta (o non coerente!) Alan Turing (e Alonzo Church) dimostrano che l'aritmetica è indecidibile.
36 Per far ciò Turing: - definisce il concetto d'algoritmo, - definisce il concetto di macchina universale (calcolatore programmabile), - dimostra l'esistenza di problemi indecidibili, problemi che nessun algoritmo (e nessun computer) può risolvere. IL SECONDO PROBLEMA POSTO DA HILBERT ALL'INIZIO DEL XX SECOLO EBBE UN RUOLO INIMMAGINABILE E FONDAMENTALE NEL PROGRESSO DELL'INFORMATICA, DELLA MATEMATICA E DELLE SCIENZE IN GENERALE
37 Il problema del XXI secolo. Parigi, 24 Maggio 2000 Il Clay Mathematics Institute annuncia la messa in palio di sette premi da un milione di dollari per la soluzione di altrettanti importanti problemi di matematica ancora irrisolti (uno dei quali, la congettura di Poincaré, risolto nel 2010). Prudentemente i problemi vengono chiamati i problemi del millennio e non i problemi del secolo! Il terzo di essi è il problema 'P versus NP'.
38 Dal sito del Clay Mathematics Institute "... In fact, one of the outstanding problems in computer science is determining whether questions exist whose answer can be quickly checked, but which require an impossibly long time to solve by any direct procedure..." In altre parole, esistono problemi per i quali si richiede tempo esponenziale (impossibly long time) per trovare la soluzione ma è sufficiente tempo polinomiale (quick) per verificare se una soluzione proposta risolve realmente il problema? Cioè la classe P è diversa dalla classe NP?
39 La soluzione della questione P verso NP richiederà una conoscenza dei concetti del calcolo più approfondita di quelle oggi disponibili e l'uso di tecniche matematiche molto raffinate. CI SI ASPETTA CHE ANCHE IL PROBLEMA P VERSO NP POSTO DAL CLAY MATHEMATICS INSTITUTE ALL'INIZIO DEL XXI SECOLO ABBIA CONSEGUENZE ORA INIMMAGINABILI SULL'INFORMATICA, SULLA MATEMATICA E SULLE SCIENZE IN GENERALE (vedi Lance Fortnow, The Golden Ticket: P, NP, and the Search for the Impossible, 2013)
40 Finora una lunga serie (40 anni!) di fallimenti: - nel tentativo di dimostrare P=NP illudendosi di aver trovato un algoritmo polinomiale per qualche problema NP-completo - nel tentativo di dimostrare P NP illudendosi di aver trovato la dimostrazione che qualche problema NP completo richiede necessariamente un algoritmo di costo esponenziale... ma non si sa mai! BUONA FORTUNA!
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
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, 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
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
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
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
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
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
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
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)
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
DettagliIl calcolatore universale, origini e nuovi paradigmi
Il calcolatore universale, origini e nuovi paradigmi Lucia Pomello Università degli studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione 24 febbraio 2017 L evoluzione dell
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
DettagliColorazioni di mappe e basi di Gröbner
Colorazioni di mappe e basi di Gröbner Marcelo Escudeiro Hernandes 12 Luglio 2012 Per il famoso Teorema dei quattro colori, abbiamo bisogno solo di quattro colori per colorare una mappa in modo che nessuna
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
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
DettagliAlgoritmo di Branch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria
DettagliIntelligenza Artificiale. Logica proposizionale: calcolo automatico
Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining
DettagliLABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6
PIANO LAUREE SCIENTIFICHE LABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6 GIORGIO GAMBOSI DIPARTIMENTO DI MATEMATICA UNIVERSITÀ DI ROMA TOR VERGATA 1. Risoluzione e verifica di problemi La classificazione
DettagliLezioni di Ricerca Operativa
Lezioni di Ricerca Operativa Massimo Paolucci Dipartimento di Informatica, Sistemistica e Telematica (DIST) Università di Genova paolucci@dist.unige.it Anno accademico 2000/2001 La Ricerca Operativa (Operation
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
DettagliIl nano sulle spalle del gigante
Il nano sulle spalle del gigante il sottile legame che separa matematica e informatica Miriam Di Ianni Università di Roma Tor Vergata Cosa è un problema? Dal dizionario: In matematica e in altre scienze,
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.
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliEsercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =
Esercitazione di Calcolo Numerico 22 Aprile 29. Determinare la fattorizzazione LU della matrice a A = 3a 2 a 2a a a 2 ed utilizzarla per calcolare il det(a). 2. Calcolare il determinante della matrice
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità!! Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo.!! L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
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 Introduzione La MATEMATICA è uno strumento
DettagliParte I.5 Cenni alla computazione
Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti
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
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliLA LOGICA DELLE EQUAZIONI. Carlo Toffalori (Camerino) Educare alla razionalità. In ricordo di Paolo Gentilini Sestri Levante, 9-11 giugno 2016
LA LOGICA DELLE EQUAZIONI Carlo Toffalori (Camerino) Educare alla razionalità. In ricordo di Paolo Gentilini Sestri Levante, 9-11 giugno 2016 L Algebra nelle Indicazioni Nazionali: risolvere equazioni
DettagliIl problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
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
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
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
DettagliComplessità computazionale degli algoritmi
Complessità computazionale degli algoritmi Lezione n. 3.bis I precursori dei calcolatore Calcolatore di Rodi o di Andikithira 65 a.c. Blaise Pascale pascalina XVII secolo Gottfried Leibniz Joseph Jacquard
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
DettagliLaurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1
Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Marco Manna 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS http://elleboro.unical.it/drupalab/informatica2009/
DettagliIl problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
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
DettagliUNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE
UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE TAVOLE DI VERITÀ, COLETEZZA VERO-FUNZIONALE Esercizio 1. Calcola le tavole
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
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
DettagliCorso di Calcolo Numerico
Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Risoluzione di Equazioni Algebriche Le equazioni
Dettagli1 Disquazioni di primo grado
1 Disquazioni di primo grado 1 1 Disquazioni di primo grado Si assumono assodate le regole per la risoluzione delle equazioni lineari Ricordando che una disuguaglianza è una scrittura tra due espressioni
DettagliEsercizi riguardanti limiti di successioni e di funzioni
Esercizi riguardanti iti di successioni e di funzioni Davide Boscaini Queste sono le note da cui ho tratto le esercitazioni del giorno 0 Novembre 20. Come tali sono ben lungi dall essere esenti da errori,
DettagliPossibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
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
DettagliESERCITAZIONE: ESPONENZIALI E LOGARITMI
ESERCITAZIONE: ESPONENZIALI E LOGARITMI e-mail: tommei@dm.unipi.it web: www.dm.unipi.it/ tommei Esercizio 1 In una coltura batterica, il numero di batteri triplica ogni ora. Se all inizio dell osservazione
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
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
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
DettagliLogica. 7: Conseguenza ed equivalenza logica in logica classica proposizionale. Claudio Sacerdoti Coen. Universitá di Bologna
Logica 7: Conseguenza ed equivalenza logica in logica classica proposizionale Universitá di Bologna 30/11/2016 Outline Conseguenza logica per la logica proposizionale Wikipedia:
DettagliIl Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e
Crittografia a chiave pubblica. Il problema della crittografia è semplice da enunciare: vi sono due persone, il Mittente e il Ricevente, che vogliono comunicare fra loro senza che nessun altro possa leggere
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
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
DettagliDisequazioni - ulteriori esercizi proposti 1
Disequazioni - ulteriori esercizi proposti Trovare le soluzioni delle seguenti disequazioni o sistemi di disequazioni:. 5 4 >. 4. < 4. 4 9 5. 9 > 6. > 7. < 8. 5 4 9. > > 4. < 4. < > 9 4 Non esitate a comunicarmi
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
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
DettagliPrerequisiti per seguire il corso
Prerequisiti per seguire il corso Insiemi numerici e aritmetica elementare. Equazioni e disequazioni di primo e secondo grado. Geometria elementare e geometria analitica: rette, parabole, iperbole equilatera.
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
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
DettagliUniversità degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA
Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Introduzione George Boole (1815-1864) nel 1854 elaborò una algebra basata su predicati logici. Valori
DettagliModulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
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
DettagliLa fattorizzazione e la phi di Eulero
La fattorizzazione e la phi di Eulero Di Cristiano Armellini, cristiano.armellini@alice.it Supponiamo di voler trovare i fattori p, q del numero intero n (anche molto grande). Dalla Teoria dei numeri sappiamo
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014
A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
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
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
DettagliMatematica Discreta e Algebra Lineare (per Informatica)
Matematica Discreta e Algebra Lineare (per Informatica) Docente: Alessandro Berarducci Anno accademico 2016-2017, versione 14 Marzo 2017 Tipiche domande d esame La seguente lista di domande non intende
DettagliCorso di Informatica
Corso di Informatica Modulo T1 2 - Problemi e strategie 1 Prerequisiti Concetti intuitivi di: geometria elementare (calcolo di aree e volumi) insieme ordinato (precedente, successivo) procedimento logico
DettagliEsercizi per il corso Matematica clea
Esercizi per il corso Matematica clea Daniele Ritelli anno accademico 008/009 Lezione : Numeri naturali e principio di induzione Esercizi svolti. Provare che + + + n. Provare che + + + n n(n + ) n(n +
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à
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 =
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à
Dettagli1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4
1 POLINOMIO DI TAYLOR 1 Formula di Taylor Indice 1 Polinomio di Taylor 1 Formula di Taylor 3 Alcuni sviluppi notevoli 4 Uso della formula di Taylor nel calcolo dei iti 4 5 Soluzioni degli esercizi 6 La
DettagliUD 3.4b: Trattabilità e Intrattabilità. Dispense, cap. 4.2
UD 3.4b: Trattabilità e Intrattabilità Dispense, cap. 4.2 Problemi Intrattabili Esistono problemi che, pur avendo un algoritmo di soluzione, non forniranno mai una soluzione in tempi ragionevoli nemmeno
DettagliPrerequisiti didattici
Università degli Studi di Ferrara 2014-2015 Corso TFA - A048 Matematica applicata Didattica della matematica applicata all economia e alla finanza 1 aprile 2015 Appunti di didattica della matematica applicata
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliLezione 7. Relazione di coniugio. Equazione delle classi. { x} C( x) { } { }
Lezione 7 Prerequisiti: Lezioni 2, 5. Centro di un gruppo. Struttura ciclica di una permutazione. Riferimenti ai testi: [H] Sezione 2.; [PC] Sezione 5. Relazione di coniugio. Equazione delle classi. Definizione
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliProposte di approfondimenti
Linguaggi formali Proposte di approfondimenti 1. Forme normali di Greibach, trasformazione di una grammatica in forma normale di Greibach Automi a stati finiti 2. Automi di Büchi: particolari automi a
DettagliLEZIONE 3. Typeset by AMS-TEX
LEZIONE 3 3 Risoluzione di sistemi Supponiamo che AX = B sia un sistema di equazioni lineari Ad esso associamo la sua matrice completa (A B Per la Proposizione 236 sappiamo di poter trasformare, con operazioni
DettagliEquazioni di Primo grado
Equazioni di Primo grado Definizioni Si dice equazione di primo grado un uguaglianza tra due espressioni algebriche verificata solo per un determinato valore della variabile x, detta incognita. Si chiama
DettagliAppunti su Indipendenza Lineare di Vettori
Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo
DettagliCorso di Informatica Modulo T1 1 - Il concetto di problema
Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo
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
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
DettagliFattorizzazione di interi e crittografia
Fattorizzazione di interi e crittografia Anna Barbieri Università degli Studi di Udine Corso di Laurea in Matematica (Fattorizzazione e crittografia) 14 Maggio 2012 1 / 46 Il teorema fondamentale dell
DettagliIl problema del commesso viaggiatore e problemi di vehicle routing
Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre
DettagliLezione 10: Teorema di Rouchè-Capelli e la classificazione dei sistemi lineari
Lezione 10: Teorema di Rouchè-Capelli e la classificazione dei sistemi lineari In questa lezione ci dedicheremo a studiare a fondo quali proprietà della matrice dei coefficienti di un sistema (e della
DettagliMODULO 1: EQUAZIONI E DISEQUAZIONI 15 ore 1 quadrimestre
MODULI CLASSE TERZA TEMA ALGEBRA MODULO 1: EQUAZIONI E DISEQUAZIONI 15 ore 1 quadrimestre COMPETENZE: utilizzare le tecniche e le procedure del calcolo aritmetico e algebrico, rappresentandole anche sotto
DettagliEsercizi 3. cos x ln(sin x), ln(e x 1 x ), ln( x 2 1), x sin x + x cos x + x, x 3 2x + 1. x 2 x + 2, x cos ex, x 2 e x.
I seguenti quesiti ed il relativo svolgimento sono coperti dal diritto d autore, pertanto essi non possono essere sfruttati a fini commerciali o di pubblicazione editoriale senza autorizzazione esplicita
DettagliSistemi di numerazione
Sistemi di numerazione Sistema di numerazione decimale Sapete già che il problema fondamentale della numerazione consiste nel rappresentare con un limitato numero di segni particolari, detti cifre, tutti
DettagliPIANO CARTESIANO e RETTE classi 2 A/D 2009/2010
PIANO CARTESIANO e RETTE classi 2 A/D 2009/2010 1) PIANO CARTESIANO serve per indicare, identificare, chiamare... ogni PUNTO del piano (ente geometrico) con una coppia di valori numerici (detti COORDINATE).
DettagliMATEMATICA CORSO A CORSO DI LAUREA IN SCIENZE BIOLOGICHE I PROVA IN ITINERE COMPITO PROVA 3
MATEMATICA CORSO A CORSO DI LAUREA IN SCIENZE BIOLOGICHE I PROVA IN ITINERE COMPITO PROVA 3 1-Il giorno 7 gennaio Francesca riscontrò un aumento di peso del 10% rispetto al suo peso prima delle vacanze
DettagliPer un vocabolario filosofico dell informatica. Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine
Per un vocabolario filosofico dell informatica Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Udine, 11 maggio, 2015 Obiettivi del corso In un ciclo di seminari,
DettagliEquazioni Polinomiali II Parabola
Equazioni Polinomiali II Parabola - 0 Equazioni Polinomiali del secondo grado (Polinomi II) Forma Canonica e considerazioni La forma canonica dell equazione polinomiale di grado secondo è la seguente:
Dettagli