โครงข่ายประสาทเทียมกับอัลกอริทึมทางพันธุกรรมในเกมเช่น Tic Tac Toe?


9

ขณะนี้ฉันกำลังทำโปรเจ็กต์ที่เกี่ยวกับการสร้าง AI เพื่อเล่นเกม Gomoku (มันเหมือนกับเกม Tic Tac Toe แต่เล่นบนกระดาน 15 * 15 บอร์ดและต้องการ 5 แถวเพื่อชนะ) ฉันประสบความสำเร็จในการนำ tic tac toe ที่สมบูรณ์แบบมาใช้โดยใช้การเรียนรู้ Q และมีสถานะเกม / การกระทำที่เก็บไว้ในโต๊ะ แต่สำหรับบอร์ด 15 * 15 สถานะของเกมที่เป็นไปได้ก็ใหญ่เกินไป

คำถามของฉันคือฉันควรใช้เครือข่ายประสาทหรืออัลกอริทึมทางพันธุกรรมสำหรับปัญหานี้หรือไม่? และโดยเฉพาะอย่างยิ่งฉันจะใช้สิ่งนี้ได้อย่างไร


2
ยินดีต้อนรับสู่ AI! คำถามที่ยอดเยี่ยม imho
DukeZhou

คำตอบ:


7

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

หากคุณไม่คุ้นเคยกับการตัดแต่งกิ่งและอัลฟาเบต้าขั้นต่ำให้ดูที่https://www.cs.cornell.edu/courses/cs312/2002sp/lectures/rec21.htm

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

  • กำหนดฟังก์ชั่นการวิเคราะห์พฤติกรรมที่ได้รับสถานะอินพุตของบอร์ด (ลำดับ 0,1,2 สำหรับค่าว่าง, ดำ, ขาว), และส่งออกค่า 'ความดี' ของสถานะบอร์ด โครงข่ายประสาทคือฟังก์ชั่นแก้ปัญหาของเรา
  • สมมติว่าการเคลื่อนไหวในเกมเหล่านี้เหมาะสมที่สุดฝึกความแตกต่างระหว่างการเคลื่อนไหวที่ดีที่สุดในปัจจุบัน (ตามพารามิเตอร์ปัจจุบันของคุณ) และสิ่งที่การย้ายข้อมูลของคุณบอกว่าดีที่สุด นี่คือวิธีที่เรากำหนดฟังก์ชันข้อผิดพลาดของเรา! ดังนั้นคุณจะลดความแตกต่างนี้เพื่อให้สิ่งที่ย้ายเครือข่ายประสาทของคุณบอกว่าแข็งแกร่งที่สุดคือสิ่งที่ข้อมูลเกมของคุณบอกว่าแข็งแกร่งที่สุด (การเพิ่มประสิทธิภาพของฟังก์ชั่นข้อผิดพลาดนี้สามารถทำได้ผ่านทาง backpropagation
  • ตามหลักการแล้วในตอนนี้คุณสามารถใช้ฟังก์ชั่นการประเมินตามโครงข่ายประสาท ('แรง') ของคุณสำหรับการประเมินการเคลื่อนที่แบบทรีเกมแทนการวิเคราะห์พฤติกรรมแบบฮาร์ดโค้ด

แน่นอนว่านี่เป็นเพียงวิธีเดียวและคุณจะต้องค้นหาข้อมูลเกมก่อน

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

ในที่สุดการรู้ว่า gomuku นั้นถูกแก้ไขแล้ว ดู /programming/6952607/ai-strategy-for-gomoku-a-variation-of-tic-tac-toeสำหรับความคิดและความคิดเห็นของผู้อื่น


2
จุดดีเกี่ยวกับ gomoku เป็นเกมที่แก้ไขแล้ว สิ่งนี้ทำให้ง่ายต่อการตรวจสอบความแข็งแกร่งของ AI (เช่นแก้ไขเกมและแสดงการเล่นที่สมบูรณ์แบบหรือเป็นเพียงการเล่นที่ดีกว่าคู่ต่อสู้อย่างเช่นในกรณีของ AlphaGo)
DukeZhou
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.