ฮาร์ดแวร์ส่งผลต่อการวิเคราะห์หมากรุกอย่างไร
แกนประมวลผล ขนาดแฮช และเหตุผลที่โน้ตบุ๊กของคุณวิเคราะห์ไม่เหมือนเซิร์ฟเวอร์
เวลารันเอนจินหมากรุก คุณไม่ได้แค่เปิดโปรแกรมขึ้นมาโปรแกรมหนึ่ง แต่กำลังสั่งให้คอมพิวเตอร์ไล่ดูตำแหน่งนับล้านต่อวินาที ประเมินทีละตำแหน่ง แล้วส่งคำตัดสินที่ดีที่สุดกลับมา มันจะทำได้ดีแค่ไหนขึ้นอยู่กับฮาร์ดแวร์ที่รองรับอยู่โดยตรง กระนั้นปัจจัยชี้ขาดนี้แทบไม่เคยถูกพูดถึงบนแพลตฟอร์มหมากรุกเลย
ใครที่เอาจริงกับการพัฒนาฝีมือควรเข้าใจความสัมพันธ์ระหว่างฮาร์ดแวร์กับคุณภาพการวิเคราะห์ มันอธิบายว่าทำไมตำแหน่งเดียวกันจึงได้ค่าประเมินต่างกันบนอุปกรณ์ต่างกัน และทำไม "ความลึก 20" บนโทรศัพท์จึงไม่ใช่ "ความลึก 20" แบบเดียวกับบนเครื่องเดสก์ท็อปแรงๆ
ซีพียู: สมองเบื้องหลังการวิเคราะห์
เอนจินอย่าง Stockfish กินหน่วยประมวลผลเป็นหลัก งานของมันคือสร้างและไล่ค้นต้นไม้เกม นั่นคือลำดับหมากและหมากตอบที่แตกกิ่งก้านยาวไปข้างหน้าอีกหลายตา ยิ่งซีพียูเร็ว เอนจินยิ่งประเมินตำแหน่งได้มากขึ้นต่อวินาที ซึ่งวัดกันด้วยจำนวนโหนดต่อวินาที
ซีพียูเดสก์ท็อปรุ่นใหม่อาจทำได้ราว 30-50 ล้านโหนดต่อวินาทีกับ Stockfish ขณะที่ชิปในโทรศัพท์อยู่แถวๆ 3-8 ล้าน ความต่างราวห้าถึงสิบเท่านี้แปลงเป็นความลึกโดยตรง ในเวลาเท่ากัน เครื่องเดสก์ท็อปเจาะลึกลงไปได้มากกว่ามาก และเจอลำดับกลยุทธ์กับรายละเอียดเชิงตำแหน่งที่โทรศัพท์ไม่มีเวลาพอจะไปเห็น
หน่วยประมวลผลหลายแกนยังเพิ่มข้อได้เปรียบด้วยการค้นแบบขนาน เมื่อ Stockfish ใช้ 8 เธรดแทนที่จะใช้เธรดเดียว มันไม่ได้เร็วขึ้นแปดเท่าเป๊ะๆ เพราะภาระในการประสานงานกินส่วนหนึ่งไป แต่มันไปถึงความลึกที่มากกว่าอย่างเห็นได้ชัดในเวลาเท่าเดิม นี่คือเหตุผลที่การวิเคราะห์ฝั่งเซิร์ฟเวอร์ของแพลตฟอร์มมักเหนือกว่าการวิเคราะห์ที่รันบนเครื่องของคุณเอง
ตารางแฮช: หน่วยความจำมีน้ำหนัก
ตารางทรานสโพซิชัน ซึ่งมักเรียกสั้นๆ ว่า "แฮช" คือพื้นที่หน่วยความจำที่เก็บตำแหน่งซึ่งเอนจินประเมินไปแล้ว เมื่อมันเจอตำแหน่งเดิมอีกครั้งผ่านลำดับหมากอื่น ซึ่งในหมากรุกเกิดขึ้นตลอดเวลา มันก็แค่เปิดดูค่าประเมินเดิมแทนที่จะคำนวณใหม่ทั้งหมด
ขนาดของตารางนี้ส่งผลต่อคุณภาพการวิเคราะห์โดยตรง ยิ่งแฮชมาก เอนจินยิ่งเก็บตำแหน่งที่วิเคราะห์แล้วไว้ได้มาก และไม่ต้องทำงานซ้ำ ถ้าแฮชน้อยเกินไป มันจะ "ลืม" ตำแหน่งที่เคยเห็นอยู่เรื่อยๆ แล้วผลาญกำลังประมวลผลไปเปล่าๆ
แนวทางคร่าวๆ คือให้ราวครึ่งหนึ่งของหน่วยความจำที่ว่างอยู่ แม้ว่าสำหรับผู้ใช้ส่วนใหญ่ ช่วง 512 MB ถึง 2 GB จะกำลังพอเหมาะ ตั้งสูงเกินไปกลับก่อปัญหา เพราะระบบปฏิบัติการจะเริ่มย้ายหน่วยความจำลงดิสก์
ในการวิเคราะห์ผ่านเบราว์เซอร์อย่างที่ ChessOnyx ให้บริการ หน่วยความจำจะจำกัดกว่านั้น เพราะ WebAssembly ทำงานอยู่ในเพดานที่เบราว์เซอร์กำหนดไว้ นี่คือเหตุผลหนึ่งที่การวิเคราะห์ในเบราว์เซอร์ แม้จะเก่งกาจน่าทึ่ง ก็ยังเทียบไม่ติดกับโปรแกรมเดสก์ท็อปที่ได้หน่วยความจำเต็มมือ
NNUE: การปฏิวัติด้วยโครงข่ายประสาทเทียม
Stockfish ยุคนี้ประเมินตำแหน่งด้วย NNUE ซึ่งเป็นโครงข่ายประสาทเทียมที่ฝึกจากตำแหน่งหลายร้อยล้านตำแหน่ง และยกระดับความเข้าใจเชิงตำแหน่งของมันขึ้นอย่างมหาศาลเมื่อเทียบกับฟังก์ชันประเมินผลแบบเขียนมือในอดีต
การประเมินด้วย NNUE กินทรัพยากรมากกว่าวิธีเดิม แปลว่าแต่ละโหนดใช้เวลานานขึ้นเล็กน้อย ทว่าค่าที่ได้แม่นยำกว่ามากจนเอนจินตัดสินใจได้ดีกว่าแม้ที่ความลึกต่ำ ผลรวมสุทธิคือฝีมือที่แข็งขึ้นชัดเจนและการวิเคราะห์ที่น่าเชื่อถือกว่าเดิม
ตัวโครงข่าย NNUE เองเป็นไฟล์ที่ถูกโหลดตอนเอนจินเริ่มทำงาน และคนละเวอร์ชันก็ให้ค่าประเมินคนละแบบ เวลาเทียบผลวิเคราะห์ข้ามแพลตฟอร์ม ควรรู้ไว้ว่าแต่ละที่อาจใช้โครงข่ายไม่เหมือนกัน แม้จะขึ้นชื่อว่า "Stockfish" เหมือนกันหมด
เบราว์เซอร์ เดสก์ท็อป หรือเซิร์ฟเวอร์
สภาพแวดล้อมสำหรับวิเคราะห์ที่พบบ่อยมีสามแบบ แต่ละแบบมีบุคลิกของตัวเอง
การวิเคราะห์ผ่านเบราว์เซอร์ด้วย WebAssembly รันบนเครื่องของคุณโดยตรง สะดวก ไม่ต้องติดตั้งอะไร และใช้ได้กับทุกอุปกรณ์ แลกมาด้วยข้อจำกัดหน่วยความจำของเบราว์เซอร์ และมักช้ากว่าโปรแกรมเนทีฟเล็กน้อยเพราะภาระส่วนเกินของ WebAssembly บนเบราว์เซอร์เดสก์ท็อปรุ่นใหม่ คุณจะได้คุณภาพที่หนักแน่น ส่วนบนโทรศัพท์ ผลลัพธ์จะตื้นกว่า
โปรแกรมเดสก์ท็อป เช่น Stockfish แบบเนทีฟหรือ ChessBase ใช้ฮาร์ดแวร์ของคุณได้เต็มที่ มันเข้าถึงเธรดของซีพียูและหน่วยความจำได้ตรงๆ โดยไม่มีกำแพงของเบราว์เซอร์ สำหรับงานวิเคราะห์จริงจัง โปรแกรมเดสก์ท็อปบนเครื่องที่แรงพอให้ประสบการณ์ส่วนตัวที่ดีที่สุด
การวิเคราะห์ฝั่งเซิร์ฟเวอร์รันบนฮาร์ดแวร์คลาวด์ที่ทรงพลังแล้วส่งผลกลับมายังเบราว์เซอร์ของคุณ วิธีนี้รวมความสะดวกของเบราว์เซอร์เข้ากับกำลังของเซิร์ฟเวอร์ ข้อแลกเปลี่ยนคือคุณต้องพึ่งว่าเซิร์ฟเวอร์พร้อมใช้หรือไม่ และมักปรับความลึกหรือพารามิเตอร์ได้ไม่อิสระนัก
แต่ละแนวทางมีที่ทางของมัน ChessOnyx เลือกวิเคราะห์ผ่านเบราว์เซอร์เพราะเราอยากมอบการควบคุมการวิเคราะห์ให้คุณโดยตรงโดยไม่ต้องติดตั้งอะไรเลย การคำนวณเกิดขึ้นบนเครื่องคุณและไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ ซึ่งแปลว่าเกมของคุณยังคงเป็นเรื่องส่วนตัว
สิ่งนี้มีความหมายอย่างไรกับคุณ
การเข้าใจบทบาทของฮาร์ดแวร์ช่วยให้คุณตีความผลลัพธ์ได้แม่นขึ้น สรุปเป็นข้อปฏิบัติได้ดังนี้
อย่าเอาค่าประเมินจากคนละอุปกรณ์หรือคนละแพลตฟอร์มมาเทียบแล้วคาดหวังให้ตรงกันเป๊ะ ความต่างราว 0.1-0.3 ระหว่างการวิเคราะห์ที่บ้านกับของแพลตฟอร์มถือเป็นเรื่องปกติ
ถ้าคุณวิเคราะห์อย่างจริงจัง ให้ใช้อุปกรณ์ที่แรงที่สุดเท่าที่มี เครื่องเดสก์ท็อปที่ใช้ซีพียูหลายแกนรุ่นใหม่จะให้ผลดีกว่าโทรศัพท์อย่างมีนัยสำคัญ
ให้เวลาเอนจินบ้าง ไม่ว่าฮาร์ดแวร์จะเป็นแบบไหน การปล่อยให้มันรันนานขึ้นย่อมได้ผลที่น่าเชื่อถือกว่า การไล่ดูห้าวินาทีบอกอะไรคุณน้อยกว่าการวิเคราะห์สามสิบวินาทีบนตำแหน่งเดียวกันมาก
ดูที่ความลึก ไม่ใช่แค่เวลา ความลึก 25 บนเครื่องเร็วกับความลึก 25 บนโทรศัพท์ช้าคือความลึกในการค้นหาเท่ากัน ต่างกันแค่เครื่องเร็วไปถึงในไม่กี่วินาที ส่วนโทรศัพท์อาจใช้เวลาเป็นนาที ถ้าจะเทียบผลวิเคราะห์ ให้เทียบที่ความลึกใกล้เคียงกันมากกว่าเทียบที่เวลาใกล้เคียงกัน
ไม่ว่าฮาร์ดแวร์ของคุณจะเป็นอย่างไร เอนจินก็ยังเป็นเครื่องมือที่ทรงพลัง แม้บนอุปกรณ์ธรรมดาๆ Stockfish ในวันนี้ก็ให้ผลวิเคราะห์ที่เมื่อสิบปีก่อนจะถูกมองว่าเหนือมนุษย์ สิ่งสำคัญคือรู้ขีดจำกัดของมันบนเครื่องของคุณเอง แล้วอ่านผลลัพธ์ตามนั้น