Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

82 1.3K 4
Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

Đ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

Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC SƢ PHẠM NGUYỄN THỊ HỒNG PHƢỢNG THUẬT TOÁN FRAME STEWART GIẢI BÀI TOÁN THÁP NỘI TỔNG QUÁT LUẬN VĂN THẠC SĨ TOÁN HỌC THÁI NGUYÊN - 2010 Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC SƢ PHẠM NGUYỄN THỊ HỒNG PHƢỢNG THUẬT TOÁN FRAME STEWART GIẢI BÀI TOÁN THÁP NỘI TỔNG QUÁT LUẬN VĂN THẠC SĨ TOÁN HỌC Chuyên ngành: Giải tích Mã số: 60 46 01 Người hướng dẫn khoa học: PGS. TS. TẠ DUY PHƢỢNG THÁI NGUYÊN - 2010 Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1 MỤC LỤC Trang MỤC LỤC LỜI NÓI ĐẦU . 2 Chƣơng 1 . 4 TỔNG QUAN VỀ TRÒ CHƠI THÁP NỘI 4 §1. Lịch sử trò chơi Tháp Nội 4 §2. Sơ lược về bài toán tháp Nội tổng quát, các bài toán cải biên và các vấn đề toán học liên quan 15 Chƣơng 2: TRÒ CHƠI THÁP NỘI . 21 §1 Trò chơi tháp Nộithuật giải đệ qui 21 §2 Giải bài toán tháp Nội bằng biểu diễn trong hệ đếm cơ số 2 26 §3 Đồ thị Nội 34 §4 Giải bài toán Tháp Nội trên máy tính . 38 Chƣơng 3: BÀI TOÁN THÁP NỘI VỚI BỐN CỌC (Trò chơi Reve-The Reve’s Puzzle) . 39 §1 Trò chơi Tháp Nội với bốn cọc 39 §2 Tính số bước chuyển tối ưu trong trò chơi Tháp Nội với bốn cọc 43 Chƣơng 4: BÀI TOÁN THÁP NỘI TỔNG QUÁT . 52 §1 Tính số ()pSn trong thuật toán Frame-Stewart cho trò chơi Tháp Nội tổng quát . 52 §2 Đánh giá ()pSn . 68 §3 Sự tương đương của một số thuật toán giải bài toán Tháp Nội tổng quát 70 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO . 79 Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2 LỜI NÓI ĐẦU Trò chơi (Bài toán) Tháp Nội được phổ biến rộng rãi ở Paris năm 1883 bởi nhà toán học Edouard Lucas, 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 ở Việt Nam. Mặc dù trò chơi Tháp Nội có mặt trên khá nhiều trang WEB và giáo trình tiế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 Nội trên các tạp chí là rất ít và còn rất sơ lược (xem [1]-[6]), hình như chưa có bài nghiên cứu tiếng Việt nào về bài toán Tháp Nội, trong khi đó chỉ tính riêng số bài báo nghiên cứu về bài toán Tháp Nội trong lĩnh vực Toán-Tin học đã có đến hơn 450 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 (trong [5] thống kê số lượng bài báo khoa học viết về Tháp Nội là 464 bài). Đó là chưa kể đến những bài viết về sử dụng bài toán Tháp Nội trong khoa học giáo dục và y học. Trò chơi Tháp 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. Một hội thảo khoa học quốc tế [21] với tên gọi Workshop on the Tower of Hanoi and Related Problems đã được tổ chức năm 2005. Bài toán Tháp Nội không chỉ thú vị ở chỗ nó mang tên Nội, thủ đô của Việt nam, mà nó hấp dẫn các nhà Toán-Tin học bởi nó liên quan đến nhiều vấ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 Nội gợi ý cho nhiều nghiên cứu trong khoa học máy tính và toán học. Luận văn Thuật toán Frame-Stewart giải bài toán Tháp Nội tổng quát có mục đích trình bày tổng quan về một thuật toán quan trọng giải bài toán Tháp Nội với số cọc bất kì. Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 Luận văn gồm phần mở đầu, bốn Chương và phần tài liệu tham khảo. Chương 1. Tổng quan về trò chơi Tháp Nội. Chương 2. Bài toán Tháp Nội cổ điển. Chương 3. Bài toán Tháp Nội với bốn cọc. Chương 4. Bài toán Tháp Nội tổng quát. Chương 1 giới thiệu tổng quan về Trò chơi Tháp Nội. Lời giải Bài toán Tháp Nội cho ba cọc được trình bày trong Chương 2. Sau hơn 100 năm, trò chơi Tháp Nội đã có những cải biên và tổng quát hoá (trò chơi Tháp Nội xoay vòng, trò chơi Tháp Nội song song, trò chơi Tháp Nội với nhiều cọc, .). 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. Trong luận văn này, chúng tôi tập trung trình bày trong Chương 3 và Chương 4 lời giải của bài toán Tháp Nội, đó là Thuật toán đệ qui dạng Frame-Stewart giải bài toán Tháp Nội tổng quát. 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ạ Duy Phượng. Em xin bầy tỏ lòng biết ơn sâu sắc nhất đối với Thầy và xin được cảm ơn Thầy đã cung cấp nhiều tài liệu đồng thời cho phép sử dụng Bản thảo cuốn sách của Thầy về Tháp Nội. Em xin cảm ơn các Thầy Cô của Đại học Thái Nguyên và Viện Toán học đã tận tình giảng dạy em trong suốt quá trình học cao học. Tôi xin cảm ơn khoa Toán trường ĐHSP Thái Nguyên, khoa Sau Đại học trường ĐHSP Thái Nguyên đã 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 của mình. Xin 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 làm luận văn. Thái Nguyên, 19.8.2010 Nguyễn Thị Hồng Phượng Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 Chƣơng 1 TỔNG QUAN VỀ TRÒ CHƠI THÁP NỘI §1. Lịch sử trò chơi Tháp Nội Bìa cuốn sách của E. Lucas xuất bản tại Paris năm 1895, trong đó có 4 trang (179-183) viết về trò chơi Tháp Nội. 1.1 Truyền thuyết Theo một truyền thuyết, liên tục suốt ngày đêm, các nhà tu hành của tòa tháp Brahma trong thành Bernares (Ấn Độ) phải chuyển 64 đĩa vàng từ một cọc này sang cọc khác của tòa tháp. Các đĩa có kích thước khác nhau và lúc Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 đầu được đặt trên một trong ba cọc của tòa tháp theo thứ tự đĩa nhỏ ở trên, đĩa lớn ở dưới. Đĩa trên cùng được chuyển sang cọc khác, mỗi lần chỉ di chuyển một đĩa. Do tính dễ vỡ, đĩa lớn không được đặt lên trên đĩa nhỏ. Trong quá trình di chuyển, có thể đặt đĩa lên một cọc trung gian. Khi công việc hoàn thành, tòa tháp sẽ đổ, và lúc đó cũng là thời điểm kết thúc của vũ trụ với một tiếng nổ khủng khiếp! 1.2 Lịch sử Dựa trên truyền thuyết về tháp Brahma, và có thể, theo truyền thuyết về sự tồn tại những ngôi tháp cổ đồng dạng với tháp Brahma trong vùng đất phật giáo linh thiêng gần Nội (Bắc Ninh?, Vĩnh Phúc?), Việt Nam, nhà toán học người Pháp Edouard Lucas (quê ở Amiens) đã phổ biến Trò chơi Tháp Nội ở Paris năm 1883 với tên giả là giáo sư N. Claus. Năm 1884, Parvile trong [14] đã trình bày lời giải bài toán Tháp Nội và tiết lộ giáo sư N. Claus chính là tên giả của nhà nghiên cứu lí thuyết số nổi tiếng Eduard Lucas. Trên bìa của hộp đựng trò chơi sản xuất năm 1883 và trong cuốn sách L’Arithméique Amusante, xuất bản tại Paris năm 1895 (sau khi Ông mất), chính Edouard Lucas đã viết ([12], trang 179): “…la Tour d’Hanoi, véritable casse-tête annamite…” (Tháp Nội, một trò chơi trí tuệ của người Annam), nhưng tại sao ông lại gọi trò chơi này là trò chơi Tháp Nội thì chưa có câu trả lời thật rõ ràng. Rất có thể (theo Edouard Lucas), trò chơi Tháp 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 (Bắc Kì, Việt Nam)”. Tuy nhiên, cho tới nay, các nhà lịch sử có lẽ vẫn chưa tìm thấy các đĩa sứ của trò chơi tháp Nội tại châu Á. Những hộp đựng trò chơi cũ nhất vẫn là hộp đựng các đĩa sản xuất tại Pháp năm 1883. Theo David G. Pool [15], trích dẫn theo P. J. Hilton [10], sự tồn tại những ngôi tháp gần Nội (Việt Nam) là lí do để E. Lucas đã đặt tên cho trò chơi của mình là Trò chơi Tháp Nội. Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 Có một giả định rằng: “nhà toán học đến thăm Việt Nam, ngắm cảnh Hồ Gươm và bị quyến rũ bởi vẻ đẹp của Tháp Rùa nên đã đặt tên là Bài toán Tháp Nội”. Nếu có tư liệu khẳng định nhà toán học nổi tiếng E. Lucas đã đến Nội từ trước năm 1883 (Pháp chiếm Nội năm 1882) thì thật là thú vị. Tuy nhiên, lúc đó E. Lucas đã ra khỏi quân đội và đang dạy học, vì vậy ít có khả năng ông đã đến Nội. Cũng có lẽ Cột cờ Nội đã gợi ý cho E. Lucas đặt tên trò chơi của mình là Tháp Nội: “The Flag Tower of Hanoi may have served as the inspiration for the name”. Cột cờ Nội có đáy gồm ba khối vuông xây chồng lên nhau. Trò chơi Tháp Nội đơn giản nhất cũng gồm ba đĩa tròn xếp chồng lên nhau. Cột cờ Nội xây năm 1805-1812, Tháp Rùa xây năm 1886, trò chơi Tháp Nội xuất hiện ở Paris 1883. Có thể Pháp chiếm Nội là đề tài thời sự ở Paris vào những năm 1882-1883, và điều này gợi ý E. Lucas đặt tên cho trò chơi của mình là Tháp Nội? Trò chơi Tháp Nội vừa được phổ biến đã được đón nhận rộng rãi vì sự đơn giản và hấp dẫn của nó. Mặc dù chưa có câu trả lời rõ ràng về lí do E. Lucas đặt tên cho trò chơi của mình là trò chơi Tháp Nội, người Việt Nam vẫn có thể tự hào và cần quan tâm về trò chơi này. Dưới đây là bìa của hộp đựng trò chơi Tháp Nội 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. Đây là những tư liệu quí về lịch sử trò chơi. Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 Bìa của hộp đựng trò chơi Tháp Nội đƣợc bán lần đầu tại Paris năm 1883. Trên tờ bìa này có một hình tháp 10 tầng, cây tre, người Annam (Việt Nam) và ghi rõ: 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-Sian (Tháp Nội, Trò chơi trí tuệ của người Annam, được giới thiệu bởi giáo sư N. Claus (ở Siam), trường trung học Li-Sou-Sian). Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 [...]... Sơ lƣợc về bài toán tháp Nội tổng quát, các bài toán cải biên và các vấn đề toán học liên quan Trò chơi Tháp Nội ngày càng được các nhà toán học quan tâm, Với sự phát triển của tin học, bài toán tháp Nội lại càng thu hút sự chú ý của các nhà toán- tin học Nó trở thành ví dụ điển hình về phương pháp giải đệ qui và lập trình căn bản 2.1 Bài toán Tháp Nội tổng quát Bài toán Tháp Nội với ba... 2.2.2 Bài toán Tháp Nội song song (parallel moving) Có thể chuyển các đĩa từ cọc này sang cọc khác trong cùng một thời gian 2.2.2 Bài toán Tháp Nội hỗn hợp Kết hợp giữa bài toán Tháp Nội quay vòng với chuyển động song song Các cải biên của bài toán Tháp Nội đặt ra những bài toán mới thú vị, có thể nói khó không kém bài toán ban đầu 2.3 Một số vấn đề toán học liên quan đến bài toán Tháp Nội. .. tối ưu đòi hỏi và có bao nhiêu lời giải tối ưu cho bài toán, thí dụ, với 1000 đĩa và 10 cọc Rất nhiều nghiên cứu bài toán tháp Nội với tên gọi Đồ thị Nội 2.3.1 Thuật toán giải trò chơi Tháp Nội Trò chơi Tháp Nội và các cải biên của nó đặt ra những câu hỏi khá thú vị: Tìm thuật toán tối ưu giải quyết trò chơi, đánh giá độ phức tạp của thuật toán, … Một thuật toán, có lẽ là quan trọng nhất, được... đã biết cách giải) Như vậy, lời giải bài toán rất đơn giản: giải bài toán n đĩa được đưa về bài toán n  1 đĩa và bài toán một đĩa Thuật giải đệ qui (có quan hệ mật thiết với phép qui nạp và công thức truy hồi trong toán học) được áp dụng để giải rất nhiều bài toán Thí dụ, bài toán Josephus; Bài toán tính số Fibonacci;… Kí hiệu L ( n) là số lần chuyển đĩa tối ưu trong bài toán tháp Nội với n đĩa... 1941 Các thuật toán của StewartFrame 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 [11]) Vì vậy người ta thường gọi thuật toán của hai ông hoặc các thuật toán cải biên tương tự là thuật toán Frame- Stewart Thuật toán Frame- Stewart cùng các thuật toán tương đương sẽ được trình bày trong Chương 3 và Chương 4 Thuật toán Stewart. .. TRÒ CHƠI THÁP NỘI §1 Trò chơi tháp Nộithuật giải đệ qui Luật chơi của trò chơi Tháp Nội đã được qui định rõ trong tờ hướng dẫn thứ hai khi Trò chơi Tháp Nội được phổ biến lần đầu tại Paris năm 1883 (xem Chương 1) Trong cuốn sách của mình, E Lucas mô tả trò chơi gồm 8 đĩa ([12], trang 180-181) Dưới đây trình bày lời giải bài toán Tháp Nội với ba cọc và số đĩa n bất kì Bài toán 1 Có... cải biên Bài toán Tháp Nội có khá nhiều cải biên rất thú vị Mỗi qui tắc chơi mới lại làm trò chơi Tháp Nội thêm phong phú và lại xuất hiện thêm nhiều vấn đề toán học mới 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 Nội Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 19 2.2.1 Bài toán Tháp Nội với vị trí bất kì Bài toán Tháp Nội với... Nội Nhiều bài toán của toán học và tin học thú vị xuất hiện trong trò chơi Tháp Nội Dưới đây liệt kê một vài vấn đề chính 2.3.1 Đồ thị Nội Các nhà toán học đã phát hiện ra rằng Tháp Nội có cùng bản chất với bài toán tìm đường Hamilton (Hamilton Path) trên một hình giả phương cấp n ( n -Hypercube), một bài toán cũng rất nổi tiếng Nhà toán học D.G Poole đã phát hiện ra Lược đồ Nội -một tam... ba cọc là Bài toán Tháp Nội với bốn (hoặc nhiều) cọc Theo một số tài liệu, chính tác giả của bài toán Tháp 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 Năm 19021903 Henry Ernest Dudeney đã viết về bài toán Tháp Nội với bốn cọc trong hai bài báo Trong hai trang đầu tiên của cuốn sách nổi tiếng của Ông The Canterbury Puzzles (xem [7]) ông đã viết về bài toán này... thuyết Frame- Stewart (chưa được chứng minh) nói rằng thuật toán Frame- Stewart luôn cho lời giải tối ưu Tính tối ưu của thuật toán FrameStewart đã được kiểm tra trên máy tính cho số đĩa nhỏ hơn 30 Theo Donald Knuth, nhà tin học nổi tiếng thế giới đã gọi giả thuyết này là “giả thuyết Frame và Ông đã viết: “Tôi nghi ngờ rằng ai đó đã giải được giả thuyết này Nó thật sự khó” 2.2 Bài toán Tháp Nội cải . Tổng quan về trò chơi Tháp Hà Nội. Chương 2. Bài toán Tháp Hà Nội cổ điển. Chương 3. Bài toán Tháp Hà Nội với bốn cọc. Chương 4. Bài toán Tháp Hà Nội tổng. Chương 4 lời giải của bài toán Tháp Hà Nội, đó là Thuật toán đệ qui dạng Frame- Stewart giải bài toán Tháp Hà Nội tổng quát. Luận văn được hoàn thành dưới

Ngày đăng: 12/11/2012, 16:57

Hình ảnh liên quan

Trên tờ bìa này có một hình tháp 10 tầng, cây tre, người Annam (Việt Nam) và ghi rõ: La Tour d’Hanoϊ, Veritable casse-téte Annamite Jeu, rapporté  du Tonkin par le professeur N - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

r.

ên tờ bìa này có một hình tháp 10 tầng, cây tre, người Annam (Việt Nam) và ghi rõ: La Tour d’Hanoϊ, Veritable casse-téte Annamite Jeu, rapporté du Tonkin par le professeur N Xem tại trang 9 của tài liệu.
Bài toán với 1 đĩa: chỉ cầ n1 lần chuyển (Hình 1) - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

i.

toán với 1 đĩa: chỉ cầ n1 lần chuyển (Hình 1) Xem tại trang 23 của tài liệu.
Bài toán với 2 đĩa: cầ n3 lần chuyển (Hình 2) Lần 1: Chuyển đĩa số 1 từ cọc A  sang cọc B  - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

i.

toán với 2 đĩa: cầ n3 lần chuyển (Hình 2) Lần 1: Chuyển đĩa số 1 từ cọc A sang cọc B Xem tại trang 24 của tài liệu.
Bài toán với 4 đĩa: cần 15 lần chuyển (Hình 4) - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

i.

toán với 4 đĩa: cần 15 lần chuyển (Hình 4) Xem tại trang 25 của tài liệu.
Khi số đĩa được thêm vào, đồ thị biểu diễn trò chơi sẽ tạo thành một hình Fractal,  thảm  Sierpinski - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

hi.

số đĩa được thêm vào, đồ thị biểu diễn trò chơi sẽ tạo thành một hình Fractal, thảm Sierpinski Xem tại trang 38 của tài liệu.
số hoàn hảo và mọi số cọc p (xem Bảng dưới đây). - Thuật toán frame – stewart giải bài toán tháp hà nội tổng quát

s.

ố hoàn hảo và mọi số cọc p (xem Bảng dưới đây) Xem tại trang 65 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan