intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tìm hiểu về phương pháp mô hình hóa dựa trên tác nhân (ABM) và ứng dụng

Chia sẻ: Tưởng Bách Xuyên | Ngày: | Loại File: PDF | Số trang:7

3
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Ý tưởng của đề tài xuất phát từ việc phương pháp mô hình hóa dựa trên tác nhân (ABM) có thể mô phỏng các hệ thống phức tạp bằng cách tập trung vào hành vi và tương tác của từng tác nhân trong hệ thống. Đề tài sẽ tập trung vào việc tìm hiểu về lý thuyết và nguyên tắc của phương pháp mô hình hóa dựa trên tác nhân ABM, bao gồm các khái niệm cơ bản và công cụ mô phỏng (thư viện Mesa trong Python) và minh họa cho mô hình ABM bằng cách áp dụng mô phỏng cho bài toán cháy rừng. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Tìm hiểu về phương pháp mô hình hóa dựa trên tác nhân (ABM) và ứng dụng

  1. TÌM HIỂU VỀ PHƯƠNG PHÁP MÔ HÌNH HÓA DỰA TRÊN TÁC NHÂN (ABM) VÀ ỨNG DỤNG Giảng viên hướng dẫn: TS. Nguyễn Mạnh Hùng Sinh viên thực hiện: Mai Ngọc Ánh Nguyễn Hoàng Đức Đoàn Văn Thắng Lớp: Toán ứng dụng K61 Tóm tắt: Ý tưởng của đề tài xuất phát từ việc phương pháp mô hình hóa dựa trên tác nhân (ABM) có thể mô phỏng các hệ thống phức tạp bằng cách tập trung vào hành vi và tương tác của từng tác nhân trong hệ thống. Đề tài sẽ tập trung vào việc tìm hiểu về lý thuyết và nguyên tắc của phương pháp mô hình hóa dựa trên tác nhân ABM, bao gồm các khái niệm cơ bản và công cụ mô phỏng (thư viện Mesa trong Python) và minh họa cho mô hình ABM bằng cách áp dụng mô phỏng cho bài toán cháy rừng. I. Đặt vấn đề Trên thế giới hiện nay, mô hình kinh tế vĩ mô đã và đang được sử dụng rộng rãi là mô hình cân bằng động ngẫu nhiên tổng quát DSGE (Dynamic Stochastic General Equilibrium). Các mô hình DSGE là dạng mô hình dự báo thay thế các mô hình dự báo truyền thống nhằm giải thích các hiện tượng tổng cầu trong nền kinh tế. Điểm mạnh của các mô hình DSGE là thực hiện dự báo trên cơ sở các mô hình có nguồn gốc lý thuyết từ kinh tế. Vì vậy mô hình DSGE có thể bao gồm rất nhiều phương trình, do đó nó chưa phù hợp khi các đối tượng mô tả là rời rạc. Vào năm 2008, các tổ chức tài chính trong thị trường bất động sản tại Mỹ bắt đầu đưa ra các khoản vay thế chấp mạo hiểm. Các khoản vay này nhằm giải cứu người mua bất động sản dưới hình thức vay thế chấp, nhắm vào những người mua nhà có thu nhập thấp, rủi ro cho vay rất cao cùng với sự bùng nổ bong bóng nhà đất tại Hoa Kỳ. Mô hình DSGE đã không phát hiện ra sự biến động này do loại trừ các khoản vay dưới chuẩn, dẫn tới cuộc khủng hoảng kinh tế toàn cầu “đắt đỏ” – một trong những nguyên nhân dẫn tới cuộc đại suy thoái toàn cầu năm 2009. Mô hình này hoạt động rất tốt trong nền kinh tế bình thường. Tuy nhiên, những điều kiện như vậy không phải lúc nào cũng tồn tại. Mô hình này hoạt động không tốt khi khủng hoảng kinh tế xảy ra. Để giải quyết được vấn đề này, một số nhà kinh tế đã đề xuất một loại mô hình mới có thể mô phỏng thực tế tốt hơn, đó là mô hình hóa dựa trên tác nhân. Ở đề tài này, ta sẽ tìm hiểu về mô hình hóa dựa trên tác nhân là gì và nó được xây dựng, sử dụng như thế nào. II. Các nội dung chính 1. Giới thiệu mô hình ABM a. Các khái niệm Ta có các khái niệm sau: • Agent – tác nhân được định nghĩa là một yếu tố cá nhân độc lập của một mô phỏng máy tính. Những yếu tố riêng lẻ này có thuộc tính, trạng thái và hành vi. 126
  2. • Mô hình hóa dựa trên tác nhân (Agent Based Modeling - ABM) là một phương pháp mô hình hóa tính toán cho phép ta mô tả bất kỳ tác nhân nào sẽ hành xử như thế nào. Để dễ hiểu hơn, ta mô tả mô hình kiếm ăn của kiến bằng phương pháp ABM. Để kiếm ăn kiến sẽ bò loanh quanh để tìm kiếm xung quanh có thức ăn hay không. Khi một trong số chúng tìm thấy thức ăn trong vùng lân cận xung quanh tổ, nó sẽ mang một mảnh nhỏ về tổ và để lại một mùi hương gọi là pheromone (chất tiết ra từ cơ thể như tín hiệu hóa học giữa các cá thể cùng loài) trên đường trở về tổ để đánh dấu đường đi và những con kiến khác sẽ đi theo con đường được đánh dấu này để đưa thức ăn về tổ. Những con kiến này tiếp tục tiết ra pheromone để đánh dấu. Kiến được coi là một tác nhân. Nó có các đặc tính như hình thức bên ngoài và tốc độ di chuyển của nó. Nó có các hành vi đặc trưng như di chuyển, đánh hơi, nhặt thức ăn và tiết ra pheromone. Nó có các trạng thái như có mang thức ăn hay không (trạng thái nhị phân) và liệu nó có thể cảm nhận được lượng pheromone trong môi trường xung quanh nó hay không (một trạng thái đa giá trị). Ta có bộ quy tắc mà một con kiến có thể tuân theo. Chúng ta mô tả các quy tắc từ các hoạt động của một con kiến riêng lẻ: • Nếu kiến không mang theo thức ăn, kiến kiểm tra xem có thức ăn ở chỗ nó không. Nếu có, nó nhặt lên. Nếu không có thức ăn ở đây, nó sẽ cố gắng cảm nhận một vệt pheromone gần đó, nếu nó tìm thấy, nó sẽ đi về hướng có pheromone mạnh nhất. • Nếu kiến đang mang thức ăn, nó quay về tổ và tiết ra pheromone. • Kiến sẽ rẽ ngẫu nhiên một đoạn nhỏ và tiến lên vài bước. b. Ý nghĩa của mô hình ABM Mô hình hóa dựa trên tác nhân ABM có nhiều ý nghĩa quan trọng trong nghiên cứu và ứng dụng thực tế. Sau đây là một số ý nghĩa của mô hình ABM: • Giúp giải quyết các vấn đề phức tạp: Mô hình ABM cho phép mô phỏng các hệ thống phức tạp bằng cách sử dụng các tác nhân độc lập tương tác với nhau để tạo ra các hành vi phức tạp của hệ thống. Điều này giúp chúng ta hiểu rõ hơn về các tác động của các yếu tố khác nhau đến hệ thống và giải quyết các vấn đề phức tạp một cách hiệu quả. • Cải thiện dự đoán và phân tích: Mô hình ABM có thể được sử dụng để đưa ra các dự đoán và phân tích tác động của các biến đổi trong hệ thống. Chúng ta có thể sử dụng mô hình này để đưa ra các kịch bản và đánh giá các tác động của chúng trước khi triển khai trong thực tế. • Cải thiện quản lý và ra quyết định: Mô hình ABM có thể được sử dụng để cải thiện quản lý và ra quyết định trong các hệ thống phức tạp. Chúng ta có thể sử dụng mô hình này để đánh giá các tác động của các quyết định khác nhau trên hệ thống và đưa ra các quyết định phù hợp. • Cải thiện việc đánh giá rủi ro: Mô hình ABM có thể được sử dụng để đánh giá các rủi ro trong các hệ thống phức tạp. Chúng ta có thể sử dụng mô hình 127
  3. này để đánh giá các tác động của các sự kiện không mong muốn và đưa ra các biện pháp phòng ngừa và ứng phó phù hợp. 2. Giới thiệu thư viện Mesa 2.1. Giới thiệu chung về thư viện Mesa Mesa là một thư viện mã nguồn mở cho Python được sử dụng để xây dựng các mô hình dựa trên tác nhân (ABM) cho các ứng dụng liên quan đến khoa học xã hội, kinh tế học, sinh thái học, v.v. Mesa cung cấp một loạt các công cụ để thiết kế, triển khai và thửnghiệm các mô hình dựa trên tác nhân. Một số tính năng của Mesa: • Định nghĩa các tác nhân, các hành vi và các khả năng tương tác giữa các tác nhân. • Cung cấp các lớp mô hình để phát triển các mô hình ABM phức tạp và linh hoạt. • Hỗ trợ một loạt các phương pháp thống kê và trực quan để phân tích và hiển thị kết quả mô hình. • Tích hợp các công cụ để thử nghiệm các chiến lược quản lý và ra quyết định trong mô hình. 2.2. Các bước xây dựng mô hình ABM với thư viện Mesa 2.2.1. Cài đặt thư viện Để bắt đầu ta cần cài đặt Mesa. Mesa yêu cầu Python3 và không hoạt động được trong môi trường Python2. Cài đặt Mesa bằng lệnh sau: 2.2.2. Thiết lập mô hình Ta bắt đầu với hai lớp cốt lõi: một lớp dành cho mô hình tổng thể, lớp còn lại dành cho các tác nhân. Lớp mô hình giữ các thuộc tính cấp độ mô hình, quản lý các tác nhân và thường xử lý cấp độ toàn mô hình. 2.2.3. Thêm bộ lập lịch Bộ lập lịch là một thành phần mô hình đặc biệt kiểm soát thứ tự của các tác nhân được kích hoạt. Mesa cung cấp một số lớp lập lịch tích hợp sẵn khác nhau. Hiện tại, chúng ta sử dụng lớp RandomActivation kích hoạt tất cả tác nhân một lần trong mỗi bước theo thứ tự ngẫu nhiên. Mỗi tác nhân sẽ được kích hoạt và thực hiện bởi lịch trình của mô hình thông qua phương thức step. Khi chúng ta gọi phương thức step, mô hình sẽ xáo trộn thứ tự của các tác nhân, sau đó kích hoạt và thực thi phương thức step của mỗi tác nhân. 2.2.4. Bước tác nhân (Agent step) Cho phép tác nhân sẽ làm những gì ở mỗi bước, chúng ta sử dụng phương thức model.random. Bộ lập lịch có một danh sách nội bộ của tất cả các tác nhân mà nó được lên lịch để kích hoạt. 2.2.5. Thêm không gian Nhiều mô hình ABM có yếu tố không gian: các tác nhân di chuyển xung quanh và tương tác với các tác nhân lân cận. Mesa hiện hỗ trợ 2 loại không gian tổng thể: • Lưới. 128
  4. • Liên tục. Ở đây ta xét không gian dạng lưới. Mesa có 2 loại lưới chính: SingleGrid và MultiGrid. • SingleGrid thực thi nhiều nhất một tác nhân trên mỗi một ô trong lưới. • MultiGrid cho phép nhiều tác nhân ở trong cùng một ô. Chúng ta sử dụng phương thức có sẵn của phương thức tạo lưới trong Mesa: get_neighborhood. Phương thức này trả về tất cả các ô lân cận của một ô đã cho. Phương pháp này có thể nhận được hai loại ô lân cận: Moore (bao gồm tất cả 8 ô vuông xung quanh) và Von Neumann (chỉ lên/xuống/trái/phải). Trong một ô, tác nhân sẽ tương tác với các tác nhân ngẫu nhiên khác: chúng ta có thể lấy nội dung của một hoặc nhiều ô bằng cách sử dụng phương thức của lưới get_cell_list_contents. 2.2.6. Thu thập dữ liệu và trực quan hóa lưới Sử dụng lớp DataCollector từ thư viện Mesa và thu thập hai biến. Sử dụng phương thức CanvasGrid từ lớp mesa.visualization.modules để trực quan hóa lưới. 3. Mô hình minh họa: bài toán cháy rừng 3.1. Mô tả bài toán - Mục tiêu: hỗ trợ dự báo mức độ, quy mô khi xảy ra cháy rừng. - Tác nhân: cây. * Tác nhân cây Thực tế rất khó để mô phỏng tác nhân cây nên để cho đơn giản, ta chia bản đồ thành các ô, mỗi ô có thể gắn một cây hoặc không có cây nào. - Thuộc tính: • Vị trí. • Trạng thái, bao gồm 3 trạng thái: cây chưa cháy, cây đang cháy, cây đã cháy. • Thanh sự sống: thời gian một cây cháy xong. • Tốc độ cháy. • Mật độ các cây xung quanh của một cây. • Xác suất lan truyền cháy sang cây khác. - Phương thức: • Nếu cây hiện tại đang trong trạng thái đang cháy sẽ lan sang các cây chưa cháy lân cận. • Sau khi cháy xong, cây sẽ chuyển sang trạng thái đã cháy. • Tính toán xác suất lan truyền của đám cháy từ cây này sang cây khác dựa trên các yếu tố như hướng gió, cường độ gió. * Mô hình tổng thể - Thuộc tính: • Lưới. • Độ rộng của lưới. 129
  5. • Độ cao của lưới. • Mật độ cây trong lưới. • Bước thực hiện của mô hình. • Bộ lập lịch. - Phương thức: • Step: chạy mô hình trong mỗi bước và thu thập các dữ liệu của các tác nhân trong khi chạy. • Count_type: thu thập dữ liệu về trạng thái của tác nhân. * Các giả định 1. Lưới có độ rộng 100, độ cao 100. 2. Mật độ cây trong lưới là 65%. * Dữ liệu 1. Số lượng các cây đang cháy tương ứng với bước hiện tại của mô hình. 2. Số lượng các cây chưa cháy tương ứng với bước hiện tại của mô hình. 3. Số lượng các cây đã cháy tương ứng với bước hiện tại của mô hình. 3.2. Thiết kế mô hình • Xây dựng cấu hình ban đầu bằng cách chạy mô hình mô phỏng trong 100 bước với các cài đặt mô hình như trong phần giả định. • Xây dựng lớp Forest_Fire_Agent_TreeCell lưu trữ các thuộc tính và phương thức của một cây. • Xây dựng lớp Forest_Fire_Model lưu trữ các thuộc tính và phương thức cấp độ mô hình. 3.3. Thực thi mô hình Để dễ quan sát ta định nghĩa các ô trong mô hình như sau: • Ô màu trắng chỉ ô trống không có cây. • Ô màu xanh chỉ ô chứa cây chưa cháy. • Ô màu đỏ chỉ ô chứa cây đang cháy. • Ô màu đen chỉ ô chứa cây đã cháy xong. Sau khi cài đặt chương trình và chạy ta được kết quả như sau: 130
  6. Hình 1: Mô hình cháy rừng ban đầu. Ô màu đỏ là các điểm cháy được đặt ngẫu nhiên ban đầu. Hình 2: Mô hình cháy rừng khi chạy được 20 bước. 131
  7. Hình 3: Mô hình dừng khi cháy xong. 3.4. Kết luận Áp dụng phương pháp mô hình hóa dựa trên tác nhân ABM vào bài toán cháy rừng có thể giúp nghiên cứu và đánh giá các yếu tố ảnh hưởng đến quá trình cháy rừng và các chiến lược quản lý cháy thông qua các kết quả thu được từ mô hình ABM như tốc độ và mức lan truyền cháy. Mô hình ABM có thể cho thấy tốc độ và mức độ lan truyền cháy rừng dựa trên các yếu tố như vận tốc gió, hướng gió, mật độ cây. Kết quả này có thể giúp hiểu rõ hơn về cách cháy rừng lan truyền và tương tác với môi trường, từ đó đưa ra chiến lược quản lý cháy một cách hiệu quả. TÀI LIỆU THAM KHẢO [1]. Wilensky, U., & Rand, W. (2016). An Introduction to Agent-Based Modeling. MIT Press. [2]. Tisue, S., & Mesa Development Team. (2021). Mesa: Agent-based modeling in Python 3+. Readthedocs. https://mesa.readthedocs.io/en/stable/index.html [3]. Hildobby, Rvdb7345, Beaufurnee, & Misterwhybe. (2020). Agent-based Modeling: Wildfire prevention simulation using agent-based modeling written in Python 3+. GitHub. https://github.com/hildobby/fire-suppression-abm 132
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0