تهیه کننده : لیلا فلزی استاد مربوطه: استاد توفیقی...

14
: ده ن کن ه ی ه ت ی ز ل ف لا ن ل: وطه ب ر م اد ن س ا ی ق ی ف و ب اد ن س ا: درس ها م ت ی ور گ ل یا ح را ط

description

تهیه کننده : لیلا فلزی استاد مربوطه: استاد توفیقی درس: طراحی الگوریتمها. Tower of hanoi. برج هانوی. مساله برج هانوی یکی از مسائل تاریخی مشهور است که درمباحث طراحی الگوریتم نیز به آن پرداخته می شود. به شکل زیر توجه کنید:. - PowerPoint PPT Presentation

Transcript of تهیه کننده : لیلا فلزی استاد مربوطه: استاد توفیقی...

Page 1: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

کننده : فلزی تهیه لیال : مربوطه توفیقی استاد استاد

الگوریتمها درس: طراحی

Page 2: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

Tower of hanoi

برج هانوی

Page 3: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

که است مشهور تاریخی مسائل از یکی هانوی برج مسالهبه نیز الگوریتم طراحی درمباحث

. کنید توجه زیر شکل به شود می پرداخته :آن

Page 4: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

- مبدا میله میله کمکی , Aسه مقصد Bمیله میله داریم – . cو مبدا میله در دیسک تعدادی واست : زیر شرط دو رعایت با مقصد میله به میله این از ها دیسک تمام انتقال هدف

جابجا توان می را دیسک یک فقط زماه هر در.نمود

کوچکتر اندازه با دیسک روی بر دیسکی زمانی هیچ در نبایدبگیرد .قرار

Page 5: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

مثال عنوان :n=2اگر, به باشد

Page 6: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

میله 1دیسک( 1 به ( )Bرا کنیم می :BAمنتقل

Page 7: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

میله 2دیسک( 2 به ( )Cرا کنیم می :CAمنتقل

Page 8: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

میله 1دیسک( 3 به ( )Cرا کنیم می :CBمنتقل

Page 9: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

هانوی برج مساله بازگشتی حل

یک : میله n-1مرحله کمک به و شده ذکر شرایط با مبدا میله باالیی میله Cدیسک بهB. شوند می منتقل

مقصد : میله به مبدا میله از دیسک بزرگترین دو مرحله. شود می منتقل

سه : میله n-1مرحله میله Bدیسک از گرفتن کمک مقصد Aبا میله به. شوند می منتقل

Page 10: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

زبان به زیر بازگشتی را++ Cتابع ها حرکت ترتیبکند : می چاپ

Void hanoi(int nDisk, char start, char temp, char finish ){If(nDisk== 1){Cout<<start<<“-->”<<finish<<end;}Else{Hanoi(nDisk-1,start,finish,temp);Cout <<start<<“-->”<<finish<<end;Hanoi(nDisk-1,tempt,start,finish);}}

Page 11: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

هانوی برج مساله زمانی پیچیدگی تحلیل

T(n) انتقال جهت الزم های حرکت دیسک nتعدادمقصد به

T(n-1) انتقال برای به n-1حرکت دیسککمکی میله

به دیسک بزرگترین انتقال برای حرکت یکمقصد میله

T(n-1) انتقال برای به n-1حرکت کمکی میله در موجود دیسکمقصد میله

T(n)=2T(n-1)+1

1-T(n)=2ᴺ

O(2ᴺ)

Page 12: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

هانوی برج مساله بازگشتی غیر حلVoid hanoi(int nDisk,char start,char temp,char finish){Int max = nDisk;Char dest = finish;Int disk = max;While(true){While(disk>0){if(moving disk succeeds){If(disk== max){Max - - ;

Page 13: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

If (max ==0) {Return; }}Dest=the final place of max ;}Else{Dest=the alternative place between dest and the current place of disk ;}Disk - - ;}P and q =the places different of dest ;Disk=the smaller of the disks on top of p and q ;Dest=the place between p and q with greater disk on top ;

Page 14: تهیه کننده :        لیلا فلزی استاد مربوطه:      استاد توفیقی درس:              طراحی الگوریتمها

که بدانید نیست : بدهانوی برج های حلقه (Hanoi Tower)معمای

که داشت قرار الماسی میله سه دور آسیای در معبدی محوطه در ای، افسانه بر بنا . قرص‌های تا بودند تالش در معبد کاهنان بود قرصطالیی تعدادی حاوی آنها از یکی

باور و دهند، انتقال شرایطی تحت میله‌ها از دیگر یکی به میله آن از را طالئی ! میله رسید خواهد پایان به نیز جهان عمر قرص‌ها انتقال شدن تمام با که داشتند

چیده ۶۴اولیه اندازه‌شان اساس بر نزولی طور به هم روی بر که داشت، قرصشده‌بودند.

  رابطه انتقال  n - 1 2 از برای ممکن حرکت حداقل . nتعداد با آید می بدست حلقهشاید که آید می دست به رقمی کاهنان، معبد های حلقه تعداد و فوق رابطه به توجهخواهد پایان به نیز جهان عمر ها حلقه همه انتقال با داشتند باور کاهنان نبود دلیل بی

همه. و معبد آن کاهنان کنیم فرض اگر که است بزرگ های اندازه به رقم این رسیدثانیه هر وقفه بی آنها بعدی های حداقل 1نسل تعداد انجام با دهند، انتقال را حلقه

از 18446744073709551616 پس و 585حرکت 000 000 000، ، ،( 585 ) سال میلیارد! دهند انتقال سوم ستون به توانسنتد می را ها حلقه تمامی