Điều gì sẽ là elo của một chương trình máy tính chơi ngẫu nhiên?


11

Điều gì sẽ là Elo của một chương trình máy tính chơi di chuyển ngẫu nhiên?

Để đơn giản, giả sử rằng anh ta không bao giờ yêu cầu rút thăm hoặc từ chức và không bao giờ chấp nhận đề nghị rút thăm.


Tưởng tượng tất cả các mảnh trên bảng và bạn tấn công nữ hoàng của máy tính. Nó có cơ hội 1 trong 16 di chuyển nữ hoàng và có thể là cơ hội mỏng manh để phòng thủ với một quân cờ khác.
ZL1Corvette

4
Tôi thấy khó mà tưởng tượng bất kỳ người chơi nào chơi tệ hơn ngẫu nhiên.
Dag Oskar Madsen

Tôi thà làm điều đó một cách khoa học
MikhailTal

Đối với lớp AI của tôi, chúng tôi đã tạo ra một Tướng AI. Giai đoạn đầu tiên của nhiệm vụ là di chuyển hợp lệ ngẫu nhiên. Khi những AI này chiến đấu, nó chủ yếu kết thúc bằng trận hòa. Một AI tham lam tấn công mảnh có giá trị nhất nếu có thể, nếu không thì ngẫu nhiên đánh bại AI ngẫu nhiên mỗi lần.
Harrichael

Câu trả lời:


13

Ngay dưới cùng của Danh sách xếp hạng cờ vua máy tính cho điều khiển thời gian 40/4 là Brutus RND, một công cụ chỉ đơn giản là chọn các bước di chuyển hợp pháp ngẫu nhiên.

http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&each_game=1&eng=Brutus%20RND#Brutus_RND

Nó có xếp hạng 205 (tính đến ngày 6 tháng 6 năm 2018). Tất nhiên đây không phải là xếp hạng FIDE, nhưng nó đang sử dụng hệ thống Elo.

Nó có 0 trận thắng, thua 242 và hòa 64 trận. Việc rút thăm là do các chương trình bị lỗi vô tình gây ra sự rút thăm bởi sự lặp lại hoặc đôi khi bị bế tắc, mặc dù chúng thường có lợi thế đáng kể về vật chất khi điều này xảy ra.

FIDE có mức xếp hạng 1000. Brutus RND đơn giản là không thể thiết lập mức xếp hạng cao và sẽ không được đánh giá.

Nếu chúng tôi bỏ qua sàn xếp hạng FIDE, có thể có xếp hạng tiêu cực theo hệ thống Elo.

Một điểm cần đề cập là FIDE sử dụng bảng để tính toán thay đổi xếp hạng và nếu chênh lệch xếp hạng lớn hơn 735, sẽ không có thay đổi nào xảy ra khi người chơi mạnh hơn thắng. Điều này có nghĩa là Brutus không bao giờ có thể có mức -5000 hoặc bất cứ thứ gì tương tự bởi vì nó sẽ cần mất điểm cho những người chơi bất tài ngoạn mục không có khả năng cung cấp cho người chơi.

https://www.fide.com/component/handbook/?view=article&id=197

Chúng tôi đang đoán ở đây. 1000 người chơi được xếp hạng Elo sẽ có thể hạ xếp hạng của Brutus xuống còn 265, nhưng vì không có người chơi nào có xếp hạng tệ hơn, chúng tôi không thể nói chính xác họ có thể đẩy xếp hạng của Brutus xuống bao xa nếu họ tồn tại.

Tôi đoán rằng những người chơi từ 500 Elo trở xuống sẽ gặp khó khăn trong việc cung cấp người bạn đời một cách nhất quán, giống như các chương trình bị lỗi. Vẽ bằng cách lặp lại 3 lần hoặc quy tắc di chuyển 50 không tự động theo quy tắc FIDE và sẽ chỉ xảy ra nếu Brutus yêu cầu chúng. Nhưng một con người có thể mất bằng cách hết thời gian, cũng như vẽ bế tắc do vô tình.

Vì vậy, tôi đoán ở đâu đó trong phạm vi -200 đến 200 nếu FIDE cho phép xếp hạng dưới 1000 và cho phép Brutus cạnh tranh.


Âm thanh cao. Tôi đã đoán gần 100 nếu các động tác thực sự ngẫu nhiên.
edwina oliver

6

Vấn đề với cách chơi ngẫu nhiên là trên một vị trí cờ trung bình có nhiều bước di chuyển (từ 20 trong phần mở đầu đến dễ dàng 50 hoặc nhiều hơn trong các trò chơi phức tạp), nhưng chỉ một số ít được chấp nhận. Di chuyển ngẫu nhiên sẽ dẫn đến tổng số sàn nhảy ngay từ đầu trò chơi. Hơn nữa, việc bắt những mảnh ít giá trị sẽ rất phổ biến, đặc biệt là ở giữa trận đấu. Điều này cho biết, ngay cả khi chống lại sự chống đối cực kỳ yếu, về lâu dài, máy tính sẽ sai lầm: hàng tấn nguyên liệu sẽ được giao dịch và có thể không có nhiều lợi ích cho máy tính, chắc chắn máy tính sẽ không được phát triển, vua của ông sẽ không an toàn và thậm chí có thể không được đúc ...

Vì vậy, nhiều điều tồi tệ chồng chất, và cực kỳ nhanh chóng, sẽ dẫn đến một thất bại chắc chắn cho máy. Elo của anh ta có thể sẽ là 0 FIDE.


2
Sẽ rất khó để thua trước một động cơ như vậy! Ngay cả khi bạn MUỐN được kiểm tra, nó có thể tồn tại vĩnh viễn cho đến khi động cơ quản lý nó. Cách thực tế duy nhất để một công cụ ngẫu nhiên giành chiến thắng là nếu đối thủ từ chức.
Peter

Nếu bạn biết thậm chí chỉ một chút về trò chơi, tôi hoàn toàn đồng ý. Nhưng nếu bạn chỉ biết cách di chuyển các quân cờ, thậm chí không phải giá trị của chúng, hay bất kỳ chiến lược nào ... Chà, thì con người và máy tính đang chơi với nhau ít nhiều bằng nhau.
Pablo S. Ocal

Tôi nghĩ ngay cả một người mới chỉ học các quy tắc ngày hôm nay sẽ chơi tốt hơn ngẫu nhiên. Người mới có thể sử dụng một heuristic như "hãy bắt các mảnh", hoạt động tuyệt vời với động cơ ngẫu nhiên, bởi vì bạn có thể chụp bất kỳ mảnh nào, ngay cả khi nó được bảo vệ, hoặc đơn giản là để các mảnh của bạn bị treo và động cơ rất khó có thể chụp vì nó có rất nhiều động thái vô dụng khác để lựa chọn. Cuối cùng, khó khăn duy nhất có thể có đối với người mới là tìm ra cách giao phối, nhưng nó không quá khó với lợi thế vật chất có thể có.
vào

Không, không khó để thua một người chơi ngẫu nhiên nếu bạn muốn thua. Bạn có thể dùng thử với ứng dụng Play Magnus được đặt thành 5 tuổi. Bạn chỉ cần buộc một tình huống mà di chuyển hợp pháp duy nhất nó có thể thực hiện là giao hàng cho người kiểm tra. Cách dễ nhất để làm điều này là bắt tất cả các mảnh của nó trừ 1 con tốt, bẫy vua của nó để nó chỉ có thể tiến lên cầm đồ, để vua của bạn ở hạng đầu tiên và sắp xếp các quân khác của bạn để chặn vua của bạn trốn thoát khi con tốt thúc đẩy và gọi kiểm tra. Điều này hoạt động nếu nó quảng bá cho nữ hoàng hoặc tân binh, vì vậy bạn có 50% cơ hội thua cuộc (hoặc 100% nếu nó không bao giờ quảng cáo dưới mức).
Silas S. Brown

5

Chơi ngẫu nhiên thực sự là tồi tệ hơn nhiều so với bạn có thể nghĩ. Sàn tuyệt đối của USCF là 100 và chương trình này sẽ không bao giờ tăng lên trên mức đó.


1

Tôi không chắc cách xếp hạng của Go so với cờ vua, nhưng chơi ngẫu nhiên là khoảng -3500 ở đó . Vì hệ số phân nhánh cho cờ vua thấp hơn nên tôi hy vọng elo người chơi ngẫu nhiên sẽ cao hơn, có thể ở khoảng -2000 đến -500.


1
Như đã lưu ý trong câu trả lời tại Chess.stackexchange.com/a/6509/9025 , sàn xếp hạng USCF là 100, vì vậy không thể có xếp hạng tiêu cực.
Herb Wolfe

Chỉ là một quan điểm khác nhau về câu hỏi. Nó không chỉ định sử dụng hệ thống xếp hạng nào và elo thống kê không có "giới hạn dưới".
Akababa

1

Tồi tệ hơn một người mới bắt đầu tuyệt đối, người hầu như không biết luật chơi, bởi vì ít nhất người mới bắt đầu nghĩ một chút về việc chọn di chuyển. Động thái của họ có thể vẫn chủ yếu là ngẫu nhiên, nhưng ít nhất có một số đánh giá về các vị trí đang diễn ra.

Vì vậy, xếp hạng của động cơ này sẽ ở mức thấp nhất có thể trong bất kỳ hệ thống xếp hạng nào bạn chọn. Cuối cùng, nó có thể giành chiến thắng hoặc hòa một trận đấu với một đối thủ không kém, và sau đó tăng thêm một vài điểm. Tuy nhiên, bạn có thể mong đợi xếp hạng của động cơ sẽ nhanh chóng quay trở lại tầng tối thiểu sau đó.

Trong "Lập trình máy tính để chơi cờ" của Shannon, ông lưu ý rằng xác suất chơi ngẫu nhiên đánh bại Botvinnik là theo thứ tự 10 ^ -75. Do đó, nếu máy tính ngẫu nhiên này chơi Botvinnik (hoặc thậm chí là một bậc thầy thông thường) không ngừng nghỉ trong suốt cuộc đời của con người, chúng ta có thể mong đợi một cách hợp lý rằng nó sẽ không bao giờ chiến thắng.

Tuy nhiên, Shannon tiếp tục nói rằng chơi ngẫu nhiên không phải là chiến lược tồi tệ nhất; chiến lược tồi tệ nhất là cố tình chơi các động tác hỗ trợ đối thủ. Mặc dù có thể một người mới bắt đầu hoàn thành có thể làm điều này, nhưng rất có thể họ sẽ cố gắng chơi các động tác cải thiện vị trí của chính họ.


0

Một câu trả lời rất tốt sẽ là làm điều này:

Sử dụng numpy, một công cụ trò chơi rất yếu, 1500 ELO hoặc hơn, và đính kèm một kịch bản python vào nó. Có nhiều thư viện cung cấp cho bạn các bước di chuyển có thể ở một vị trí, vì vậy chúng tôi có thể chọn một cách ngẫu nhiên. Tôi sẽ đăng kết quả sau.

http://creative-co.de/random_chess/

Bạn cũng nên kiểm tra điều này.


3
Numpy là một thư viện toán học khoa học, không phải là một công cụ cờ vua.
Svineet

Nó cũng là một cỗ máy cờ vua
MikhailTal

2
chess.stackexchange.com/questions/6034/... Nó dường như được gọi là numpty
MikhailTal

1
@MikhailTal: Có lý do gì bạn không chỉnh sửa câu trả lời này để sửa tên?
GreenMatt

2
@SmallChess: Tên tương tự , nhưng không giống nhau.
GreenMatt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.