Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Machine Translated by Google

Nhân bản – Phụng sự – Khai phóng

Tìm kiếm đối nghịch


Trí tuệ nhân tạo
Machine Translated by Google

NỘI DUNG

• Trò chơi đối kháng

• Quyết định tối ưu trong trò chơi

• Trò chơi tỉa cây

2
Machine Translated by Google

NỘI DUNG

•Trò chơi đối kháng

• Quyết định tối ưu trong trò chơi

• Trò chơi tỉa cây

3
Machine Translated by Google

Trò chơi đối kháng

• Nhiều loại trò chơi khác nhau!

• Một, hai hay nhiều người chơi?

• Tổng bằng 0?

• Tất định hay ngẫu nhiên?

• Thông tin hoàn hảo (bạn có thể xem trạng thái)?

4
Machine Translated by Google

…Trò chơi đối kháng

• Trò chơi tổng hợp • Trò chơi có tổng bằng 0

• Đại lý có tiện ích độc lập • Đại lý có tiện ích trái ngược
• Hợp tác, thờ ơ, cạnh tranh, v.v. đều có thể xảy ra • Chúng ta hãy nghĩ về một giá trị duy nhất mà

giá trị này cực đại hóa và giá trị kia

• Chúng tôi không tạo ra AI để hoạt động biệt lập, nó phải a) làm việc giảm thiểu
xung quanh con người và b) giúp đỡ con người
• Cạnh tranh mang tính đối kháng, thuần túy
• Điều đó có nghĩa là mỗi tác nhân AI cần phải giải một trò chơi
Machine Translated by Google

…Trò chơi đối kháng

Trò chơi có tổng bằng 0

• 1950-Cờ đam: Máy chơi cờ đam đầu tiên.

1994: Nhà vô địch máy tính đầu tiên: Chinook kết thúc 40-

năm trị vì của nhà vô địch loài người. Marion Tinsley sử dụng trò

chơi kết thúc gồm 8 mảnh hoàn chỉnh. 2007: Cờ đam đã được giải quyết!

• Cờ vua 1997: Deep Blue đánh bại nhà vô địch loài người Gary

Kasparov trong một trận đấu kéo dài sáu ván. Deep Blue kiểm

tra 200 triệu vị trí mỗi giây, sử dụng các phương pháp đánh

giá rất phức tạp và chưa được tiết lộ để mở rộng một số dòng tìm

kiếm lên tới 40 lớp.

Các chương trình hiện tại thậm chí còn tốt hơn, nếu ít mang tính lịch sử hơn.

6
Machine Translated by Google

…Trò chơi đối kháng

Trò chơi có tổng bằng 0

• Đi: Các nhà vô địch loài người hiện đang bắt đầu

bị thách thức bởi máy móc, mặc dù con người


giỏi nhất vẫn đánh bại những cỗ máy giỏi nhất.

• 2016-Alpha GO đánh bại nhà vô địch


loài người. Sử dụng Tìm kiếm cây Monte Carlo,
chức năng đánh giá đã học.

• Pac-Man

7
Machine Translated by Google

NỘI DUNG

• Trò chơi đối kháng

•Quyết định tối ưu trong trò chơi

• Trò chơi tỉa cây

số 8
Machine Translated by Google

Quyết định tối ưu trong trò chơi

Chiến lược tìm kiếm đối tượng

9
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây tìm kiếm trò chơi TicTacToe

10
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

https://education.jlab.org/nim/s_gamepage.html
https://www.goobix.com/games/tic-tac-toe/

11
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

12
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

13
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Thuậtán MinMax

MinMax value

14
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây trò chơi đối kháng

-20 -8 … -18 -5 … -10 +4 -20 +8

15
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Giá trị tối thiểu

Các quốc gia dưới sự kiểm soát của đại lý:


Các quốc gia dưới sự kiểm soát của đối thủ:

-số 8 -5 -10 +8

Trạng thái đầu cuối:

16
Machine Translated by Google

…Trò chơi đối kháng

3 2 2

3 12 số 8 2 4 6 14 5 2

17
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây trò chơi Tic-Tac-Toe

18
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây trò chơi Tic-Tac-Toe

19
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây trò chơi Tic-Tac-Toe

20
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Cây trò chơi Tic-Tac-Toe

21
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Tìm kiếm tối thiểu

Giá trị tối thiểu:


• Trò chơi xác định có tổng bằng 0:
tính toán đệ quy
• Tic-tac-toe, cờ vua, cờ đam

• Một người chơi tối đa hóa kết quả 5 tối đa

• Cách khác giảm thiểu kết quả

2 5 phút
• Tìm kiếm tối thiểu:

• Cây tìm kiếm trong không gian trạng thái

• Người chơi luân phiên nhau


số 8 2 5 6
• Tính toán giá trị tối đa của mỗi nút: tiện ích

tốt nhất có thể đạt được trước một đối thủ


Giá trị đầu cuối:
hợp lý (tối ưu)
một phần của trò chơi

22
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Triển khai Minimax (Công văn)

giá trị def (trạng

thái): nếu trạng thái là trạng thái cuối: trả về tiện ích của trạng thái

nếu tác nhân tiếp theo là MAX: trả về giá trị lớn nhất (trạng

thái) nếu tác nhân tiếp theo là MIN: trả về giá trị tối thiểu (trạng thái)

def max-value(state): def min-value(state):


khởi tạo v = -∞ khởi tạo v = +∞

cho mỗi trạng thái kế tiếp: cho mỗi trạng thái kế tiếp:

v = max(v, value(kế thừa)) v = min(v, value(kế thừa))


trở lại v trở lại v

24
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Thuật toán tìm kiếm Minimax

Một thuật toán để tính toán nước


đi tối ưu bằng cách sử dụng minimax
— nước đi dẫn đến trạng thái cuối
cùng có lợi ích tối đa, với giả
định rằng đối thủ chơi để giảm
thiểu lợi ích.

Các hàm MAX-VALUE và MIN-VALUE


đi xuyên suốt toàn bộ cây trò chơi,
cho đến các lá, để xác định
giá trị dự phòng của một trạng
thái và hành động đi đến đó.

25
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

• Tiêu chuẩn Minimax

Điền giá trị của từng nút vào cây Minimax sau đây và chuỗi hành động
tương ứng với trò chơi Minimax.

26
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

• Tiêu chuẩn Minimax

Điền giá trị của từng nút vào cây Minimax sau đây và chuỗi hành động
tương ứng với trò chơi Minimax.

27
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Thuộc tính tối thiểu

tối đa

phút

10 10 9 100

Tối ưu chống lại một người chơi hoàn hảo.

28
Machine Translated by Google

…Quyết định tối ưu trong trò chơi

Hiệu suất tối thiểu

• Minimax hiệu quả như thế nào?

• Giống như (đầy đủ) DFS • Thời

gian: O(b m) •

Không gian: O(bm)

• Ví dụ: Trong cờ vua, b 35, m 100

• Giải pháp chính xác là hoàn toàn không khả thi

• Nhưng liệu chúng ta có cần khám phá toàn bộ


cây?

29
Machine Translated by Google

NỘI DUNG

• Trò chơi đối kháng

• Quyết định tối ưu trong trò chơi

•Trò chơi cắt tỉa cây

30
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

• Cắt Alpha-beta:
• Giúp loại bỏ những trạng thái không cần thiết
và hỗ trợ tìm kiếm thuật toán tối ưu Minimax

31
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

32
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

33
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

34
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

35
Machine Translated by Google

Trò chơi tỉa cây

Ví dụ về Minimax

3 <=2 2

3 12 số 8 2 14 5 2

36
Machine Translated by Google

…Trò chơi tỉa cây

Cắt tỉa Alpha-Beta

• Cấu hình chung (phiên bản MIN)

• Chúng ta đang tính MIN-VALUE tại một số nút n

TỐI ĐA
• Chúng ta đang lặp qua các phần tử con

của n • Ước tính của n về min của các phần tử con đang giảm xuống
Một

• Ai quan tâm đến giá trị của n? TỐI ĐA PHÚT

• Gọi a là giá trị tốt nhất mà MAX có thể nhận được ở bất kỳ lựa chọn nào

điểm dọc theo đường dẫn hiện tại từ gốc

• Nếu n tệ hơn a, MAX sẽ tránh nó, nên chúng ta có thể ngừng xem
TỐI ĐA
xét những đứa con khác của n (nó đã tệ đến mức không còn

chơi nữa) N
PHÚT
• Phiên bản MAX có tính đối xứng

37
Machine Translated by Google

…Trò chơi tỉa cây

Triển khai Alpha-Beta

α: Tùy chọn tốt nhất của MAX trên đường dẫn tới root

β: Tùy chọn tốt nhất của MIN trên đường dẫn đến root

def giá trị tối đa(trạng thái, α, def min-value(state , α, β):


β): khởi tạo v = -∞ khởi tạo v = +∞

đối với mỗi trạng thái kế tiếp: đối với mỗi trạng thái kế tiếp:

v = max(v, value(kế tiếp, α, β)) if v v = min(v, value(kế tiếp, α, β)) if

≥ β return v α = v ≤ α return v β

max(α, v) = min(β, v)
trở lại v return v

38
Machine Translated by Google

…Trò chơi tỉa cây

Thuật toán tìm kiếm


Alpha-Beta

39
Machine Translated by Google

…Trò chơi tỉa cây

Thuộc tính cắt tỉa Alpha-Beta

• Việc cắt tỉa này không ảnh hưởng đến giá trị cực tiểu được tính cho gốc! • Giá

trị của các nút trung gian có thể sai

• Quan trọng: các phần tử con của gốc có thể có giá trị sai • Vì vậy,
tối đa

phiên bản ngây thơ nhất sẽ không cho phép bạn thực hiện lựa chọn hành động

• Thứ tự con tốt cải thiện hiệu quả của việc cắt tỉa • Với “thứ tự
phút
hoàn hảo”: • Độ phức tạp về

thời gian giảm xuống O(bm/2) • Tăng

gấp đôi độ sâu có thể giải

được! • Tìm kiếm đầy đủ, ví dụ như cờ vua, vẫn vô vọng…


10 0
• Đây là một ví dụ đơn giản về siêu lý luận (tính toán những gì cần tính toán) 10

40
Machine Translated by Google

…Trò chơi tỉa cây

Bài kiểm tra Alpha-Beta

41
Machine Translated by Google

…Trò chơi tỉa cây

Bài kiểm tra Alpha-Beta

10
<=2

>=10 2
10
0

42
Machine Translated by Google

BẢN TÓM TẮT

• Trò chơi đối kháng

• Quyết định tối ưu trong trò chơi

• Trò chơi tỉa cây

Trí tuệ nhân tạo 43


Machine Translated by Google

Nhân bản – Phụng sự – Khai phóng

Hãy tận hưởng khóa học…!

Trí tuệ nhân tạo 44

You might also like