Teoria degli algoritmi e della computabilità Approfondimento: Un modo divertente di parlare di complessità computazionale: puzzle, matematica e algoritmi.

Slides:



Advertisements
Presentazioni simili
Macchine di Turing e ricorsività generale
Advertisements

Il gioco del 15 Il gioco del quindici fu inventato da Sam Loyd piu' di un secolo fa. Lo scopo del gioco e' quello di ordinare le caselle dal numero 1 al.
Bartoccini Marco 3°A Il Movimento.
Il problema: un percorso ad ostacoli
La micrometropolitana
Due esempi di valutazione per competenze nella matematica.
Problema e algoritmo Prof. Baldassare Galia 2002.
SPIM Esercizi. Esercizio 1 – il comando li Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Dato il sistema SA s1 s3 s5 s7 s8 b a con B c con Y b d con B e C s2 s4 s6 a con A g d con A e C s1s2 s4 s3 s5 s7 s8 s6 e con X b a d con C c con Y g b.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Il grande geometra Ilaria Cozzucoli.
… ancora problemi! Si definisce problema una situazione in cui vengono fornite delle informazioni e ne vengono richieste altre: Le informazioni fornite.
RSA Monica Bianchini Dipartimento di Ingegneria dellInformazione Università di Siena.
In Italia ci sono due antenne EVN da 32 m, una a Medicina (Bologna) e una a Noto (Sicilia). In un futuro prossimo, entrerà a fare parte di questa rete.
Il ragionamento classico
1 MBS LEGGI DEL SUCCESSO : PERCHE UNA PICCOLA PARTE DELLA POPOLAZIONE SI DIVIDE LA MAGGIOR PARTE DELLA RICCHEZZA DISPONIBILE?
Ricerca di tecnologia Di Alex Dichirico
Teoria delle stringhe Ricerca di tecnologia Di Alex Dichirico.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
In questa unità d’apprendimento abbiamo verificato un legame tra la matematica e la musica. Infatti il valore delle note corrisponde a delle frazioni.
Rotazione di un corpo rigido attorno ad un asse fisso
Modelli e Algoritmi per la Logistica Branch & Bound Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di.
Modelli simulativi per le Scienze Cognitive
Intelligenza Artificiale
Conflitto creato dalla relatività ristretta
Contatore: esempio di circuito sequenziale
RAPPRESENTAZIONE DELL'INFORMAZIONE
DAL MICRO AL MACROCOSMO
La misura delle grandezze
Elementi di Informatica di base
E. DALLE SUCCESSIONI MODULARI ALLE LEGGI DI CORRISPONDENZA E2. Riconoscere ed esprimere in vari linguaggi la relazione fra il numero di posto e il relativo.
Algoritmi e Strutture Dati
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
PITAGORA GENERALIZZATO
Problemi facili, problemi difficili
Le tecnologie didattiche nella scuola MENU Le tecnologie didattiche nella scuola Lucia Ferlino, CNR – Istituto per le Tecnologie Didattiche Genova Roma,
I FANTASTICI MONDI DI IPERLOGO
Terza legge: il quadrato dei tempi (espressi in anni) necessari ai pianeti per percorrere lintera orbita intorno al Sole (periodo di rivoluzione) è proporzionale.
misura dell’altezza del sole
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
Le funzioni Prof.ssa A. Sia.
il problema dei problemi
Undici persone si trovavano appese alla corda di un elicottero:
EQUAZIONI E DISEQUAZIONI
DAI NUMERI NATURALI AI RAZIONALI E OLTRE La misura.
Teoria degli algoritmi e della computabilità Terza giornata: Ricerca e ordinamento ottimi. P vs NP, algoritmi di approssimazione, e il potere della randomizzazione.
Prof. Francesco Gaspare Caputo
Un alunno presentò al suo professore un problema: "Sono qui, professore, perché sono tanto debole, e non ho la forza per fare niente. Dicono che non servo.
Informatica dilettevole e curiosa
La rappresentazione delle informazioni in un computer Seconda parte.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Geometria descrittiva dinamica
Algoritmi e Strutture Dati
1 Università degli Studi di Roma “Tor vergata” Dipartimento di Ingegneria Civile Corso di Gestione ed esercizio dei sistemi di trasporto Docente: Ing.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Matematica Facoltà di Scienze Matematiche, Fisiche e Naturali
Matematica Facoltà di Scienze Matematiche, Fisiche e Naturali Università dell’Aquila.
Da qui è nato il mio interesse per la simmetria
E. DALLE SUCCESSIONI MODULARI ALLE LEGGI DI CORRISPONDENZA E4. Risolvere situazioni problematiche aventi per oggetto il confronto tra due progressioni.
Problemi risolvibili con la programmazione dinamica Abbiamo usato la programmazione dinamica per risolvere due problemi. Cerchiamo ora di capire quali.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
IL CODING.
Algoritmi e Strutture Dati Luciano Gualà
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Laboratorio : Codici del linguaggio logico e matematico Prof. Claudio Marchesano.
La metodologia enquiry del progetto TEMI per gli insegnanti del TFA Marco Giliberti – Sara Barbieri Università degli Studi di Milano 101° Congresso S.I.F.
Algebra e logica Ragionare, simbolizzare, rappresentare.
NRD – Nucleo di Ricerca in Didattica della Matematica
Transcript della presentazione:

Teoria degli algoritmi e della computabilità Approfondimento: Un modo divertente di parlare di complessità computazionale: puzzle, matematica e algoritmi ricorsivi (materiale predisposto in collaborazione con Luciano Gualà, Università di Roma ‘’Tor Vergata’’) Guido Proietti Email: guido.proietti@univaq.it URL: www.di.univaq.it/~proietti/index_personal

Un modo classico di appendere un quadro: Che succede al quadro se rimuoviamo un chiodo?

Un modo classico di appendere un quadro: Che succede al quadro se rimuoviamo un chiodo?

Un modo classico di appendere un quadro: Che succede al quadro se rimuoviamo un chiodo? niente: il quadro resta appeso sull’altro chiodo!

Puzzle (versione base) … un modo più perverso. Puzzle (versione base) Siano dati due chiodi allineati su un muro, una corda e un quadro. Appendere il quadro al muro arrotolando opportunamente la corda intorno ai chiodi in modo tale che rimuovendo uno qualsiasi dei due chiodi il quadro (per forza di gravità) cada.

…tentativi…

soluzione per due chiodi adesso se rimuoviamo un chiodo (qualsiasi)? cade!!! e se volessi farlo con n chiodi? n=3,4,…,100,…,1.000.000…

Prima cosa che contraddistingue l’informatica: …agli informatici piace pensare in grande.

Puzzle (versione più generale) …ancora più perverso. Puzzle (versione più generale) Siano dati n chiodi allineati su un muro, una corda e un quadro. Appendere il quadro al muro arrotolando opportunamente la corda intorno ai chiodi in modo tale che rimuovendo uno qualsiasi degli n chiodi il quadro (per forza di gravità) cada.

Seconda cosa che contraddistingue l’informatica: se vuoi fare le cose in grande devi farti aiutare da un’amica: la matematica.

Il nucleo matematico del problema, ovvero: la formalizzazione

Una astrazione utile che usa i gruppi liberi 2n simboli: x1, x1 , x2 , x2 , . . . , xn , xn -1 -1 -1 xi : rappresenta un “giro” intorno al chiodo i in senso orario xi : -1 rappresenta un “giro” intorno al chiodo i in senso antiorario x1 x2 x1 x2 -1 -1

…tentativi… x1 x2 x1 -1 x1 x2 x1 x1 x2 x1 x2 -1

Perché formalizzare? per capire proprietà del problema perché una volta formalizzato posso “ragionare” usando la matematica

Proprietà Data un’espressione/arrotolamento, il quadro cade se e solo se l’espressione si cancella. (e si cancellano solo i termini adiacenti del tipo xi xi ). -1 E cosa vuol dire nel modello rimuovere il chiodo i? Semplice: cancellare tutte le occorrenze di xi e xi -1

…un esempio… x2 x1 x2 x1 non cade! cade! x1 x1 …se rimuovo primo chiodo… x2 x1 x2 x1 -1 non cade! …se rimuovo secondo chiodo… cade! x1 x1 -1

…un altro esempio… x1 x2 x1 x2 x2 x2 cade! cade! x1 x1 …se rimuovo primo chiodo… x1 x2 x1 x2 -1 -1 x2 x2 -1 cade! …se rimuovo secondo chiodo… cade! x1 x1 -1

Dalla formalizzazione all’algoritmo (in questo caso ricorsivo) Idea: costruire Sn a partire da Sn-1.

soluzione per n chiodi: un algoritmo ricorsivo Proprietà algebriche: (x y…z)-1= z-1…y-1x-1 (x -1)-1 = x x1 x2 x1 x2 -1 -1 S2 = commutatore, denotato con [x1 , x2] S3 = [ S2 , x3] -1 -1 = S2 x3 S2 x3 x1 x2 x1 x2 x3 (x1 x2 x1 x2 ) x3 -1 -1 = -1 -1 -1 -1 -1 -1 -1 -1 = x1 x2 x1 x2 x3 x2 x1 x2 x1 x3 -1

soluzione per tre chiodi 3 1 2 x1 x2 x1 x2 x3 x2 x1 x2 x1 x3 -1 -1 -1 -1 -1

Soluzione ricorsiva [ Sn-1 , xn] Sn = = Sn-1 xn Sn-1 xn S2 S3 S4 S5 S6

Una domanda da informatici: quanto è buona la soluzione? quanto serve lunga la corda (in funzione di n)? quanti simboli ha Sn?

Sulla lunghezza della corda Sn = [ Sn-1 , xn] -1 -1 = Sn-1 xn Sn-1 xn L(n): lunghezza (#di simboli) di Sn S2 L(2)= 4 L(3)= 10 S3 L(4)= 22 S4 L(5)= 46 S5 L(6)= 94 S6 se per ogni simbolo/giro servissero 5 cm, con n=20 chiodi la corda dovrebbe essere lunga > 78 km!!! L(n)= 2n + 2n-1 - 2  2n

La terza cosa che contraddistingue l’informatica: Se un problema lo risolvi male, è come se non l’hai risolto per niente.

L’eterno tarlo dell’algoritmista: si potrà fare meglio? Idea: costruire Sn in modo più “bilanciato”, in termini di Sn/2 e non di Sn-1.

Una soluzione più efficiente E(i :j) : soluzione per i chiodi da i a j E(1:2) E(3:4) E(5:6) E(7:8) E(1:4) E(5:8) E(1:8) E(i : i) = xi E(i : i+1) = [xi , xi+1] = xi xi+1 xi xi+1 -1 E(i : j) = E(i : (i+j)/2 ), E( (i+j)/2+1 : j)

Le due soluzioni a confronto L(n): lunghezza (#di simboli) di Sn prima soluzione seconda soluzione L(2)= 4 L(2)= 4 L(4)= 22 L(4)= 16 L(8)= 382 L(8)= 64 L(16)= 98.302 L(16)= 256 L(n)  2n L(n)  n2 se per ogni simbolo/giro servissero 5 cm, con n=20 chiodi la corda dovrebbe essere lunga > 78 km!!! con n=20 chiodi serve un corda di circa 20 metri!

un’interessante relazione: anelli di Borromeo tre anelli agganciati, ma rimuovendone uno qualsiasi gli altri due sono liberi Stemma della famiglia Borromeo, famiglia nobile milanese

anelli di Borromeo: 3D tre anelli agganciati, ma rimuovendone uno qualsiasi gli altri due sono liberi

Un’interessante relazione anelli di Borromeo: un altro modo di disegnarli è la soluzione del puzzle con due chiodi!