1 / 22

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati. Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala. Picture-Hanging Puzzles. Equazioni di ricorrenza : uno scenario meno comune. [ riferimento : ] E. Demaine , M. Demaine , Y. Minsky , J.Mitchell , R. Rivest , M. Patrascu ,

kalea
Download Presentation

Algoritmi e Strutture Dati

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmi e StruttureDati LucianoGualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala

  2. Picture-Hanging Puzzles Equazionidiricorrenza: uno scenario menocomune [riferimento:] E.Demaine, M.Demaine, Y. Minsky, J.Mitchell, R. Rivest, M. Patrascu, Picture-Hanging Puzzles, FUN’12

  3. Un modoclassicodiappendere un quadro: Chesuccede al quadro se rimuoviamo un chiodo? niente: ilquadrorestaappesosull’altrochiodo!

  4. … un modopiù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.

  5. …tentativi…

  6. soluzione per due chiodi adesso se rimuoviamo un chiodo (qualsiasi)? e se volessi farlo con n chiodi?

  7. …ancorapiùperverso. Puzzle (versionepiù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.

  8. un’interessanterelazione: anellidiBorromeo treanelliagganciati, ma rimuovendoneunoqualsiasiglialtri due sonoliberi Stemma dellafamigliaBorromeo, famiglianobilemilanese

  9. anellidiBorromeo: 3D treanelliagganciati, ma rimuovendoneunoqualsiasiglialtri due sonoliberi

  10. Un’interessanterelazione anellidiBorromeo: un altromododidisegnarli è la soluzione del puzzle con due chiodi!

  11. …torniamoaiquadri. Puzzle (versionepiù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.

  12. Il nucleomatematico del problema, ovvero: la formalizzazione

  13. Unaastrazione utile cheusaigruppiliberi 2nsimboli: -1 -1 -1 x1, x1 , x2 , x2 , . . . , xn, xn xi : rappresenta un “giro” intorno al chiodoiin sensoorario -1 xi : rappresenta un “giro” intorno al chiodoiin sensoantiorario -1 -1 x1 x2 x1 x2

  14. …tentativi… -1 x1 x2 x1 x1 x2 x1 -1 x1 x2 x1 x2 -1 x1 x2

  15. 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 xixi). -1 E cosavuol dire nelmodellorimuovereilchiodoi? Semplice: cancellaretutte le occorrenzedixie xi -1

  16. Dallaformalizzazioneall’algoritmo(in questocasoricorsivo)

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

  18. soluzione per trechiodi 2 3 1 -1 -1 -1 -1 -1 x1 x2 x1 x2 x3 x2 x1 x2 x1 x3

  19. Valutarel’algoritmo, ovvero: analisidellacomplessità

  20. Unadomandadainformatici: la complessità? [ Sn-1 , xn] Sn= quanto serve lunga la corda (in funzione di n)? -1 -1 = Sn-1xnSn-1 xn approssimiamo: quanti simboli ha Sn? L(n): lunghezza (#disimboli) diSn L(n)=(2n) L(n)= 2 L(n-1) + 2 un contopiùpreciso (sipuòdimostrare per induzione) L(n) = 2n + 2n-1- 2 se per ognisimbolo/giroservissero 5 cm, con n=20 chiodi la cordadovrebbeesserelunga > 78 km!!!

  21. L’eternotarlodell’algoritmista: sipotràfare meglio? Idea: costruireSn in modopiù “bilanciato”, in termini diSn/2 e non di Sn-1.

  22. Unasoluzionepiùefficiente E(i :j): soluzione per ichiodidai a j E(i : i)= xi -1 -1 xi xi+1 xi xi+1 E(i : i+1)= [xi , xi+1] = E(i : (i+j)/2 ), E( (i+j)/2+1 : j) E(i : j)= cordaeponenzialemnte piùcorta! L(n): lunghezza (#disimboli) diSn L(n)= 4 L(n/2) L(1)= 1 L(2)= 4 L(n)=(n2) con n=20 chiodi serve un cordadi circa 20 metri!

More Related