อะไรคือ elo ของโปรแกรมคอมพิวเตอร์ที่เล่นแบบสุ่ม?


11

Elo ของโปรแกรมคอมพิวเตอร์ที่เล่นแบบสุ่มจะเป็นอย่างไร

เพื่อความเรียบง่ายสมมติว่าเขาไม่เคยขอให้เสมอหรือลาออกและไม่รับข้อเสนอการจับสลาก


ลองนึกภาพชิ้นส่วนทั้งหมดบนกระดานและคุณโจมตีราชินีคอมพิวเตอร์ มันมีโอกาส 1 ใน 16 ที่จะเคลื่อนไหวราชินีและอาจมีโอกาสน้อยที่จะได้รับการป้องกันด้วยชิ้นส่วนอื่น
ZL1Corvette

4
ฉันคิดว่ามันยากที่จะจินตนาการว่าผู้เล่นคนใดเล่นได้แย่กว่าการสุ่ม
Dag Oskar Madsen

ฉันอยากจะทำมันทางวิทยาศาสตร์
MikhailTal

สำหรับคลาส AI ของฉันเราต้องสร้าง Chess AI ขั้นตอนแรกของการมอบหมายเป็นการย้ายที่ถูกต้องแบบสุ่ม เมื่อ AIs ต่อสู้เหล่านี้มันจบลงด้วยการดึง AI โลภที่โจมตีชิ้นที่มีค่ามากที่สุดถ้าทำได้มิฉะนั้นสุ่มจะเอาชนะ AI สุ่มทุกครั้ง
Harrichael

คำตอบ:


13

ที่ด้านล่างสุดของรายชื่อการจัดอันดับหมากรุกคอมพิวเตอร์สำหรับการควบคุมเวลา 40/4 คือ Brutus RND เครื่องมือที่เลือกการเคลื่อนไหวทางกฎหมายแบบสุ่ม

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

มันมีการจัดอันดับที่ 205 (ณ 6/6/2018) นี่ไม่ใช่การให้คะแนนโดยสุจริต แต่ใช้ระบบ Elo

มันชนะ 0, 242 ขาดทุนและ 64 เสมอ การจับฉลากเกิดจากโปรแกรมผิดพลาดที่ทำให้เกิดการดึงซ้ำโดยบังเอิญหรือเป็นครั้งคราวจนมุมแม้ว่าพวกเขามักจะมีข้อได้เปรียบที่สำคัญเมื่อเกิดเหตุการณ์นี้

สุจริตมีระดับการให้คะแนน 1,000 Brutus RND ก็จะล้มเหลวในการสร้างการจัดอันดับที่สูงและจะไม่มีการจัดอันดับ

หากเราเพิกเฉยชั้นเรตติ้งโดยสุจริตก็เป็นไปได้ที่จะมีเรตติ้งติดลบภายใต้ระบบ Elo

สิ่งหนึ่งที่พูดถึงคือ FIDE ใช้ตารางเพื่อคำนวณการเปลี่ยนแปลงการจัดอันดับและหากความแตกต่างของการจัดอันดับมากกว่า 735 จะไม่มีการเปลี่ยนแปลงเกิดขึ้นเมื่อผู้เล่นที่แข็งแกร่งชนะ นั่นหมายความว่าบรูตัสไม่เคยมีคะแนน -5000 หรืออะไรทำนองนั้นเพราะมันจะต้องเสียคะแนนให้กับผู้เล่นที่ไร้ความสามารถที่น่าทึ่งซึ่งจะไม่สามารถส่งผู้รุกฆาตได้

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

เราคาดเดาได้ที่นี่ ผู้เล่น 1,000 คนที่ได้รับคะแนน Elo จะสามารถรับการจัดอันดับของ Brutus ได้ที่ 265 แต่เนื่องจากไม่มีผู้เล่นที่มีอันดับแย่กว่าเราจึงไม่สามารถบอกได้เลยว่าพวกเขาจะสามารถลดอันดับของ Brutus ลงได้อีกหากพวกเขามีอยู่จริง

ฉันเดาว่าผู้เล่นที่มี 500 Elo หรือแย่กว่านั้นจะมีปัญหาในการส่งเพื่อนอย่างสม่ำเสมอเช่นเดียวกับโปรแกรมที่ผิดพลาด วาดโดยการทำซ้ำ 3 เท่าหรือกฎการย้าย 50 ครั้งไม่ได้เป็นไปโดยอัตโนมัติภายใต้กฎ FIDE และจะเกิดขึ้นก็ต่อเมื่อ Brutus อ้างสิทธิ์พวกเขา แต่มนุษย์อาจสูญเสียไปเมื่อเวลาผ่านไปนานพอ ๆ กับการวาดโดยไม่ตั้งใจ

ดังนั้นฉันคาดเดาบางแห่งในช่วง -200 ถึง 200 ถ้า FIDE อนุญาตให้มีการให้คะแนนต่ำกว่า 1,000 และอนุญาตให้ Brutus แข่งขันได้


ฟังดูสูง ฉันจะเดาได้ใกล้ 100 ถ้าการเคลื่อนไหวเป็นแบบสุ่มอย่างแท้จริง
edwina oliver

6

ปัญหาเกี่ยวกับการเล่นแบบสุ่มคือในตำแหน่งหมากรุกโดยเฉลี่ยมีการเคลื่อนไหวมากมาย (จาก 20 ในการเปิดไปสู่ ​​endgames ที่ซับซ้อน 50 เกมหรือมากกว่านั้น) แต่มีเพียงไม่กี่คนเท่านั้นที่ยอมรับได้ การเคลื่อนไหวแบบสุ่มจะส่งผลให้เกิดการไม่ประสานกันอย่างสมบูรณ์ตั้งแต่เริ่มต้นเกม ยิ่งกว่านั้นการจับชิ้นส่วนที่มีค่าน้อยจะเป็นเรื่องธรรมดามากโดยเฉพาะในเกมกลาง สิ่งนี้กล่าวว่าแม้จะมีการต่อต้านที่อ่อนแอมากคอมพิวเตอร์ก็จะทำผิดพลาดในระยะยาว: มีการซื้อขายวัตถุดิบจำนวนมากและอาจไม่ดีสำหรับคอมพิวเตอร์มากนักคอมพิวเตอร์จะไม่ได้รับการพัฒนาอย่างไม่ต้องสงสัยราชาของเขาจะไม่ปลอดภัยและ อาจไม่ได้ถูกปราสาท ...

สิ่งเลวร้ายมากมายที่ซ้อนกันและเร็วมากจะส่งผลให้เกิดความพ่ายแพ้อย่างแน่นอนสำหรับเครื่องจักร Elo ของเขาอาจจะเป็น 0 สุจริต


2
มันคงเป็นเรื่องยากที่จะสูญเสียเครื่องยนต์เช่นนี้ แม้ว่าคุณต้องการตรวจสอบมันอาจใช้เวลาชั่วนิรันดร์จนกว่าเครื่องยนต์จะจัดการ วิธีเดียวที่สมจริงในการสุ่มกลไกที่จะชนะคือถ้าฝ่ายตรงข้ามลาออก
ปีเตอร์

หากคุณรู้เพียงเล็กน้อยเกี่ยวกับเกมฉันเห็นด้วยอย่างสมบูรณ์ แต่ถ้าคุณเพิ่งรู้วิธีเคลื่อนย้ายชิ้นส่วนไม่ใช่คุณค่าหรือกลยุทธ์ใด ๆ ... เอาล่ะแล้วมนุษย์กับคอมพิวเตอร์กำลังเล่นกันในเทอมที่เท่าเทียมกันมากขึ้นหรือน้อยลง
Pablo S. Ocal

ฉันคิดว่าแม้แต่สามเณรที่เพิ่งเรียนรู้กฎวันนี้จะเล่นได้ดีกว่าการสุ่ม สามเณรอาจใช้ฮิวริสติกเช่น "Let's capture pieces" ซึ่งใช้งานได้ดีกับเครื่องยนต์แบบสุ่มเพราะคุณสามารถจับชิ้นส่วนใด ๆ แม้ว่ามันจะได้รับการปกป้องหรือปล่อยชิ้นส่วนของคุณไว้และเครื่องยนต์ก็ไม่ค่อยน่าจับ เนื่องจากมีการเคลื่อนไหวที่ไร้ประโยชน์มากมายให้เลือก ในที่สุดความยากลำบากที่เป็นไปได้เพียงอย่างเดียวสำหรับมือใหม่ก็คือการหาวิธีการผสมพันธุ์
itub

ไม่มันไม่ใช่เรื่องยากที่จะสูญเสียผู้เล่นที่สุ่มถ้าคุณต้องการที่จะสูญเสีย คุณสามารถลองใช้งานได้โดยตั้งค่าแอป Play Magnus เป็น 5 ปี คุณเพียงแค่ต้องบังคับสถานการณ์ที่การเคลื่อนไหวทางกฎหมายเพียงอย่างเดียวที่สามารถทำได้คือการส่งมอบรุกฆาต วิธีที่ง่ายที่สุดในการทำเช่นนี้คือจับชิ้นส่วนทั้งหมดยกเว้น 1 จำนำวางกับดักกษัตริย์เพื่อให้สามารถเลื่อนจำนำออกจากราชาของคุณในอันดับแรกและจัดเรียงชิ้นอื่น ๆ ของคุณเพื่อป้องกันราชาของคุณจากการหลบหนีเมื่อจำนำส่งเสริมและโทร ตรวจสอบ วิธีนี้ใช้ได้ผลถ้ามันส่งเสริมราชินีหรือโกงดังนั้นคุณมีโอกาส 50% ที่จะแพ้ (หรือ 100% ถ้ามันไม่เคยโปรโมต)
สิลาส S. บราวน์

5

การเล่นแบบสุ่มที่แท้จริงนั้นแย่กว่าที่คุณคิด ชั้นสัมบูรณ์ USCF คือ 100 และโปรแกรมนี้จะไม่สูงไปกว่านั้น


1

ผมไม่แน่ใจว่าวิธีการจัดอันดับไปเปรียบเทียบกับหมากรุก แต่เล่นแบบสุ่มเป็นเรื่องเกี่ยวกับ -3500 มี เนื่องจากปัจจัยการแยกตัวของหมากรุกต่ำกว่าฉันคาดหวังว่าผู้เล่นอีโลแบบสุ่มจะสูงกว่าอาจอยู่ระหว่าง -2000 ถึง -500


1
ดังที่ระบุไว้ในคำตอบที่chess.stackexchange.com/a/6509/9025ระดับการให้คะแนนของ USCF คือ 100 ดังนั้นจึงเป็นไปไม่ได้ที่จะมีการจัดอันดับติดลบ
สมุนไพร Wolfe

เพียงมุมมองที่แตกต่างกับคำถาม ไม่ได้ระบุระบบการให้คะแนนที่จะใช้และ elo เชิงสถิติไม่มี "ขอบเขตล่าง"
Akababa

1

เลวร้ายยิ่งกว่าแน่นอนเริ่มที่แทบจะรู้กฎของเกมเพราะอย่างน้อยการเริ่มต้นที่จะทำให้บางคนคิดเข้าสู่การเลือกย้าย การเคลื่อนไหวของพวกเขาอาจจะยังคงสุ่มเป็นส่วนใหญ่ แต่อย่างน้อยก็มีการประเมินตำแหน่งที่เกิดขึ้น

ดังนั้นการจัดอันดับของเครื่องยนต์นี้จะอยู่ที่ชั้นล่างสุดของระบบการให้คะแนนที่คุณเลือก ในที่สุดมันอาจจะชนะหรือวาดเกมกับคู่ต่อสู้ที่ไม่เท่าเทียมกันและเพิ่มขึ้นอีกสองสามคะแนน อย่างไรก็ตามคุณสามารถคาดหวังว่าเครื่องยนต์จะจมลงสู่พื้นอย่างรวดเร็วในภายหลัง

"การเขียนโปรแกรมคอมพิวเตอร์เพื่อเล่นหมากรุก" ในแชนนอนเขาตั้งข้อสังเกตว่าความน่าจะเป็นของการเล่นแบบสุ่มเต้นบอทวินนิคนั้นมีค่า 10 ถึง -75 ดังนั้นหากคอมพิวเตอร์แบบสุ่มนี้เล่นบอทวินนิก (หรือแม้แต่นายปรมาจารย์ประจำ) ไม่หยุดยั้งสำหรับชีวิตมนุษย์เราสามารถคาดหวังได้ว่าจะไม่มีวันชนะ

อย่างไรก็ตามแชนนอนกล่าวต่อไปว่าการเล่นแบบสุ่มไม่ใช่กลยุทธ์ที่แย่ที่สุด กลยุทธ์ที่เลวร้ายที่สุดคือจงใจเล่นท่าที่ช่วยเหลือคู่ต่อสู้ ในขณะที่เป็นไปได้ผู้เริ่มต้นที่สมบูรณ์สามารถทำเช่นนี้ได้โอกาสที่พวกเขาจะลองเล่นท่าที่ปรับปรุงตำแหน่งของตนเอง


0

คำตอบที่ดีมากคือทำสิ่งนี้:

ใช้ numpy เอ็นจิ้นเกมที่อ่อนแอมาก ๆ 1500 ELO หรือมากกว่านั้นและแนบสคริปต์ไพ ธ อน มีห้องสมุดมากมายที่ให้การเคลื่อนไหวที่เป็นไปได้ในตำแหน่งดังนั้นเราสามารถสุ่มเลือกได้ ฉันจะโพสต์ผลลัพธ์ในภายหลัง

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

คุณควรตรวจสอบสิ่งนี้ด้วย


3
Numpyเป็นห้องสมุดคณิตศาสตร์วิทยาศาสตร์ไม่ใช่เครื่องมือหมากรุก
svineet

นอกจากนี้ยังเป็นเครื่องมือหมากรุก
MikhailTal

2
chess.stackexchange.com/questions/6034/… ดูเหมือนว่าจะเรียกว่า numpty
MikhailTal

1
@MikhailTal: มีเหตุผลที่คุณไม่แก้ไขคำตอบนี้เพื่อแก้ไขชื่อหรือไม่?
GreenMatt

2
@SmallChess: ชื่อที่คล้ายกันแต่ไม่เหมือนกัน
GreenMatt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.