การสาธิตการโต้ตอบเกี่ยวกับวิธีการขั้นตอนวิธีทางพันธุกรรมทำงานเพื่อบรรลุเป้าหมาย
นี่คือแอปที่แสดงให้เห็นว่าอัลกอริทึมทางพันธุกรรมทำงานอย่างไร
มันประกอบไปด้วยกลุ่มของจรวดที่ต้องไปให้ถึงเป้าหมายหลีกเลี่ยงอุปสรรคที่ผู้ใช้วาด
พวกเขาจะต้องเรียนรู้เส้นทางที่จะชนะโดยการลองเส้นทางแบบสุ่มในตอนแรกจากนั้นเลือกเส้นทางที่เหมาะสมที่สุดสำหรับการแก้ปัญหา พวกเขายังต้องปรับตัวให้เข้ากับสภาพแวดล้อมที่เปลี่ยนแปลงเช่นเดียวกับสิ่งมีชีวิตในช่วงศตวรรษ
การปรับเปลี่ยนพารามิเตอร์ (ขนาดประชากรอัตราส่วนการกลายพันธุ์ความเร็วและอายุการใช้งาน) คุณสามารถดูว่ามันมีผลต่อวิวัฒนาการอย่างไร
มันทำงานอย่างไร:
จรวดแต่ละอันมี DNA ที่กำหนดวิถีของมัน (ส่งผลกระทบต่อความเร็วของเขาในทุก ๆ เฟรม) ที่จุดเริ่มต้นนี้จะสร้างแบบสุ่ม
ในแต่ละยุคถัดไป DNA ของจรวดถูกสร้างขึ้นจาก 'พ่อแม่' สองคนจากรุ่นก่อน โอกาสของจรวดที่เป็นผู้ปกครองสำหรับคนรุ่นต่อไปนั้นเป็นสัดส่วนกับปัจจัยต่าง ๆ : ชัยชนะ, โอกาสในการแซงสิ่งกีดขวาง, ความตาย, ระยะทางถึงเป้าหมาย ฯลฯ ...
ตัวแปรที่มีผลต่อการจำลอง:
- เวลาชีวิต: จำนวนขั้นตอนที่อนุญาตให้จรวดก่อนตาย
- การปันส่วนการกลายพันธุ์: ทุกขั้นตอนมีโอกาสที่จะเปลี่ยน DNA เริ่มต้นและใช้ทิศทางแบบสุ่มในจุดนั้น
- จำนวนจรวด: ยิ่งจำนวนยิ่งมากระบบก็จะปรับตัวได้ดีขึ้น
เมนูการตั้งค่า:
- ข้ามรุ่น: ปิดใช้งานการแสดงผลและดำเนินการจำลองด้วยความเร็วสูงสุด (แสดงผลลัพธ์ในตารางหรือแผนภูมิ)
- สลับเป็นโหมด: อนุญาตให้สลับจากโหมดคลาสสิคเป็นแบบเร่งด้วย GPU และในทางกลับกัน คำเตือน: อุปกรณ์ทุกตัวไม่รองรับโหมด GPU เร่งความเร็วดังนั้นจึงอาจทำให้เกิดข้อผิดพลาดในแอป
- รีเซ็ตจรวด: รีเซ็ตสถานะจรวด (DNA) เป็นสถานะเริ่มต้น (โดยไม่ต้องแก้ไขอุปสรรคและเป้าหมาย)
- โหลด / ส่งออกบันทึกและนำเข้า: ด้วยปุ่มทั้งสามนี้คุณสามารถโหลด / บันทึกการจำลองหรือไฟล์ส่งออก / นำเข้า (.srk) จากหน่วยความจำภายในของอุปกรณ์
- การตั้งค่าอื่น ๆ : เข้าถึงได้จากไอคอนการตั้งค่าที่ด้านบนของหน้าจอหรือโดยคลิกที่ปุ่มย้อนกลับของอุปกรณ์ที่นี่คุณสามารถแก้ไขการตั้งค่าการจำลองที่เลือกเมื่อเริ่มต้นแอพ
คุณสมบัติ GPGPU:
แอพนี้ได้รับการพัฒนาด้วยกรอบการทำงานของ Android Renderscript ที่ช่วยให้สามารถใช้ประโยชน์จากข้อดีของ GPU ในแง่ของการคำนวณแบบขนาน น่าเสียดายที่อุปกรณ์บางอย่างไม่ได้รับการสนับสนุนดังนั้นจึงอาจทำงานได้ไม่ดี ในกรณีนั้นใช้โหมดคลาสสิกเท่านั้น
มันทำงานยังไง? งานที่ต้องดำเนินการกับจรวดแต่ละอันนั้นทำควบคู่ไปกับ GPU ซึ่งสถาปัตยกรรมได้รับการออกแบบมาเพื่อจัดการกับงานหลายอย่างในเวลาเดียวกัน (แค่คิดถึงการเรนเดอร์ภาพทุกพิกเซลของภาพนั้นจะต้องถูกประเมินแยกกัน)
โดยทั่วไปแล้วขั้นตอนวิธีเชิงพันธุกรรมไม่มีอะไรเกี่ยวข้องกับกราฟิก แต่ธรรมชาติของมันนั้นเหมาะสมกับการประมวลผลแบบขนาน: เป็นตัวอย่างของการใช้ GPGPU ที่ประสบความสำเร็จเป็นพิเศษ (การเขียนโปรแกรมทั่วไปในหน่วยประมวลผลกราฟิก)
กำลังบันทึกไฟล์:
เวอร์ชันล่าสุดใช้ไฟล์ไบนารีแทนข้อความธรรมดาที่ช่วยลดหน่วยความจำที่ใช้และเวลาอ่าน / เขียนได้สูงสุดสิบเท่า คุณจะยังสามารถโหลดไฟล์ (ไม่ส่งออก) จากรุ่นเก่าได้
ไฟล์ที่ส่งออกจะถูกบันทึกในไดเรกทอรีเริ่มต้น SmartRockets ในรูทของที่เก็บข้อมูลภายใน เราได้ลองใช้ตัวจัดการไฟล์หลายตัวและคุณควรจะโหลดไฟล์. srk เพียงแค่คลิกที่มัน (แม้จะมาจาก Google Drive, WhatsApp หรือ Telegram, ฯลฯ ... ) หรือเลือกแอพของเราในรายการที่แสดง ปัญหาเดียวที่ทำให้เรามีปัญหาคือ "ไฟล์ของฉัน" จากซัมซุงซึ่งบางครั้งไม่ได้เปิดไฟล์โดยไม่แสดงตัวเลือก "เปิดด้วย"; ในกรณีนี้คุณสามารถอัปโหลดไปยัง Google ไดรฟ์หรือเปิดผ่านตัวจัดการไฟล์อื่น