cuốn sách gpt4 ai đã làm

thuật toán - Chọn ma trận tốt nhất

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 03:27:38 hai mươi bốn 4
mua khóa gpt4 Nike

tôi hiểu Xma trận kích thước Ni*Mi其中 1<=N<=4 và 1<=M<=4, với mọi 1 <= i <= X

Trò chơi bao gồm từ những gì đã cho X Chọn bất kỳ ma trận hình chữ nhật (ma trận con) nào và xóa ma trận con này.

Ví dụ: chúng tôi có 1 kích thước 4x4 Matrix. Người chơi 1 có thể chọn kích thước 4x4 ma trận con (trong trường hợp này là toàn bộ ma trận) và xóa nó. hoặc họ có thể chọn 2x2 ma trận con hoặc 1x1hoặc 2x3hoặc bất kỳ ma trận con hợp lệ nào và chuyển đổi nó từ 4x4 Sau khi xóa ma trận, chúng ta vẫn còn ma trận còn lại trong trò chơi.

Người chơi không thể chơi cờ sẽ thua.

Người chơi nào thắng?

Cầu thủ hai bên đã chơi hết sức mình.

câu trả lời hay nhất

Câu hỏi này đã được phê duyệt Định lý Sprague Grundy Đã giải quyết, điều này có nghĩa là khi bạn XOR các số của ma trận tương ứng, người chơi đang di chuyển sẽ chỉ thua nếu kết quả là 0 (vì bất kỳ nước đi nào cũng sẽ biến vị trí thua thành vị trí thắng và khi đó người chơi khác có thể Biến một thế thắng sang thế thua khác, v.v. là bản chất của trò chơi nim).

Các số được tính toán đệ quy và các số của ma trận là mex của số của tất cả các trạng thái có thể truy cập (loại trừ tối thiểu = số nguyên không âm nhỏ nhất không tồn tại trong tập hợp).

Tất cả số 0 đều bằng 0, bạn không có nước đi hợp lệ nên bạn thua (0).

Chính xác 1 là 1 vì vị trí duy nhất có thể tiếp cận là 0 và mex(0) = 1.

Đối với hai, chúng ta cần xác định xem chúng có liền kề nhau không, liền kề = mex(0, 1) = 2, không liền kề = mex(1) = 0..., v.v.

例子:

1 0 0 0 1 1 0 1 1
0 0 1 1 0 0 0 1 1
0 0 1 0 0 0 1
0 0 0 0
= = =
2 xor 3 xor 1 = 0 => người chơi đi nước đi sẽ thua.

Việc triển khai nhanh chóng có thể trông như thế này:

  1. Tính toán trước các số cho 16 (10 tình huống đối xứng) khác nhau này và lưu trữ chúng trong một mảng.

  2. Kết quả bài tập=0

  3. result = kết quả xor nimbers[readRowCount()][readColCount()]

  4. Lặp lại 3. cho đến khi tất cả các kích thước ma trận được đọc

  5. Nếu kết quả != 0 thì người chơi thứ nhất thắng, ngược lại người chơi thứ hai thắng

Ví dụ 2: Tính số

ma trận:
1 1
1 1

di chuyển hợp lệ:
0 1*1 0* 1 1*1 1* 0 0 1 1+ 0 0+ 1 0+ 0 1+
1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 1
=
0 theo định nghĩa

Các ma trận còn lại có thể nhóm thành 2 nhóm * và + vì tính đối xứng.

Các vị trí có thể tiếp cận từ *:
0 1 0 1 0 0
0 1 1 0 0 1
= = =
1 = mex(0), vì vị trí duy nhất có thể tiếp cận có nimber là 0
0 = mex(1), vì vị trí duy nhất có thể tiếp cận có nimber là 1
2 = mex(0,1), vì các vị trí có thể tiếp cận có nimbers là 0 và 1

==> nimber cho * là mex(0, 1, 2) = 3.

==> bây giờ chúng ta đã biết rằng số nimber của + là 2.

==> nimber của ma trận đã cho là mex(0, 2, 3) = 1.

Về thuật toán - chọn ma trận tốt nhất, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/42623214/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress