Recursion and recurrence relations
Sponsored Links
This presentation is the property of its rightful owner.
1 / 35

Recursion and Recurrence Relations PowerPoint PPT Presentation


  • 251 Views
  • Uploaded on
  • Presentation posted in: General

Recursion and Recurrence Relations. Recursive Definitions. การเรียกซ้ำ( Recursion ) เป็นหลักการที่เกี่ยวข้องอย่างใกล้ชิดกับการอุปนัยเชิงคณิตศาสตร์( mathematical induction )

Download Presentation

Recursion and Recurrence Relations

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Recursion and Recurrence Relations

Faculty of Informatics, Burapha University


Recursive Definitions

การเรียกซ้ำ(Recursion)เป็นหลักการที่เกี่ยวข้องอย่างใกล้ชิดกับการอุปนัยเชิงคณิตศาสตร์(mathematical induction)

ในการอุปนัย เราพิสูจน์ว่าฟังก์ชันข้อความ(predicate) Pเป็นจริง สำหรับสมาชิกทุกตัวของเซตอนันต์ใดๆโดยพิสูจน์ค่าความจริงของpredicateสำหรับสมาชิกจำนวนมาก ในรูปของสมาชิกที่มีขนาดเล็กกว่า

ในการนิยามแบบเรียกซ้ำ(recursive definitions) เรานิยามฟังก์ชั่น ฟังก์ชั่นข้อความ เซต หรือโครงสร้างอื่นๆบนโดเมนหรือเอกภพสัมพัทธ์ใดๆในรูปของสมาชิกที่มีขนาดเล็กกว่า

การเรียกซ้ำเป็นรูปแบบทั่วไปในการนิยามวัตถุใดๆ ในรูปของตัวมันเอง

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

2

2


Recursively Defined Functions

ตัวอย่าง เช่น:

ลำดับ {an} ของยกกำลังสอง 1,2,4,8,… นิยามโดย

an = 2nเมื่อn = 0, 1, 2, …

และ สามารถนิยามแบบเรียกซ้ำได้ดังนี้:

a0 = 1

an = 2an-1เมื่อn = 0, 1, 2, …

จากตัวอย่าง จะเห็นได้ชัดว่า อุปนัย และการเรียกซ้ำนั้นมีหลักการคล้ายคลึงกัน

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

3

3


Recursively Defined Functions

เราสามารถใช้วิธีต่อไปนี้ ในการนิยามฟังก์ชั่นใดๆที่มีโดเมนเป็นจำนวนนับ:

ขั้นพื้นฐาน(Base case):กำหนดค่าของฟังก์ชั่นเมื่อ pre-image เป็นศูนย์(หาว่าค่าf(0)=?)

ขั้นเรียกซ้ำ(Recursion):สร้างกฎสำหรับหาค่าฟังก์ชั่นเมื่อ pre-image เป็นจำนวนเต็มใดๆ จากค่าของฟังก์ชั่นที่มีค่า pre-image เป็นจำนวนเต็มที่น้อยกว่า

การนิยามดังกล่าวข้างต้น เรียกว่า การเรียกซ้ำ(recursive) หรือการนิยามเชิงอุปนัย(inductive definition)

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

4

4


Recursively Defined Functions

ตัวอย่าง เช่น:

f(0) = 3

f(n) = 2f(n-1) + 3

f(0) = 3

f(1) = 2  f(0) + 3 = 23 + 3 = 9

f(2) = 2  f(1) + 3 = 29 + 3 = 21

f(3) = 2  f(2) + 3 = 221 + 3 = 45

f(4) = 2  f(3) + 3 = 245 + 3 = 93

จงหาf(5), f(6), f(7), f(8)

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

5

5


Recursive definition of Factorial

กำหนดนิยามเชิงอุปนัย(แบบเรียกซ้ำ) ของฟังก์ชั่นแฟคทอเรียล ดังนี้,F(n) :≡n! :≡ = 12…n

Base case: F(0) :≡ 1

Recursive part: F(n) = (n)  F(n-1)

F(0) = 1

F(1) = 1  F(0) = 11 = 1

F(2) = 2  F(1) = 21 = 2

F(3) = 3  F(2) = 32 = 6

F(4) = 4  F(3) = 46 = 24

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

6

6


Examples

จงเขียนนิยามแบบเรียกซ้ำของ:

i+n (iเป็นจำนวนเต็ม, nเป็นจำนวนนับ) โดยใช้รูปแบบ s(i) = i+1

a·n (aเป็นจำนวนจริง, nเป็นจำนวนนับ) โดยใช้การบวก

an(aเป็นจำนวนจริง, nเป็นจำนวนนับ) โดยใช้การคูณ

(สำหรับอนุกรมของจำนวน {ai})

(สำหรับอนุกรมของจำนวน {ai})

(สำหรับอนุกรมของเซต{Si})

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

7

7


i+n (iเป็นจำนวนเต็ม, nเป็นจำนวนนับ)โดยใช้รูปแบบ S(i) = i+1

ชุดลำดับของ i+n ได้แก่ i+0, i+1, i+2, i+3,…

Base case คือ S(0) = i

Recursive part คือ S(n) = S(n-1)+1

จะได้ว่า S(0) = i

S(1) = S(0) +1 = i+1

S(2) = S(1) +1 = (i+1)+1 = i+2

S(3) = S(2) +1 = (i+2)+1 = i+3 …

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

8


∑0≤i≤nai (สำหรับอนุกรมของจำนวน {ai})

  • Base case คือ

  • Recursive part คือ

  • จะได้ว่า

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

9


The Fibonacci Series

อนุกรมไฟโบแนซซี(Fibonacci series)fn≥0นิยามโดย:f0 :≡ 0, f1 :≡ 1, fn≥2 :≡ fn−1 + fn−2

f(0) = 0

f(1) = 1

f(2) = f(1) + f(0) = 1 + 0 = 1

f(3) = f(2) + f(1) = 1 + 1 = 2

f(4) = f(3) + f(2) = 2 + 1 = 3

.

.

.

f(4)

f(3)

f(2)

f(2)

f(0)

f(1)

f(1)

f(1)

f(0)

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

10

10


Recursive Euclid’s Algorithm

proceduregcd(a,bN,nonnegative integer with a>b)ifb = 0 thenreturn aelse returngcd(b,amodb)

สังเกตว่าอัลกอริธึมแบบเรียกซ้ำจะทำให้เขียนโปรแกรมได้สั้นกว่าง่ายกว่าและง่ายต่อการทำความเข้าใจมากกว่า

แต่การเขียนโปรแกรมแบบเรียกซ้ำจะใช้พื้นที่ในหน่วยความจำที่เรียกว่าสแตก(stack)มากกว่าการเขียนโปรแกรมแบบวนลูป

สำหรับอัลกอริธึมแบบเรียกซ้ำ(Recursive)ใดๆ จะมีอัลกอริธึมแบบวนลูป(Iterative)ที่สมมูล(ให้ผลลัพธ์ที่เหมือนกัน)กันเสมอ

อย่างไรก็ตาม อัลกอริธึมแบบวนลูปมักจะมีประสิทธิภาพมากกว่าในแง่ของการใช้พื้นที่และเวลาที่น้อยกว่าอัลกอริธึมแบบเรียกซ้ำ

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

11

11


Recursive Fibonacci Algorithm

procedurefibo(n: nonnegative integer)

if n  1 then

returnn

else

returnfibo(n – 1) + fibo(n – 2)

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

12

12


Iterative Fibonacci Algorithm

procedure iterative_fibo(n: nonnegative integer)

if n = 0 theny := 0

else

begin

x := 0

y := 1

fori := 1 to n-1

begin

z := x + y

x : = y

y := z

end

end{y is the n-th Fibonacci number}

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

13

13


Recursive Algorithms

ตัวอย่าง: อัลกอริธึมสำหรับการคำนวณค่าan

procedurepower(a≠0: real, nN)

ifn = 0 then return 1elsereturna · power(a, n−1)

จงเขียนอัลกอริธึมคำนวณค่าanเดียวกันนี้แบบเรียกซ้ำ

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

14

14


Recurrence Relations

Faculty of Informatics, Burapha University

ภาควิชาวิทยาการคอมพิวเตอร์ ม.บูรพา

15

15


Recurrence Relations

  • ความสัมพันธ์เวียนเกิด(recurrence relation)ของลำดับ{an}คือสมการที่แสดงanในรูปของสมาชิกก่อนหน้าa0, …, an−1ของลำดับนั้นๆสำหรับทุกค่าn≥n0

    • จะเห็นว่า ความสัมพันธ์เวียนเกิดนั้นนิยามได้เช่นเดียวกับ การนิยามแบบเรียกซ้ำแตกต่างกันที่ไม่มีกรณีพื้นฐาน(base cases)

  • เราสามารถใช้ ลำดับใดๆที่ไม่อยู่ในรูปของการเรียกซ้ำ เป็นผลเฉลยของความสัมพันธ์เวียนเกิดที่กำหนดได้ หากลำดับดังกล่าวสอดคล้องกับนิยามของการเวียนเกิด

    • ความสัมพันธ์เวียนเกิดหนึ่งๆ อาจมีผลเฉลยได้มากกว่าหนึ่งผลเฉลย

Faculty of Informatics, Burapha University


Recurrence Relation Example

  • พิจารณาความสัมพันธ์เวียนเกิด

    an = 2an−1 − an−2 (n≥2)

  • ลำดับต่อไปนี้เป็นผลเฉลยของความสัมพันธ์ข้างต้นหรือไม่?an = 3nan = 2n

    an = 5

Yes

No

Yes

Faculty of Informatics, Burapha University


Recurrence Relations

ตัวอย่าง:พิจารณาความสัมพันธ์เวียนเกิดan = 2an-1 – an-2 for n = 2, 3, 4, …

  • ลำดับ {an} เมื่อ an=3n เป็นผลเฉลยของความสัมพันธ์เวียนเกิดที่กำหนดหรือไม่?

    สำหรับ n  2 จะได้ว่า2an-1 – an-2 = 2(3(n – 1)) – 3(n – 2) = 3n = an

  • ดังนั้น {an} เมื่อ an=3n เป็นผลเฉลยของความสัมพันธ์เวียนเกิดที่กำหนด

  • ลำดับ {an} เมื่อ an=5 เป็นผลเฉลยของความสัมพันธ์เวียนเกิดข้างต้นหรือไม่?

  • เมื่อ n  2 จะได้ว่า2an-1 – an-2 = 25 - 5 = 5 = an

  • ดังนั้น {an} เมื่อ an=5 เป็นผลเฉลยของความสัมพันธ์เวียนเกิดข้างต้น

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

ตัวอย่าง:

  • นายภักดี ฝากเงิน 10,000 บาทไว้ในบัญชีออมทรัพย์ ที่ให้ดอกเบี้ย 5% ต่อปี สะสมไว้เป็นเงินฝากต่อไปทุกปี เมื่อเวลาผ่านไป 30 ปีเงินในบัญชีเงินฝากของนายภักดีจะเป็นเท่าไร?

    วิธีทำ:

  • ให้ Pnแทนจำนวนเงินในบัญชีหลังจากเวลาผ่านไป n ปี

  • จงเขียน Pnในรูปของ Pn-1?

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

  • เราสามารถเขียนความสัมพันธ์เวียนเกิดของ Pn ในรูปของ Pn-1 ได้ดังนี้:

    Pn = Pn-1 + 0.05Pn-1 = 1.05Pn-1

    เงื่อนไขเริ่มต้น คือ P0 = 10,000 ดังนั้น จะได้ว่า:

    P1 = 1.05P0

    P2 = 1.05P1 = (1.05)2P0

    P3 = 1.05P2 = (1.05)3P0

    Pn = 1.05Pn-1 = (1.05)nP0

  • จะเห็นว่า ได้สูตรสำหรับคำนวณค่า Pnสำหรับจำนวนนับ n ใดๆได้ โดยไม่จำเป็นต้องทำการคำนวณเรียกซ้ำหลายครั้ง

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

จึงสามารถใช้สูตรที่หาได้คำนวณหา P30ภายใต้เงื่อนไขเริ่มต้น

P0 = 10,000:

P30 = (1.05)3010,000 = 43,219.42

ดังนั้นเมื่อผ่านไป 30 ปี เงินฝากในบัญชีจะมีเงินทั้งหมด 43,219.42 บาท

Faculty of Informatics, Burapha University

21


Example Applications and Solving Compound Interest RR

  • ความสัมพันธ์เวียนเกิดของการฝากเงินธนาคารที่อัตราดอกเบี้ยP% ต่อช่วงเวลาที่กำหนด:

    Mn = Mn−1 + (P/100)Mn−1

  • Mn = Mn−1 + (P/100)Mn−1

    = (1 + P/100) Mn−1

    = rMn−1(ให้r = 1 + P/100)

    = r (rMn−2)

    = r·r·(rMn−3)…เช่นนี้ไปเรื่อยๆ…

    = rnM0

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

  • ความสัมพันธ์เวียนเกิดที่เป็นที่รู้จักกันดีอันหนึ่งในกลุ่ม นักคณิตศาสตร์ คือ ปัญหาของ Leonard diPisa ซึ่งรู้จักกันในนาม Fibonacci โดยFibonacci ได้ตั้งปัญหาในหนังสือ Liber abaci ราว ๆ คริสตศตวรรษที่13 ดังนี้

    “กระต่ายแรกเกิดเพศผู้และเพศเมียคู่หนึ่งถูกนําไปปล่อยไว้ที่เกาะแห่งหนึ่ง อยากทราบว่าจะมีกระต่ายทั้งหมดกี่คู่ เมื่อเวลาผ่านไป n เดือน โดยมีข้อสมมติว่า เมื่อกระต่ายทั้งสองมีอายุครบ 2 เดือนจึงจะสามารถให้กําเนิดกระต่ายเพศผู้และเพศเมียอีก 1 คู่ และเมื่อจุดเริ่มต้นบนเกาะนั้นไม่มีกระต่ายอยู่เลย”

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

กระต่ายที่เกิดใหม่

กระต่ายที่มีอยู่เดิม

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

กําหนดให้fnเป็นจํานวนคู่ของกระต่าย เมื่อตอนต้นเดือนที่ n

สังเกตจากภาพที่ 1 จะเห็นว่า จํานวนกระต่ายเมื่อต้นเดือนที่ 3 เท่ากับจํานวน

กระต่ายเมื่อต้นเดือนที่ 2 บวกกับจํานวนกระต่ายเมื่อต้นเดือนที่ 1 และจํานวน

กระต่ายเมื่อต้นเดือนที่ 4 เท่ากับจํานวนกระต่ายเมื่อต้น เดือนที่ 3 บวกกับจํานวน

กระต่ายเมื่อต้นเดือนที่ 2 เป็นเช่นนี้เรื่อย ๆ ไป ดังนั้น

fn = fn-1 + fn-2

ถ้าเรากําหนด f0 = 0 และเราทราบว่า f1 = 1 แล้วสมการข้างต้น สําหรับ n  2

ดังนั้นf2 = f1 + f0 = 2

f3 = f2 + f1 = 3

f4 = f3 + f2 = 5

f5 = f4 + f3 = 8

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

ตัวอย่าง:

  • ให้ anแทนจำนวนบิตสตริงยาว n ที่ไม่มีเลข 0 ติดกัน(ในที่นี้จะเรียกว่า“สตริงที่ถูกต้อง”)จงเขียนความสัมพันธ์เวียนเกิด และกำหนดเงื่อนไขเริ่มต้นสำหรับลำดับ {an}

    วิธีทำ:

  • แนวคิด: จำนวนของสตริงที่ถูกต้อง หาได้จากจำนวนของสตริงที่ถูกต้องที่ลงท้ายด้วยเลข 1 หนึ่งตัว บวกกับจำนวนของสตริงที่ถูกต้องที่ลงท้ายด้วยเลข 0 หนึ่งตัว

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

  • สมมติให้ n  3, เพื่อกำหนดให้สตริงยาวอย่างน้อย 3 บิต

    กรณีที่ 1

  • สมมติต่อไปอีกว่า เราทราบว่ามีบิตสตริงที่ถูกต้องจำนวน an-1ที่ยาว(n – 1)

    ดังนั้นมีกี่บิตสตริงที่ยาว n ที่ลงท้ายด้วยเลข 1 หนึ่งตัว?

  • ตอบจะมีสตริงดังกล่าวจำนวนan-1สตริง, ซึ่งก็คือเซตของสตริงที่ถูกต้องที่ยาว(n – 1)และสตริงเหล่านั้นต่อท้ายด้วยเลข1หนึ่งตัว

  • สังเกตว่า:เมื่อใดก็ตามที่เราเพิ่มเลข 1หนึ่งตัวต่อท้ายสตริงที่ถูกต้อง สตริงที่ได้ก็ยังคงเป็นสตริงที่ถูกต้องเช่นเดิม

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

กรณีที่ 2

สิ่งที่เราจำเป็นต้องทราบต่อไปคือ: มีสตริงที่ถูกต้องที่ยาวnและลงท้ายด้วยเลข 0หนึ่งตัวกี่บิตสตริง?

  • สตริงที่ถูกต้องที่ยาว nซึ่งลงท้ายด้วยเลข0หนึ่งตัว ต้องมีเลข 1ในบิตที่(n – 1) (ไม่เช่นนั้นสตริงเหล่านั้นจะลงท้ายด้วย 00 ซึ่งจะเป็นสตริงที่ไม่ถูกต้อง)

  • และมีบิตสตริงที่ถูกต้องที่ยาว(n – 1)ซึ่งลงท้ายด้วยเลข 1 หนึ่งตัวกี่บิตสตริง?

  • เราทราบอยู่แล้วว่ามีan-1สตริงที่ยาว nซึ่งลงท้ายด้วยเลข 1 หนึ่งตัว(จากกรณีที่ 1)

  • ดังนั้น มี an-2บิตสตริงที่ยาว(n – 1) ซึ่งลงท้ายด้วยเลข 1 หนึ่งตัว

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

  • ดังนั้นมีสตริงที่ถูกต้องจำนวนan-2ที่ยาวnซึ่งลงท้ายด้วยเลข 0 หนึ่งตัว(สตริงที่ถูกต้องทั้งหมดที่ยาว (n – 2) และต่อท้ายด้วยเลข 10 )

  • ดังที่กล่าวแล้วข้างต้น จำนวนของสตริงที่ถูกต้อง คือจำนวนของบิตสตริงที่ถูกต้องที่ลงท้ายด้วยเลข1หนึ่งตัวบวกกับจำนวนของสตริงที่ถูกต้องที่ลงท้ายด้วยเลข0 หนึ่งตัว

  • ดังนั้นจึงได้ความสัมพันธ์เวียนเกิด ดังนี้:

    an = an-1 + an-2

Faculty of Informatics, Burapha University


Modeling with Recurrence Relations

  • เงื่อนไขเริ่มต้นคืออะไร?

  • a1 = 2 (0 และ 1)

  • a2 = 3 (01, 10, และ 11)

  • a3 = a2 + a1 = 3 + 2 = 5

  • a4 = a3 + a2 = 5 + 3 = 8

  • a5 = a4 + a3 = 8 + 5 = 13

  • ลำดับเหล่านี้เป็นไปตามความสัมพันธ์เวียนเกิดของ Fibonacci sequence

  • เพราะ a1 = f3และ a2 = f4, จะได้ว่า an = fn+2

Faculty of Informatics, Burapha University


Tower of Hanoi Example

  • นิยายปรัมปราเกี่ยวกับหอคอยแห่งฮานอยเล่าว่าพระที่ประจําอยู่ในหอคอยแห่งฮานอยประกาศว่า ถ้าท่านจะย้ายแผ่นทองคําจํานวน 64 แผ่น ที่เรียงอยู่ที่เสาต้นหนึ่งโดยมีแผ่นทองคำขนาดใหญ่อยู่ด้านล่างและแผ่นทองที่มีขนาดเล็กกว่าอยู่ด้านบน ไปยังวางเรียงไว้ที่เสาอีกต้นหนึ่งในลักษณะเดียวกัน โดยในการย้ายแผ่นทองคํา 1 แผ่น ใช้เวลา 1 วินาที แล้วเมื่อท่านย้ายแผ่นทองคําจากเสาต้นที่ 1 ไปยังเสาต้นอื่นเสร็จสิ้น โลกก็จะแตกสลายไปแล้ว

Faculty of Informatics, Burapha University


Tower of Hanoi Example

  • ปัญหา: ย้ายแผ่นดิสก์จากหลักที่ 1 ไปยังหลักที่ 2

    • กฎ: (a) แต่ละครั้งย้ายได้เพียงแผ่นเดียว

    • (b) แผ่นดิสก์ที่ใหญ่กว่าจะอยู่บนแผ่นที่เล็กกว่าไม่ได้

หลัก #1

หลัก #2

หลัก #3

Faculty of Informatics, Burapha University


Hanoi Recurrence Relation

  • ให้Hn= จำนวนครั้งของการย้ายแผ่นดิสก์ nแผ่น

    วิธีการย้ายแผ่นดิสก์:

  • ย้ายแผ่นดิสก์n−1แผ่นที่อยู่ด้านบนไปยังหลักอื่นๆ (มีการย้ายแผ่นHn−1ครั้ง)

  • ย้ายแผ่นดิสก์ที่อยู่ด้านล่าง(ย้าย 1 ครั้ง)

  • ย้ายแผ่นดิสก์n−1แผ่นที่อยู่ด้านบน(ที่ย้ายไปไว้ยังหลักอื่น)ไปไว้บนแผ่นที่อยู่ด้านล่าง (มีการย้ายแผ่นHn−1ครั้ง)

  • สังเกตว่า:Hn = 2Hn−1 + 1

    • จำนวนครั้งของการย้ายแผ่นดิสก์สามารถอธิบายได้ด้วยความสัมพันธ์เวียนเกิด

Faculty of Informatics, Burapha University


Solving Tower of Hanoi RR

Hn = 2 Hn−1 + 1

= 2 (2 Hn−2 + 1) + 1 = 22 Hn−2 + 2 + 1

= 22(2 Hn−3 + 1) + 2 + 1= 23Hn−3 + 22 + 2 + 1

= 2n−1H1 + 2n−2 + … + 2 + 1

= 2n−1 + 2n−2 + … + 2 + 1(เพราะH1 = 1)

=

= 2n − 1

Faculty of Informatics, Burapha University


Solving Tower of Hanoi RR

  • จะได้ว่า จํานวนครั้งของการย้ายแผ่นทองคําจํานวน 64 แผ่น

    H64 = 264- 1 = 18,446,774,073,709,551,615

  • ซึ่งถ้าย้าย 1 แผ่นใช้เวลา 1 วินาที แล้วจะใช้เวลาทั้งหมดมากกว่า 500 พันล้านปีทีเดียว

Faculty of Informatics, Burapha University


  • Login