คำถามติดแท็ก combinatorial-games

4
จะจัดการกับการเคลื่อนไหวที่ไม่ถูกต้องในการเรียนรู้การเสริมแรงได้อย่างไร?
ฉันต้องการสร้าง AI ซึ่งสามารถเล่นห้าในแถว / gomoku ดังที่ฉันพูดถึงในชื่อเรื่องฉันต้องการใช้การเรียนรู้เสริมแรงสำหรับสิ่งนี้ ฉันใช้วิธีการไล่ระดับสีนโยบายคือ REINFORCE ที่มีพื้นฐาน สำหรับการประมาณค่าและนโยบายการทำงานของผมใช้โครงข่ายประสาทเทียม มันมีเลเยอร์ convolutional และเชื่อมต่ออย่างเต็มที่ เลเยอร์ทั้งหมดยกเว้นการส่งออกจะถูกแชร์ ชั้นผลผลิตของนโยบายมี8 × 8 = 648×8=648 \times 8=64 (ขนาดของคณะกรรมการ) หน่วยส่งออกและsoftmaxกับพวกเขา ดังนั้นมันจึงสุ่ม แต่ถ้าเครือข่ายสร้างความน่าจะเป็นสูงมากสำหรับการย้ายที่ไม่ถูกต้อง การย้ายที่ไม่ถูกต้องคือเมื่อตัวแทนต้องการตรวจสอบสี่เหลี่ยมที่มีหนึ่ง "X" หรือ "O" ฉันคิดว่ามันสามารถติดอยู่ในสถานะเกมนั้น คุณช่วยแนะนำวิธีแก้ปัญหาสำหรับปัญหานี้ได้ไหม? ฉันเดาว่าจะใช้วิธีการของนักวิจารณ์ สำหรับการย้ายที่ไม่ถูกต้องเราควรให้รางวัลเป็นค่าลบและส่งต่อให้ฝ่ายตรงข้าม

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

1
ข้อสงสัยเล็กน้อยเกี่ยวกับการประยุกต์ใช้การเรียนรู้การเสริมแรงกับเกมเช่นหมากรุก
ฉันคิดค้นเกมกระดานเหมือนหมากรุก ฉันสร้างเครื่องยนต์เพื่อให้สามารถเล่นได้อย่างอิสระ เครื่องยนต์นั้นเป็นต้นไม้ตัดสินใจ มันประกอบด้วย: ฟังก์ชั่นการค้นหาที่แต่ละโหนดพบความเคลื่อนไหวที่ถูกกฎหมาย ฟังก์ชั่นการประเมินผลที่กำหนดค่าตัวเลขให้กับตำแหน่งกระดาน (บวกหมายถึงผู้เล่นคนแรกได้ไพ่ที่สูงกว่าหมายถึงผู้เล่นที่สองชนะแทน) อัลกอริทึม negamax การตัดตัวอักษร ปัญหาหลักเกี่ยวกับเอ็นจิ้นนี้คือการยกเลิกฟังก์ชั่นการประเมินผลนั้นยุ่งยากมาก ฉันไม่รู้ว่าปัจจัยใดที่ควรพิจารณาและน้ำหนักที่ควรใส่ วิธีเดียวที่ฉันเห็นการปรับปรุงเครื่องยนต์คือการทำซ้ำเกมที่พยายามแต่ละครั้งรวมกันของปัจจัยและน้ำหนัก อย่างไรก็ตามการคำนวณดูเหมือนว่าจะเป็นเพลงที่ยากมาก (ฉันสามารถ backpropagate ได้โดยไม่ต้องใช้ deeplearning หรือเปล่า) ฉันต้องการใช้การเรียนรู้การเสริมแรงเพื่อทำให้เครื่องยนต์ดีขึ้นโดยการเล่นกับตัวเอง ฉันได้อ่านเกี่ยวกับหัวข้อ แต่ฉันยังค่อนข้างสับสน มีรางวัลอื่นอีกบ้างในเกมที่เป็นส่วนหนึ่งของผลลัพธ์แบบชนะหรือแพ้ (1 หรือ 0) ถ้าฉันใช้รางวัลอื่น ๆ เช่นผลลัพธ์จากฟังก์ชั่นการประเมินผลในแต่ละเทิร์นฉันจะใช้มันได้อย่างไร ฉันจะแก้ไขฟังก์ชั่นการประเมินผลเพื่อให้ได้ผลตอบแทนที่ดีขึ้นหลังจากทำซ้ำได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.