Tạo HoáWiki
Tìm
Mô phỏng sự sống

Ba luật của bầy chim mô phỏng Boids: tách ra, đồng hướng, gắn kết

Boids do Craig Reynolds viết năm 1986: mỗi con ảo chỉ theo ba luật với hàng xóm gần là tách ra, đồng hướng, gắn kết, vậy mà cả bầy lượn như đàn chim thật.

Ba luật của bầy chim mô phỏng Boids: tách ra, đồng hướng, gắn kết

Boids là mô hình mô phỏng bầy chim do Craig Reynolds viết năm 1986 và công bố năm 1987, trong đó mỗi "con chim" chỉ tuân theo ba luật dựa trên vài con ở gần: tách ra để không va vào nhau, đồng hướng theo hướng bay trung bình của hàng xóm, và gắn kết bằng cách tiến về vị trí trung bình của hàng xóm. Không có con đầu đàn, không có bản đồ chung, vậy mà cả bầy lượn, tách, nhập lại mềm mại như đàn chim thật. Mô hình trở thành nền tảng cho hoạt hình bầy đàn trong điện ảnh và cho nghiên cứu hành vi tập thể của động vật.

Câu hỏi: ai điều khiển một bầy chim

Ai từng xem một đàn chim sáo đá hàng chục nghìn con uốn lượn trên bầu trời chiều, hay một đàn cá cơm đổi hướng đồng loạt trong tích tắc, đều tự hỏi: làm sao chúng không đâm vào nhau, và ai ra lệnh rẽ? Trong một thời gian dài, có người còn đoán chim truyền "ý nghĩ" cho nhau.

Craig Reynolds, một chuyên gia đồ hoạ máy tính, tiếp cận theo hướng ngược lại. Ông không tìm con đầu đàn, mà thử xem: nếu mỗi con chỉ phản ứng với vài con gần nó theo vài luật đơn giản, thì cả bầy có tự hiện ra không? Ông gọi các nhân vật ảo của mình là "boid", ghép từ "bird" và đuôi "-oid" (giống như), tức là "vật giống chim".

Ba luật của Reynolds

LuậtMỗi con làm gìNếu bỏ luật này
Tách raLái tránh khỏi những con đang quá gầnCả bầy co cụm và chồng lên nhau
Đồng hướngLái để hướng và tốc độ gần với trung bình của hàng xómBầy thành một đám lộn xộn bay lung tung, như muỗi
Gắn kếtLái về phía vị trí trung bình của hàng xómBầy tản ra thành từng con lẻ

Điều quan trọng nhất: mỗi boid chỉ "nhìn" được những con trong một vùng nhỏ quanh mình, thường giới hạn bởi một khoảng cách và một góc nhìn (không thấy phía sau). Không con nào biết hình dạng cả bầy. Ba lực lái được cộng lại, có trọng số, thành một hướng bay mới ở mỗi bước. Reynolds còn thêm luật tránh vật cản để bầy vòng qua cột, toà nhà.

Vì sao chỉ ba luật lại đủ

Ba luật này cân bằng nhau. Gắn kết kéo các con lại; tách ra giữ khoảng cách tối thiểu; đồng hướng làm chúng bay cùng chiều. Khi một con ở mép bầy thấy vật cản và rẽ, những con kề nó rẽ theo vì luật đồng hướng, rồi những con kề những con ấy rẽ tiếp. "Lệnh rẽ" lan qua bầy như sóng, dù không ai ra lệnh. Đây là một ví dụ rõ ràng của hiện tượng trồi sinh: tính chất của cả tập thể không nằm trong bất kỳ cá thể nào.

Từ hội nghị đồ hoạ tới màn ảnh

Reynolds trình bày Boids tại hội nghị đồ hoạ máy tính SIGGRAPH năm 1987, trong bài báo "Flocks, Herds, and Schools: A Distributed Behavioral Model". Trước đó, muốn có cảnh bầy chim trong phim hoạt hình, người làm phim phải vẽ hoặc lập trình đường bay từng con, rất tốn công và trông cứng.

Kỹ thuật này nhanh chóng được dùng trong điện ảnh. Bộ phim Batman Returns (1992) dùng mô phỏng dựa trên Boids cho những đàn dơi và đội quân chim cánh cụt. Năm 1998, Reynolds nhận giải thưởng khoa học kỹ thuật của Viện Hàn lâm Khoa học và Nghệ thuật Điện ảnh Mỹ cho đóng góp này. Ngày nay, cảnh đám đông, bầy cá, đàn thú trong phim và hoạt hình hầu như đều dùng những mô hình hậu duệ của Boids.

Chim thật có làm như boid không

Boids được viết để trông giống bầy chim, không phải để mô tả chính xác chim. Nhưng nó gợi ra câu hỏi để các nhà sinh học kiểm tra.

Bảy con hàng xóm của chim sáo đá

Một nhóm nghiên cứu ở Ý, trong dự án StarFlag, đã chụp ảnh ba chiều các đàn sáo đá trên bầu trời Rome và dựng lại vị trí từng con. Kết quả công bố năm 2008 cho thấy mỗi con dường như phản ứng với khoảng 6–7 con gần nhất, bất kể chúng cách xa bao nhiêu, thay vì phản ứng với mọi con trong một bán kính cố định như phiên bản gốc của Boids. Kiểu tương tác "theo số con" này giúp bầy giữ được gắn kết cả khi giãn ra hay co lại. Đây là một ví dụ hay về việc mô hình đơn giản dẫn tới câu hỏi đúng, và dữ liệu thật sửa lại mô hình.

Cá và đường bên

Cá trong đàn dùng cả mắt lẫn đường bên, cơ quan cảm nhận dao động nước chạy dọc thân, để giữ khoảng cách và hướng. Các mô hình của Iain Couzin và cộng sự (2002) chia vùng quanh mỗi con thành ba vòng: vòng trong để tránh, vòng giữa để đồng hướng, vòng ngoài để hút lại, giống ba luật của Reynolds. Thay đổi độ rộng các vòng, mô hình cho ra những dạng đàn khác nhau: một đám lộn xộn, một vòng xoáy tròn như đàn cá đang xoay, hay một khối bay song song. Cả ba dạng đều thấy được ở đàn cá thật.

Bầy đàn có lợi gì

  • Tránh kẻ săn: nhà sinh học W. D. Hamilton năm 1971 đưa ra ý tưởng "bầy ích kỷ": mỗi con chen vào giữa để kẻ săn bắt con khác ở rìa, và chính điều đó tạo ra bầy chặt. Đàn đông còn làm kẻ săn rối mắt, khó chọn mục tiêu.
  • Tìm thức ăn: nhiều mắt thì dễ thấy nguồn thức ăn hơn.
  • Tiết kiệm sức: chim bay theo đội hình chữ V, cá bơi trong đàn có thể tận dụng dòng khí, dòng nước của con phía trước.

Những mô hình hậu duệ

Năm 1995, nhà vật lý Tamás Vicsek và cộng sự đưa ra một mô hình còn gọn hơn: các hạt di chuyển với tốc độ cố định, mỗi bước chỉ chỉnh hướng theo trung bình của hàng xóm cộng một chút nhiễu. Khi nhiễu nhỏ, các hạt đột ngột chuyển từ chuyển động hỗn loạn sang cùng bay một hướng, giống như nước đông thành đá. Mô hình Vicsek mở ra cả một ngành vật lý về "vật chất hoạt động", nghiên cứu từ đàn vi khuẩn, đàn châu chấu tới dòng người.

Ý tưởng của Boids cũng được dùng để mô phỏng dòng người đi bộ trong sân vận động, nhà ga, giúp thiết kế lối thoát hiểm an toàn hơn.

Góc nhìn hôm nay: tự dựng một bầy

Boids là một trong những mô phỏng dễ tự viết nhất: mỗi con chỉ cần vị trí và vận tốc, mỗi bước tính ba lực lái từ hàng xóm. Có rất nhiều bản chạy trên trình duyệt cho phép kéo thanh trượt trọng số của ba luật. Bài tập hay là tắt lần lượt từng luật để thấy vai trò của nó, rồi thử cho mỗi con chỉ nhìn 7 con gần nhất thay vì mọi con trong bán kính.

Ngoài trời, những buổi chiều cuối thu ở nhiều nơi trên thế giới có thể thấy đàn sáo đá uốn lượn; ở Việt Nam, đàn cò bay về tổ lúc chạng vạng hay đàn chim én trước mưa cũng là những bầy đáng quan sát. Chỉ cần nhìn, không cần đuổi bắt. Muốn đọc thêm, bài báo năm 1987 của Reynolds vẫn dễ đọc, và các bài tổng quan về hành vi tập thể của động vật là bước tiếp theo.

Câu hỏi thường gặp

Boids là gì?

Là mô hình máy tính mô phỏng bầy chim do Craig Reynolds viết năm 1986, công bố năm 1987. Mỗi con ảo chỉ theo ba luật dựa trên hàng xóm gần: tách ra, đồng hướng và gắn kết, vậy mà cả bầy bay giống đàn chim thật.

Ba luật của Boids là gì?

Tách ra: tránh va vào những con quá gần. Đồng hướng: bay theo hướng và tốc độ trung bình của hàng xóm. Gắn kết: tiến về vị trí trung bình của hàng xóm. Ba lực này cộng lại thành hướng bay mới ở mỗi bước.

Bầy chim có con đầu đàn không?

Với các bầy lớn như sáo đá, nghiên cứu cho thấy không có con nào điều khiển cả bầy. Mỗi con phản ứng với khoảng 6–7 con gần nhất, và thay đổi hướng lan qua bầy như sóng. Một số loài bay đội hình nhỏ như ngỗng thì vị trí dẫn đầu có thể luân phiên.

Boids được dùng trong phim nào?

Một ví dụ nổi tiếng là phim Batman Returns năm 1992, dùng mô phỏng dựa trên Boids cho đàn dơi và đàn chim cánh cụt. Reynolds nhận giải thưởng khoa học kỹ thuật của Viện Hàn lâm Điện ảnh Mỹ năm 1998.

Vì sao đàn cá đổi hướng cùng lúc?

Mỗi con cá dùng mắt và đường bên để cảm nhận vị trí, hướng bơi của những con gần nó. Khi một con rẽ, hàng xóm rẽ theo gần như tức thì, và thay đổi lan qua cả đàn rất nhanh, trông như đồng loạt.

Mở app Tạo Hoá

Nặn núi, khơi sông — sinh vật tự tìm về sống

Mở app Tạo Hoá

Bài viết liên quan

Mở app Tạo Hoá

Nặn núi, khơi sông — sinh vật tự tìm về sống

Mở app Tạo Hoá Xem app khác