1. Trang chủ
  2. » Cao đẳng - Đại học

Luận Văn Thạc sĩ Bài Toán Tháp hà Nội với các Đĩa Màu

44 302 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trò chơi (Bài toán) Tháp Hà Nội được nhà toán học người Pháp Edouard Lucas phát minh và phổ biến rộng rãi ở Paris năm 1883, là một bài toán nổi tiếng thế giới, hiện nay đang được nghiên cứu bởi rất nhiều nhà toán học và khoa học máy tính, các chuyên gia giáo dục và y học, được đưa vào nhiều giáo trình tin học và sách về trò chơi toán học như một ví dụ điển hình về thuật toán đệ qui và lập trình căn bản, nhưng hình như chưa được chú ý nghiên cứu và phổ biến rộng rãi ở Việt Nam.

Trang 1

MỤC LỤC

Trang

Mục lục 1

Mở đầu 2

Chương 1 Bài toán Tháp Hà Nội với nhiều cọc 4

1.1 Bài toán tháp Hà Nội cổ điển 4

1.2 Bài toán tháp Hà Nội với nhiều cọc 7

Chương 2 Trò chơi Tháp Hà Nội với các đĩa màu 11

2.1 Các biến thể của trò chơi tháp Hà Nội 11

2.2 Một số thí dụ trò chơi tháp Hà Nội với đĩa màu 12

2.2.1 Bài toán 1 12

2.2.2 Bài toán 2 13

2.2.3 Bài toán 3 13

2.3 Trò chơi tháp Hà Nội đen trắng 22

2.3.1 Trò chơi Tháp Hà Nội đen trắng: Phiên bản 1 23

2.3.2 Trò chơi Tháp Hà Nội đen trắng: Phiên bản 2 27

2.3.3 Trò chơi Tháp Hà Nội đen trắng: Phiên bản 3 33

2.3.4 Trò chơi Tháp Hà Nội đen trắng: Phiên bản 4 38

Kết luận 42

Tài liệu tham khảo 43

Trang 2

MỞ ĐẦU

Trò chơi (Bài toán) Tháp Hà Nội được nhà toán học người Pháp EdouardLucas phát minh và phổ biến rộng rãi ở Paris năm 1883, là một bài toán nổitiếng thế giới, hiện nay đang được nghiên cứu bởi rất nhiều nhà toán học vàkhoa học máy tính, các chuyên gia giáo dục và y học, được đưa vào nhiềugiáo trình tin học và sách về trò chơi toán học như một ví dụ điển hình vềthuật toán đệ qui và lập trình căn bản, nhưng hình như chưa được chú ýnghiên cứu và phổ biến rộng rãi ở Việt Nam

Mặc dù trò chơi Tháp Hà Nội có mặt trên khá nhiều trang WEB và giáo trìnhtiếng Việt, số lượng bài viết tiếng Việt giới thiệu về trò chơi và bài toán Tháp

Hà Nội trên các tạp chí là rất ít và còn rất sơ lược, hình như chưa có bàinghiên cứu tiếng Việt nào về bài toán Tháp Hà Nội, trong khi đó chỉ tínhriêng số bài báo trên thế giới nghiên cứu về bài toán Tháp Hà Nội trong lĩnhvực Toán-Tin học đã có đến gần 500 bài với khoảng 250 bài với đầu đề có

cụm từ The Tower of Hanoi, đăng trên hơn 100 tạp chí khoa học uy tín Đó là

chưa kể đến những bài viết về sử dụng bài toán Tháp Hà Nội trong khoa họcgiáo dục và y học

Bài toán Tháp Hà Nội thú vị đến mức nó đã được dùng làm đề tài của một sốluận án Tiến sĩ và luận văn cao học ở nước ngoài (Trung Quốc, Mỹ, Đức,…).Hai hội thảo khoa học quốc tế đã được tổ chức tại Slovenia (2005) và Paris

2009 Đã có hai cuốn sách chuyên khảo đầu tiên ([4] và [8]) về Bài toán Tháp

Hà Nội

Bài toán Tháp Hà Nội không chỉ thú vị ở chỗ nó mang tên Hà Nội, thủ đô củaViệt nam, mà nó hấp dẫn các nhà Toán-Tin học bởi nó liên quan đến nhiềuvấn đề như giải thuật đệ qui, hệ đếm, tam giác Pascal, thảm Sierpinski, lýthuyết đồ thị và chu trình Hamilton, ôtômát hữu hạn, độ phức tạp tính toán, Bài toán Tháp Hà Nội gợi ý cho nhiều nghiên cứu trong khoa học máy tính vàtoán học

Trang 3

Sau hơn một thế kỉ, trò chơi Tháp Hà Nội đã được tổng quát hóa (trò chơiTháp Hà Nội với nhiều cọc, trò chơi Tháp Hà Nội song song,…) và đã cónhiều cải biên (trò chơi Tháp Hà Nội xoay vòng, trò chơi Tháp Hà Nội vớicác đĩa màu, ) Những tổng quát hóa và cải biên này dẫn đến những vấn đềtoán học thú vị, thậm chí dẫn tới nhiều bài toán hiện nay chưa có lời giải

Luận văn Bài toán Tháp Hà Nội với các đĩa màu có mục đích trình bày bài toán

Tháp Hà Nội cải biên, trong đó mỗi cọc đĩa được gán cho một màu nhất định.Luận văn gồm phần mở đầu, hai Chương và phần tài liệu tham khảo

Chương 1 Bài toán Tháp Hà Nội với nhiều cọc

Chương 2 Trò chơi Tháp Hà Nội với các đĩa màu

Luận văn được hoàn thành dưới sự hướng dẫn tận tình của PGS.TS Tạ DuyPhượng Em xin bầy tỏ lòng biết ơn sâu sắc nhất đối với Thầy

Em xin cảm ơn các Thầy Cô của trường Đại học Khoa Học - Đại học TháiNguyên và Viện Toán học đã tận tình giảng dạy em trong suốt quá trình họccao học

Em xin cảm ơn khoa Toán - Tin trường Đại học Khoa học - Đại học TháiNguyên, đã quan tâm giúp đỡ, tạo điều kiện thuận lợi cho em thực hiện kếhoạch học tập của mình

Tôi xin chân thành cảm ơn Sở Giáo dục và Đào tạo tỉnh Tuyên Quang, trườngTrung học Phổ thông Hòa Phú, Chiêm Hóa, Tuyên Quang, đã tạo điều kiện vàgiúp đỡ tôi trong thời gian học Cao học

Xin cảm ơn người thân, đồng nghiệp, bạn bè đã cổ vũ động viên tôi trong suốtquá trình làm luận văn

Thái Nguyên, 20.11.2015

Vũ Hoàng Đạo

Trang 4

Chương 1

BÀI TOÁN THÁP HÀ NỘI VỚI NHIỀU CỌC

Nhằm làm sáng tỏ các bài toán xét trong Chương 2, Chương 1 trình bày sơlược bài toán tháp Hà Nội cổ điển và bài toán mở rộng của nó là bài toán tháp

Hà Nội với nhiều cọc

1.1 Bài toán tháp Hà Nội cổ điển

Năm 1883 nhà toán học người Pháp Édouard Lucas (1842–1891) đã phátminh và truyền bá trò chơi tháp Hà Nội

Trò chơi (Bài toán) tháp Hà Nội cổ điển (the Hanoi Tower - TH) được phátbiểu như sau: Có ba cọc thẳng đứng được gắn trên một đế nằm ngang Cho nđĩa tròn có lỗ ở giữa và đường kính khác nhau Lúc đầu các đĩa được lồng vàomột cọc theo thứ tự từ lớn đến nhỏ, từ thấp lên cao, tạo nên một tòa tháp Tròchơi đòi hỏi di chuyển các đĩa, bằng cách đặt chúng vào cọc bên cạnh, mỗilần chuyển một đĩa, theo các qui tắc sau

I Mỗi lần chỉ được chuyển một đĩa trên cùng từ một trong ba cọc

II Sau mỗi lần chuyển, các đĩa đều nằm trên một trong ba cọc, theo thứ tự từlớn đến nhỏ, từ thấp đến cao

III Đĩa trên cùng của một trong ba cọc được đặt vào cọc trống hoặc đặt lênmột trong hai cọc khác, nếu đĩa này nhỏ hơn các đĩa của cọc đó

Qui tắc sau đây được gọi là Qui tắc thiêng liêng (devine rule):

Không được đặt đĩa lên trên đĩa có đường kính nhỏ hơn.

Một phân bố bất kì của n đĩa trên ba cọc được gọi là một trạng thái (state) hay một cấu hình (configuration) Một trạng thái (một cấu hình) được gọi là chính qui (regular) hay hợp lệ nếu không có đĩa nào nằm trên đĩa nhỏ hơn

Một trạng thái được gọi là hoàn hảo (perfect) nếu nó là chính qui và tất cả các

đĩa đều nằm trên một cọc

Trang 5

Hình 1 là ví dụ các trạng thái (với số đĩa n 8).

Thuật toán giải bài toán tháp Hà Nội cổ điển

Bước 1: Chuyển đĩa số 1 từ cọc A sang cọc C;

Bước 2: Chuyển đĩa số 2 sang cọc B;

Bước 3: Chuyển đĩa số 1 từ cọc C sang cọc B

Khi ấy đĩa số 1 nằm trên đĩa số 2

Như vậy, ta đang có hai đĩa nằm trên cọc B, cọc C hiện thời còn trống

Bước 4: Chuyển đĩa số 3 từ cọc A sang cọc C

Lặp lại ba bước trên để giải bài toán cho hai đĩa: chuyển đĩa số 1 và đĩa số 2cho nằm lên trên đĩa số 3 trên cọc C

Tiếp tục làm như vậy cho bốn, năm,… đĩa

Mỗi lần dựng xong tháp từ đĩa thứ k đến đĩa thứ nhất (trên cọc B hoặc cọc

C, một trong hai cọc đó trống), ta chuyển đĩa thứ k 1 từ cọc A sang cọctrống (cọc C hoặc cọc B), rồi lại di chuyển tháp đã dựng từ cọc B (hoặc cọcC) lên đĩa thứ k 1 để được tháp với k 1 đĩa Như vậy, khi đã xây dựngxong tháp với k đĩa thì ta cũng dễ dàng xây dựng được tháp với k 1 đĩasau khi chuyển đĩa thứ k 1 sang cọc trống

Trang 6

Phương pháp trên được gọi là thuật giải đệ qui: Để tiến hành giải bài toán với

1

n  đĩa, ta áp dụng lại thuật giải bài toán với n đĩa Toàn bộ quá trình cầnmột số hữu hạn các bước, vì vậy đến một lúc nào đó thuật giải sẽ được ápdụng cho n 1. Bước này chỉ đơn giản là chuyển một đĩa duy nhất từ cọc A

sang cọc C

Kí hiệu L n là số lần chuyển đĩa tối ưu trong bài toán tháp Hà Nội với n đĩa 

và ba cọc Khi ấy, để chuyển n đĩa từ cọc A sang cọc C, trước tiên ta phải

chuyển n  1 đĩa trên cùng (các đĩa nhỏ) từ cọc A sang cọc B, sau đó chuyểnđĩa thứ n từ cọc A sang cọc C Cuối cùng, lại chuyển n  1 đĩa từ cọc B sangcọc C

Định lí 1 (Theorem 2.1, [2], p 73-74) Số bước chuyển tối ưu trong bài toán

tháp Hà Nội với ba cọc và n đĩa là

Vậy công thức ( ) 2L n   được chứng minh với mọi n 1 n

1

( 1) 2 ( ) 1 2.(2n 1) 1 2n 1

Trang 7

1.2 Bài toán tháp Hà Nội với nhiều cọc

Một mở rộng tự nhiên của bài toán

Tháp Hà Nội với ba cọc là Bài toán

Tháp Hà Nội với bốn (hoặc nhiều) cọc.

Chính tác giả của bài toán Tháp Hà

Nội, E Lucas cũng là người đầu tiên

xét bài toán với nhiều cọc vào năm

1899, xem [5] Bài toán Tháp Hà Nội với bốn cọcNăm 1902-1903 Henry Ernest

Dudeney đã viết hai bài báo về bài

toán Tháp Hà Nội với bốn cọc Trong

hai trang đầu tiên của cuốn sách nổi

tiếng The Canterbury Puzzles and

Other Curious Problems xuất bản tại

London năm 1907 và tại New York

năm 1908 (xem [1]), Ông đã viết về

bài toán này trò chơi tháp Hà Nội với

bốn cọc (dưới dạng các quân cờ) và

số đĩa là 8, 10 hoặc 21 và gọi là The

Reve's puzzle-câu đố của Reve)

Trong phần lời giải (trang 131-132), Dudeney đã khẳng định (không chứngminh) rằng số lần chuyển cần thiết tương ứng với 8, 10 hoặc 21 đĩa là 33, 49hoặc 321 Hơn nữa, Ông còn xét trường hợp với số đĩa là số tam giác, tức là

Trang 8

Tuy nhiên Dudeney không cho một thuật toán nào cho phép tìm ra các số này,

và cũng không có một gợi ý nào cho trường hợp số đĩa không phải là số tamgiác, thí dụ khi n 8

Bài toán tổng quát với p 3 cọc, p là số bất kì với số đĩa n bất kì được B

M Stewart đề xuất năm 1939 (Problem 3918 trong tạp chí The Americal Mathematical Montly [9]) Lời giải độc lập của bài toán này đã được B M.

Stewart [10] và J S Frame [3] cùng trình bày trong tạp chí này năm 1941.Các thuật toán của Stewart và Frame cùng với một số thuật toán cải biên khác

đã được chứng minh là tương đương theo nghĩa số lần chuyển đĩa là bằngnhau (xem [11]) Vì vậy người ta thường gọi chung thuật toán của hai Ông

hoặc các thuật toán tương đương là thuật toán Frame- Stewart.

Giả sử n là số đĩa nằm trên cọc 0 và p là số cọc được đánh số từ 0 đến p  1

Để giải bài toán tháp Hà Nội với p cọc, ta thực hiện các bước sau

Bước 1 Với số l, 1 l n  , chuyển l đĩa trên cùng từ cọc 0 tới cọc 3, mất( )

p

S l lần chuyển Được phép sử dụng tất cả các cọc trong khi chuyển.

Bước 2 Giữ nguyên cọc 3 chứa l đĩa trên cùng Chuyển n l đĩa từ cọc 0 tớicọc đích, sử dụng n  1 cọc còn lại (vì cọc 3 đang được dùng để chứa l đĩanhỏ nhất), mất S p1(n l ) lần chuyển

Bước 3 Cuối cùng, chuyển l đĩa trên cùng từ cọc 3 tới cọc đích, mất S l p( )

lần chuyển nữa Được phép sử dụng tất cả các đĩa

Như vậy, tổng cộng cần 2 ( )S l pS p1(n l ) lần chuyển

Bài toán đặt ra là, cần tính số l để tổng này là nhỏ nhất

Trang 9

Thuật toán Frame-Stewart với cách chọn l như trên cho phép tìm ra một (một

vài) giá trị i sao cho

Nói cách khác, các giá trị i thỏa mãn công thức trên là số bước tối ưu cần

thiết trong lớp các thuật toán đề nghị

B M Stewart và J S Frame cũng đã chứng minh rằng, nếu n là số tam giác

k

n t , thì cách chọn tối ưu nhất cho ll k , trong khi đó nếu t k1 n tk

thì cả hai giá trị k 1 và k đều là cách chọn tối ưu cho l Như vậy, B M.Stewart và J S Frame đã đề xuất thuật toán giải cho bài toán Tháp Hà Nộivới số cọc bất kì Thuật toán này trùng với lời giải của H E Dudeney trongcác trường hợp riêng nêu trên Ta cũng lưu ý rằng, khác với trường hợp bàitoán với ba cọc, lời giải cho bài toán với bốn cọc có thể là không duy nhất.Hơn nữa, như ta đã biết, số lần chuyển đĩa cho bài toán ba cọc là

3( ) 2n 1

S n   , nên S n3( ) sẽ tăng theo hàm mũ Tuy nhiên, trong trường hợp

số cọc p 4, phân tích thuật toán Frame- Stewart, Stockmeyer 1994 [11]

phát hiện ra rằng, độ phức tạp của thuật toán là dưới mũ (sub-exponential), cỡ

 2 n

n

 cho k 4

Như vậy, ý tưởng cơ bản của thuật toán Frame-Stewart cho bài toán bốn cọc

là sử dụng chiến lược chia để trị (hay dùng trong các thuật toán tin học) Cụ

thể như sau: Chia n đĩa thành hai phần, phần trên gồm l đĩa có kích thước

nhỏ, phần dưới chứa n l đĩa có kích thước lớn Chuyển l đĩa trên cùng từcọc thứ nhất sang cọc thứ tư bằng cách giải bài toán ba cọc với l đĩa nhỏ.Tiếp tục giải bài ba cọc với n l đĩa lớn Sau đó lại giải bài toán ba cọc với l

đĩa để chuyển l đĩa về cọc đã chứa n l đĩa lớn và bài toán đã giải xong

Tuy nhiên, Otto Dunkel [2], tổng biên tập của tạp chí The Americal Mathematical Montly khi cho đăng hai lời giải của Frame và Stewart đã chỉ ra rằng: Chứng minh

tính tối ưu của Frame và Stewart chỉ áp dụng được cho các thuật toán của một

Trang 10

lược đồ chung mô tả bởi Frame và Stewart mà thôi Nói cách khác, Frame và

Stewart mới chỉ chứng minh được rằng: trong số tất cả các giá trị có thể của l (theo thuật toán của hai Ông) phải có ít nhất một giá trị i làm cực tiểu số lần chuyển Hai ông chưa chứng minh rằng mọi thuật toán tối ưu bắt buộc phải có

dạng trên Và điều này cho tới nay vẫn chưa chứng minh được Vì vậy lời giải của

Frame và Stewart cần phải coi một cách đúng đắn là lời giải giả định là tối ưu

(presumed optimal solution), chứ chưa chứng minh được là lời giải tối ưu Từ

1941 đến nay, rất nhiều người khác đã nghiên cứu thuật toán này Gần đây một sốtác giả đề nghị một số thuật toán hồi qui tương đương với thuật toán Frame -Stewart (xem [14]) Nhưng tính tối ưu của thuật toán vẫn chưa được chứng minh

Đây là một ví dụ tiêu biểu cho thấy: từ một bài toán đơn giản, có thể giải được, nhưng bằng cách nới lỏng một số ràng buộc của nó (tăng thêm số cọc), thì lại trở thành khó hơn rất nhiều, do xuất hiện những vấn đề mới (sự tồn tại,

tính duy nhất, tính tối ưu của nghiệm)

Việc chưa chứng minh được tính tối ưu của thuật toán Frame –Stewart chobài toán với bốn hoặc nhiều cọc là tối ưu không suy ra rằng không tồn tạithuật toán tìm (tất cả) các nghiệm tối ưu

Mặc dù chưa chứng minh được số lần chuyển đĩa tối ưu chính xác là bao

nhiêu, nhưng thuật toán Frame-Stewart và các cải biên của nó cũng đã cho lời giải được giả định là tối ưu (presumed-optimal solution), cho phép lập trình

giải bài toán tháp Hà Nội với số cọc bất kì Tính tối ưu của thuật toán Stewart đã được kiểm tra trên máy tính cho số đĩa nhỏ hơn 30

Frame-Định lí 2 ([12]) Số bước chuyển giả định là tối ưu trong thuật toán Frame

Stewart cho bài toán bốn cọc là

Trang 11

Chương 2

TRÒ CHƠI THÁP HÀ NỘI VỚI ĐĨA MÀU 2.1 Các biến thể của trò chơi tháp Hà Nội

Trò chơi tháp Hà Nội có rất nhiều biến thể Trong [5], trang 303, E Lucas, tác

giả của trò chơi tháp Hà Nội, đã nhận xét như sau: Le nombre des problèms que l’on peut se poser sur la nouvelle Tour d’Hanoi est incalculable (Số bài

toán có thể tạo ra trò chơi tháp Hà Nội mới là không tính được)

Mọi biến thể của trò chơi Tháp Hà Nội đều chứa các cọc và các đĩa, các đĩa

được đặt trên các cọc Các qui tắc chung sau đây phải được thỏa mãn:

1) Các cọc là có thể phân biệt được (distinguishable);

2) Các đĩa là có thể phân biệt được;

3) Đĩa luôn nằm trên cọc trong suốt thời gian chơi, ngoại trừ khi chuyểnđộng;

4) Một hoặc nhiều đĩa chỉ có thể chuyển động từ đỉnh của cọc đĩa

5) Trò chơi: Cho một phân bố ban đầu của các đĩa trên các cọc (trạng thái banđầu) và một phân bố cuối của các đĩa trên các cọc (trạng thái cuối) Hãy tìmcách chuyển các đĩa từ trạng thái ban đầu sang trạng thái cuối theo những quitắc nhất định với số lần chuyển đĩa ít nhất

Ngoài những qui tắc trên, có thể còn có một số hạn chế hoặc qui định khácnữa, chúng cung cấp một số vô cùng lớn các biến thể khác nhau Thí dụ:

1) Số cọc có thể là bất kì (như ta thường gặp);

2) Các cọc có thể được sắp thứ tự theo chiều cao, nghĩa là, theo số đĩa màchúng có thể chứa;

3) Các đĩa có thể được phân biệt và ưu tiên theo bán kính hoặc màu;

4) Có thể chấp nhận một số trạng thái không chính qui (irregular state)

5) Nhiều hơn một đĩa trên đỉnh có thể chuyển động đồng thời;

Trang 12

6) Có thể thêm một số hạn chế hoặc qui tắc phụ đặt lên chuyển động, màthậm chí qui tắc thiêng liêng bị bỏ qua;

7) Và cuối cùng, là tổ hợp của các qui tắc trên

2.2 Một số thí dụ trò chơi tháp Hà Nội với đĩa màu

2.2.1 Bài toán 1

Một điều thú vị là chính Lucas, tác giả của trò chơi tháp Hà Nội, cũng đã xemxét một số biến thể của trò chơi này Trong [5], Ông đã xét trò chơi tháp HàNội với năm cọc và bốn nhóm đĩa với các màu khác nhau Mỗi cọc có thểchứa tất cả các đĩa Mỗi nhóm đĩa gồm bốn đĩa và 16 đĩa có các kích thướcđôi một khác nhau Nhóm có màu c 1,2,3,4 chứa bốn đĩa d 1,2, ,16

với c 1 16 dmod 4 Nghĩa là:

Màu c 1 ứng với các đĩa mang số d 4,8,12,16.

Màu c 2 ứng với các đĩa mang số d 3,7,11,15.

Màu c 3 ứng với các đĩa mang số d 2,6,10,14.

Màu c 4 ứng với các đĩa mang số d 1,5,9,13.

Hình 2.1: Trạng thái ban đầu của trò chơi với bốn cọc đĩa màu (của Lucas)

Hình 2.1 (Hình vẽ trên trang đầu của bài báo của E Lucas) chỉ ra trạng tháiban đầu của trò chơi Nhiệm vụ được đặt ra là đưa các đĩa về bốn cọc, mỗi

Trang 13

cọc chứa đủ bốn màu khác nhau Nhiệm vụ này có thể được hoàn thành nhờ

sử dụng cọc giữa tuân theo qui tắc thiêng liêng ([5], Quatriem Problem-Bàitoán số 4)

2.2.2 Bài toán 2

Trò chơi gồm ba cọc được đánh số 0,1,2và 8 đĩa Cọc 1 chứa bốn đĩa màu

(thí dụ, màu đỏ, được kí hiệu là c 1) gồm các đĩa được đánh số 2,4,6,8

Cọc 2 chứa 4 đĩa màu (thí dụ, màu xanh, được kí hiệu là c 2), gồm các đĩađược đánh số 1,3,5,7. Kích thước của các đĩa tăng dần từ 1 đến 8 Nhiệm vụ

của trò chơi là đưa tất cả các đĩa về cọc 0 theo quy tắc thiêng liêng (đĩa nhỏhơn nằm trên đĩa lớn hơn, Hình 2.2)

0 1 2

0 1 2

Hình 2.2: Trạng thái ban đầu và kết thúc của trường hợp Bài toán 2 2.2.3 Bài toán 3

Trò chơi gồm bốn cọc 0,1,2,3 và 12 đĩa Cọc 1 chứa 4 đĩa mầu c 1 gồm các

đĩa mang số 3,6,9,12. Cọc 2 chứa 4 đĩa mầu c 2 gồm các đĩa màu được

đánh số 2,5,8,11. Cọc 3 chứa 4 đĩa mầu c 3 gồm các đĩa mang số 1,4,7,10

Kích thước của các đĩa tăng dần từ 1 đến 12 Nhiệm vụ của trò chơi là hợpnhất hai màu c 1 và c 2 vào cọc 0 và cọc 3 với chồng đĩa mầu c=3 vẫn cố

định Được phép di chuyển các đĩa màu c 3 và sử dụng cọc 3 trong quátrình thực hiện nhiệm vụ Khi chơi phải tuân theo quy tắc thiêng liêng

Giải pháp tối ưu cho bài toán này là 39 lần chuyển đĩa

Thật vậy, giả sử cọc 1 chứa 4 đĩa màu đỏ kí hiệu là Đ3, Đ6, Đ9, Đ12 Cọc 2chứa 4 đĩa mầu vàng kí hiệu là V2, V5, V8, V11 và cọc 3 chứa 4 đĩa mầuxanh kí hiệu là X1, X4, X7, X10

Trang 14

Qui trình chuyển đĩa như sau:

Bước 1: Chuyển đĩa Đ3 từ cọc 1 sang cọc 0

Bước 2: Chuyển đĩa V2 từ cọc 2 sang cọc 0

Bước 3: Chuyển đĩa X1 từ cọc 3 sang cọc 0

Bước 4: Chuyển đĩa X4 từ cọc 3 sang cọc 2

Trang 15

Bước 5: Chuyển đĩa Đ6 từ cọc 1 sang cọc 3

Bước 6: Chuyển đĩa X4 từ cọc 2 sang cọc 1

Bước 7: Chuyển đĩa V5 từ cọc 2 sang cọc 3

Bước 8: Chuyển đĩa X1 từ cọc 0 sang cọc 2

Bước 9: Chuyển đĩa X4 từ cọc 1 sang cọc 3

Trang 16

Bước 10: Chuyển đĩa V2 từ cọc 0 sang cọc 1

Bước 11: Chuyển đĩa Đ3 từ cọc 0 sang cọc 3

Bước 12: Chuyển đĩa V2 từ cọc 1 sang cọc 3

Bước 13: Chuyển đĩa X1 từ cọc 2 sang cọc 3

Bước 14: Chuyển đĩa V8 từ cọc 2 sang cọc 0

Trang 17

Bước 15: Chuyển đĩa Đ9 từ cọc 1 sang cọc 2

Bước 16: Chuyển đĩa V8 từ cọc 0 sang cọc 2

Bước 17: Chuyển đĩa Đ12 từ cọc 1 sang cọc 0

Bước 18: Chuyển đĩa V8 từ cọc 2 sang cọc 0

Bước 19: Chuyển đĩa Đ9 từ cọc 2 sang cọc 1

Trang 18

Bước 20: Chuyển đĩa V8 từ cọc 0 sang cọc 1.

Bước 21: Chuyển đĩa V11 từ cọc 2 sang cọc 0

Bước 22: Chuyển đĩa V8 từ cọc 1 sang cọc 2

Bước 23: Chuyển đĩa Đ9 từ cọc 1 sang cọc 0

Bước 24: Chuyển đĩa V8 từ cọc 2 sang cọc 0

Trang 19

Bước 25: Chuyển đĩa X1 từ cọc 3 sang cọc 0

Bước 26: Chuyển đĩa V2 từ cọc 3 sang cọc 1

Bước 27: Chuyển đĩa Đ3 từ cọc 3 sang cọc 2

Bước 28: Chuyển đĩa V2 từ cọc 1 sang cọc 2

Bước 29: Chuyển đĩa X1 từ cọc 0 sang cọc 2

Trang 20

Bước 30: Chuyển đĩa X4 từ cọc 3 sang cọc 0

Bước 31: Chuyển đĩa V5 từ cọc 3 sang cọc 1

Bước 32: Chuyển đĩa X4 từ cọc 0 sang cọc 1

Bước 33: Chuyển đĩa Đ6 từ cọc 3 sang cọc 0

Bước 34: Chuyển đĩa X4 từ cọc 1 sang cọc 3

Trang 21

Bước 35: Chuyển đĩa V5 từ cọc 1 sang cọc 0

Bước 36: Chuyển đĩa X1 từ cọc 2 sang cọc 3

Bước 37: Chuyển đĩa V2 từ cọc2 sang cọc 1

Bước 38: Chuyển đĩa Đ3 từ cọc 2 sang cọc 0

Bước 39: Chuyển đĩa V2 từ cọc 1 sang cọc 0

Hình 2.3: Giải pháp các bước di chuyển tối ưu cho Bài toán 3

Trang 22

Hình 2.4: Tất cả các giải pháp cho Bài toán 3 chuyển trạng thái ban đầu (ba

cọc 1, 2, 3, mỗi cọc bốn đĩa Cọc 0 trống)

Màu sắc của một đoạn thẳng ứng với màu của đĩa di chuyển

Nhận xét ([4], trang 91) Nếu trạng thái kết thúc là các đĩa ở cọc 1 mầu c 1

vẫn cố định, hai mầu c 2 và c 3 được kết hợp vào cọc 0 Số lần di chuyểntối ưu trong trường hợp này là 32 Đối với trường hợp kết thúc các đĩa ở cọc 2mầu c 2 vẫn cố định, mầu c 1 và c 3 được kết hợp vào cọc 0 thì số dichuyển là 37 lần

Số lần tối thiểu của di chuyển cần thiết để nối tiếp hai màu sắc bằng cách sửdụng tất cả 5 cọc là khoảng từ 31 lần di chuyển với các đĩa tương đối nhỏ cốđịnh, và 23 lần di chuyển cho những đĩa tương đối lớn nhất cố định

2.3 Trò chơi tháp Hà Nội đen trắng

Năm 2010, Stockmeyer và F Lunnon trong [12] đã đưa ra một phiên bản của

bài toán tháp Hà Nội với đĩa màu, được gọi là Tháp Hà Nội đen trắng (the Black and White Hanoi Tower-BWTH).

Dưới đây sẽ trình bày các thuật toán giải bốn phiên bản của bài toán BWTH.Các thuật toán này sử dụng một thuật toán chung giải tháp Hà Nội cổ điển(mà ở đây là phương pháp Hanoi) như là một chương trình con

Giả code (pseudo-code) của thuật toán giải bài toán tháp Hà Nội cổ điển đượcviết như sau

procedure Hanoi (bottom, top, stack, from, via, to)

if (top<=bottom)

Hanoi (bottom-1, top, stack, from, to, via);

Ngày đăng: 21/07/2017, 14:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Dudeney H. E. (1907), The Reve’s Puzzle, The Canterbury Puzzles (and other curious problems), Thomas Nelson and Sons, Ltd., London Sách, tạp chí
Tiêu đề: The Reve’s Puzzle, The Canterbury Puzzles (andother curious problems)
Tác giả: Dudeney H. E
Năm: 1907
[2] Dunkel O. (1941), Editorial note concerning advanced problem 3918, Amer. Math. Monthly 48, 219 Sách, tạp chí
Tiêu đề: Amer. Math. Monthly
Tác giả: Dunkel O
Năm: 1941
[3] Frame J. S. (1941), Solution to advanced problem 3918, Amer. Math.Monthly 48 , 216-217 Sách, tạp chí
Tiêu đề: Amer. Math."Monthly
Tác giả: Frame J. S
Năm: 1941
[4] Hinz A. M. (2013), Sandi Klavzˇar, Uroš Milutinovic´, Ciril Petr, The Tower of Hanoi–Myths and Maths, Springer, Basel Sách, tạp chí
Tiêu đề: TheTower of Hanoi–Myths and Maths
Tác giả: Hinz A. M
Năm: 2013
[5] Lucas E. (1889), Nouveaux Jeux Scientifiques de M. E’duard Lucas, 301-303 Sách, tạp chí
Tiêu đề: Nouveaux Jeux Scientifiques de M. E’duard Lucas
[6] Lucas E. (1889), Jeux Scientifiques, Primière Série, No3, La Tour d’Hanoi, Chambon &amp; Baye/ Éduard Lucas, Paris Sách, tạp chí
Tiêu đề: Jeux Scientifiques
[7] Lucas E. (1895), L’Arithméique Amusante: Introduction aux Récréations Mathematicques, Gauthier-Villars, Paris, pp. 179-183 Sách, tạp chí
Tiêu đề: Amusante: Introduction aux RécréationsMathematicque
[8] Majumdar A. A. K. (2012), (2013) A classical Tower of Ha noi: Problems and its Generalizations, Vol. 1, Vol. 2, Lambert Sách, tạp chí
Tiêu đề: A classical Tower of Ha noi: Problemsand its Generalizations
Tác giả: Majumdar A. A. K
Năm: 2012
[9] Stewart B. M. (1939) , Advanced problem 3918, Amer. Math. Monthly 46, 363 Sách, tạp chí
Tiêu đề: Amer. Math. Monthly
[11] Stockmeyer P. K. (1994), Variations on the four–post Tower of Hanoi puzzle, Congr. Numer. 102, 3–12. (Proceedings of the 25 th Southeastern International Conference on Combinatorics, Graph Theory and Computing) Sách, tạp chí
Tiêu đề: –"post Tower of Hanoipuzzle, "Congr. Numer
Tác giả: Stockmeyer P. K
Năm: 1994
[12] P. K. Stockmeyer, Lunnon F. (2010), New variations on the Tower of Hanoi, Congressus Numerantium 201, 277-287 Sách, tạp chí
Tiêu đề: Congressus Numerantium
Tác giả: P. K. Stockmeyer, Lunnon F
Năm: 2010
[13] Symposium La “Tour d’Hanoi” − un casse − tete mathématique d’E’duard Lucas (1842-1891), Institute Henri Poincaré, Paris 2009 Sách, tạp chí
Tiêu đề: La “Tour d’Hanoi”"−"un casse"−"tete mathématiqued’E’duard Lucas
[14] Workshop on the Tower of Hanoi and Related Problems, September 18 – September 22, 2005, Maribor, Slovenia Sách, tạp chí
Tiêu đề: Workshop on the Tower of Hanoi and Related Problems

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w