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

Post on 21-Dec-2015

253 views

Category:

Documents


2 download

TRANSCRIPT

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

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

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

ג ב א

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

ג ב א