วิชาการ.คอม - คลังความรู้ ปัญญาไทย เพื่อการศึกษาไทย เพราะเรารักเมืองไทย
เว็บส่งเสริมการเรียนรู้ดีเด่น 2547 (สมาคมผู้ดูแลเว็บไทย)   |   เว็บสื่อวิทยาศาสตร์ดีเด่น 2549 (กระทรวงวิทย์)   |   เว็บการศึกษาที่มียอดผู้เข้าชมสูงสุด 2549, 2550 (TrueHits)
ขอขอบคุณ บริษัท ปตท. จำกัด (มหาชน) และ สสวท ที่ให้การสนับสนุน  
kobkrit (kobkrit viriyayudhakorn)
โพสต์ล่าสุด
มาจากบทความ ฝึกเขียน AI หุ่นยนต์รถถังด้วย Robocode (ชมแล้ว: 106)

Robocode เป็นโปรแกรม Opensource สำหรับการศึกษาเริ่มโดยนาย Mathew Nelson (ซึ่งจัดทำโดย IBM) ในขณะนี้มีผู้คนมากมายเข้ามาเป็นส่วนร่วม แต่คนที่รับผิดชอบโปรเจ๊คตอนนี้ก็คือ Flemming N. Larsen มีหน้าที่แก้บั๊กและพัฒนาเวอร์ชั่นถัดๆไป เกมส์ถูกออกแบบมาเพื่อช่วยเรียนรู้ภาษา Java และความรู้ทางด้านปัญญาประดิษฐ์ ซึ่งเริ่มได้ง่ายมาก หุ่นยนต์ง่ายๆสามารถเขียนได้ภายใน 2-3 นาที แต่ถ้าหุ่นยนต์ที่สมบูรณ์แบบก็จะกินเวลาหลายเดือนหรือมากกว่านั้นแผนการ


ลักษณะของเกมส์
พวกร่วมเข้าแข่งขันเขียนซอฟต์แวร์ควบคุมหุ่นยนต์ขนาดเล็กที่สู้กับหุ่นยนต์ตัวอื่นที่เหมือนกัน (แต่คนละโปรแกรม) หุ่นยนต์เคลื่อนที่ ยิง ค้นหาหุ่นยนต์ตัวอื่น ชนกำแพง(หรือชนกับหุ่นยนต์ตัวอื่น) ถ้าพวกเขาไม่ระมัดระวัง แนวคิดของเกม ทั้งๆที่กติกาของเกมส์นั้นง่ายๆ แต่สิ่งที่สำคัญคือกลยุทธ์ บางหุ่นยนต์อาจจะโปรแกรมถึง 1000 บรรทัดหรือมากกว่านั้น เพื่อกลยุทธ์ที่เฉียบคม บางหุ่นยนต์ที่ประสบความสำเร็จ ก็เลือกใช้วิธีทางสถิติ หรือไม่ก็ใช้เครือข่ายประสาทจำลองในการออกแบบ


การแข่งขันในประเทศไทย
การแข่งขันในประเทศไทยเริ่มขึ้นตั้งแต่วันที่ 1 กรกฏาคม พ.ศ.2551 เป็นต้นไป สามารถติดตามข้อมูลข่าวสารได้จากที่นี้ http://www.vcharkarn.com/robocode

ดาวน์โหลด
เวอร์ชั่นล่าสุดของ Robocode คือ 1.6.0.1 (ออกเมื่อวันที่ 2 มิถุนายน พ.ศ.2551) ซึ่งจะเป็นเวอร์ชั่นที่ใช้ในการแข่งขัน Robocode Thailand Contest 2009
สามารถดาวน์โหลดจากเว็บของวิชาการได้ที่นี่ http://www.vcharkarn.com/robocode/files/robocode-setup-1.6.0.1.jar

สนับสนุนการแจกจ่าย
การที่จะทดสอบหุ่นยนต์ของคนอื่นนั้น เพียงแค่ไปดาวน์โหลดไบต์โค๊ด(ข้อมูลที่ถูกคอมไพล์มาเรียบร้อนแล้ว)มาจากเว็บไซด์ และสามารถทดสอบหุ่นยนต์ที่ดาวน์โหลดมากับหุ่นยนต์ของเราได้ทันที โดยที่ผู้แจกจ่ายสามารถสบายใจได้ว่าซอร์สโค๊ดที่เขียนมาจะไม่ถูกแอบดูหรือนำไปใช้ เนื่องจากผ่านการคอมไพล์มาเรียบร้อยแล้ว


การเคลื่อนที่และการเล็ง
สิ่งที่แข่งขันใน Robocode มีเพียง 2 สิ่ง
1. หลบการชนให้ได้มากที่สุด (ชนกระสุน, ชนหุ่นยนต์, ชนกำแพง)
2. พยายามคาดเดาตำแหน่งที่ศัตรูกำลังจะไป และยิงให้โดนมากที่สุด
เทคนิคต่างๆก็ได้ถูกคิดค้นขึ้น และถูกนำมาใช้ในหุ่นยนต์ดังๆ เช่น
WaveSurfing - ปรับการเคลื่อนที่โดยที่จะพยายามหลบไม่ให้โดนโจมตีแบบเดิมเป็นครั้งที่สอง
StatisticalTargeting - เก็บข้อมูลที่ตรงกับสถานการณ์ของเป้าหมายและตัดสินใจให้ถูกต้อง ใช้ข้อมูลที่เก็บมาทำการตัดสินใจในการยิงเป้าหมาย
GuessFactorTargeting
- นี่คือวิธีที่ดีที่สุดในบรรดาวิธี StatisticalTargeting เมื่อสถิติของศัตรูต่างๆอยู่ภายในตัวเลขหนึ่งตัว (GuessFactor)
PatternMatching - พยายามจับรูปแบบของศัตรูด้วยรูปแบบเก่าๆที่เคยจับได้ และนำข้อมูลมาทำการตัดสินใจในการยิง


มีหน้าสองต่อนะครับ :D


บทความ โดยสมาชิกท่านนี้

blog โดยสมาชิกท่านนี้

กระทู้ โดยสมาชิกท่านนี้
  • ยินดีต้อนรับสู่เว็บบอร์ด Robocode
  • ทดสอบการใช้ Latex
  • ทดสอบสอง

  • ข้อสอบ โดยสมาชิกท่านนี้
    ยังไม่มีงานเขียน

    นิยาย โดยสมาชิกท่านนี้



    kobkrit
    (kobkrit viriyayudhakorn)

    ผู้ชมข้อมูลนี้แล้ว 865 ครั้ง
    เป็นสมาชิก: นานกว่า 3 ปี
    แบ่งปันความรู้ 54 ครั้ง
    ได้รับดาว 160 ดวง

    โหวตเพิ่มดาว
    Google
     
    ติดต่อลงโฆษณา :   คุณอันนา 086-4907600,
    0-2583-2802
    และ 086-4907585
    สำนักงาน :   0-2642-7828
    อีเมล์ :   
    Copyright© 2000-2007, Vcharkarn.Com. All rights reserved.
    คลิ๊กเพื่อดูสถิติ
    รับรองและสนับสนุนโดย

    สสวท.

    มูลนิธิ พสวท.

    พสวท.