Tải bản đầy đủ (.pdf) (71 trang)

Bài toán tháp hà nội với chuyển động xoay vòng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.72 MB, 71 trang )

1

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KHOA HỌC
----------

TRẦN THỊ HỒNG NHUNG

BÀI TOÁN THÁP HÀ NỘI
VỚI CHUYỂN ĐỘNG XOAY VÒNG

LUẬN VĂN THẠC SĨ TOÁN HỌC

THÁI NGUYÊN - 2015

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

2

MỤC LỤC

Trang
Mục lục……………………………………………………………...

1

Lời nói đầu………………………………………………………….

2



Chƣơng 1 Một số cải biên của bài toán Tháp Hà Nội……..…......

4

1.1 Lịch sử bài toánTháp Hà Nội ……………………….................

4

1.2 Một số phát triển và cải biên của bài toán Tháp Hà Nội …….....

15

1.3 Tài liệu về bài toán Tháp Hà Nội .................................................

26

Chƣơng 2 Bài toán Tháp Hà Nội với chuyển động xoay vòng .....

28

2.1 Các tính chất cơ bản của bài toán Tháp Hà Nội xoay vòng ........

28

2.2 Thuật toán lặp cho bài toán Tháp Hà Nội xoay vòng .................

45

2.3 Bài toán Tháp Hà Nội với hạn chế chuyển động các đĩa ............


52

Kết luận……………………………………………………………..

64

Tài liệu tham khảo…………………………………………………

65

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

3

LỜI NÓI ĐẦU
Bài toánTháp Hà Nộiđược nhà toán họcPháp EdouardLucas nghĩ ra năm 1882
(xem [17]) và phổ biếnvào năm 1883dưới dạng một trò chơi, là một bài toán
thường được giới thiệu trong các sách về các trò chơi toán học và sử dụng
trong các giáo trình Tin học như một ví dụ điển hình về thuật giải đệ qui, lập
trình căn bản và độ phức tạp tính toán.
Trò chơi Tháp Hà Nộikhông chỉ thú vị ở chỗ nó mang tên Hà Nội, thủ đô của
Việt Nam mà nó còn hấp dẫn các nhà nghiên cứu Toán học và Công nghệ
thông tin bởi nó liên quan đến nhiều vấn đề của Toán – Tin học như giải thuật
đệ qui, hệ đếm, tam giác Pascal, thảm Sierpinski, Fractal, lý thuyết đồ thị và
chu trình Hamilton, ôtômát hữu hạn, độ phức tạp tính toán,... Các bài toán
Tháp Hà Nộimở rộng hoặc cải biên gợi ý cho nhiều nghiên cứu mới trong
toán học và khoa học máy tính.

Đã có hai cuốn sách chuyên khảo đầu tiênviết về Bài toán Tháp Hà Nội:The
Tower of Hanoi –Myths and Maths[16]của Andreas M. Hinz, Sandi Klavžar,
Uroš Milutinović, Ciril Petrxuất bản năm 2013 và cuốn sách hai tập Classical
Tower of Hanoi Problem and Its Generalizations[18] của A.A.K. Majumdar
xuất bản năm 2012 – 2013.Chỉ tính riêng số bài báo nghiên cứu về bài toán
Tháp Hà Nội trong lĩnh vực Toán học và 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 gần
200 tạp chí khoa học có uy tín(xem thống kê Tài liệu trong [7], [16] và [22],
tiếc rằng hình như chưa có bài nghiên cứu nào của người Việt Nam về bài
toán Tháp Hà Nội). Đó 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ọc giáo dục,sinh – y học hoặc những cuốn sách về
tin học hay toán trò chơi, trong đó có trình bày về trò chơi Tháp Hà Nội.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

4

Sau hơn 100 năm, bài toánTháp Hà Nội đã có những cải biên và tổng quát hóa
(trò chơi Tháp Hà Nội với nhiều cọc, trò chơi Tháp Hà Nội với các đĩa màu,
trò chơi Tháp Hà Nội với hạn chế hướng chuyển đĩa, trò chơi Tháp Hà Nội
song song,...). Những cải biên và tổng quát hóa 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.
Dựa trên các bài báo của các tác giả nước ngoài, Luận văn Bài toán Tháp Hà
Nội với chuyển động xoay vòngcó mục đích trình bày các tính chất cơ bản của
bài toán Tháp Hà Nộivới hạn chế đặt lên chuyển động – một biến thể của bài
toán Tháp Hà Nội,đặc biệt là mô tả giải thuật lặp để giải quyết bài toánTháp
Hà Nội xoay vòng.
Luận văn gồm Phần mở đầu, hai chương và Tài liệu tham khảo.

Chƣơng 1Một số cải biên của bài toánTháp Hà Nội
Chương 1 giới thiệu tổng quan về lịch sử phát triển trò chơi Tháp Hà Nội và
một số biến thể của bài toán. Các tư liệu trong Chương này được bổ sung chi
tiết và thời sự hơn so với [3] và [5].
Chƣơng 2Bài toán Tháp Hà Nội với chuyển động xoay vòng
Chương 2trình bày các tính chất,lời giải bài toán bằng giải thuật lặp của bài
toán Tháp Hà Nộivới chuyển động xoay vòng.
Luận văn được hoàn thành dưới sự hướng dẫn tận tìnhcủa PGS TS Tạ Duy
Phượng, Viện Toán học. Đặc biệt Thầy đã cung cấp nhiều tài liệu và biên tập
kĩ luận văn. Em xin bày tỏ lòng biết ơn sâu sắc nhất đối với Thầy.
Tôi xin được cảm ơn khoa Toán – Tin trường Đại học Khoa học – Đại học
Thái Nguyên và Trường Trung học Phổ thông Hòn Gai –Thành phốHạLong
đã quan tâm giúp đỡ, tạo điều kiện thuận lợi cho tôi thực hiện kế hoạch học
tập.
Xin được cảm ơn người thân, đồng nghiệp, bạn bè đã cổ vũ động viên tôi
trong suốt quá trình học cao học và làm luận văn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

5

Hạ Long, 10.4.2015

Trần Thị Hồng Nhung
CHƢƠNG I
MỘT SỐ CẢI BIÊN CỦA BÀI TOÁN THÁP HÀ NỘI
1.1 Lịch sử Bài toán Tháp Hà Nội
Dưới đây là những tư liệu quí về trò chơiTháp Hà Nội: Bìa của hộp đựngtrò
chơi Tháp Hà Nội(được làm bằng gỗ),sản xuất lần đầu tiên tại Paris năm 1883

và hai tờ hướng dẫn qui tắc chơi (xem: />Trên tờ bìa có hình tháp 10 tầng, cây tre, người Annam và dòng chữ: La Tour
d’Hanoϊ, Veritable casse-téte Annamite Jeu, rapporté du Tonkin par le
professeur N. Claus (de Siam) du college Mandarin Li-Sou-Stian - Tháp Hà
Nội, Trò chơi trí tuệ của người Annam, được mang về từ Bắc Kì bởi giáo sư
N. Claus (ở Siam), trường trung học Li-Sou-Stian.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

6

Bìa của hộp đựng trò chơi Tháp Hà Nội đƣợc bán lần đầu tại Paris, 1883
Năm 1884, de Parvile (xem [16], trang 2-3) đã tiết lộ:Giáo sư N. Claus chính
là ẩn danh(nikname) của nhà toán học EduardLucas(N. Claus de Siam là đảo
từ của E. Lucas d’Amiens, Amiens là quê của E. Lucas. Li-Sou-Stian là đảo
từ của Sant Louis, trường trung học ở Paris, nơi Ông dạy học vào những năm
đó).
Dựa trên phân tích hình vẽ trên hộp đựng trò chơi, “bờ thành của tháp được
mô tả tỉ mỉ đến từng chi tiết, người nông dân Annam vẽ rất thực,...”, có người
cho rằng, thật sự đã có người bạn của E. Lucas mang các thông tin và trò chơi
này từ Hà Nội về Paris. Cũng không hẳn là không có lí!
Dưới đây là tờ hướng dẫn thứ nhất giới thiệu trò chơi Tháp Hà Nội được sản
xuất lần đầu tiên tại Paris và bản dịch:
THÁP HÀ NỘI
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

7


Trò chơi trí tuệ của người Annam
Trò chơi được đem về từ Đông Kinh
bởi Giáo sư N. CLAUS (DE SIAM)
Trường trung học Li-Sou-Stian!
Trò chơi này lần đầu được tìm thấytrong cuốn sách có minh họa tiếng Quan
thoại FER-FER-TAM-TAM, sẽ được xuất bảntrong tương lai gần, bởi chính
phủ bảo hộ. Tháp Hà Nội có các đĩa, nhỏ dần, có số lượng thay đổi, mà chúng
tôi làm bằng gỗ, có lỗ ở giữa. Ở Nhật Bản, Trung Quốc, và ở Đông Kinh
(Tonkin-Bắc Kì), chúng được làm bằng sứ.
Trò chơi có mục đích là dỡ bỏ từng đĩa, và đặt vào cột bên cạnh, theo các quy
tắc nhất định. Vui và bổ ích, dễ học và dễ chơi trong thành phố, ngoài nông
thôn, trên chuyến du lịch, nó được tạo ra để mang đến kiến thức khoa học,
giống mọi trò chơi kỳ thú và mới lạ của giáo sư N. CLAUS (của SIAM).
Chúng tôi trao giải thưởng 1000 franc, 100 nghìn franc, một triệu franc, và
nhiều hơn, cho ai hoàn thành, bằng việc dùng tay di chuyển Tháp Hà Nội với
64 đĩa, theo qui tắc của trò chơi. Chúng tôi nói ngay là cần số lần di chuyển
là18 446 744 073 709 551 615, nhiều hơn năm tỷ thế kỷ!

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

9


Theo một truyền thuyết Ấn Độ, những người dân của thành Brahma đã tiếp
nối nhau trong một thời gian dài để thay đổi Đền Bernares, di chuyển 64 đĩa
vàng của Tòa tháp Brahma. Khi công việc hoàn thành, Tòa tháp và thành
Brahma sẽ đổ, và lúc đó là thời điểm kết thúc của vũ trụ!
PARIS, BẮC KINH, TOKYO và SÀI GÒN
Trong các hiệu sách và tiểu thuyết
1883
Bản quyền đã giữ.
Dưới đây là tờ hướng dẫn thứ hai trò chơi Tháp Hà Nội được sản xuất lần đầu
tại Paris năm 1883và bản dịch:
Luật chơi và cách chơi trò chơiTHÁP HÀ NỘI
Đế đặt nằm ngang; các cọc thẳng đứng. Các đĩa đặt 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ỗi lần chuyển một đĩa, theo luật sau.
I. Sau mỗi lần chuyển, các đĩa đều nằm trên một, hai, hoặc ba cọc, theo thứ tự
từ lớn đến nhỏ, từ thấp đến cao.
II. Đĩa trên cùng của một trong ba cọc được đặt vào cọc trống.
III. Đĩa trên cùng của một trong ba cọc đĩa được đặt lên một trong hai cọc
khác, nếu đĩa này nhỏ hơn các đĩa của cọc đó.
Trò chơi có thể dễ dàng tự khám phá, bằng việc giải quyết dần từ 3, 4, và 5
đĩa.
Trò chơi luôn giải được và đòi hỏi thời gian chơi lâu khoảng gấp đôi mỗi khi
cho thêm một đĩa vào tòa tháp. Bất kì ai giải được cho tám đĩa, ví dụ, chuyển
các đĩa từ cọc 1 sang cọc 2, cũng sẽ biết cách giải cho chín đĩa. Chỉ cần
chuyển tám đĩa sang cọc 3, rồi chuyển đĩa thứ chín sang cọc 2, và mang tám
đĩa từ cọc 3 về cọc 2. Bây giờ, khi thêm một đĩa vào trò chơi, tổng số di
chuyển tăng gấp đôi, cộng với một, so với trước.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


/>

10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

11

Với tháp hai đĩa

ba lần chuyển là đủ

Số đĩa

Số lần chuyển

Ba đĩa

7 lần

6 đĩa

63 lần

Bốn đĩa

15 lần


7 đĩa

127 lần

Năm đĩa

31 lần

8 đĩa

255 lần

Với tốc độ một di chuyển mất một giây, cần bốn phút để chuyển tám đĩa.
Các biến thể của trò chơi: Có thể thay đổi đến vô cùng điều kiện của bài
toán Tháp Hà Nội như sau:Khi bắt đầu, xếp các đĩa theo thứ tự bất kỳ lên một,
hai, hay cả ba cọc. Sau đó cần xây dựng lại tòa tháp trên một cọc định trước.
Với 64 đĩa, số lần di chuyển là khổng lồ, số này dài 50 chữ số. Xem thêm chi
tiết trong chương nói về Baguenaudier (trò chơi tháo vòng) ở:
TOÁN HỌC GIẢI TRÍ
bởi Mr. Édouard Lucas
giáo sư toán học cao cấp tại Lycée Saint-Louis
Hai tập nhỏ, trong hai màu
Paris, 1883, bởi GAUTHER-VILLARS,
máy in của Académie des Sciences và Ecole Polytechnique
Tất nhiên, không ai nghi ngờ tác giả của trò chơi
Tháp Hà Nộichính là E. Lucas, nhà toán học nổi
tiếng người Pháp với nhiều công trình toán học
quan trọng nhưdãy Lucas, thuật toán LucasLehmer tìm số nguyên tố Mersenne,... Việc dùng
nickname dưới dạng đảo ngữ và cách viết các tác

phẩm khoa học mang hình thức văn học nhằm
hấp dẫn độc giả có lẽ là mốt thời thượng thời bấy
giờ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

12

Dưới đây là bản chụp tờ bìa cuốn sách

Số học vui(L’Arithmetic

Amusante,[17]) của E.Lucas xuất bản tại Paris năm 1895 (sau khi Ông mất),
trong đó có bốn trang (trang 179-183) viết về Tháp Hà Nội.

Trong L’Arithmetic Amusante (LA TOUR D’HANOI, Chapitre quatrième:
Les projections géométriques, trang 179), E. Lucas viết: “Một người bạn của
chúng tôi, N. CLAUS (de Siam), Giáo sư trường trung học Li-Sou-Stian, đã
xuất bản vào năm 1884 một trò chơi, được gọi là Trò chơi Tháp Hà Nội, một
trò chơi trí tuệ của người Annam,…”
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


/>

14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

16

Trò chơi Tháp Hà Nội được phổ biến tại Paris năm 1883 đã được đón nhận
rộng rãi vì sự đơn giản và hấp dẫn của nó. E. Lucas đã tỏ ra rất thực tế khi
Ông cho sản xuất trò chơi Tháp Hà Nội với 8 đĩa, số đĩa vừa đủ để trò chơi
không quá đơn giản và chóng chán (để chuyển hết 8 đĩa từ cọc nguồn sang
cọc đích, không nhầm lẫn, cần 255 bước), cũng như không quá phức tạp (như
trong trường hợp 64 đĩa, phải mất 5 tỉ năm).
Rất có thể, theo E. Lucas, trò chơi Tháp Hà Nội “đã xuất hiện ở Đông Á từ
thế kỷ 19 hoặc trước đó. Các đĩa được làm bằng sứ ở Trung Quốc, Nhật Bản
và Đông Kinh (Tonkin-Bắc Kì)”. Tuy nhiên, cho tới nay, các nhà lịch sử và
khảo cổ vẫn chưa tìm thấy các thư tịch viết về truyền thuyết 64 đĩa vàng với
ba cọc kim cương tại tháp Brahma của Ấn Độ cũng như các đĩa sứ của trò
chơi Tháp Hà Nội tại Trung Quốc, Nhật Bản và Việt Nam.Có lẽ cũng chưa ai
nhìn thấy cuốn sách FER-FER-TAM-TAM mà Lucas đã nhắc tới. Những tài
liệu cũ nhất về trò chơi vẫn là các hộp đựng các đĩa và các cọc sản xuất tại

Pháp năm 1883 và những năm sau đó.
Hiện nay chưa thể khẳng định được truyền thuyết về tháp Brahma là có thật
hay do chính E. Lucas nghĩ ra (xem[16] và các tư liệu khác). Cũng có thể, dựa
theo hình mẫu những ngôi tháp cổ đã từng tồn tại trong vùng đất phật giáo
linh thiêng gần Hà Nội, hay cũng có thể vì lí do nào đó khác, thí dụ như việc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

17

Pháp chiếm được thành Hà Nội đã là sự kiện thời sự tràn ngập báo chí ở Paris
thời bấy giờ(xem [16], trang 6), nhân đó mà Edouard Lucas đã phổ biến trò
chơi với tên gọi Tháp Hà Nộiở Paris năm 1883 dưới ẩn danh (under the
nickname) là giáo sư N. Claus?
Lịch sử trò chơi Tháp Hà Nội vẫn còn nhiều điều bí ẩn và vẫn được nhiều tác
giả quan tâm (xem [16],…).
Bài toánTháp Hà Nội thú vị và có nội dung toán – tin học nghiêm túc đến
mức nó đã được viết thành hai cuốn sách chuyên khảo (xem [16] và [18]). Bài
toánTháp Hà Nội được dùng làm đề tài của một số luận án Tiến sĩ và nhiều
luận văn cao học. Hai hội thảo khoa học quốc tế với têngọi Workshop on the
Tower of Hanoi and Related Problems, Slovenia, 2005, [27] và SymposiumLa
“Tour d’Hanoi”-un casse-tete mathématique d’E’duardLucas (1842-1891),
Institute Henri Poicaré, Pháp, 2009 [24] đã được tổ chức. Nhiều công trình
khoa học và các kết quả mới thường xuyên được đăng trên các tạp chí lớn và
được thông báo trên các Hội nghị khoa học Quốc tế về Toán - Tin học.

Workshop on the Tower of Hanoi and
Related Problems
September 18 - September 22, 2005

Maribor, Slovenia

Một số bài toán trong trò chơi Tháp Hà Nội cũng đã được sử dụng làm đề thi
trong các kì thi Olympic quốc tế toán hoặc tin học.
1.2 Một số phát triển và cải biên của bài toán Tháp Hà Nội
Bài toán Tháp Hà Nội có khá nhiều phát triển và cải biên rất thú vị. Mỗi cải
biên và qui tắc chơi mới lại làm trò chơi Tháp Hà Nội thêm phong phú và lại
xuất hiện thêm nhiều vấn đề toán – tin học mới. Đây chính là nguyên nhân trò

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

18

chơi này luôn sống động, mới mẻ và hấp dẫn, mặc dù nó đã được phát minh
cách đây 130 năm.
Dưới đây chúng tôi sơ lược liệt kê một số cải biên của trò chơi Tháp Hà Nội.
1.2.1Bà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ộicổ điển là Bài toán Tháp


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
1889 (xem [16], trang 211).
Năm

1902-1903

Henry

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

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 [10]), Ô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).
Dưới đây là trang 1 và trang 2 trong cuốn sách của H. E. Dudeney nói về The
Reve's puzzle. Trong hình vẽ có bốn chiếc ghế (4 cọc), trên một ghế có 8

quân cờ xếp chồng lên nhau.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

19

Trong phần lời giải (trang 131-132), Dudeney đã khẳng định (không chứng
minh) rằng số lần chuyển cần thiết tương ứng với 8, 10 hoặc 21 đĩa là 33, 49
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

20

hoặ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à
các số tk

k (k 1)
, k 1,2,... Giả sử tk
2

k (k 1)
là số tam giác thứ k và giả
2

sử M (n) là số lần chuyển tối thiểu cần thiết để chuyển xong n đĩa. Dudeney
tuyên bố mà không chứng minh rằng
M 4 tk


2 M 4 tk

1

2k 1, M 4 1

1.

Từ đây ta có

M4 3

5 ; M4 6

17 , M 4 10

49 ,…

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ố tam
giác, thí dụ khi n 8.
Dưới đây là lời giải bài toán The Reve’s Puzzle của H. E. Dudeney.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

21

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 [20]). Lời giải độc lập của bài toán này đã được B. M.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

22

Stewart [21] và J. S. Frame [15] trình bày cũng 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ằng
nhau (xem [16]). 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 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 1 tới cọc 4, mất

S p (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 4 chứa l đĩa trên cùng. Chuyển n l đĩa tới cọc
đích, sử dụng n 1 cọc còn lại (vì cọc 4 đang được dùng để chứa l đĩa nhỏ
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 4, mất S p (l ) 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 2S p (l ) S 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.
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
2S p (i) S p 1 (n i) min 2S p (l ) S p 1 (n l ) .

1 l n

(1.1)

Nói cách khác, các giá trị i thỏa mãn (1.1) 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
n

tk (số bằng tổng số các dấu chấm xuất hiện khi xếp chúng theo thứ tự trên

các hang trong tam giác đều), thì cách chọn tối ưu nhất cho l là l
khi đó nếu tk

1

k , trong

n tk thì cả hai giá trị k 1 và k đều là cách chọn tối ưu cho

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

23

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ội vớ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 trong cá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ài toá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à S3 (n) 2n 1, nên S3 (n) 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, Stockmeyernăm 1994

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

n2

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à 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 [11], tổng biên tập của tạp chí The Americal
Mathematical Montlykhi 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 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

24

hồi qui tương đương với thuật toán Frame –Stewart, 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ó 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 –Stewartcho bà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ại thuật
toán tìm (tất cả) các nghiệm tối ưu.
Mặc dù chưa khẳng định được số lần chuyển đĩa tối ư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 Frame-Stewart đã được kiểm
tra trên máy tính cho số đĩa nhỏ hơn 30 (xem [16], trang179).
1.2.2Bài toán Tháp Hà Nội với cấu hình ban đầu bất kì
Bài toán Tháp Hà Nộivới ba cọc và n đĩa đã được E. Lucas cải biên ngay khi
phổ biến cách chơi vào năm 1883 (xem [16], trang 131). Đó là trò chơi Tháp
Hà Nội với cấu hình ban đầu bất kì: Ngay khi bắt đầu chơi (hoặc tiếp tục sau
khi trò chơi bị gián đoạn), có thể coi các đĩa ở vị trí bất kì (không nhất thiết

tất cả các đĩa phảinằm trên một cọc, mà có thể ở trên các cọc khác nhau, miễn
là tuân theo qui tắc đĩa ở trên nhỏ, đĩa nằm dưới to). Một phân bố các đĩa
được đặt trên các cọc ở vị trí bất kì thỏa mãn nguyên tắc “trên nhỏ, dưới to”
được gọi là một cấu hìnhhợp lệ.
Xuất hiện các bài toán sau đây:
1) Tìm đường đi tối ưu từ một cấu hình hợp lệ tới một cấu hình hoàn hảo (tất
cả các đĩa trên nhỏ dưới to cùng nằm trên một cọc).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

25

2) Làm thế nào để xác định được cấu hình hợp lệ đang xét nằm trên đường đi
tối ưu (từ một cấu hình hợp lệ hoàn hảo trên cọc nguồn đến một cấu hình
hoàn hảo trên cọc đích thông qua cấu hình hợp lệ).
3) Tìm đường đi tối ưu từ một cấu hình hợp lệ này sang một cấu hình hợp lệ
khác.
Bài toán này đã được nhiều tác giả quan tâm (xem [16], Chương 3).
1.2.3 Bài toán Tháp Hà Nộixoay vòng
Atkinson [9] là người đầu tiên nghiên
cứu bài toán Tháp Hà Nội xoay vòng
(Cyclic Tower of Hanoi): Ba chiếc cọc
được đặt trên ba đỉnh của một tam
giác đều và các đĩa bị hạn chế chuyển
động chỉ theo một hướng (theo chiều
quay của kim đồng hồ hoặc ngược
lại).
Sau đó khá nhiều các tác giả khác đã nghiên cứu sâu hơn bài toán này. Bài

toánTháp Hà Nội xoay vòngvà các mở rộng của nó sẽ được trình bày kĩ trong
Chương 2.
1.2.4Bài toán Tháp Hà Nội với các đĩa màu (ColourTowers of Hanoi)
Một biến thể khác của trò chơi Tháp Hà
Nội là trò chơi với các đĩa màu, lần đầu
tiên được Lucas đề xuất năm 1889 (xem
[16], trang 212): Xét trò chơi với 5 cọc
và bốn nhóm đĩa màu khác nhau. Mỗi
nhóm có bốn đĩa kích thước khác nhau.
Hình bên: Trạng thái ban đầu của trò

Hình vẽ trong bài báo của E.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

/>

×