Chulalongkorn University Theses and Dissertations (Chula ETD)

การใช้เซลลูลาร์ออโตมาตาในการลดการคำนวณในปัญญาประดิษฐ์แบบใช้เอเจนต์สำหรับการทำฟลอกกิง

Other Title (Parallel Title in Other Language of ETD)

Using cellular automata to reduce calations in agent-based flocking artificial intelligence

Year (A.D.)

2009

Document Type

Thesis

First Advisor

วิษณุ โคตรจรัส

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Degree Name

วิทยาศาสตรมหาบัณฑิต

Degree Level

ปริญญาโท

Degree Discipline

วิทยาศาสตร์คอมพิวเตอร์

DOI

10.58837/CHULA.THE.2009.1333

Abstract

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

Other Abstract (Other language abstract of ETD)

Commercial animation software utilizes its crowd feature based on agent technologies. Using an intelligent agent for one character allows animators to easily modify a specific character’s behavior in detail, while most other characters can still use the same behavioral template. An agent based crowd, however, suffers from poor performance because a CPU needs to calculate each and every agent’s decision. This thesis presents Cellular Flocking, an approach for reducing the CPU load. By giving agents in the same map cell a shared brain, a group decision can be made using flocking algorithm at cellular automata level. This reduces the calculations significantly. Maintaining the distance among agents and computing agents’ direction are made into group decisions, while collision avoidance is omitted. The prototype was implemented in Max Script. Results show that the proposed technique not only significantly reduces the calculations, but also maintains acceptable group movement in a limited distance.

Share

COinS