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

Luận văn Trò chơi bốc các vật

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 (1.57 MB, 49 trang )

Mục lục
Lời mở đầu 4
1 MỘT SỐ KIẾN THỨC c ơ BẢN 6
1.1 Các khái niệm cơ bản về đồ th ị 6
1.1.1 Định nghĩa đồ t h ị 6
1.1.2 Biểu diễn đồ thị bằng hình h ọ c

7
1.2 Nhân của đồ t h ị 9
1.2.1 Tầp ổn định trong và tập ổn định n g o à i

9
1.2.2 Nhân của đồ thị 10
1.2.3 Điều kiện có nhân của đồ th ị

11
1.3 Tổng D ig it 13
1.3.1 Định nghĩa

13
1.3.2 Tính chất của tổng D ig it

14
2 TRÒ CHƠI ĐƠN 15
2.1 Định nghĩa trò chơi đơn 15
2.2 Cách giải quyết trò chơi đ ơ n 15
2.2.1 Giải quyết trò chơi đơn bằng cách dùng nhân của đồ
t h ị 15
2.2.2 Giải quyết trò chơi đơn sử dụng đồng dư

18


2.3 Ví dụ minh h ọ a 19
2.4 Bài tập tương tự 30
3 TRÒ CHƠI HỢP 31
3.1 Định nghĩa trò chơi hợp

31
3.2 Cách giải quyết trò chơi

31
2
3.2.1 Xây dựng hàm Grundy của trò c h ơ i

31
3.2.2 Thuật toán cho người đi đầu thắng cu ộc

32
3.3 Ví dụ minh h ọ a 34
3.4 Bài tập tương tự 47
Kết luận 49
Tài liệu tham khảo 50
3
Lời mở đầu
Từ thời cổ đại hay trong các bài toán thi olympic có những bài toán có
nội dung trò chơi, chẳng hạn bài toán bốc một hay nhiều đống vật, một
hay nhiều đống bi. Hai đấu thủ lần lượt thay nhau bốc các vật với quy
ước.
1. Người đi đầu được xác định ngẫu nhiên bằng gieo đồng tiền hoặc gắp
thăm.
2. Mỗi người đến lượt phải bốc ít nhất một vật và không được bốc quá
số lượng quy định.

3. Trong trường hợp có nhiều đống vật, thì người đến lượt chỉ được bốc
ở một trong những đống còn vật.
4. Người nào bốc được vật cuối cùng sẽ thắng cuộc.
Tùy thuộc vào số lượng đống vật mà trò chơi được chia thành hai dạng:
1. Trường hợp có một đống vật trò chơi được gọi là trò chơi đơn và có
hai cách giải quyết tương ứng là dùng đồng dư và dùng nhân của đồ
thị.
2. Trường hợp có từ hai đống vật trở lên trò chơi được gọi là trò chơi
hợp và giải quyết bằng cách dùng hàm Grundy.
o Chương 1: Trình bày một số kiến thức cơ bản cần thiết cho các chương
sau. Đó là đồ thị, nhân của đồ thị và tổng Digit.
o Chương 2: Trình bày về trò chơi đơn và hai cách giải quyết tương ứng
là dùng đồng dư và dùng nhân của đồ thị.
4
o Chương 3: Trình bày về trò chơi hợp và giải quyết bằng cách dùng
hàm Grundy.
Mặc dù đã cố gắng hết sức nhưng do thời gian thực hiện luận văn
không nhiều nên trong luận văn không tránh khỏi những hạn chế và sai
sót. Em rất mong nhận được những góp ý và sự chỉ bảo của các thầy cô.
Em xin chân thành cảm ơn!
5
Chương 1
MỘT SỐ KIẾN THỨC c ơ BẢN
1.1 C ác khái niệm cơ bản về đồ thị
1.1.1 Định nghĩa đồ thị
Định nghĩa 1.1. Tập hợp 1 / 0 các đối tượng và bộ E các cặp sắp thứ
tự và không sắp thứ tự các phần tử của X được gọi là một đồ thị đồng
thời được ký hiệu bằng G (x , E ) hoặc bằng G — (X , E ) hoặc bằng G(X ).
Định nghĩa 1.2. Các phần tử của X được gọi là các đỉnh. Cặp đỉnh không
sắp thứ tự được gọi là cạnh, cặp đỉnh sắp thứ tự được gọi là cạnh có hướng

hay cung.
Định nghĩa 1.3. Đồ thị chỉ chứa các cạnh được gọi là đồ thị vô hướng,
còn đồ thị chỉ chứa các cung được gọi là đồ thị có hướng. Nếu đồ thị chứa
cả cạnh lẫn cung gọi là đồ thị hỗn tạp.
Một cặp đỉnh có thể được nối với nhau bằng hai hay nhiều hơn hai
cạnh ( hai hoặc nhiều hơn hai cung cùng một hướng). Các cạnh ( cung)
này được gọi là các cạnh (cung ) bội.
Một cung( hay một cạnh) có thể bắt đầu và kết thúc tại cùng một đỉnh.
Cung hay cạnh loại này được gọi là khuyên hay nút.
Định nghĩa 1.4. Cặp đỉnh X, y được nối với nhau bằng cạnh (cung) a, thì
x,y được gọi là các đỉnh hay hai đầu của cạnh (cung) a và a được gọi là
cạnh (cung) thuộc đỉnh X và đỉnh y.
Nếu cung b xuất phát từ đỉnh u và đi vào đỉnh V, thiu được gọi là đỉnh
đầu, còn V được gọi là đỉnh cuối của cung b.
6
Định nghĩa 1.5. Cặp đỉnh x,y được gọi ỉà hai đỉnh kề nhau, nếu X Ỷ y
và ỉà hai đầu của cùng một cạnh hay một cung.
Định nghĩa 1.6. Đối với mọi đỉnh X của đồ thị G (X ,E ). Ta dùng kí
hiệu:
D{x) để chỉ tập đỉnh, mà mỗi đỉnh này được nối với X bằng ít nhất một
cạnh.
D+ (x) để chỉ tập đỉnh, mà mỗi đỉnh này từ X có cung đi tới.
D~{x) để chỉ tập đỉnh, mà mỗi đỉnh này có cung đi tới X.
Định nghĩa 1.7. Hai cạnh (cung) a, b được gọi là kề nhau nếu chúng khác
nhau và chúng có đỉnh chung( nếu a, b ỉà cung, thì không phụ thuộc vào
đỉnh chung đó là đỉnh đầu hay đỉnh cuối của cung a, đỉnh đầu hay đỉnh
cuối của cung b).
1.1.2 Biểu diễn đồ thị bằng hình học
Giả sử có đồ thị G(X, E).
Biểu diễn đỉnh : Lấy các điểm trên mặt phẳng hay trong không gian

tương ứng với các phần tử thuộc tập X và dùng ngay ký hiệu các phần tử
này để ghi trên các điểm tương ứng.
Biểu diễn cạnh: Nếu cạnh a với hai đỉnh đầu là X, y, thì nó được biểu
diễn bằng một đoạn thẳng hay đoạn cong nối giữa hai điểm X, y và không
đi qua các điểm tương ứng trung gian khác.
Biểu diễn cung: Nếu cung a có đỉnh đầu là X, đỉnh cuối là y, thì nó
được biểu diễn bằng một đoạn thẳng hay đoạn cong định hướng đi từ X
sang y và không đi qua các điểm tương ứng trung gian khác.
Hình nhận được gọi là dạng biểu diễn hình học của đồ thị G (X ,E ).
Đôi khi người ta cũng gọi dạng biểu diễn hình học là một đồ thị.
Ví dụ 1.1. Cho đồ thị hỗn hợp G (X ,E ).
Đồ thị G(x, E ) với tập đỉnh
X — X3, X4, Xạ, X5, iCß}
Tập cạnh và cung:
7
E = ịx ix 2; X2X3] X4XG; x 5Xß] X i,x6; x 3, x 5; x 4, x 5}
= {ữi, a2, a3, a4, bi, b2, 63}
ai,a2,a 3, a4 là các cạnh, òi, Ò2, b3 các cung.
Ví dụ 1.2. Cho đồ thị sau: Tập cạnh và cung
Hình 1.2: Đồ thị
E = {x i,x 2\x 2 , x 3] x 3, Xi}
= {a>l, 0>2, ^3}
a\,a2,a3 là các cung.
8
Ví dụ 1.3. Cho đồ thị sau:
Tập cạnh và cung
E — X4'ị *£4, *^3) *£3 , x2] x2ì X\'i X4ị XỊịị XSj Xq}
= {oi, 04, 03, 02, ữ5, Oß}
Oi, 0 2 , 0 3 , 0 2 , ÍỈ5, 06 là các cung.
1.2 N hân củ a đồ thị

1.2.1 Tập ổn định trong và tập ổn định ngoài
Cho đồ thị G (x, E ). Trong số các tập con của X ta quan tâm đến 2
loại tập đặc biệt: tập ổn định trong và tập ổn định ngoài.
Định nghĩa 1.8. Tập A c X được gọi ỉà tập ổn định trong nếu mọi cặp
đỉnh X, y e A đều không kề nhau( tức ỉà không có cạnh hoặc cung nào nối
X vày).
A ỉà tập ổn định trong -H- x,y e A ta có :
ị x ậ D (y )U D + (y),
\y ệ D(x) u D+ (x),
9
Kỉ hiệu H{G ) là họ các tập ổn định trong của đồ thị G.
Nhận xét : Nếu A là tập ổn định trong thì mọi tập con của A đều là
tập ổn định trong.
Định nghĩa 1.9. Tập A c Xđược gọi là tập ổn định trong cực đại nếu
A là tập ổn định trong và nếu thêm vào một đỉnh X bất kì ta đều có tập
A u {a;} đều không là tập ổn định trong.
Định nghĩa 1.10. Tập B c Xđược gọi là tập ổn định ngoài nếu với mọi
đỉnh X ị B đều có đỉnh y e B để hoặc có cạnh nối X và y, hoặc có cung
từ X vào y.
B được gọi là tập ổn định ngoài ^ Vx ệ B thì 3y e B sao cho
y E D(x) u D+ (x)
Kí hiệu K(G)là họ các tập ổn định ngoài của đồ thị G.
Nhận xét : Nếu B là tập ổn định ngoài thì mọi tập chứa B đều là tập
ổn định ngoài.
Định nghĩa 1.11. số lớn nhất trong cấc lực lượng của các tập ổn định
trong của G được gọi là số ổn định trong của G. Kí hiệu a(G).
Số bé nhất trong các lực lượng của các tập ổn định ngoài của G được
gọi là số ổn định ngoài của G. Kí hiệu /3(G).
a(G) = max{|^4| : A G H (G )}
ị3{G) = min{\B\ : B E K (G )}

1.2.2 Nhân của đồ thị
Khái niệm nhân là một khái niệm quan trọng trong lý thuyết đồ thị.
Nó được sử dụng rất nhiều trong lý thuyết đồ thị và lý thuyết trò chơi đặc
biệt là trong luận văn này.
10
Định nghĩa 1.12. Cho đồ thị G(x, ETập c được gọi là nhân của
đồ thị G nếu s vừa là tập ổn định trong, vừa là tập ổn định ngoài. Tức là
s thỏa mãn 2 điều kiện:
• Từng cặp đỉnh X, y thuộc s không có cạnh hoặc cung nối X v à y ;
• Mọi đỉnh X không thuộc s đều có đỉnh y thuộc s để hoặc có cạnh
hoặc cung nối X và y;
1.2.3 Điều kiện có nhân của đồ thị
Khi ứng dụng lý thuyết đồ thị vào trò chơi thì việc xác định nhân của
đồ thị rất quan trọng. Việc đồ thị có nhân hay không quyết dịnh trò chơi
tương ứng có thể tìm được thế thắng hay không. Các định lý và hệ quả
sau đây sẽ giúp ta biết khi nào một đồ thị có nhân khi nào một đồ thị
không có nhân.
Định lý 1.1 (4). Dồ thị G(x, E) có ổn định trong của G nhỏ hơn số
ỗn định ngoài của G thì đồ thị G không có nhân.
Chứng minh. Ta chứng minh định lý bằng phương pháp phản chứng.
Giả sử đồ thị G có nhân s.
Do s là tập ổn định trong của G nên theo định nghĩa số ổn định trong
của G ta có |5| ^ a(G ).
Do s là tập ổn định ngoài của G nên theo định nghĩa số ổn định ngoài
của G ta có \s\ ^ ß(G ) .
Từ đó ta có:
ß (G) < \s\ < a{G ) <
Điều này vô lý nên kết luận G không có nhân.

Định lý 1.2 ( 4 ). Nếu s là nhăn của đồ thị G(x, E)thì nó cũng là tập

ổn định trong cực đại của G .
11
Chứng minh. Giả sử X là một phần tử bất kì của tập X \ s.
Xét tập S U { æ}.
Do s là nhân của đồ thị G nên slà tập ổn định ngoài của G .
Mà xEX\SE^xỆS^3yESsao cho y D{x) u
—)■ tập S u {4 không là tập ổn định trong.
Vậy s là tập ổn định trong cực đại của G . □
Định lý 1.3 (4). Trong đồ thị vô hướng không có khuyên, mọi tập ổn định
trong cực đại của G đều là nhân của đồ thị G .
Chứng minh. Xét G(x, E) là đồ thị vô hướng không có khuyên.
Giả sử B là tập ổn định trong cực đại của G.
—ì \/x E X \ B thì tập B U { X}không là tập ổn định trong.
Mà G đồ thị vô hướng không có khuyên.— sao cho có cạnh nối X
và y.
—y B là tập ổn định ngoài của G .
—y B là nhân của đồ thị G .
Hệ quả 1.1. Mọi đồ thị hữu hạn vô hướng không có khuyên đều có nhân
V í dụ 1.4. Cho đồ thị G:

h
Hình 1.4: Đồ thị
+ ) Các tập ổn định trong gồm
12
• Đồ thị không có khuyên nên mỗi tập gồm 1 đỉnh của đồ thị là một
tập ổn định trong.
• Các tập ổn định trong gồm 2 đỉnh:
Aị = {xi, x3}, A2 = {x 2, Xị\.
a(G) = 2.
+ ) Các tập ổn định ngoài gồm có:

• Mỗi tập gồm 3 đỉnh của đồ thị ỉà một tập ổn định ngoài.
• Các tập ổn định ngoài gồm 2 đỉnh:
B\ = {íCi; x3}, B2 = {x 2\Xị}, B3 = {íCi; x2}.
Bị = {x2; x 3}; B5 = {x3] Xị\, Bq = {Xị, Xi}.
ß(G) = 2.
Do đó đồ thị có 2 nhân: Sị = {x i; x3}, s 2 = {x 2\ Xị\.
1.3 Tổng Digit
1.3.1 Định nghĩa
Định nghĩa 1.13. Cho c G TV. Giả sử có:
c = c1 X 2° + c2 X 21 + + ck X 2k~l
Trong đó é G {0; 1}, 1 < % < k
Ta viết c trong hệ nhị phân là: ckck~1 (?Ò . Ta cũng gọi (c1, c2, . . . , ck)
là dạng khai triển nhị phân của c.
Kí hiệu [n](2) là số dư khỉ chia n cho 2.
Ví dụ 1.5. 6 viết trong hệ nhị phân là 110, dạng khai triển nhị phân là
(0; 1; 1).
[% ) = 0; [11](2) = 1
13
Định nghĩa 1.14. Cho n số tự nhiên Cl, c2; ; cn có dạng khai triển nhị
phân tương ứng là Ck = (cị‘, c|; c|; ).
Khi đó véc tơ
c = (E L i 41(2); E L i 41(2 )i E L i 41(2); ■ ■ •)
Dược gọi là tong digit của các số tự nhiên C\, C2, ; cn.
Kí hiệu: c = Cị + c2 + . . . + cn
Ví dụ 1.6. 6 + 5 = [(0; 1; 1) + (1; 0; 1)](2) = (1; 1; 0)
7 + 1 0 = [(1; 1; 1) + (0; 1; 0; 1)](2) = [(1; 1; 1; 0) + (0; 1; 0; 1)](2) = (1; 0; 1; 1)
1.3.2 Tính chất của tổng Digit
1. Tính chất giao hoán: a + b = b + a
2. Tính chất kết hợp: (a + b) + c = a + (6 + c)
3. Tồn tại phần tử trung hòa 0: a-j-0 = 0-j-a = a

4. Với mọi a tồn tại phần tử đối — a : a + (—a) = o
14
Chương 2
TRÒ CHƠI ĐƠN
2.1 Định nghĩa trò chơi đơn
Định nghĩa 2.1. Giả sử n, k là hai số tự nhiên. Có một đống gồm n vật
(đá, diêm, ). Hai đấu thủ (A) và (B) tiến hành trò chơi theo quy tắc
sau:
• Người đi đầu được xác định ngẫu nhiên bằng gieo đồng xu hoặc gắp
thăm.
• Hai người lần lượt bốc, đến lượt của ai thì người đó phải bốc ít nhất
1 vật, nhiều nhất k vật (1 < k < n).
• Người nào bốc được vật cuối cùng là người thắng cuộc.
Vấn đề đặt ra khi giải quyết trò chơi là tìm ra thuật toán để người đi trước
đảm bảo thắng cuộc, tức là bốc được vật cuối cùng.
2.2 C ách giải quyết trò chơi đơn
2.2.1 Giải quyết trò chơi đơn bằng cách dùng nhân của đồ thị
Xây dựng đồ thị có hướng G (X ,E ) mô tả diễn biến trò chơi như sau:
+)Đỉnh :
• Mỗi đỉnh tương ứng với số lượng vật có thể có.
X = {n; n — 1; n — 2; ; 2; 1; 0}
15
• Đỉnh n được thừa nhận là đỉnh xuất nên, được đặt trong khuyên tròn
có mũi tên đi vào.
• Các đỉnh k + 1, 2(k + 1), , (s — 1)(Ả; + 1), s(k + 1) < n, được đặt
trong các ô chữ nhật.
+ ) Cung:
• Tại mỗi đỉnh x(x ^ k) có các cung đi tới các đỉnh X—1',X — 2', ]X —
k + 1; X — k. Với các nhãn tương ứng bằng các số.
1; 2; 3; ; k — 1; k

• Các đỉnh x\ {x < k) có các cung đi tới các đỉnh X— 1; X — 2; ; 2; 1; 0.
Với các nhãn tương ứng bằng các sỗ.
1; 2; 3; ; X — 1; X
Cung nhãn c xuất phát từ đỉnh a sẽ đi đến đỉnh a — c.
Nhân của đồ thị G là tập:
N = {0; k + 1; 2(k + 1); ; s(k + 1)}, s(k + 1) < n.
Vì:
• Từng cặp đỉnh thuộc N không có cung nối với nhau;
• Với các số nguyên l,m tùy ý (0 < l < 1 < m < k). Đỉnh
/(&+1) +m không thuộc N và từ đỉnh /(&+1) +m vào đỉnh /(&+1)
thuộc N có cung.
Có khả năng xảy ra như sau:
Khả năng 1: nếu n không chia hết cho (k + 1)) thì người đi trước thực
hiện thuật toán sau để thắng cuộc:
Giả sử: n = s(k + l) + m, 1 < ra < A; .
Khi đó người đi trước phải xuất phát từ đỉnh n, đi theo cung nhãn m
( tức là bốc m vật) để đi tới đỉnh s(k + 1) thuộc nhân N.
Tiếp theo nếu người đi sau xuất phát từ đỉnh s(k + l)và đi theo cung
nhãn /, 1 < ỉ < k, tức bốc ỉ vật để đi tới đỉnh s(k + 1) — ỉ không thuộc
nhân N.
16
Đến lượt mình người đi trước phải xuất phát từ đỉnh s(k + 1) — ỉ đi
theo cung nhãn k + 1 — l,l<k + l — l<k, tức là bốc k + 1 — l vật để
đi tới đỉnh (s — 1)(Ả: + 1) thuộc nhân N.
Cứ như vậy người đi trước đạt đỉnh k + 1 thuộc nhân. Người đi sau
xuất phát từ đỉnh k + 1 đi theo cung nhãn P,1 < p < k để đi đến đỉnh
k + 1 — p không thuộc nhân N.
Đến lượt mình người đi trước phải xuất phát từ đỉnh k + 1 — p đi theo
cung nhãn k + 1 — p hay bốc k + 1 — p để đạt đỉnh 0 và là người thắng
cuộc.

Khả năng 2: nếu n chia hết cho (k + 1 ) thì người đi sau thực hiện thuật
toán trên để thắng cuộc, hay người đi trước thua cuộc.
NHẬN XÉT: Nếu yêu cầu của trò chơi thay đổi thành điều kiện người
bốc được vật cuối cùng là thua cuộc thì thuật toán cần thay đổi như sau
để đảm bảo người đi trước thắng cuộc:
Đồ thị có hướng G (x , E ) vẫn được xây dựng như trên.
+)Đỉnh :
• Mỗi đỉnh tương ứng với số lượng vật có thể có.
X = {n; n — 1; n — 2; ; 2; 1; 0}
• Đỉnh n được thừa nhận là đỉnh xuất nên, được đặt trong khuyên tròn
có mũi tên đi vào.
• Các đỉnh k + 1, 2(k + 1), , (s — 1)(Ả; + 1), s(k + 1) < n, được đặt
trong các ô chữ nhật.
+ ) Cung:
• Tại mỗi đỉnh x(x ^ k) có các cung đi tới các đỉnh x —l\x — 2\ \x —
k + 1; X — k. Với các nhãn tương ứng bằng các số.
1; 2; 3; ; k — 1; k
• Các đỉnh x\ {pc < k) có các cung đi tới các đỉnha; — 1; X — 2; ; 2; 1; 0.
Với các nhãn tương ứng bằng các số.
17
Cung nhãn c xuất phát từ đỉnh a sẽ đi đến đỉnh a — c.
Nhân của đồ thị G là tập:
N = {0; k + 1; 2(k + 1); ; s(k + 1)}, s(k + 1) < n.
Vì:
• Từng cặp đỉnh thuộc s không có cung nối với nhau;
• Với các số nguyên l,m tùy ý (0 < l < [¿rfy], 1 < m < k). Đỉnh
l(k + 1) + 771 không thuộc N và từ đỉnh 1) + 771 vào đỉnh 1)
thuộc N có cung.
Có khả năng xảy ra như sau:
Khả năng 1: nếu n — 1 không chia hết cho (Ả: + 1)) thì người đi trước thực

hiện thuật toán sau để thắng cuộc:
Đặt n = s(k + 1) + 771, 1 < m < k .
Khi đó người đi trước phải xuất phát từ đỉnh n, đi theo cung nhãn
m — 1( tức là bốc m — 1 vật) để đi tới đỉnh s(k + 1) + 1 .
Tiếp theo nếu người đi sau xuất phát từ đỉnh s(k + 1) + lvà đi theo
cung nhãn l, 1 < l < k, tức bốc l vật để đi tới đỉnh s(k + 1) — l + 1 .
Đến lượt mình người đi trước phải xuất phát từ đỉnh s(k + 1) — Z + 1
đi theo cung nhãn k-\-l — l, 1 < k + 1 — l < k, tức là bốc k + l — l vật để
đi tới đỉnh (s — 1)(Ả: + 1) + 1 . Cứ như vậy người đi trước đạt đỉnh k + 2 .
Người đi sau xuất phát từ đỉnh k + 2 đi theo cung nhãn P, 1 < p < k
để đi đến đỉnh k + 2 — p . Đến lượt mình người đi trước phải xuất phát từ
đỉnh k + 2 — p đi theo cung nhãn k + 1 — p hay bốc k + 1 — p để đạt đỉnh
1 và người đi sau xuất phát từ đỉnh 1 đi theo cung nhãn 1 tức bốc 1 vật
cuối cùng và thua cuộc. Hay người đi trước thắng cuộc.
Khả năng 2: nếu 71—1 chia hết (A: H- 1) thì người đi sau thực hiện thuật
toán trên để thắng cuộc, hay người đi trước thua cuộc.
2.2.2 Giải quyết trò chơi đơn sử dụng đồng dư
Giả sử 771 = 71 mod (k + 1).
18
Người đi trước thực hiện thuật toán sau để thắng cuộc:
+ ) Người đi trước bốc m vật khi đó còn n — m vật chia hết cho (Ả; + 1).
+ ) Tiếp theo nếu người đi sau bốc t : 1 < t < k vật thì người đi trước bốc
k + l — t vật để luôn còn lại số vật chia hết (k + 1).
Tiếp tục quá trình tương tự như trên giả sử người đi sau bốc s : 1 <
s < k vật. thì người đi trước bốc k + 1 — s vật để luôn còn lại số vật chia
hết (Ả; + 1).
+ ) Cuối cùng còn k + 1 vật người đi sau bốc ít nhất 1 vật nên số còn lại
không ít hơn k và không nhỏ hơn k, người đi trước bốc hết sẽ là người
thắng cuộc.
NHẬN XÉT : Nếu yêu cầu của trò chơi thay đổi thành điều kiện người

bốc được vật cuối cùng là thua cuộc thì thuật toán cần thay đổi như sau
để đảm bảo người đi trước thắng cuộc:
Giả sử m = n mod (k + 1).
Người đi trước thực hiện thuật toán sau để thắng cuộc:
+ ) Người đi trước bốc m — 1 vật khi đó còn n — m + 1 vật n — m + 1 = 1
mod (k + 1).
+ ) Tiếp theo nếu người đi sau bốc t : 1 < t < k vật thì người đi trước bốc
k + l — t vật để luôn còn lại số vật đồng dư với 1 mod (k + 1).
+ ) Tiếp tục quá trình tương tự như trên giả sử người đi sau bốc s : 1 <
s < k vật. thì người đi trước bốc k + 1 — s vật để luôn còn lại số vật đồng
dư với 1 mod (k + 1).
+ ) Cuối cùng còn k + 2 vật người đi sau bốc ít nhất 1 vật nên số còn lại
không ít hơn 2 và không nhỏ hơn k + 1, người đi trước bốc ít nhất lvật
hoặc nhiều nhất k vật sao cho chỉ còn lại 1 vật, người đi sau bốc 1 vật còn
lại sẽ là người thua cuộc hay người đi trước thắng cuộc.
2.3 V í dụ minh họa
Ví dụ 2.1. Có một đống diêm gồm 9 que. Hai đấu thủ A và B lần lượt
bốc diêm theo quy tắc sau đây:
• Người đi đầu xác định bằng gắp thăm.
19
• Mỗi người đến lượt bốc ít nhất 1 que diêm và không được quá 3 que
diêm.
• Người bốc que diêm cuối cùng là thắng cuộc. Hay ai đến lượt mình mà
không còn diêm để bốc là người thua cuộc.
Xác định thuật toán để người đi trước thắng cuộc.
Giải:
Bài toán này chính là trò chơi đơn với n = 9, k = 3.
Ta có 9 không chia hết cho 3 + 1 thì người đi trước thực hiện thuật
toán sau để thắng cuộc:
Cách 1: Giải quyết trò chơi dùng nhân của đồ thị. Xây dựng đồ thị có

hướng G(x, E ) cho trò chơi như sau:
+)Đỉnh :
• Mỗi đỉnh tương ứng với số lượng vật có thể có.
X = {9;8;7; ;2;1;0}
• Đỉnh 9 được thừa nhận là đỉnh xuất nên, được đặt trong khuyên tròn
có mũi tên đi vào.
• Các đỉnh 4, 8, 0 được đặt trong các ô chữ nhật.
+ ) Cung:
• Tại mỗi đỉnh x(x ^ 3) có các cung đi tới các đỉnh X— l\x — 2\x — 3.
Với các nhãn tương ứng bằng các sỗ 1; 2; 3.
• Đỉnh 2 có các cung nhãn 1 đi tới các đỉnh 1; cung nhãn 2 đi tới các
đỉnh 0.
• Đỉnh 1 có các cung duy nhất đi tới các đỉnh 0.
Cung nhãn c xuất phát từ đỉnh a sẽ đi đến đỉnh a — c.
Nhân của đồ thị G là tập:
N — {0; 4; 8}
20
Vì:
• Từng cặp đỉnh thuộc N không có cung nối với nhau;
• Các đỉnh nằm ngoài N đều có cung đi đến một đỉnh thuộc N.
Thuật toán:
9 = 4.2 + 1 Người đi trước phải xuất phát từ đỉnh 9, đi theo cung nhãn
1 ( tức là bốc 1 que diêm) để đi tới đỉnh 8 thuộc nhân N.
21
Tiếp theo nếu người đi sau xuất phát từ đỉnh 8 và đi theo một trong
ba cung thuộc đỉnh này. Chẳng hạn người đó đi theo cung nhãn 2, tức bốc
2 que diêm, để đi đến đỉnh 6 không thuộc nhân N.
Người đi trước phải xuất phát từ đỉnh 6, đi theo cung nhãn 2 ( tức là
bốc 2 que diêm) để đi tới đỉnh 4 thuộc nhân N.
Tiếp theo nếu người đi sau xuất phát từ đỉnh 4 và đi theo một trong

ba cung thuộc đỉnh này. Chẳng hạn người đó đi theo cung nhãn 3, tức bốc
3 que diêm, để đi đến đỉnh 1 không thuộc nhân N.
Người đi trước phải xuất phát từ đỉnh 1, đi theo cung duy nhất nhãn
1 ( tức là bốc 1 que diêm) để đi tới đỉnh 0 thuộc nhân N.
Người đi trước là người bốc que diêm cuối cùng và thắng cuộc.
Cách 2: Giải quyết trò chơi dùng đồng dư.
Ta có 1 = 9 mod 4.
Người đi trước thực hiện thuật toán sau để thắng cuộc:
+ ) Người đi trước bốc 1 que diêm khi đó còn 8 que diêm chia hết cho
4 = 3 + 1.
+ ) Tiếp theo nếu người đi sau bốc t : 1 < t < 3que diêm thì người đi
trước bốc 4 — t que diêm để luôn còn lại số vật chia hết 4.
+ ) Đến lượt người đi sau còn 4 que diêm, người đi sau bốc ít nhất 1 vật
nên số còn lại không ít hơn 1 và không nhỏ hơn 3, người đi trước bốc hết
sẽ là người thắng cuộc.
Ví dụ 2.2. Chẳng hạn n = 9 và k = 2 Có một đống diêm gồm 9 que. Hai
đấu thủ A và B lần lượt bốc diêm theo quy tắc sau đây:
• Người đi đầu xác định bằng gắp thăm.
• Mỗi người đến lượt bốc ít nhất 1 que diêm và không được quả 2 que
diêm.
• Người bốc que diêm cuối cùng là thắng cuộc. Hay ai đến lượt mình mà
không còn diêm để bốc là người thua cuộc.
Xác định thuật toán để người đi trước thắng cuộc.
22
Giải:
Cách 1: Giải quyết trò chơi dùng nhân của đồ thị.
Vì 9 chia hết cho 3 nên không có thuật toán cho người đi đầu thắng
cuộc. Người đi đầu bốc bất kì ta có thuật toán cho người đi sau bốc thắng
cuộc.
Giả sử người đi đầu bốc 1 vật còn lại 8 vật.

Xây dựng đồ thị có hướng G (X ,E ) cho trò chơi như sau:
+)Đỉnh :
• Mỗi đỉnh tương ứng với số lượng vật có thể có.
X = {8;7; ;2;1;0}
• Đỉnh 8 được thừa nhận là đỉnh xuất nên, được đặt trong khuyên tròn
có mũi tên đi vào.
• Các đỉnh 6, 3, 0 được đặt trong các ô chữ nhật.
+ ) Cung:
• Tại mỗi đỉnh x(x ^ 2)có các cung đi tới các đỉnh X — 1; X — 2. Với
các nhãn tương ứng bằng các số 1; 2.
• Đỉnh 1 có các cung duy nhất đi tới các đỉnh 0.
Cung nhãn c xuất phát từ đỉnh a sẽ đi đến đỉnh a — c.
Nhân của đồ thị G là tập:
N = { 0;3;6}
Vì:
• Từng cặp đỉnh thuộc N không có cung nối với nhau;
• Các đỉnh nằm ngoài N đều có cung đi đến một đỉnh thuộc N.
Ta có 8 = 2.3 + 2 .
Người đi sau phải xuất phát từ đỉnh 8, đi theo cung nhãn 2( tức là bốc
2 que diêm) để đi tới đỉnh 6 thuộc nhân N.
23
11 81 2
Hình 2.2: Đồ thị
Tiếp theo nếu người đi trước xuất phát từ đỉnh 6và đi theo một trong
hai cung thuộc đỉnh này. Chẳng hạn người đó đi theo cung nhãn 2, tức bốc
2 que diêm, để đi đến đỉnh 4 không thuộc nhân N.
Người đi sau phải xuất phát từ đỉnh 4, đi theo cung nhãn 1 ( tức là bốc
1 que diêm) để đi tới đỉnh 3 thuộc nhân N.
Tiếp theo nếu người đi trước xuất phát từ đỉnh 3 và đi theo một trong
hai cung thuộc đỉnh này. Chẳng hạn người đó đi theo cung nhãn 1, tức bốc

1 que diêm, để đi đến đỉnh 2 không thuộc nhân N.
Người đi sau phải xuất phát từ đỉnh 2, đi theo cung duy nhất nhãn 2
( tức là bốc 2 que diêm) để đi tới đỉnh 0 thuộc nhân N.
Người đi sau là người bốc que diêm cuối cùng và thắng cuộc.
Cách 2: Giải quyết trò chơi dùng đồng dư.
Ta có 0 = 9 mod 3.
24
Nên không có thuật toán cho người đi đầu thắng cuộc. Người đi đầu
bốc bất kì ta có thuật toán cho người đi sau bốc thắng cuộc.
Giả sử người đi đầu bốc 1 vật còn lại 8 vật.
Người đi sau thực hiện thuật toán sau để thắng cuộc:
Ta có 2 = 8 mod 3.
+ ) Người đi sau bốc 2 vật khi đó còn 6 vật chia hết cho 3.
+ ) Tiếp theo nếu người đi trước bốc t, 1 < t < 2 vật thì người đi trước
sau bốc 3 — t vật để luôn còn lại số vật chia hết cho 3.
+)Người đi trước bốc s, 1 < s < 2 vật. thì người đi sau bốc 3 — s vật để
luôn còn lại số vật chia hết cho 3.
+ ) Cuối cùng còn 3 vật người đi trước bốc ít nhất 1 vật nên số còn lại
không ít hơn 1 và không nhỏ hơn 2, người đi sau bốc hết sẽ là người thắng
cuộc.
Tương tự người đi đầu bốc 2 vật còn lại 7 vật. T cũng có thuật toán để
người đi sau thắng cuộc.
Ví dụ 2.3. Có một đống diêm gồm 17 que. Hai đấu thủ A và B lần lượt
bốc diêm theo quy tắc sau đây:
• Người đi đầu xác định bằng gắp thăm.
• Mỗi người đến lượt bốc ít nhất 1 que diêm và không được quá 4 que
diêm.
• Người bốc que diêm cuối cùng là thắng cuộc. Hay ai đến lượt mình mà
không còn diêm để bốc là người thua cuộc.
Xác định thuật toán để người đi trước thắng cuộc.

Giải:
Xây dựng đồ thị có hướng G (x, E) cho trò chơi như sau:
+)Đỉnh :
• Mỗi đỉnh tương ứng với số lượng vật có thể có.
X — {17; 16; ; 2; 1; 0}
25
• Đỉnh 17 được thừa nhận là đỉnh xuất nên, được đặt trong khuyên
tròn có mũi tên đi vào.
• Các đỉnh 15, 10,5 , 0 được đặt trong các ô chữ nhật.
+ ) Cung:
• Tại mỗi đỉnh x(x ^ 4)có các cung đi tới các đỉnh X — 1]X — 2] X —
3; X — 4. Với các nhãn tương ứng bằng các số 1; 2; 3; 4.
• Đỉnh 3 có các cung nhãn 1 đi tới các đỉnh 2; cung nhãn 2 đi tới các
đỉnh 1; cung nhãn 3 đi tới các đỉnh 0.
• Đỉnh 2 có các cung nhãn 1 đi tới các đỉnh 1; cung nhãn 2 đi tới các
đỉnh 0.
• Đỉnh 1 có các cung duy nhất đi tới các đỉnh 0.
Cung nhãn c xuất phát từ đỉnh a sẽ đi đến đỉnh a — c.
Nhân của đồ thị G là tập:
N — {0; 5; 10; 15}.
Vì:
• Từng cặp đỉnh thuộc N không có cung nối với nhau;
• Các đỉnh nằm ngoài N đều có cung đi đến một đỉnh thuộc N.
Ta có 17 = 5.3 + 2 .
Người đi trước phải xuất phát từ đỉnh 17, đi theo cung nhãn 2 ( tức là
bốc 2 que diêm) để đi tới đỉnh 15 thuộc nhân N.
Tiếp theo nếu người đi sau xuất phát từ đỉnh 15 và đi theo một trong
bốn cung thuộc đỉnh này. Chẳng hạn người đó đi theo cung nhãn 2, tức
bốc 2 que diêm, để đi đến đỉnh 13 không thuộc nhân N.
Người đi trước phải xuất phát từ đỉnh 13, đi theo cung nhãn 3( tức là

bốc 3 que diêm) để đi tới đỉnh 10 thuộc nhân N.
26

×