Tower of Hanoi Complexity of solutions of interesting variants of the known game.

24
Tower of Hanoi Complexity of solutions of interesting variants of the known game
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    253
  • download

    2

Transcript of Tower of Hanoi Complexity of solutions of interesting variants of the known game.

Tower of Hanoi

Complexity of solutions of interesting variants of the known game

Joint work with

Prof. Daniel Berend

CS , BGU

The known game

• Three sticks (pegs, posts)

• n (64?) disks, different diameters

• No disk can be on top of a smaller one

• Well known initial and final configurations (regular conf.)

Some pictures

הכללים

בכל מהלך מזיזים בדיוק טבעת אחת •

היא חייבת להיות עליונה •באף שלב טבעת לא תהיה מונחת על קטנה •

)regular configurations(מצבים חוקיים – ממנה

הגרסה הידועה

• Tower(N,src,dest,aux) • If |N| ≥ 1

– Tower(N-{|N|},src,aux,dest) – Put({|N|},src,dest) – Tower(N-{|N|},aux,dest,src)

• Time analysis – an = 2an-1 + 1 – a1 = 1 – an = 2n – 1

• Best possible

What is it good for?

• Limited budget research

– 3 research tools; 3 9.99

• Other reasons

– Fun

– Teaching recursion in programming

– Next?

גרסאות עיקריותגרסא מקורית

עמודי ם

...

גדולה על קטנה

Minsker

גישה

Scorer

Stockmeyer

וסיום התחלה

Er

צבעים

Minsker

קשירות לא חזקה

Leiss

שאלות לכל גרסה

פתרון כלשהוא •

מקבילי מול איטרטיבי מולפתרון רקורסיבי •

זמן ריצה •

נושאי השיחה

הקדמה

המקרה הקלאסי: חסמי מלעיל ומלרע •

מגבלות גישה בין העמודים •

דרך פתרון: דוגמא עם מסילה •

++Cyclicדוגמא מורכבת: •

אלגוריתם אחיד•

נושאי השיחההקדמה

המקרה הקלאסי: חסמי מלעיל ומלרע • מגבלות גישה בין העמודים•

מיהם המקרים האפשריים? –כיצד לתאר גרסה? –כיצד לתאר פתרון? –תנאי הכרחי ומספיק לפתרון –

דרך פתרון: דוגמא עם מסילה • ++Cyclicדוגמא מורכבת: •האלגוריתם האחיד •

Graphs for 3 pegs

1 2

3

1 2 3

מעגלי Cyclic Cyclic++

Complete --

Completeשלם

Pathמסילה

תנאי הכרחי ומספיק

G .ק.ח G(n) .ק.ח

גרף מצבים

נושאי השיחההקדמה

המקרה הקלאסי: חסמי מלעיל ומלרע •מגבלות גישה בין העמודים •דרך פתרון: דוגמא עם מסילה •

בעיות וסימטריה –נוסחאות נסיגה –פתרון מערכת נוסחאות – פתרון מדוקדק–

++Cyclicדוגמא מורכבת: • האלגוריתם האחיד•

מסילה נוסחאות נסיגה •

– an = an-1 + bn-1 + 1

– bn = 3bn-1 + 2

13

132

1

nn

nn

b

a

נושאי השיחההקדמה

המקרה הקלאסי: חסמי מלעיל ומלרע •מגבלות גישה בין העמודים •דרך פתרון: דוגמא עם מסילה • ++Cyclicדוגמא מורכבת: •

נוסחאות נסיגה –שקילות מענינת –פתרון מערכת נוסחאות –

האלגוריתם האחיד•

פעולות •

– T12,{n} T13,{n-1} T12,n T32,{n-1}

– T13,{n} T13,{n-1} T12,n T31,{n-1} T23,n T13,{n-1}

– T21,{n} T23,{n-1} T21,n T31,{n-1}

– T23,{n} T21,{n-1} T23,n T13,{n-1}

– T31,{n} T32,{n-1} T31,n T21,{n-1}

– T32,{n} T32,{n-1} T31,n T23,{n-1} T21,n T32,{n-1}

Cyclic++

נוסחאות נסיגה •

– an = 2bn-1 + 1

– bn = 2bn-1 + dn-1 + 2

– cn = 2dn-1 + 1

– dn = bn-1 + cn-1 + 1

Cyclic++

Cyclic++

4

5

2

171

136

172185

2

171

136

172185

nn

nb

לדוגמא:

נושאי השיחההקדמה

המקרה הקלאסי: חסמי מלעיל ומלרע •מגבלות גישה בין העמודים •דרך פתרון: דוגמא עם מסילה • ++Cyclicדוגמא מורכבת: • האלגוריתם האחיד•

הצגה –נכונות–

אופטימליות–

עמודים3פתרון עבור • If n1 האלגוריתם

– If (src,dest) E(G) • Move the smallest n-1 disks from src to aux • Move disk number n from src to dest • Move the n-1 disks from aux to dest

– Else • Move the smallest n-1 disks from src to dest • Move disk number n from src to aux • Move the n-1 disks from dest to src • Move disk number n from aux to dest • Move the n-1 disks from src to dest

נכונות• אופטימליות•

דוגמת ריצה ב ל-אהעברה מ-

ג ב א

דוגמת ריצה א ל-בהעברה מ-

ג ב א