
Cơ chế thuật toán mô phỏng hành vi của đàn chim
Nhìn hàng ngàn con chim nhào lộn trên trời, bạn dễ lầm tưởng chúng có một "nhạc trưởng" điều phối. Thực tế, sự kỳ diệu này chỉ đến từ ba dòng lệnh đơn giản mà mỗi con chim tự cài đặt cho mình.
Mỗi cá thể chỉ cần quan sát vài đứa hàng xóm: đừng đâm vào nhau, bay cùng hướng với bạn bè, và đừng tách quá xa trung tâm. Không cần nhìn toàn cảnh, chỉ cần xử lý dữ liệu cục bộ.
Từ những quy tắc "vị kỷ" đó, một vũ điệu tập thể phức tạp tự động thành hình. Đây chính là cách chúng ta tạo ra những đội quân drone hay các cảnh phim chiến trận hoành tráng trong Hollywood.
Không cần "kết bạn" với cả nghìn con. Mỗi cá thể chỉ thiết lập một "vùng phủ sóng" ảo quanh mình. Bất cứ ai lọt vào vòng tròn bán kính vài mét đó đều được hệ thống coi là hàng xóm.
Thuật toán quét dữ liệu từ nhóm này để tính trung bình cộng vận tốc và vị trí. Nếu hàng xóm rẽ trái, bạn rẽ theo. Nếu họ quá gần, bạn tự động dạt ra để tránh va chạm.
Giới hạn tầm nhìn này giúp hệ thống cực nhẹ. Máy tính không phải xử lý hàng triệu kết nối chồng chéo, mà chỉ tập trung vào vài điểm dữ liệu quan trọng nhất ngay sát sườn.
Không hề, hệ thống này cực kỳ 'tỉnh'. Vật cản được thuật toán coi là một 'hàng xóm' cần giữ khoảng cách tối đa. Quy tắc tách đoàn (separation) sẽ ngay lập tức chiếm ưu tiên cao nhất để đảm bảo an toàn.
Khi những con chim sát vật cản dạt ra, chúng tạo thành một 'vùng trống dữ liệu'. Những con phía sau thấy hàng xóm thay đổi quỹ đạo cũng sẽ tự động điều chỉnh vector vận tốc để lách qua theo hiệu ứng gợn sóng.
Cả đàn sẽ rẽ nhánh như dòng nước chảy quanh hòn đá rồi hội quân ngay phía sau. Mọi thứ vận hành theo thời gian thực, mượt mà mà không cần bộ não trung tâm điều khiển.
Vẫn có "lực hút" giữ chúng lại nhờ quy tắc đoàn kết (cohesion). Hãy tưởng tượng cả đàn như tấm lưới cao su; vật cản có thể kéo căng nó, nhưng các mắt lưới luôn xu hướng co lại gần nhau.
Chỉ khi vật cản quá lớn làm mất dấu nhau hoàn toàn, đàn mới bị xé lẻ. Nếu vẫn nhìn thấy dù chỉ một vài đồng đội ở phía bên kia, chúng sẽ tự động điều chỉnh để thu hẹp khoảng cách.
Việc hội quân là hệ quả toán học: mỗi cá thể chỉ đang cố gắng thoát khỏi sự cô độc bằng cách bám sát nhóm gần nhất.
Không có chuyện đứng hình để biểu quyết đâu. Trong toán học, sự cân bằng 50/50 hoàn hảo là cực hiếm. Chỉ cần một con hàng xóm hơi lệch sang trái một milimet, "lực hút" sẽ kéo bạn theo hướng đó ngay lập tức.
Các lập trình viên còn thêm vào một chút "nhiễu" (noise) — giống như việc tung đồng xu ngẫu nhiên khi phân vân. Chính những rung động nhỏ này phá vỡ thế bế tắc, giúp cả đàn rẽ hướng mà không cần họp bàn.
Nó giống như phản xạ tự nhiên: thấy bên nào đông vui hoặc thoáng hơn một tí là lách qua luôn. Sự hỗn loạn có kiểm soát này chính là chìa khóa để hệ thống không bao giờ bị treo.
Chủ đề liên quan
Cơ chế AI tự động tô màu cho những thước phim đen trắng cũ
Cơ chế tự động lấy nét vào mắt người của máy ảnh
Cơ chế nắn chỉnh giọng hát của công nghệ Auto-tune
Cách nếm thử một muỗng để biết vị cả nồi canh
Cách thuật toán nhận diện và lọc bỏ các đánh giá ảo
Cách mạng xã hội gợi ý những người bạn có thể biết