วิธีฮิวริสติกสำหรับฐานตาราง กรณีศึกษาหมากรุกไทยช่วงปลายกระดานในรูปแบบมวยเม็ด

ผู้แต่ง

  • ธนาพล ทัดสวน คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
  • เกียรติกูล เจียรนัยธนะกิจ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง

คำสำคัญ:

การตัดกิ่งแบบอัลฟา-เบตา, ฮิวริสติก, ฐานข้อมูลปลายกระดาน, หมากรุกไทย

บทคัดย่อ

งานวิจัยนี้มีวัตถุประสงค์เพื่อสร้างฐานข้อมูลปลายกระดาน (Endgame Tablebases) และออกแบบฮิวริสติก (Heuristic) สำหรับการเล่นหมากรุกไทยในรูปแบบมวยเม็ด กล่าวคือฝ่ายไล่มี ขุน 1 ตัว, ม้า 1 ตัว, เม็ดหรือเบี้ยหงาย 1 ตัว และฝ่ายหนีมี ขุน 1 ตัว ซึ่งรวมตัวหมากทั้งหมดเป็น 4 ตัว สำหรับฮิวริสติกที่ได้ออกแบบในการไล่รูปแบบมวยเม็ด มีทั้งหมด 5 ตาราง ได้แก่ 1) ค่าตารางของระยะห่างของขุนฝ่ายสีขาวและสีดำ  2) ค่าตารางของขุนฝ่ายหนี  3) ค่าตารางของขุนฝ่ายไล่  4) ค่าตารางของม้าฝ่ายไล่  5) ค่าตารางของเม็ดฝ่ายไล่ ซึ่งใช้วิธีการอัลฟาเบตา (Alpha-beta pruning) โดยทำการค้นหาคำตอบด้วยวิธีการค้นหาในแนวลึกแบบวนเพิ่มความลึก (Iterative Deepening Depth-First Search) โดยใช้ความลึกที่ 10 ในการทดสอบฮิวริสติกที่ได้ออกแบบไว้ เมื่อใช้ความลึกคงที่เท่ากับ 10 ในการทดสอบไล่โปรแกรม SeniorSoft ThaiChess Master V3 จำนวน 100 กระดาน เพื่อบันทึกผลใน 4 ด้าน ได้แก่ 1) อัตราการชนะ  2) จำนวนครั้งเฉลี่ยที่ใช้ในการรุกจน  3) เวลาเฉลี่ยใน 1 ตาเดินที่นับเฉพาะการเดิน 10, 15, 20 ครั้ง และ 4) เวลาที่ใช้รุกจนเฉลี่ยต่อ 1 เกม โดยเปรียบเทียบด้วยวิธี 3 แบบ ได้แก่ 1) Quiescence search  2) โปรแกรม Prorp (ดัดแปลงมาจาก Stockfish)  และ 3) ผู้เล่นที่เคยได้รับรางวัลจากการแข่งขันระดับชาติ สรุปผลการทดลองได้ว่าผลลัพธ์ของงานวิจัยนี้ดีที่สุด คือ 1) มีอัตราการชนะ 100.00 เปอร์เซ็นต์  2) จำนวนครั้งเฉลี่ยที่ใช้ในการรุกจน คือ 34 ครั้ง  3) เวลาเฉลี่ยใน 1 ตาเดินที่นับเฉพาะการเดิน 10, 15, 20 ครั้ง คือ 3.908, 3.695, 3.400 วินาที ตามลำดับ และ  4) เวลาที่ใช้รุกจนเฉลี่ยต่อ 1 เกม คือ 84.658 วินาที และสำหรับผลลัพธ์ของฐานข้อมูลปลายกระดานที่สามารถทำให้เกิดการรุกจนที่ได้สร้างขึ้นมีทั้งหมด 472,900 ตำแหน่ง และจำนวนครั้งที่ใช้ไล่นานที่สุดเป็น 36 ครั้ง (ฝ่ายสีขาวเริ่มเดินก่อนและนับจำนวนครั้งเฉพาะตาที่ฝ่ายสีขาวเดินเท่านั้น)

References

V. Janko and M. Guid, Development of a program for playing progressive chess, in: Advances in Computer Games (ACG 2015), in: Lecture Notes in Computer Science, Vol. 9525, pp. 122–134, Springer, 2015.

W. Saletan, "Chess Bump: The triumphant teamwork of humans and computers," 11 May 2007. [Online]. Available: https://slate.com/technology/2007/05/the-triumphant-teamwork-of-humans-and computers.html. [Accessed 15 January 2020].

"CCRL 40/15," 11 January 2010. [Online]. Available: computerchess.org.uk. [Accessed 13 January 2020].

R. Gralla, "Kramnik plays Makruk Thai," 2004. [Online].Available: https://www.chessvariants.com /oriental.dir/thaikramnik.html. [Accessed 10 July 2020].

D.B. Pritchard and J.D. Beasley, The Classified Encyclopedia of Chess Variants, J. Beasley, UK, 2007.

Siamsport, "Siamsport," 22 October 2017. [Online]. Available: https://www.siamsport.co.th/column/detail/68156. [Accessed 29 January 2020].

M. Guid, M. Moˇzina, A. Sadikov and I. Bratko, "Deriving Concepts and Strategies from Chess Tablebases," Advances in Computer Games 12th International Conference ACG 2009, Pamplona, Spain, 2009.

O. Marckel, "Alpha-beta Pruning in Chess Engines," Minnesota, USA, 2017.

M. Luštrek, M. Gams and I. Bratko, "Is real-valued minimax pathological?," Elsevier, Vol. 170, No. 6, pp. 620-642, 2006.

E. A. Heinz, "Endgame Databases and Efficient Index Schemes for Chess," ICCA Journal, Vol. 22, No. 1, pp. 22-32, 1999.

A. Castelli, S. Progressivi and M. Eccellenti, (in Italian; "Progressive Chess. Excellent Checkmates"), Macerata-Italy, 1996.

A. Castelli, S. progressivi and F. di Partita, (in Italian; “Progressive Chess. Endgames”), Macerata-Italy, 1997.

G. M. Haworth, "Chess Endgame News: 7-man ‘Syzygy’ DTZ 50 EGTs," ICGA journal, Vol. 40, No. 10, pp. 1-2, 2019.

G. Breda, KRK Chess Endgame Database Knowledge Extraction and Compression, Darmstadt Germany, 2006.

L. Kocsis and C. Szepesvári, Bandit based Monte-Carlo planning, in: Machine Learning: ECML 2006, Springer, pp. 282–293, 2006.

D. E. Knuth and R. W. Moore, "Artificial Intelligence," Elsevier, Vol. 6, No. 4, pp. 293-326, 1975.

W. B. Putra and L. Heryawan, " Applying alpha-beta algorithm in a chess engine," Jurnal Teknosains, Vol. 6, No. 1, pp. 37-43, 2017.

G. Schrufer, "A Strategic Quiescence Search," ICCA Journal, Vol. 12, No. 1, pp. 3-9, 1989.

M. H. Winands, "Quiescence Search for Stratego," The 21st Benelux Conference on Artificial Intelligence, Eindhoven, 2009.

J. Schaeffer, "The History Heuristic," ICCA Journal, Vol. 6, No. 3, pp. 16-19, 1983.

V. Janko and M. Guid, "A program for Progressive chess," Elsevier, Vol. 644, No. 1, pp. 76-91, 2016.

D. M. J. Tax, R. Duin and D. D. Ridder, Classification, Parameter Estimation and State Estimation: An Engineering Approach Using MATLAB, John Wiley & Sons, USA, 2004.

Downloads

เผยแพร่แล้ว

2021-06-22

How to Cite

[1]
ทัดสวน ธ. และ เจียรนัยธนะกิจ เ. ., “วิธีฮิวริสติกสำหรับฐานตาราง กรณีศึกษาหมากรุกไทยช่วงปลายกระดานในรูปแบบมวยเม็ด”, Eng. & Technol. Horiz., ปี 38, ฉบับที่ 2, น. 17–30, มิ.ย. 2021.