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

Một số bài toán trò chơi có nội dung toán học

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 (2.84 MB, 78 trang )


1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

* * *


ĐOÀN VĂN LỚI




MỘT SỐ BÀI TOÁN TRÕ CHƠI
CÓ NỘI DUNG TOÁN HỌC



LUẬN VĂN THẠC SỸ KHOA HỌC









Hà Nội , Năm 2012



2

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

* * *


ĐOÀN VĂN LỚI




MỘT SỐ BÀI TOÁN TRÕ CHƠI
CÓ NỘI DUNG TOÁN HỌC


Chuyên ngành : Phương pháp toán sơ cấp
Mã số : 60 46 40

LUẬN VĂN THẠC SỸ KHOA HỌC

Người hướng dẫn khoa học : PGS.TS Tạ Duy Phượng





Hà Nội , Năm 2012



3
MỤC LỤC


Trang
Mục lục……………………………………………………………
1
Lời nói đầu………………………………………………………….
2
Chƣơng 1 Giải một số bài toán trò chơi nhờ công cụ hệ đếm cơ
số 2…… ……

4
§1 Hệ đếm cơ số 2 …………………… …
4
§2 Máy đọc ý nghĩ
6
§3 Trò chơi Nim
7
§4 Giải bài toán Tháp Hà Nội nhờ hệ đếm cơ số 2
21
Chƣơng 2 Giải một số bài toán trò chơi cơ học nhờ công cụ mã
Gray cơ số 2……

31
§1 Mã Gray cơ số 2 ……… ………………
31
§2 Mã Gray, trò chơi Tháp Hà Nội và trò chơi Hamilton trên đa
diện đều

41
§3 Baguenaudier hay trò chơi tháo vòng Trung Hoa… ……………
48
Chƣơng 3 Một số ví dụ toán trò chơi
66
Kết luận……………………………………………………………
74
Tài liệu tham khảo…………………………………………………
75


4
LỜI NÓI ĐẦU
Trò chơi và lí thuyết trò chơi có lịch sử phát triển lâu đời. Nó được nhiều nhà
toán học nổi tiếng (L. Euler, U. Hamilton, E. Lucas, ) nghiên cứu và làm phong
phú nội dung. Nó cũng được nhiều chuyên gia về trò chơi toán học (E. Lucas, H.
E. Dudeney, W. W. Rouse Ball, M. Gardner, ) phổ biến rộng rãi. Nhiều lĩnh
vực của toán học (Lí thuyết tập hợp, lí thuyết đồ thị, toán tổ hợp, hệ đếm, tối
ưu, ) được phát triển gắn liền với lí thuyết trò chơi, đồng thời toán học cũng là
những công cụ hữu hiệu để giải quyết nhiều bài toán trò chơi. Với sự phát triển
của công nghệ thông tin, các bài toán trò chơi thu hút sự quan tâm đặc biệt của
các chuyên gia toán-tin học, nhiều bài toán trò chơi được giải nhờ công cụ máy
tính, đồng thời các bài toán trò chơi cũng là những thí dụ minh họa tốt trong xây
dựng thuật toán và kĩ thuật lập trình. Vào những năm 50 của thế kỉ trước, với
đóng góp của các nhà toán học lớn (Von Neuman, J. F. Nash, R. Isaacs, L. S.
Pontriagin, N. Krasovskii, ), lí thuyết trò chơi đã phát triển thành một ngành
toán học độc lập và có nhiều ứng dụng trong thực tế (kinh tế, quân sự, công
nghệ, ). Nhiều nhà toán học đã được giải thưởng Nobel vì những đóng góp vào
lí thuyết trò chơi và ứng dụng lí thuyết này trong kinh tế.
Có khá nhiều sách tiếng nước ngoài (tiếng Anh, tiếng Nga, tiếng Pháp, ) viết về

các trò chơi có nội dung toán học. Tuy nhiên, các sách về toán trò chơi ở Việt
Nam nói chung còn rất ít, đặc biệt là những tài liệu đi sâu tìm hiểu nội dung toán
học của các bài toán trò chơi.
Luận văn Một số bài toán trò chơi có nội dung toán học có mục đích trình bày
một số bài toán trò chơi có lời giải sử dụng các công cụ toán học, chủ yếu là sử
dụng hệ đếm cơ số 2 và mã Gray cơ số 2.
Luận văn gồm Phần mở đầu, ba Chương chính và Tài liệu tham khảo.
Chương 1 trình bày lời giải một số bài toán trò chơi nhờ công cụ hệ đếm cơ số 2.
Chương 2 trình bày lời giải một số bài toán trò chơi nhờ mã Gray cơ số 2.

5
Chương 3 tập hợp một số ví dụ trong các dạng toán trò chơi.
Lý thuyết trò chơi có cơ sở toán học sâu sắc. Nó liên quan đến nhiều kiến thức
của các lí thuyết toán học như lí thuyết đồ thị (đồ thị liên thông, đường đi đóng
trên đồ thị, ), mô hình cây, không gian trạng thái, lí thuyết tối ưu, độ phức tạp
tính toán, Chúng tôi không có tham vọng trình bày đầy đủ các kiến thức sâu
sắc ấy của lí thuyết trò chơi hay các lí thuyết toán học liên quan ngay cả trong
các trò chơi xét trong khuôn khổ luận văn này, mà chúng tối chỉ cố gắng mô tả
lịch sử trò chơi và trình bày lời giải chúng nhờ công cụ hệ đếm cơ số 2.
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, Viện Toán học. 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 các cuốn sách của Thầy về toán Trò chơi.
Tôi xin được cảm ơn khoa Toán, khoa Sau Đại học trường Đại học Khoa học Tự
nhiên, Đại học Quốc gia Hà Nội đã 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.

Hà Nội, 31.12.2011





Đoàn Văn Lới

6
Chƣơng 1
GIẢI MỘT SỐ BÀI TOÁN TRÕ CHƠI
NHỜ CÔNG CỤ HỆ ĐẾM CƠ SỐ 2
§1 Hệ đếm cơ số 2
Cho
p
là một số tự nhiên bất kì. Theo thuật toán chia Euclid, mọi số tự nhiên
a

đều có thể biểu diễn duy nhất dưới dạng
10
1 1 0

kk
kk
a a p a p a p a p


    

với các hệ số nguyên
0 1,
i

ap  

0, , ;ik

0.
k
a 

Như vậy, nếu chọn
p
làm cơ số của hệ đếm, thì mọi số tự nhiên
a
có thể biểu
diễn dưới dạng
 
1 1 0kk
p
a a a a

trong hệ đếm cơ số
p
.
Nếu
10p 
thì ta có hệ đếm cơ số 10. Do thói quen, lịch sử, truyền thống và
thuận tiện, hệ đếm cơ số 10 được sử dụng rộng rãi trong cuộc sống hiện đại.
Hệ đếm được định nghĩa như trên là hệ đếm theo vị trí, tức là mỗi hệ số
i
a
(được

gọi là các chữ số của
a
) ở vị trí khác nhau có giá trị khác nhau (hàng “đơn vị”,
“hàng chục”, “hàng trăm”, ).
Bằng cách chia cho 2, một số tự nhiên bất kì đều có thể biểu diễn dưới dạng
tổng các lũy thừa của 2 với các hệ số bằng 1 hoặc bằng 0. Thí dụ,
10 9 8 7 6 4 3 1 0
2011 2 2 2 2 2 2 2 2 2        
.
Như vậy, nếu chọn 2 làm cơ số trong hệ đếm cơ số 2, thì mọi số tự nhiên đều có
một biểu diễn duy nhất trong hệ đếm cơ số 2. Các chữ số của nó (chỉ có thể bằng
0 hoặc bằng 1) chính là các hệ số trong phân tích số đã cho dưới dạng lũy thừa
của 2. Thí dụ, ta có,
 
10 2
2
2011 = 11111011011 =11111011011
.
Hệ đếm cơ số 2 được sử dụng từ thời cổ đại, thí dụ, Kinh Dịch (Trung Hoa. Hơn
2000 năm trước công nguyên) được xây dựng dựa trên hai gạch (hai kí hiệu),

7
một gạch ngắn và một gạch dài, tương ứng với chữ số 0 và chữ số 1 trong hệ
đếm cơ số 2. Dưới đây là quan hệ giữa Kinh Dịch và hệ đếm cơ số 2 (trong
cuốn sách của E. Lucas, xem [13], trang 174)

Mặc dầu vậy, chỉ với nhà toán học vĩ đại người Đức Leibnitz, hệ đếm cơ số 2
mới được xây dựng một cách hoàn chỉnh. Leibnitz nhìn thấy trong hệ đếm cơ số
2 biểu hiện của chân lí siêu hình sâu sắc. Số 0 đối với Leibnitz là biểu tượng của
sự không tồn tại, trống rỗng, còn số 1 là biểu tượng của tồn tại hay vật chất. Ông

coi số 0 cũng quan trọng và cần thiết như số 1 đối với Đấng tạo hóa, bởi vì vũ
trụ được tạo thành từ vật chất thuần túy không thể tách rời khỏi khoảng không
trống rỗng, khoảng không này không bị nhiễu loạn bởi vũ trụ và được biểu
tượng bởi số 0. Theo Leibnitz, mọi thứ trong thế giới được hình thành từ hai cực
đối lập: tồn tại và không tồn tại, cũng như mọi số được biểu diễn trong cơ số 2
chỉ bởi các số 0 và 1.
Từ thời Leibnitz cho mãi tới gần đây, người ta vẫn thường coi hệ đếm cơ số 2
chỉ là một thứ gì đó kì lạ và hấp dẫn, nhưng không có nhiều ý nghĩa thực tiễn.
Chỉ khi xuất hiện máy tính điện tử, vai trò của hệ đếm cơ số 2 mới được xác lập.
Rất nhiều bộ phận của máy tính điện tử làm việc theo nguyên lí “có-không” hay

8
“0-1”: Dòng điện hoặc là chạy theo dây dẫn, hoặc không; công tắc hoặc tắt, hoặc
bật; cực của nam châm hoặc là bắc, hoặc là nam; một ô nhớ chỉ có thể ở một
trong hai trạng thái chứa thông tin hoặc rỗng (không chứa thông tin). Điều này
cho phép xây dựng các máy tính có khả năng xử lí các dữ liệu được mã hóa
trong hệ đếm cơ số 2 với tốc độ cực nhanh và độ chính xác tuyệt đối.
Nhiều trò chơi có thể giải nhờ công cụ hệ đếm cơ số 2: trò chơi với “máy đọc ý
nghĩ”, trò chơi Nim, trò chơi Tháp Hà Nội,
Trong các bài, mục tiếp theo, ta sẽ mô tả các trò chơi này và giải chúng bằng
công cụ hệ đếm cơ số 2.
§2 Máy đọc ý nghĩ
Xét trò chơi được trang bị một “máy đọc ý nghĩ”, tức là ta có một (một số) bảng
lập sẵn, đóng vai trò như các máy phiên dịch các số trong hệ đếm cơ số 10 sang
hệ đếm cơ số 2. Nhờ đó mà ta có thể “đọc” được người đối diện đã nghĩ số nào.
Thí dụ 2.1 Giả sử bạn chọn một số bất kì trong khoảng từ 1 đến 1000. Tôi sẽ hỏi
bạn 10 câu hỏi, bạn có quyền trả lời “đúng” hoặc “sai”. Dựa trên 10 câu trả lời
của bạn, tôi sẽ khẳng định được bạn đã chọn số nào. Tại sao?
Giải Các câu hỏi lần lượt như sau.
Câu thứ nhất: Lấy số đã chọn chia cho 2. Hỏi phép chia có dư hay không?

Nếu bạn trả lời là “không” thì tôi viết số 0, còn nếu câu trả lời là “có” thì tôi viết
chữ số 1.
Câu thứ hai: Lấy thương của phép chia vừa rồi chia cho 2. Hỏi phép chia có dư
hay không?
Nếu câu trả lời là “không” thì tôi viết số 0, còn nếu câu trả lời là “có” thì tôi viết
chữ số 1 vào phía trước (về bên trái) số đã viết (chữ số 0 hoặc chữ số 1) của câu
trả lời thứ nhất.
Các câu hỏi tiếp theo cũng tương tự: Lấy thương của phép chia vừa xong chia
cho 2. Hỏi phép chia có dư không?

9
Nếu câu trả lời là “không” thì viết chữ số 0, còn nếu câu trả lời là “có” thì viết
chữ số 1 trước số đã viết.
Sau 10 lần trả lời, ta nhận được 10 chữ số chỉ gồm các chữ số 0 và 1, chữ số đầu
tiên bao giờ cũng là chữ số 1. Như vậy, hệ thống 10 câu hỏi trên chính là cách
chuyển biểu diễn của một số đã cho (dưới 1000) từ hệ đếm cơ số 10 sang hệ
đếm cơ số 2. Hơn nữa, 10 câu hỏi là đủ, bởi vì mọi số từ 0 đến 1000 đều có thể
viết được dưới dạng một số trong hệ đếm cơ số 2 với không quá 10 chữ số
(
10
2
2 1024 10000000000
). Vì số ban đầu chưa biết nên bây giờ chỉ cần
chuyển số nhận được trong hệ đếm cơ số 2 sang hệ đếm cơ số 10, ta khôi phục
được số ban đầu.
Thí dụ, sau 10 lần trả lời, ta nhận được số 1010011010. Đổi số này từ hệ đếm cơ
số 2 sang hệ đếm cơ số 10 theo định nghĩa ta được
 
2
1010011010 667

.
Vậy số ban đầu bạn chọn là 667. Kiểm tra lại:
667=333

2+1=(166

2+1)

2+1=((83

2)

2+1)

2+1
=(((41

2+1)

2)

2+1)

2+1=((((20

2+1)

2+1)

2)


2+1)

2+1
=(((((10

2)

2+1)

2+1)

2)

2+1)

2+1
=(((((5

2)

2+1)

2+1)

2)

2+1)

2+1

=((((((2

2+1)

2)

2+1)

2+1)

2)

2+1)

2+1
=(((((((1

2)

2+1)

2)

2+1)

2+1)

2)

2+1)


2+1
=2
9
+2
7
+2
4
+2
3
+2+1=(1010011010)
2
.
§3 Trò chơi Nim
3.1 Giới thiệu trò chơi Nim
Người Trung Quốc thời xưa có trò chơi gọi là trò chơi Nim. Nội dung của trò
chơi này như sau: Có ba đống sỏi, hai người chơi lần lượt lấy một số sỏi bất kì
(khác 0) từ một trong ba đống đó (và mỗi lần chơi chỉ lấy sỏi từ một đống). Ai là
người nhặt viên sỏi cuối cùng thì người đó thắng. Có hay không một chiến lược
chơi để người đi trước thắng?

10
Giải Các viên sỏi cũng có thể được thay thế bởi các đồ vật khác, thí dụ, trẻ em
thường dùng các que diêm hoặc các mảnh bìa,
vì vậy trò chơi này cũng được gọi là trò chơi
ăn diêm. Người lớn thường dùng các đồng tiền
xu đặt lên trên bàn các quầy bar. Dạng phổ
biến nhất của trò chơi Nim là trò chơi gồm 12
đồng xu đặt thành ba hàng với 3, 4, 5 đồng xu


Hình 3.1
trong mỗi hàng (Hình 3.1).
Qui tắc chơi của trò chơi Nim rất đơn giản: Hai người chơi lần lượt nhặt các
đồng xu (ít nhất một đồng) chỉ từ một hàng nào đó. Người nào nhặt đồng xu
cuối cùng thì người đó thắng. Cũng có thể nêu qui tắc ngược lại: ai phải nhặt
đồng xu cuối cùng thì người đó thua.
Ta có một số nhận xét đơn giản nhưng rất cơ bản sau đây.
Nhận xét 1 Nếu sau một số lượt đi, chỉ còn lại hai hàng với số đồng xu bằng
nhau và đến lượt người chơi thứ hai thì người chơi thứ nhất thắng (trong trò
chơi với qui tắc người nhặt đồng xu cuối cùng là người thắng).
Chứng minh Vì số đồng xu trong hai hàng như nhau nên đến lượt người chơi
thứ hai, anh ta phải lấy một số đồng xu từ một hàng, do đó số đồng xu trong hai
hàng khác nhau. Nếu người thứ hai nhặt toàn bộ xu ở một hàng thì người thứ
nhất cũng nhặt toàn bộ xu ở hàng còn lại và thắng. Nếu sau khi người thứ hai đi
mà vẫn còn hai hàng thì người thứ nhất chọn chiến lược: nhặt số đồng xu bằng
chính số đồng xu mà người chơi thứ hai đã nhặt, nhưng ở hàng khác. Số đồng xu
ở hai hàng lại bằng nhau. Cứ tiếp tục như vậy, đến khi còn lại mỗi hàng đúng
một đồng xu. Người thứ hai buộc phải nhặt một đồng xu ở một hàng, người thứ
nhất nhặt đồng xu cuối cùng ở hàng còn lại và thắng.

11
Hệ quả 1 Nếu sau một số bước, số đồng xu trong ba hàng chỉ còn lại là
 
,,abc

với
ab
và đến lượt người thứ hai thì người thứ hai thắng (theo qui tắc kết
thúc trò chơi ai là người lấy viên bi cuối cùng người đó thắng).
Chứng minh Người thứ hai chỉ việc lấy tất cả

c
đồng xu ở hàng thứ ba, còn lại
hai hàng, mỗi hàng có số đồng xu bằng nhau. Theo nhận xét 1, đến lượt người
chơi thứ nhất (đóng vai trò người chơi thứ hai trong Nhận xét 1) và do đó người
chơi thứ hai (đóng vai trò người chơi thứ nhất trong Nhận xét 1) là người thắng.
Nhận xét 2 Sau một số lượt đi, nếu chỉ còn lại hai hàng với số đồng xu bằng
nhau và số đồng xu ở mỗi hàng lớn hơn 1, đến lượt người chơi thứ hai thì người
chơi thứ nhất thắng (trong qui tắc người nhặt đồng xu cuối cùng là người thua).
Chứng minh Trước tiên ta thấy rằng, nếu còn hai hàng với chỉ một đồng xu ở
mỗi hàng và đến lượt người chơi thứ hai thì người chơi thứ nhất thua (theo qui
tắc người nào nhặt đồng xu cuối cùng là thua).
Vì chỉ có hai hàng và số đồng xu trong hai hàng như nhau nên đến lượt người
chơi thứ hai, anh ta phải lấy một số đồng xu từ một hàng, do đó sau khi anh ta đi
xong thì số đồng xu trong hai hàng là khác nhau.
Trƣờng hợp 1 Nếu người chơi thứ hai nhặt toàn bộ xu ở một hàng thì chỉ còn
lại một hàng có nhiều hơn 1 đồng xu. Đến lượt mình, người chơi thứ nhất nhặt
tất cả các xu, chỉ để lại một đồng. Người chơi thứ hai buộc phải nhặt đồng xu
cuối cùng và thua.
Trƣờng hợp 2 Nếu sau khi người chơi thứ hai đi mà vẫn còn hai hàng và số
đồng xu trong một hàng bằng 1 (tức là người chơi thứ hai đã nhặt toàn bộ số
đồng xu từ một hàng, chỉ để lại một đồng xu trong hàng đó) thì người chơi thứ
nhất nhặt toàn bộ số đồng xu của hàng kia. Như vậy, chỉ còn lại một đồng xu
cuối cùng. Người chơi thứ hai buộc phải nhặt đồng xu cuối cùng và thua.
Trƣờng hợp 3 Nếu sau khi người chơi thứ hai đi mà vẫn còn hai hàng và số
đồng xu trong cả hai hàng lớn hơn 1 thì người chơi thứ nhất nhặt số đồng xu

12
bằng chính số đồng xu mà người chơi thứ hai đã nhặt, nhưng ở hàng khác. Như
vậy, số đồng xu ở hai hàng lại bằng nhau và lớn hơn 1. Cứ tiếp tục như vậy, đến
khi chỉ còn một hàng có số đồng xu lớn hơn 2 (trở về Trường hợp 1) hoặc còn cả

hai hàng nhưng một hàng còn lại đúng một đồng xu (trở về Trường hợp 2).
Người chơi thứ nhất áp dụng chiến lược như trong trường hợp 1 hoặc trong
trường hợp 2. Người chơi thứ hai buộc phải nhặt nốt đồng xu cuối cùng và thua.
Hệ quả 2 Nếu sau một số bước, số đồng xu trong ba hàng chỉ còn lại là
 
,,abc

với
1ab
và đến lượt người chơi thứ hai thì người chơi thứ hai thắng (theo
qui tắc kết thúc trò chơi ai là người lấy viên bi cuối cùng người đó thua).
Chứng minh Người chơi thứ hai chỉ việc lấy tất cả
c
đồng xu ở hàng thứ ba,
còn lại hai hàng, mỗi hàng có số đồng xu bằng nhau. Theo nhận xét 2, đến lượt
người chơi thứ nhất (đóng vai trò người chơi thứ hai trong Nhận xét 1) và người
chơi thứ hai (đóng vai trò người chơi thứ nhất trong Nhận xét 1) thắng.
Nhận xét 3 Giả sử sau một số bước, số đồng xu trong ba hàng chỉ còn lại tương
ứng là 1, 2, và 3. Nếu đến lượt người chơi thứ hai thì người chơi thứ nhất thắng
(theo qui tắc kết thúc trò chơi ai là người lấy viên bi cuối cùng người đó thắng).
Chứng minh Nếu người thứ hai lấy tất cả các đồng xu ở một hàng thì còn lại
hai hàng với số đồng xu không bằng nhau. Đến lượt mình, người chơi thứ nhất
đưa về thế thắng bằng cách nhặt số đồng xu ở hàng có số đồng xu lớn hơn sao
cho hai hàng có số đồng xu bằng nhau. Áp dụng Nhận xét 1, người chơi thứ nhất
thắng. Vì vậy người chơi thứ hai chỉ có thể lấy 1 đồng xu ở hàng thứ hai hoặc 1
(hoặc 2) đồng xu ở hàng thứ ba. Gọi khả năng có thể của số đồng xu tại một
bước nào đó là một trạng thái
 
;;abc
của trò chơi. Trạng thái tương ứng của

trò chơi sau bước đi của người chơi thứ hai chỉ có thể là: (1; 1; 3), khi người
chơi thứ hai lấy 1 đồng xu ở hàng thứ hai; (1; 2; 2), khi người chơi thứ hai lấy 1
đồng xu ở hàng thứ ba hoặc (1; 2; 1), khi người chơi thứ hai lấy 2 đồng xu ở
hàng thứ ba, nghĩa là luôn có ba hàng với hai hàng có số đồng xu bằng nhau.

13
Người chơi thứ nhất chỉ việc lấy tất cả số đồng xu ở một hàng và để lại hai hàng
có số đồng xu bằng nhau. Theo Nhận xét 1, người chơi thứ nhất thắng.
Nhận xét 4 Nếu trò chơi ở trạng thái phổ biến (3, 4, 5), nghĩa là ba hàng tương
ứng có 3, 4, 5 đồng xu, và đến lượt người chơi thứ nhất thì người đi trước thắng
(theo qui tắc kết thúc trò chơi ai là người lấy viên bi cuối cùng người đó thắng).
Chứng minh Trước tiên người chơi thứ nhất nhặt hai đồng xu ở hàng đầu tiên,
đưa trò chơi về trạng thái (1, 4, 5) với số đồng xu ở các hàng không bằng nhau.
Nếu người chơi thứ hai lấy tất cả số đồng xu ở một hàng thì số đồng xu còn lại ở
hai hàng không bằng nhau. Theo Nhận xét 1, người chơi thứ nhất chỉ việc đưa
về trạng thái thắng bằng cách làm cho số đồng xu ở hai hàng bằng nhau.
Vì vậy người chơi thứ hai phải giữ lại cả ba hàng (với hi vọng không thua).
Theo Nhận xét 1 và Hệ quả 1, các trạng thái sau đây là trạng thái thua của người
chơi thứ hai: (1; 1; 5); (1; 4; 1); (1; 4; 4). Vì vậy, người chơi thứ hai chỉ có thể:
1) Lấy 1 hoặc 2 đồng xu ở hàng thứ hai. Đưa trò chơi về một trong hai trạng
thái: (1; 3; 5) hoặc (1; 2; 5).
2) Lấy 2 hoặc 3 đồng xu ở hàng thứ ba. Đưa trò chơi về trạng thái (1; 4; 3) hoặc
trạng thái (1; 4; 2).
Đến lượt người chơi thứ nhất lấy số đồng xu ở các hàng tương ứng để đưa trò
chơi về trạng thái (1; 2; 3) tương ứng như sau:
1.1)
(1; 3; 5)

(1; 3; 2)
2.1)

(1;4;3)

(1; 2; 3)
1.2)
(1; 2; 5)

(1; 2; 3)
2.2)
(1;4;2)

(1; 3; 2)
Theo Nhận xét 3, người chơi thứ nhất thắng trong mọi trường hợp.
3.2 Giải bài toán trò chơi Nim bằng công cụ hệ đếm cơ số 2
Dưới đây trình bày lời giải của trò chơi Nim với ba đống sỏi và số sỏi bất kì
trong mỗi đống nhờ công cụ hệ đếm cơ số 2.

14
Giả sử số sỏi trong các đống thứ nhất, thứ hai và thứ ba tương ứng là
a
,
b

c

viên. Trong hệ đếm cơ số 2, các số này được biểu diễn dưới dạng
 
1
1 1 0 1 1 0
2
.2 .2 .2

nn
n n n n
a a a a a a a a a


     
;
 
1
1 1 0 1 1 0
2
.2 .2 .2
nn
n n n n
b b b b b b b b b


     
;
 
1
1 1 0 1 1 0
2
.2 .2 .2
nn
n n n n
c c c c c c c c c


     

.
Các hệ số
i
a
,
i
b
,
i
c
,
0, ,in
có giá trị 0 hoặc 1. Ở đây, để tiện trình bày, ta đã
viết biểu diễn của
a
,
b

c
cùng có bậc cao nhất là
2
n
. Điều này dễ dàng làm
được vì nếu cần ta có thể thêm các hệ số bằng 0, tức là ta không đòi hỏi tất cả
các hệ số
n
a
,
n
b

,
n
c
phải khác 0, nhưng vì
n
là bậc cao nhất nên ít nhất một
trong các hệ số
n
a
,
n
b
,
n
c
phải khác 0.
Người chơi đầu tiên sẽ lấy một số sỏi (khác 0) từ một trong ba đống, thí dụ, từ
đống thứ nhất. Khi ấy các hệ số
i
a
,
0, ,in
sẽ bị thay đổi. Tương tự, nếu lấy
sỏi từ đống thứ hai (hoặc từ đống thứ ba), thì ít nhất một trong các hệ số
i
b
,
0, ,in
(hoặc
i

c
,
0, ,in
) của
b
( hoặc
c
) sẽ bị thay đổi.
Xét các tổng
n n n
a b c
,
1 1 1n n n
a b c
  

,…,
1 1 1
a b c
,
0 0 0
a b c
.
Vì các hệ số
i
a
,
i
b
,

i
c
,
0, ,in
chỉ nhận giá trị 0 hoặc 1 nên mỗi tổng này chỉ
có thể nhận một trong bốn giá trị
0,1, 2, 3
.
Nếu một trong các tổng trên là số lẻ (tức là tổng nhận giá trị 1 hoặc 3) thì người
chơi thứ nhất có thể thắng nhờ chiến lược sau: Tại mỗi bước đi, người chơi thứ
nhất sẽ lấy đi một số sỏi từ một đống để được tất cả các tổng
i i i
a b c
,
0, ,in
là chẵn. Chiến lược này có thể thực hiện được nhờ cách đi như sau.
Giả sử
k k k
a b c
là tổng đầu tiên (tính từ trái sang phải) là lẻ, tức là có ít nhất
một trong ba số
,,
k k k
a b c
bằng 1. Giả sử, thí dụ,
1
k
a 
. Khi ấy người chơi thứ
nhất lấy một lượng sỏi

d
từ đống thứ nhất sao cho tất cả các tổng
i i i
a b c
,

15
0, ,in
là chẵn. Để làm việc này chỉ cần lấy
d
viên sỏi sao cho số sỏi còn lại
từ đống thứ nhất sẽ là
1 1 1 1 0
0
n n k k
a a a a a a a
  
   

, trong đó
ii
aa


nếu
i i i
a b c
,
 
0, , 1ik

là chẵn (khi ấy
i i i i i i
a b c a b c

    
vẫn là chẵn) và
1
ii
aa



nếu
i i i
a b c
là lẻ (khi ấy
 
1 1 2
i i i i i i i i i i
a b c a b c a b c a

          

chẵn). Do các hệ số
11
, , ,
n n k
a a a

của

a

a

bằng nhau, còn hệ số
k
a
của
a

bằng 1, mà hệ số
k
a

của
a

bằng 0 nên
'aa

0d a a

  
, tức là người
chơi thứ nhất có thể làm giảm thật sự số sỏi (trong đống
a
) nhờ qui tắc trên.
Như vậy, sau bước đi đầu tiên của người chơi thứ nhất, tất cả các tổng
i i i
a b c

,
0, ,in
là chẵn.
Bây giờ giả sử người chơi thứ hai lấy một số sỏi bất kì, thí dụ,
d

viên từ một
đống nào đó. Vì
d

khác 0 nên trong biểu diễn của
d

trong hệ đếm cơ số 2
phải có ít nhất một chữ số 1, do đó bắt buộc ít nhất một trong các tổng
i i i
a b c
phải thay đổi từ chẵn sang lẻ.
Tiếp tục cách làm trên, sau một số hữu hạn
q
bước, tất cả các tổng
i i i
a b c
,
0, ,in
phải bằng 0 (vì tổng số sỏi giảm thực sự sau mỗi bước), tức là không
còn viên sỏi nào sau bước đi thứ
1q 
của người thứ nhất, và anh ta thắng.
Nếu ban đầu tất cả các tổng

i i i
a b c
,
0, ,in
là chẵn, thì sau lần đi đầu tiên
của người thứ nhất, cho dù anh ta lấy đi bao nhiêu sỏi từ một đống bất kì nào đó,
thì có ít nhất một tổng
i i i
a b c
bắt buộc phải lẻ, vì vậy, đến lượt người chơi
thứ hai, anh ta sẽ sử dụng chiến lược như người chơi thứ nhất thực hiện khi số
sỏi ban đầu là lẻ (như chiến lược đã trình bày ở trên) và anh ta sẽ thắng.
Tùy theo số sỏi cụ thể trong từng đống, mỗi người chơi có thể chọn số lượng sỏi
trong mỗi bước đi để đảm bảo thắng nhanh nhất hoặc lâu thua nhất.
Thí dụ 3.1 Giả sử người chơi thứ nhất biết chiến lược để thắng. Hãy thực hiện
chiến lược trong trò chơi Nim với
15a 
,
12b 
,
10c 
.
Giải Ta có

16
 
32
2 3 2 1 0
2
15 2 2 2 1 1111a a a a a      

;
 
32
2 3 2 1 0
2
12 2 2 1100b b b bb    
;
 
 
3
3 2 1 0
2
2
10 2 2 1010c c c c c    
.
Tổng các hệ số:
3 3 3
3a b c  
;
2 2 2
2a b c  
;
1 1 1
2a b c  
;
0 0 0
1a b c  
.
Lượt đi thứ nhất: Ta có
3 3 3

3a b c  
là tổng lẻ đầu tiên. Vì
3
1a 
nên người
chơi thứ nhất sẽ lấy
d
viên sỏi từ đống thứ nhất sao cho số sỏi còn lại là
2
0110 6a


(qui tắc: thay
3
1a 
thành
3
0a


;
21
1aa
giữ nguyên do
2 2 2
2a b c  
;
1 1 1
2a b c  
là các tổng chẵn; vì

0 0 0
1a b c  
là tổng lẻ
nên thay
0
1a 
thành
0
0a


). Nghĩa là, người chơi thứ nhất muốn thắng thìphải
lấy
1 2 2 2
1111 0110 1001 9d a a

     
viên sỏi. Số sỏi còn lại ở các đống là:
 
2
6 0110a 
;
 
2 3 2 1 0
2
12 1100b b b bb  
;
 
 
3 2 1 0

2
2
10 1010c c c c c  
.
Bây giờ ta có
3 3 3
2a b c  
;
2 2 2
2a b c  
;
1 1 1
2a b c  
;
0 0 0
0a b c  
.
Số sỏi trong tất cả các đống đều chẵn. Người chơi thứ hai, dù biết hay không
biết chiến lược, cũng phải chọn một số sỏi từ một đống nào đó. Để thua lâu nhất,
người chơi thứ hai chỉ lấy một viên sỏi từ một đống nào đó, thí dụ lấy
 
1
2
1 0001d


từ đống thứ hai. Đống thứ hai còn lại 11 viên sỏi. Số sỏi còn lại
ở ba đống là:
 
 

3 2 1 0
2
2
6 0110 ;a a a a a  

 
2 3 2 1 0
2
11 1011 ;b b b bb  

 
 
3 2 1 0
2
2
10 1010c c c c c  
.
Tổng các hệ số sau khi người chơi thứ hai đã đi là:
3 3 3
2a b c  
;
2 2 2
1a b c  
;
1 1 1
3a b c  
;
0 0 0
1a b c  
.

Lượt đi thứ hai: Do
2 2 2
1a b c  
là tổng lẻ đầu tiên,
2
1a 
nên người chơi thứ
nhất lấy từ đống thứ nhất
2
d
viên sỏi sao cho số sỏi còn lại ở đống thứ nhất là

17
 
2
0001 1a


viên (theo qui tắc “bù để tổng các cột đều chẵn” như trên), tức
là chọn
2
6 1 5d a a

    
viên. Số sỏi còn lại ở các đống là:
 
2
6 5 1 0001a    
,
 

2 3 2 1 0
2
11 1011b b b b b  
,
 
 
3 2 1 0
2
2
10 1010c c c c c  
.
Bây giờ ta lại có
3 3 3
2a b c  
;
2 2 2
0a b c  
;
1 1 1
2a b c  
;
0 0 0
2a b c  
.
Người chơi thứ hai buộc phải lấy ra số sỏi bất kì từ một đống bất kì, nhưng
không thể để mình vào trạng thái thua
 
;;a b b
theo Hệ quả 1, vì vậy không thể
chọn 1 viên ở đống thứ hai (khi ấy số sỏi ở hai đống thứ nhất và đống thứ hai

cùng bằng 10), do đó anh ta phải chọn, thí dụ, 1 viên ở đống thứ ba, số sỏi còn
lại ở ba đống là:
 
 
3 2 1 0
2
2
1 0001a a a a a  
;
 
2 3 2 1 0
2
11 1011b b b b b  
,
 
 
3 2 1 0
2
2
9 1001c c c c c  
.
Tổng các hệ số trong cơ số 2 ở mỗi cột sau khi người chơi thứ hai đã đi là:
3 3 3
2a b c  
;
2 2 2
0a b c  
;
1 1 1
1a b c  

;
0 0 0
3a b c  
.
Lượt đi thứ ba: Vì
1 1 1
1a b c  
,
1
0a 
,
1
1b 
, nên người chơi thứ nhất lấy
(theo qui tắc “bù thành chẵn”) từ đống thứ hai
3
d
viên sỏi sao cho số sỏi còn lại
ở đống thứ hai là
2
1000 8b


viên, tức là lấy ra
3
11 8 3d b b

    
viên.
Số sỏi còn lại ở các đống bây giờ là:

 
 
3 2 1 0
2
2
1 0001a a a a a  
,
 
2 3 2 1 0
2
8 1000b b b bb  
,
 
 
3 2 1 0
2
2
9 1001c c c c c  
.
Bây giờ ta lại có
3 3 3
2a b c  
;
2 2 2
0a b c  
;
1 1 1
0a b c  
;
0 0 0

2a b c  
.
Người chơi thứ hai chọn số sỏi bất kì, nhưng không thể đưa về trạng thái thua
 
;;a b b
theo Hệ quả 1, vì vậy phải chọn, thí dụ, 2 viên từ đống thứ ba, số sỏi
còn lại ở ba đống là:
 
 
3 2 1 0
2
2
1 0001a a a a a  
,
 
2 3 2 1 0
2
8 1000b b b b b  
,
 
 
3 2 1 0
2
2
7 0111c c c c c  
.

18
Tổng các hệ số:
3 3 3

1a b c  
;
2 2 2
1a b c  
;
1 1 1
1a b c  
;
0 0 0
2a b c  
.
Lượt đi thứ tư: Do
3 3 3
1a b c  
,
3
0a 
,
3
1b 
, nên người chơi thứ nhất chọn
4
d
viên sỏi từ đống thứ hai (theo qui tắc “bù chẵn”) sao cho số sỏi còn lại ở
đống thứ hai là
 
2
0110 6b



viên, tức là
2
8 6 2d c c

    
viên.
Số sỏi còn lại ở các đống là:
 
 
2 1 0
2
2
1 001a a a a  
,
 
 
2 1 0
2
2
6 110b b b b  
,
 
 
2 1 0
2
2
7 111c c c c  
.
Bây giờ ta lại có:
2 2 2

2a b c  
;
1 1 1
2a b c  
;
0 0 0
2a b c  
.
Người chơi thứ hai chỉ có thể chọn, để không rơi vào trạng thái thua
 
;;a b b

hoặc để thua lâu hơn, thí dụ, 2 viên từ đống thứ ba, số sỏi còn lại ở ba đống là:
 
 
2 1 0
2
2
1 001a a a a  
,
 
 
2 1 0
2
2
6 110b b b b  
,
 
 
2 1 0

2
2
5 101c c c c  
.
Tổng các hệ số:
2 2 2
2a b c  
;
1 1 1
1a b c  
;
0 0 0
2a b c  
.
Lượt đi thứ năm: Do
1 1 1
1a b c  
,
1
0a 

1
1b 
nên người chơi thứ nhất
chọn
5
d
(theo qui tắc “bù chẵn”) viên sỏi từ đống thứ hai sao cho số sỏi còn lại
ở đống thứ hai là
 

2
100 4b


viên, tức là
2
6 4 2d b b

    
viên. Số sỏi
còn lại ở ba đống là:
 
 
2 1 0
2
2
1 001a a a a  
,
 
2 2 1 0
2
4 100b b bb  
,
 
 
2 1 0
2
2
5 101c c c c  
.

Trò chơi trở về trạng thái (1; 4; 5) và đến lượt người thứ hai. Theo Chứng minh
trong Nhận xét 4, người chơi thứ nhất thắng.
Lời bình 1 Người chơi thứ hai có thể chọn nhiều cách đi. Tuy nhiên, như ta đã
phân tích, nếu lúc đầu có ít nhất một tổng
k k k
a b c
là lẻ thì với mỗi cách đi
của người thứ hai, người chơi thứ nhất bao giờ cũng chọn được ít nhất một cách
đi tương ứng để sau khi đi thì tất cả các tổng
i i i
a b c
,
0, ,in
là chẵn, và
cuối cùng anh ta sẽ thắng.
Tương tự, nếu tất cả các tổng
i i i
a b c
,
0, ,in
là chẵn thì người thứ hai sẽ
thắng (theo qui tắc ai nhặt viên sỏi cuối cùng thì người đó thắng). Người thứ hai

19
chỉ thắng (trong trò chơi với qui tắc ai nhặt viên sỏi cuối cùng là người thắng)
khi tất cả các tổng
i i i
a b c
,
0, ,in

là chẵn. Khả năng thắng của người
chơi thứ hai ít hơn nhiều so với người chơi thứ nhất (vì người thứ nhất chỉ cần
một trong các tổng
i i i
a b c
,
0, ,in
là lẻ). Thí dụ, với 10 viên sỏi chia làm
ba đống
10abc  
thì có tất cả 8 khả năng viết số 10=(1010)
2
dưới dạng
tổng của ba số dương khác 0:
1) 10=1+1+8=(0001)
2
+(0001)
2
+(1000)
2
;
2) 10=1+2+7=(0001)
2
+(0010)
2
+(0111)
2
;
3) 10=1+3+6=(0001)
2

+(0011)
2
+(0110)
2
;
4) 10=1+4+5=(0001)
2
+(0100)
2
+(0101)
2
;
5) 10=2+2+6=(0010)
2
+(0010)
2
+(0110)
2
;
6) 10=2+3+5=(0010)
2
+(0011)
2
+(0101)
2
;
7) 10=2+4+4=(0010)
2
+(0100)
2

+(0100)
2
;
8) 10=3+3+4=(0011)
2
+(0011)
2
+(0100)
2
.
Trong 8 cách này, chỉ có duy nhất một cách (cách 4) trong đó tất cả các tổng
i i i
a b c
,
0,2,3,4i 
là chẵn: 10=1+4+5=(0001)
2
+(0100)
2
+(0101)
2
.
Tất nhiên, trò chơi chỉ thú vị khi ít nhất một trong hai người chơi không biết
toán (biết suy luận như trên), nói cách khác, biết toán sẽ bảo đảm biết chắc thắng
hay chắc thua. Nếu cả hai người chơi đều đã biết thuật toán như trên thì trò chơi
mất thú vị, vì chỉ cần tính các tổng
i i i
a b c
,
1,2, ,in

là biết ai sẽ thắng.
Lời bình 2 Cũng có thể giải bài toán trò chơi Nim bằng phương pháp đồ thị
(xem [6]).
3.3 Trò chơi Nim mở rộng
Ở trên ta đã xét trò chơi Nim với ba đóng sỏi (ba hàng các đồng xu). Phân tích
trò chơi này cho ta cảm giác không còn gì đáng hấp dẫn về trò chơi Nim nữa.
Tuy nhiên, năm 1901, Charles L. Burton, Giáo sư trường đại học Harvard, đã
phát hiện ra một điều đáng ngạc nhiên: Trò chơi Nim sẽ trở nên thú vị hơn, nếu

20
số đống sỏi (số hàng các đồng xu, các quân bài) có thể bất kì và đồng thời số sỏi
trong mỗi đống cũng bất kì. Hơn nữa, sử dụng hệ đếm cơ số 2, có thể đưa ra một
chiến lược đơn giản tương tự như trong trò chơi Nim với ba đống sỏi (như đã
trình bày ở trên) để giải quyết bài toán trò chơi này. Charles L. Burton đã phân
tích chứng minh sự tồn tại chiến lược tối ưu cho trò chơi Nim tổng quát.
Trò chơi Nim mở rộng được phát biểu như sau. Giả sử có
n
hàng, lúc đầu mỗi
hàng có một số đồng xu. Hai người lần lượt lấy ra từ một hàng một số (không ít
hơn 1) đồng xu. Người chiến thắng là người nhặt được đồng xu cuối cùng.
Gọi mỗi vectơ (bộ số sắp thứ tự)
 
1
, ,
n
xx
, trong đó
i
x
là số đồng xu (còn lại)

của hàng thứ
i
,
1,2, ,in
tại bước thứ
k
nào đó, là một trạng thái của trò chơi.
Trạng thái của trò chơi được hình thành sau bước đi của người chơi là an toàn,
nếu nó bảo đảm cho người chơi đi đến chiến thắng. Nếu ngược lại thì trạng thái
được gọi là nguy hiểm. Thí dụ, từ trạng thái (3; 4; 5) ban đầu, người chơi thứ
nhất lấy ra 2 đồng xu ở hàng thứ nhất, tạo ra trạng thái (1; 4; 5) an toàn cho
mình. Trong trò chơi Nim, bằng một chiến lược thích hợp, từ mỗi trạng thái
nguy hiểm (cho đối phương) đều có thể đi đến trạng thái an toàn (cho mình).
Ngược lại, từ một trạng thái an toàn (của đối phương) đều chỉ có thể đi đến trạng
thái nguy hiểm (cho mình), không có chiến lược nào đưa một trạng thái an toàn
(của đối phương) đến trạng thái an toàn (cho mình) cho mình cả. Vì vậy, các
chiến lược thích hợp là đưa trạng thái nguy hiểm (cho đối phương) về trạng thái
an toàn (cho mình), hoặc tìm chiến lược để kéo dài cuộc chơi được lâu nhất (nếu
đối phương đã ở vào trạng thái an toàn nên tình thế không thể đảo ngược).
Thí dụ 3.2 Có 16 quân bài được đặt thành bốn hàng như hình vẽ dưới đây. Hãy
phân tích và tìm chiến lược chơi để chiến thắng (nhặt quân bài cuối cùng).
Giải Viết số quân bài tại mỗi hàng trong hệ đếm cơ số 2 và tính tổng từng cột:
1=
0
0
1
3=
0
1
1


21
5=
1
0
1
7=
1
1
1
Tổng
2
2
4


Như vậy, tổng các chữ số trong tất cả ba cột (hàng trăm, hàng chục, hàng đơn vị)
đều là số chẵn (hay bằng 0 theo modulo 2). Trạng thái ban đầu là nguy hiểm cho
người chơi thứ nhất, vì mọi cách đi của người chơi thứ nhất đều dẫn tới trạng
thái không an toàn (có ít nhất một cột có tổng lẻ) cho người chơi thứ nhất. Như
vậy, với cách đi đúng (đưa trạng thái có ít nhất một cột có tổng lẻ về tất cả các
cột có tổng chẵn), người thứ hai bảo đảm giành chiến thắng.
Thí dụ 3.3 Các quân cờ đam được đặt thành bốn hàng theo thứ tự: hàng thứ
nhất gồm 7; hàng thứ hai có 13; hàng thứ tư có 24 và hàng cuối cùng có 30 quân
cờ. Hãy phân tích và tìm chiến lược chơi để chiến thắng.
Giải Viết các quân bài tại mỗi hàng trong hệ đếm cơ số 2 và tính tổng từng cột:
2
n

16

8
4
2
1
7=
0
0
1
1
1
13=
0
1
1
0
1

22
24=
1
1
0
0
0
30=
1
1
1
1
0

Tổng
2
3
3
2
2
Như vậy, tổng các chữ số trong cột thứ tư (từ phải sang trái) có tổng bằng 3.
Người chơi thứ nhất phải đưa trạng thái an toàn (cho mình) về trạng thái nguy
hiểm (cho đối phương) bằng cách đưa tổng trong tất cả các cột về tổng chẵn. Để
làm việc này người chơi thứ nhất phải theo qui tắc: thay một chữ số 1 ở cột thứ
tư (từ phải sang, trong biểu diễn của số 13, 24 hoặc 30) bằng chữ số 0, và chữ số
0 hoặc chữ số 1 ở cùng dòng với số 1 đã thay ở cột thứ tư (từ phải sang), để
được tổng của cột thứ ba cũng là chẵn. Có các khả năng sau đây xảy ra:
1) Nhặt quân cờ từ hàng thứ hai (có 13 quân). Khi ấy ta có trạng thái mới là:
Hàng
2
n

16
8
4
2
1

Hàng
16
8
4
2
1

2
n

I
7=
0
0
1
1
1

I
0
0
1
1
1
=7
II
13=
0
1
1
0
1


II
0
0

0
0
1
=1
III
24=
1
1
0
0
0

III
1
1
0
0
0
=24
IV
30=
1
1
1
1
0

IV
1
1

1
1
0
=30

Tổng
2
3
3
2
2

Tổng
2
2
2
2
2

Nghĩa là, nhặt 12 quân cờ từ hàng thứ hai. Hàng thứ hai còn lại 1 quân cờ.
2) Nhặt quân cờ từ hàng thứ ba (có 24 quân). Khi ấy ta có trạng thái mới là:
Hàng
2
n

16
8
4
2
1


Hàng
16
8
4
2
1
2
n

I
7=
0
0
1
1
1

I
0
0
1
1
1
=7
II
13=
0
1
1

0
1

II
0
1
1
0
1
=13
III
24=
1
1
0
0
0


III
1
0
1
0
0
=20
IV
30=
1
1

1
1
0

IV
1
1
1
1
0
=30

Tổng
2
3
3
2
2

Tổng
2
2
4
2
2

Nghĩa là, nhặt 4 quân cờ từ hàng thứ ba. Hàng thứ ba còn lại 20 quân cờ.

23
3) Nhặt quân cờ từ hàng thứ tư (có 30 quân). Nghĩa là, nhặt 12 quân cờ từ hàng

thứ tư. Hàng thứ ba còn lại 18 quân cờ. Khi ấy ta có trạng thái mới là:
Hàng
2
n

16
8
4
2
1

Hàng
16
8
4
2
1
2
n

I
7=
0
0
1
1
1

I
0

0
1
1
1
=7
II
13=
0
1
1
0
1

II
0
1
1
0
1
=13
III
24=
1
1
0
0
0


III

1
1
0
0
0
=24
IV
30=
1
1
1
1
0

IV
1
0
0
1
0
=18

Tổng
2
3
3
2
2

Tổng

2
2
4
2
2

Như vậy, chiến lược thắng nhanh hơn (tổng số quân cờ còn lại ít hơn) là lấy 12
quân cờ từ hàng thứ hai hoặc hàng thứ tư.
Bài tập Có bốn đống diêm với số diêm tương ứng là 3, 7, 12 và 17 que diêm.
Hãy phân tích và xây dựng chiến lược chơi để chiến thắng.
Nhận xét Trạng thái
 
1, ,1,a
với
1a 
bảo đảm cho người đi tiếp theo tháng.
Chứng minh Nếu

2
1, ,1,
k
a




thì người đi tiếp (người thứ nhất) lấy toàn bộ
a

quân cờ từ hàng cuối cùng. Nếu


21
1, ,1,
k
a





thì người đi tiếp (người thứ nhất) lấy
1a 
quân cờ từ hàng cuối. Cả hai trường hợp đều đưa về trạng thái

2
1, ,1
k




.
Theo Nhận xét 1, người thứ nhất thắng.
§4 Giải bài toán tháp Hà Nội nhờ hệ đếm cơ số 2
Trò chơi Tháp Hà Nội được nhà toán
học Pháp E. Lucas phổ biến năm
1883. Trò chơi gồm ba cọc. Lúc đầu
đĩa được xếp theo thứ tự từ lớn đến



24
nhỏ thành một hình nón trên một cọc
(cọc nguồn). Người chơi phải chuyển
Trò chơi Tháp Hà Nội với ba cọc
các đĩa từ cọc nguồn sang cọc đích và xếp lại theo đúng thứ tự trên. Trong khi
chuyển có thể sử dụng một cọc trung gian và phải tuân theo qui tắc 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. Mỗi lần chỉ được chuyển một đĩa.
Ta có thể sử dụng hệ đếm cơ số 2 để giải bài toán Tháp Hà Nội cho ba cọc với
n
đĩa như sau.
Để dễ hiểu, trước tiên ta xem xét trường hợp bài toán Tháp Hà Nội với ba cọc và
hai, ba, bốn đĩa hoặc năm đĩa.
Giải bài toán Tháp Hà Nội với hai đĩa nhờ hệ đếm cơ số 2
Bước 0: Hai đĩa ở cọc A, kí hiệu là
 
2
00
.
Bước 1: Chuyển đĩa số 1 từ cọc A sang cọc trống B, kí hiệu là
 
2
01
.
Chữ số 1 ở cuối biểu thị đĩa trên cùng (đĩa số 1) đã được chuyển,
 
10
2
01 1

.
Hình 4.1
Bước 2: Chuyển đĩa số 2 từ cọc A sang cọc trống C, kí hiệu là
 
2
10
.
Chữ số 1 thứ hai biểu thị đĩa thứ hai đã được chuyển sang cọc C,
 
10
2
10 2
.
Chữ số 1 khác chữ số 0 biểu thị hai đĩa ở hai cọc khác nhau (cọc B và cọc C).
Bước 3: Chuyển đĩa số 1 từ cọc B sang cọc C, kí hiệu là
 
2
11
. Chữ số 1 thứ hai
(bên trái) biểu thị đĩa thứ hai đã được chuyển. Hai chữ số 1 biểu thị hai đĩa ở
trên cùng một cọc (đĩa thứ hai chồng lên đĩa thứ nhất,
 
10
2
11 3
).

25
Như vậy, bắt đầu từ số
 

2
00
, cứ mỗi lần chuyển một đĩa, ta lại cộng thêm 1 vào
số trong cơ số 2 vừa nhận được ở bước trước, để được số mới trong hệ đếm cơ
số 2.

Giải bài toán Tháp Hà Nội với ba đĩa nhờ hệ đếm cơ số 2
Hình 4.2
Bước 0: Ba đĩa ở cọc A, kí hiệu là
 
2
000
.
Trước tiên ta giải bài toán hai cọc như trên (xây tháp gồm hai đĩa nhỏ nhất):
Bước 1: Chuyển đĩa số 1 từ cọc A sang cọc trống C, kí hiệu là
 
2
001
. Chữ số 1
ở vị trí thứ nhất (từ bên phải) biểu thị đĩa trên cùng (đĩa số 1) đã được chuyển từ
cọc A sang cọc C,
 
10
2
001 1
.
Bước 2: Chuyển đĩa số 2 từ cọc A sang cọc trống B, kí hiệu là
 
2
010

.
Chữ số 1 ở vị trí thứ hai biểu thị đĩa thứ hai đã được chuyển từ cọc A sang cọc
B,
 
10
2
010 2
. Ba chữ số 00, 01, 10 (ở bên phải) trong biểu diến
 
2
000
,
 
10
2
001 1
,
 
2
010
biểu thị ba đĩa ở ba cọc khác nhau.
Bước 3: Chuyển đĩa số 1 từ cọc C sang cọc B, kí hiệu là
 
2
011
. Chữ số 1 ở vị
trí thứ nhất (bên trái, khác với chữ số 0 trong
 
2
010

ở bước 2) biểu thị đĩa số 1
đã được chuyển từ cọc C sang cọc B,
 
10
2
011 3
.
Ba chữ số 0, 1, 1 biểu thị hai đĩa nhỏ ở trên cùng cọc B (đĩa thứ hai chồng lên
đĩa thứ nhất), đĩa lớn ở cọc khác (cọc A). Cọc C trống.

×