ขอบคุณ @Phonon ที่ครอบคลุมคำตอบก่อนหน้าของฉันในรายละเอียด ฉันต้องการที่จะเพิ่มจุดหนึ่งที่มากขึ้น: ควบคุมเวลา
การควบคุมเวลาที่กำหนดขึ้นมาเพียงอย่างเดียวนั้นขึ้นอยู่กับจำนวนของโหนดแต่นี่เป็นเรื่องผิดปกติ การควบคุมเวลาโดยทั่วไปที่มากขึ้น - จำนวนวินาทีคงที่หรือเวลาของเกมโดยทั่วไปจะไม่ได้กำหนดไว้ล่วงหน้า
ลองตัวอย่าง ใช้ stockfish ในสถานีของคุณ ประเภท:
ไปเวลาหยุดพัก 20000
คำสั่งนี้สั่งให้เอ็นจิ้นทำการเคลื่อนที่หลังจาก 20 วินาที ผลลัพธ์ของฉัน:
info depth 23 seldepth 32 multipv 1 score cp 6 upperbound nodes 24325860 nps 1216171 hashfull 999 tbhits 0 time 20002 pv g1f3 d7d5
bestmove g1f3 ponder d7d5
การเคลื่อนไหวคือ 1.Nf3 ต่อไปฉันฆ่า Stockfish ของฉันเริ่มใหม่ อีกครั้ง 20 วินาที ฉันได้:
info depth 23 seldepth 32 multipv 1 score cp 20 nodes 26185280 nps 1309067 hashfull 999 tbhits 0 time 20003 pv d2d4
bestmove d2d4 ponder g8f6
มันคือ 1.d4! ตำแหน่งเดียวกันทั้งการค้นหา 20 วินาที!
คุณเห็นไหม? ทั้ง 20 วินาทีสำหรับการย้าย แต่เนื่องจากความผันผวนในระบบปฏิบัติการ Linux การรันครั้งที่สองของฉันทำให้การค้นหาลึกขึ้น (26185280> 24325860)
โปรดทราบว่าการทดลองเล็ก ๆ น้อย ๆ นี้ไม่ได้เกิดขึ้นแบบมัลติเธรด (จำนวนเธรด = 1) การทำมัลติเธรดจะทำให้สิ่งต่าง ๆ ไม่เป็นอุปสรรคมากยิ่งขึ้น
Stockfish ได้รับหนึ่งนาทีต่อการเคลื่อนไหวในการแข่งขัน Google AlphaZero จำนวนเธรดคือ 64 การตัดสินใจของ Stockfish ในการแข่งขันอาจไม่สามารถกำหนดได้