1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng mô hình mô phỏng dựa trên tác tử theo giao thức odd

119 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề XÂY DỰNG MÔ HÌNH MÔ PHỎNG DỰA TRÊN TÁC TỬ THEO GIAO THỨC ODD
Tác giả Nguyễn Đức Hùng
Người hướng dẫn TS. Nguyễn Phương Thùy
Trường học ĐẠI HỌC BÁCH KHOA HÀ NỘI
Chuyên ngành Toán Tin
Thể loại LUẬN VĂN THẠC SĨ
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 119
Dung lượng 5,45 MB

Cấu trúc

  • 1.1. Tổng quan (15)
    • 1.1.1. Mục đích và mẫu hình (16)
    • 1.1.2. Thực thể, trạng thái và thang đo (17)
    • 1.1.3. Tổng quan tiến trình và lập lịch (20)
  • 1.2. Ý tưởng thiết kế (22)
    • 1.2.1. Nguyên lý cơ bản (23)
    • 1.2.2. Tính hợp trội (23)
    • 1.2.3. Tính thích nghi (24)
    • 1.2.4. Mục tiêu tối ưu (25)
    • 1.2.5. Tính học hỏi (26)
    • 1.2.6. Tính dự đoán (26)
    • 1.2.7. Tính cảm biến (26)
    • 1.2.8. Tính tương tác (27)
    • 1.2.9. Tính ngẫu nhiên (28)
    • 1.2.10. Tính tập thể (28)
    • 1.2.11. Sự quan sát (29)
  • 1.3. Chi tiết (29)
    • 1.3.1. Khởi tạo (30)
    • 1.3.2. Dữ liệu ngoại cảnh (31)
    • 1.3.3. Mô hình con (32)
  • 1.4. Thảo luận (33)
    • 1.4.1. Ưu điểm, nhược điểm (34)
    • 1.4.2. Một số khuyến nghị (37)
  • Chương 2: Xây dựng và phân tích mô hình 41 2.1. Xây dựng mô hình con (14)
    • 2.2. Tinh chỉnh tham số (45)
    • 2.3. Cài đặt mô phỏng (48)
      • 2.3.1. Quy trình chung (48)
      • 2.3.2. Mô hình minh họa (49)
      • 2.3.3. Cài đặt minh họa (52)
      • 2.3.4. Điều khiển quá trình ngẫu nhiên (59)
      • 2.3.5. Trực quan hóa mô phỏng (60)
      • 2.3.6. Tối ưu hóa chương trình mô phỏng (62)
      • 2.3.7. Kết hợp với các bộ công cụ mô phỏng (64)
    • 2.4. Thí nghiệm phân tích mô hình (65)
      • 2.4.1. Chuẩn bị (66)
      • 2.4.2. Phân tích độ nhạy (67)
      • 2.4.3. Phân tích độ tin cậy (68)
      • 2.4.4. Phân tích độ bền vững (69)
    • 2.5. Một số kỹ thuật phân tích (70)
      • 2.5.1. Sử dụng hình ảnh trực quan (70)
      • 2.5.2. Kết hợp với các mô hình khác (71)
      • 2.5.3. Phân tích Sobol (71)
  • Chương 3: Mô hình minh họa 77 3.1. Mục đích và mẫu hình (40)
    • 3.2. Thực thể, trạng thái và thang đo (77)
    • 3.3. Tổng quan tiến trình và lập lịch (79)
    • 3.4. Ý tưởng thiết kế (79)
    • 3.5. Quá trình khởi tạo (81)
    • 3.6. Dữ liệu ngoại cảnh (82)
    • 3.7. Mô hình con (82)
      • 3.7.1. Tham số mô hình (82)
      • 3.7.2. Khởi tạo môi trường (83)
      • 3.7.3. Quá trình tiêu diệt (84)
      • 3.7.4. Khởi tạo rầy nâu (84)
      • 3.7.5. Tác tử lớn lên (85)
      • 3.7.6. Di chuyển (86)
      • 3.7.7. Ăn lúa (86)
      • 3.7.8. Sinh sản (87)
      • 3.7.9. Chết (88)
    • 3.8. Mô phỏng thí nghiệm (88)
      • 3.8.1. Mô phỏng số (88)
      • 3.8.2. Xử lý số liệu (89)
    • 3.9. Kết quả (91)
      • 3.9.1. Quan sát hành vi mô phỏng (91)
      • 3.9.2. Phân tích độ nhạy (92)
      • 3.9.3. Tinh chỉnh tham số (96)
      • 3.9.4. Tác dụng của yếu tố trồng hoa (97)

Nội dung

Điều dẫn tới một số hiện trạng ở các nghiên cứu sửdụng ABM: • Một số nghiên cứu mô tả công trình của họ dài dòng, khiến người đọcphải tìm hiểu sâu qua nhiều trang giấy để hiểu một mô hìn

Tổng quan

Mục đích và mẫu hình

Mục đích là nội dung cần được nói đầu tiên khi mô tả mô hình Các mô hình đều phải bắt đầu từ một câu hỏi, một vấn đề hay giả thiết nào đó. Câu hỏi này sẽ cung cấp văn cảnh cho việc tại sao mô hình này được cần tới. Không có mục đích, người đọc sẽ không hiểu được các lý do đằng sau các quyết định xây dựng mô hình, nguyên nhân một số mặt của thực tế được cân nhắc, trong khi một số mặt khác lại được bỏ qua Khi nói về mục đích, những khái niệm gây nhầm lẫn hoặc chưa rõ ràng nên được giải thích Ví dụ, một mô hình với mục đích “đánh giá ảnh hưởng bởi bão” có thể mang nghĩa “đánh giá thương vong”, “đánh giá thiệt hại tài sản”, hay “đánh giá giao thông sẽ bị đình trệ như thế nào do bão”.

Tại bản cập nhật 2010, thành phần này chỉ bao gồm “mục đích” [24]. Phiên bản cập nhật 2020 [17] đã đưa thêm “mẫu hình” để giúp những nhà mô hình hóa có định hướng hơn khi thiết kế mô hình của mình Mẫu hình là tiêu chí mà được sử dụng để đánh giá xem mô hình có tốt cho mục đích đã chọn hay có đủ thực tế hay không Nếu mô hình có thể tạo ra một mẫu hình nào đó, ta có thể coi nó “đủ thực tế” cho một mục đích được đưa ra Ngược lại, việc mô hình không thể tạo ra quan sát hợp với mẫu hình gợi ý rằng: một thành phần nào đó ở thế giới thực đã bị khuyết ở trong mô hình hoặc chưa được mô hình hóa đủ tốt, khiến cho hiện tượng trong thực tế không thể được mô phỏng lại.

Khi lựa chọn mẫu hình, mẫu hình nên được chọn sao cho quan sát của mô phỏng có thể dễ dàng đối chiếu với chúng; vì quá trình này xảy ra rất thường xuyên khi mô hình hóa Ngoài ra, người viết cần nêu cơ sở của mẫu hình và liên hệ của mẫu hình tới mục đích xây dựng mô hình Nếu cơ sở của mẫu hình dài, nó có thể được trình bày ở một phần khác của tài liệu và được trích dẫn tới ở trong ODD Tài liệu [16] cũng gợi ý rằng mẫu hình nên có tính định tính và khuyến cáo về việc dùng xác suất cho mẫu hình.

Yếu tố mẫu hình có quan hệ mật thiết tới chiến lược “xây dựng mô hình sử dụng mẫu hình–Pattern Oriented Modelling (POM)” Chiến lược này đã được nhắc tới trong nghiên cứu [15] năm 1999 và được trình bày chi tiết hơn trong tài liệu [8] năm 2019 Chỉ tới năm 2020, “mẫu hình” mới được đưa vào như một phần của giao thức ODD [17].

Thực thể, trạng thái và thang đo

Thành phần Thực thể, trạng thái và thang đo bao gồm ba ý nhỏ liên hệ mật thiết với nhau Chúng nêu ra các loại thực thể trong mô hình, trạng thái của chúng, và biểu diễn không gian/thời gian trong mô hình. Đầu tiên, danh sách những loại thực thể tham gia vào trong mô hình nên được đưa ra Sau đó, lý do tại sao lại có sự lựa chọn về việc thành phần này được tham gia vào mô hình trong khi những thành phần khác thì không nên được nêu rõ; bởi đây là một lựa chọn vô cùng quan trọng trong quá trình mô hình hóa và có liên hệ mật thiết với lý do xây dựng mô hình Việc đưa ra lý do trên sẽ giúp mô hình đáng tin hơn Trong các nghiên cứu xây dựng ABM, một số loại thực thể thường được sử dụng/mô tả là:

• các đơn vị môi trường, ví dụ như ô lưới (nếu là môi trường lưới), tòa nhà hay các vùng đất (sử dụng hệ thống thông tin địa lý);

• các cá thể hoặc cá nhân, ví dụ như hổ, báo, lợn, gà (mô phỏng sinh thái), hoặc con người;

• các quần thể hoặc tập thể, ví dụ như bầy chim, đàn cá, hoặc các tổ chức xã hội con người;

• thực thể toàn cục, là thực thế thường được dùng để lưu các biến số toàn cục, ví dụ như thời gian mô phỏng hoặc các biến số liên quan tới môi trường; kể cả khi không biểu diễn một thành phần trong thế giới thực, thực thể này có thể được đưa vào phần “thực thể” nhằm đơn giản hóa việc diễn giải mô hình.

Khi trình bày các thực thể, các quần thể hay tập thể chỉ nên được mô tả như một thực thể riêng biệt nếu chúng có trạng thái và hành vi riêng ở trong mô hình.

Mỗi thực thể đều gắn với các trạng thái riêng Trạng thái là những đại lượng được dùng để phân biệt các tác tử trong cùng một loại thực thể với nhau Ví dụ, khi mô phỏng hệ sinh thái của một loài, tuổi và giới tính có thể là trạng thái của những tác tử loài đó Việc trạng thái có tính phân biệt giữa các tác tử hay không cũng tùy thuộc vào bài toán Ví dụ, nếu mô hình chỉ mô phỏng những tác tử cái, thì giới tính của tác tử không mang tính phân biệt, vì mọi tác tử đều có giới tính như nhau; khi đó, “giới tính” sẽ không phải là trạng thái của tác tử Trạng thái phải mang tính độc lập, không thể được tính toán từ các trạng thái khác Ví dụ, một thực thể có “tuổi” và các “giai đoạn tuổi”, nhưng “giai đoạn tuổi” trong mô hình được chia rõ ràng theo các ngưỡng tuổi khác nhau; khi đó “giai đoạn tuổi” không phải là một trạng thái, vì có thể tính toán được “giai đoạn tuổi” của tác tử từ thông tin “tuổi” của chúng.

Trạng thái của tác tử có thể thay đổi theo thời gian hoặc không Trong bản cập nhật 2010, các tác giả đã chỉ ra rằng nhiều nghiên cứu liệt kê thiếu một số trạng thái vì chúng không đổi theo thời gian (tên của thành phần trong tiếng Anh có chữ variable, nghĩa là biến số) [24] Do đó, trong bản dịch tiếng Việt, luận văn chỉ để tên thành phần là trạng thái, vừa để ngắn gọn và vừa để tránh hiểu nhầm.

Khi liệt kê trạng thái của các thực thể, một số thông tin như sau cũng nên được đưa ra: Mỗi trạng thái thể hiện điều gì, đơn vị của chúng là gì? Mỗi trạng thái có thay đổi theo thời gian hay không? Mỗi trạng thái có kiểu dữ liệu gì (số nguyên, số thực, giá trị Bool ), nhận giá trị ở trong miền nào?

Trong các nghiên cứu, thông tin về thực thể và trạng thái của chúng thường được trộn với nhau và được trình bày bằng bảng Các nghiên cứu về ODD cũng khuyến khích cách trình này Ngoài ra, nghiên cứu [17, 24] lưu ý thêm một số nhầm lẫn khác thường gặp khi trình bày về thực thể và trạng thái, đó là:

• Nói về vai trò của các trạng thái trong hành vi của tác tử (vì đây là nội dung của một thành phần khác trong ODD);

• Nhầm lần giữa tham số mô hình và trạng thái (tham số mô hình không có tính phân biệt giữa các tác tử);

• Liệt kê các trạng thái mang tính kỹ thuật (ví dụ trong các ABM thường có trạng thái ID để phân biệt giữa các tác tử), đây là một liệt kê thừa và không cần được trình bày.

Sau khi liệt kê thực thể và trạng thái, mô tả mô hình cần nêu ra các thang đo về thời gian và không gian Thang đo được hiểu đơn giản là cách mà mô hình biểu diễn không gian và thời gian Những thông tin cần cung cấp về thang đo là:

• thang đo rời rạc hay liên tục;

• đại lượng tổng cộng và đại lượng mức chia của thang đó là bao nhiêu;

• tại sao thang đo này lại được chọn, nó phục vụ như thế nào cho mục đích của mô hình.

Những thông tin này cần được cung cấp với mỗi loại thang đo không gian và thời gian Mô tả có thể cung cấp thêm thông tin về các loại thang đo khác trong phần này nếu mô hình có sử dụng tới chúng.

Mô tả của thang đo có thể rất ngắn và đơn giản, ví dụ như: “Thời gian trong mô hình được biểu diễn rời rạc, mỗi bước thời gian ứng với năm phút trong thực tế, và mô phỏng kéo dài ba giờ (2160 bước) Không gian trong mô hình được biểu diễn rời rạc thành một lưới với 1000×1000 ô Việc lựa chọn thang đo bé như vậy phù hợp với các thay đổi ở mức độ nhỏ trong môi trường.”.

Thang đo là lựa chọn quan trọng trong việc mô hình hóa, bởi thang đo sẽ ảnh hưởng trực tiếp tới khả năng biểu diễn thế giới thực của mô hình.

Ví dụ, nếu ta muốn mô hình hóa sự di chuyển của một bầy chim qua các mùa trong năm, thang đo thời gian chia ở mức một giờ và kéo dài một năm sẽ quá

“mịn”, dẫn đến thời gian mô phỏng trở nên quá dài (có quá nhiều bước), và mô hình sẽ trở nên phức tạp hơn do phải biểu diễn hành vi ở mức độ rất nhỏ, khiến cho mô hình khó thử nghiệm hơn Ngược lại, nếu ta mô hình hóa sự di chuyển của từng phương tiện trong một mạng giao thông, thì thang đo thời gian mỗi bước ứng với một tuần sẽ quá lớn, vì trong một bước thời gian đó có quá nhiều hành vi có thể xảy ra, làm cho mô hình không có khả năng biểu diễn được thế giới thực.

Vì thang đo là lựa chọn quan trọng như vậy, nó nên được viết trong một đoạn văn riêng để nhấn mạnh cho người đọc, kể cả khi nội dung của nó không quá dài.

Tổng quan tiến trình và lập lịch

Để hiểu về một mô hình ABM, người đọc sẽ cần biết mỗi tác tử sẽ thực hiện những tiến trình gì và việc thực hiện các tiến trình sẽ diễn ra theo thứ tự nào Phần Tổng quan tiến trình và lập lịch trình bày cơ bản về những điều đó.

Câu hỏi đầu tiên cần được trả lời là:trong mô hình có những tiến trình gì và chúng được thực hiện bởi tác tử nào? Cụ thể hơn, với mỗi loại thực thể nêu ở Thực thể, trạng thái và thang đo, tên của các tiến trình gắn với nó được liệt kê ra Chỉ có tên của tiến trình sẽ được trình bày, còn chi tiết của chúng thì không Tên của tiến trình cần phải đơn giản, dễ hiểu, mang tính tự lý giải, tức là, bất kỳ người đọc nào cũng có thể đọc tên của tiến trình và hiểu sơ qua được ý nghĩa của tiến trình đó Ví dụ, “thực thể hổ thực hiện các hành động săn mồi, di chuyển và sinh sản”.

Sau đó, mô tả mô hình cần cung cấp thông tin về lập lịch Lập lịch trả lời câu hỏi: các tiến trình được thực hiện theo thứ tự nào Ở đây có nhiều loại thứ tự cần được trình bày Loại thứ tự đầu tiên là thứ thực hiện các hành động của một tác tử Ví dụ, “thực thể hổ thực hiện hành động ăn, ngủ và sinh sản theo đúng thứ tự đã liệt kê”, hoặc “một tác tử hổ thực hiện hành động của nó theo thứ tự ngẫu nhiên” Loại thứ tự thứ hai là thứ tự thực hiện hành động giữa các tác tử Ví dụ, “các tác tử hổ thực hiện hành động của chúng trước, sau đó các đến lượt các tác tử báo”, hoặc “việc thực hiện hành động của các tác tử được sắp xếp theo thứ tự năng lượng; tác tử có năng lượng cao hơn thực hiện hành động của mình trước”.

Bản cập nhật 2020 còn đưa thêm một chỉ dẫn vào trong phần lập lịch, đó là Khi nào biến trạng thái được cập nhật Một số tiến trình thay đổi biến trạng thái của các tác tử Khi đó, biến trạng thái của mỗi tác tử sẽ được cập nhật ngay trong bước thời gian đó, hay sẽ giữ nguyên cho đến bước thời gian tiếp theo? Ví dụ, ta có tác tử a với một trạng thái “năng lượng” là 0.2 Tại bước thời gian t, tác tử a thực hiện hành động “ăn” và nhận được năng lượng là 0.1, giá trị của năng lượng của a sẽ là 0.3 Tuy nhiên, giá trị năng lượng được sử dụng cho các tiến trình khác trong bước thời gian t sẽ là 0.3 nếu việc cập nhật được thực hiện ngay tức thì, hoặc 0.2 nếu việc cập nhật chỉ được thực hiện khi mô hình chuyển sang bước t+ 1 Tuy nhiên, Tổng quan tiến trình và lập lịch sẽ không trình bày chi tiết ra như vậy Thay vào đó, ta sẽ viết

“trạng thái năng lượng của tác tử được cập nhật ngay tức thì”, hoặc “trạng thái năng lượng của tác tử được cập nhật khi mô hình chuyển sang bước thời gian tiếp theo” Các phương thức cập nhật trạng thái khác cũng sẽ được nêu ra ở đây.

Khi trình bày Tổng quan tiến trình và lập lịch, có nhiều cách trình bày khác nhau Nếu các tác tử có ít tiến trình, ta có thể sử dụng một biểu đồ luồng để biểu diễn tên và trình tự thực hiện chúng (Hình 1.1) Nếu số lượng tiến trình nhiều hoặc quá trình lập lịch phức tạp, ta có thể sử dụng mã giả để biểu diễn chúng (Thuật toán 1.1) Khi mô tả các tiến trình, ta cũng nên đưa ra lý do đằng sau lựa chọn về các tiến trình cũng như việc lập lịch.

Thuật toán 1.1 Mô tả tiến trình sử dụng mã giả

2: if giai đoạn tuổi lớn hơn trứng then

6: if giai đoạn tuổi là trưởng thành và giới tính là cái then

9: if giai đoạn tuổi là “chết” hoặc năng lượng bằng 0 then

Hình 1.1 Mô tả tiến trình sử dụng lưu đồ

Ý tưởng thiết kế

Nguyên lý cơ bản

Nguyên lý cơ bản nói về cách mà mô hình sử dụng những ý tưởng, lý thuyết và những phương pháp mô hình hoá sẵn có Việc đặt ra những nguyên lý cơ bản như vậy khiến cho mô hình có nền một tảng khoa học, chứ không phải chỉ bao gồm những ý tưởng được đưa ra một cách tuỳ tiện Nguyên lý cơ bản là một yếu tố mới, được giới thiệu trong [24] Trước đó, yếu tố này thường được nêu trong các phần khác của bài nghiên cứu, nhưng không được đưa thành một đề mục riêng [24].

Nguyên lý cơ bản có thể bao gồm nguyên lý mức hệ thống (mô hình có được xây dựng dựa trên những mô hình nào khác không) và nguyên lý ở mức tác tử (tác tử trong mô hình tuân theo những quy luật nào) Khi nêu ra nguyên lý cơ bản, cả nguyên lý mức hệ thống và tác tử cần được nêu ra Nếu mô hình không đưa ra một nguyên lý mới mà sử dụng những nguyên lý từ các nghiên cứu khoa học khác, các trích dẫn tương ứng cũng cần được nêu ra.Ngoài ra, nếu mô hình cố gắng cải thiện, đóng góp hay mở rộng các nguyên lý sẵn có, điều đó cũng được trình bày trong Nguyên lý cơ bản.

Tính hợp trội

Tính hợp trội là đặc trưng cơ bản của mọi ABM Hợp trội có nghĩa: hành vi của các tác tử, môi trường chúng được đặt trong, cùng những quy luật mà được đặt ra cho chúng tương tác với nhau, làm nổi trội các đặc trưng khác Các đặc trưng hợp trội thông thường là hành vi/đặc trưng ở mức hệ thống, và đôi lúc có cả các hành vi/đặc trưng ở mức tác tử.

Không phải tất cả đặc trưng đều hoàn toàn mang tính hợp trội, một số đặc trưng có thể mang tính áp đặt Những đặc trưng áp đặt là những quy luật mà được đặt vào mô hình một cách cố tình, chúng thường có kết quả dễ đoán và tương đối độc lập với hành vi của tác tử.

Khi nêu ra ý tưởng về sự hợp trội trong mô hình, ngoài việc nêu ra các đặc trưng hợp trội, mô tả cũng cần nêu ra tính áp đặt, chỉ ra mỗi đặc trưng thiên về hợp trội hay áp đặt nhiều hơn, và tại sao Nếu là đặc trưng áp đặt, mô tả cũng cần nêu ra các quy luật (mô tả qua, không viết chi tiết) được sử dụng để áp đặt đặc trưng đó lên mô hình.

Tính thích nghi

Khái niệm Tính thích nghi nói về việc sự lựa chọn của tác tử khi gặp phải các tác động Cụ thể hơn, Tính thích nghi cần nêu ra những điều sau: Trong một hoàn cảnh nhất định, tác tử sẽ lựa chọn điều gì, và những lựa chọn có thể là gì? Những biến trạng thái nào sẽ ảnh hưởng tới lựa chọn của tác tử? Việc lựa chọn của tác tử có mục tiêu gì không, nếu có thì tác tử đo lường mục tiêu đó qua yếu tố nào? Tại sao tác tử lại được mô hình có những lựa chọn như vậy?

Tính thích nghi là yếu tố cơ bản có trong mọi ABM Có những ABM với hành vi tác tử rất đơn giản, tưởng như không có tính thích nghi, nhưng vẫn có phát biểu được ý tưởng thiết kế thích nghi của nó Ví dụ, trong mô hình Schelling [21], mỗi tác tử có một màu, các tác tử di chuyển sao cho xung quanh mình có nhiều tác tử cùng màu nhất có thể, cho tới khi số lượng tác tử cùng màu đạt tới một ngưỡng nào đó Việc di chuyển này sẽ được trình bày trong Tính thích nghi như sau: “Tác tử quyết định có nên di chuyển hay không bằng cách kiểm tra phần trăm số lượng tác tử lân cận có cùng màu, nếu phần trăm này dưới một giá trị ngưỡng nào đó, tác tử sẽ di chuyển Hành vi này nhằm cực đại hóa số lượng tác tử cùng màu xung quanh tác tử đang xét.”.

Ngược lại, cũng có những ABM sử dụng hành vi thích nghi phức tạp. Những hành vi đó vẫn trình bày được trong Tính thích nghi, bằng cách nêu ra các quyết định, đầu vào, cách xử lý, đầu ra, và cách tác tử dùng đầu ra để quyết định Ví dụ, “Tác tử chọn ngẫu nhiên một trong tám vị trí xung quanh để di chuyển Mỗi vị trí đều có một lượng thực ăn nhất định Lượng thức ăn của tám vị trí được chuẩn hóa thành giá trị xác suất Tác tử dùng giá trị xác suất này để chọn vị trí đích.” Ở đây, lựa chọn là các vị trí, đầu vào quyết định là năng lượng của chúng, quá trình xử lý là chuẩn hóa, đầu ra là giá trị xác suất, và cách tác tử đưa ra quyết định là dùng giá trị xác suất đó để lấy mẫu trên tập các vị trí.

Mục tiêu tối ưu

Mục tiêu tối ưu chỉ áp dụng khi tác tử có hành vi thích nghi mà tối ưu trực tiếp một mục tiêu tường minh nào đó (mà được nêu trong Tính thích nghi) Các mục tiêu ngầm định được nêu trong Tính thích nghi sẽ không được trình bày trong Mục tiêu tối ưu.

Khi trình bày mục tiêu, những thông tin cần nêu ra là:

• Mục tiêu đó đại diện cho yếu tố nào của tác tử? Vì mục tiêu là tường minh, ví dụ như một công thức, Mục tiêu tối ưu sẽ cần giải nghĩa công thức đó.

• Tại sao tác tử có lại có mục tiêu đó, nguyên do đằng sau việc mô hình hóa như vậy là gì?

• Mục tiêu đó được tính toán và tối ưu như thế nào?

Câu hỏi được tính toán như thế nào có hai khả năng trình bày Nếu phương pháp tính toán mục tiêu đơn giản, có thể viết trong một vài dòng, phương pháp được trình bày ngay trong Mục tiêu tối ưu Ngược lại, nếu phương pháp tính mục tiêu chứa nhiều công thức hay thuật toán phức tạp, Mục tiêu tối ưu sẽ chỉ đưa ra trích dẫn Nội dung tính toán phức tạp mà được trích dẫn có thể nằm trong một thủ tục con trong Mô hình con, một bài báo nghiên cứu, hoặc một đoạn mã nguồn nào đó.

Yếu tố Mục tiêu tối ưu vốn có tên là “tính phù hợp”, hay Fitness [a] Điều này dễ hiểu vì khi ra đời, ABM vốn được sử dụng cho các mô hình sinh thái, mà trong đó fitness là một thuật ngữ thường được dùng [12, 16] Tuy nhiên, khi ABM phổ biến hơn và được sử dụng cho các mục đích khác, Fitness trở nên tối nghĩa và quá “hẹp” so với mục đích của ODD, do đó được đổi tên thành Objectives Một cách tình cờ, việc đổi tên giúp cho việc phiên dịch thành phần này sang tiếng Việt và việc phân biệt nó với Adaptations dễ dàng hơn rất nhiều [a]

[a] Khái niệm fitness mang nghĩa giống với khái niệm “thích nghi” trong giải thuật di truyền, tuy nhiên “tính thích nghi” trùng với tên một thành phần khác (Adaptation) của ODD.

Tính học hỏi

Tính học hỏi nói về việc tác tử thay đổi hành vi của chúng dựa trên những gì mà chúng đã “trải nghiệm” Khái niệm learning nói về việc tác tử có hành vi thay đổi qua thời gian dựa trên những gì chúng “trải nghiệm” Khái niệm về tính học hỏi không bao gồm những hành vi mà vốn chỉ phụ thuộc vào các biến trạng thái Những hành vi có tính học hỏi là những hành vi mà thay đổi cách tác tử đưa ra quyết định dựa trên những “trải nghiệm” của nó, bao gồm phương pháp ra quyết định và cả những tham số của các phương pháp đó.

Phần Tính học hỏi cần chỉ ra những hành vi của mô hình có tính học hỏi, tại sao hành vi này lại cần tới tính học hỏi, sự học hỏi sẽ được biểu diễn như thế nào.

Tính học hỏi là một ý tưởng thiết kế được cập nhật năm 2010 [24],phục vụ cho các ABM phức tạp, ví dụ như ABM về con người Không phải tất cả ABM đều sử dụng tính học hỏi Thậm chí, rất ít ABM sử dụng tới tính học hỏi, kể cả khi mô phỏng con người [16].

Tính dự đoán

Tính dự đoán trình bày việc một tác tử sẽ dự đoán môi trường xung quanh nó như thế nào Việc dự đoán được chia thành dự đoán tường minh và dự đoán ẩn Dự đoán tường minh có nghĩa một tác tử sẽ dự đoán giá trị của một trạng thái nào đó (có thể là của chính nó, tác tử khác hoặc của môi trường) Dự đoán ẩn có nghĩa rằng hành vi thích nghi của tác tử có mang tính tiên đoán ngầm định Ví dụ, hành vi di chuyển theo gradient của lượng thức ăn trên bản đồ ngầm định rằng tác tử đang dự đoán hướng đi đó sẽ dẫn tới nhiều thức ăn hơn.

Các câu hỏi cần được trả lời khi nói về tính dự đoán là: Các hành vi trong mô hình sử dụng dự đoán tường minh hay dự đoán ẩn? Nếu là dự đoán tường minh, tác tử sử dụng những mô hình nào để dự đoán các trạng thái tương lai? Tại sao sự dự đoán của tác tử được mô hình hoá như vậy?

Tính cảm biến

Khả năng giới hạn và sử dụng thông tin là một đặc tính nổi bật củaABM Tính cảm biến nói về những thông tin mà mỗi tác tử “biết” và sử dụng trong quá trình quyết định của chúng Cụ thể hơn, Tính cảm biến trình bày những trạng thái nào mà tác tử được biết và sử dụng trong hành vi của chúng, tác tử được biết những trạng thái đó trong phạm vi nào Ví dụ, tác tử thỏ có thể biết lượng thức ăn của các ô cỏ xung quanh nó với bán kính hai ô để quyết định di chuyển.

Trong trường hợp đơn giản, tác tử trong các ABM thường biết một cách trực tiếp các trạng thái chúng được sử dụng Tuy nhiên, trong một số trường hợp khác, tác tử có những quá trình thu thập thông tin Ví dụ như việc cảm nhận của tác tử sẽ có tính không chắc chắn: lượng thức ăn mà tác tử thỏ cảm nhận được sẽ giống với lượng thức ăn thực cộng thêm một lượng nhiễu nhỏ với phân phối đều U(−0.1,0.1) Tính cảm biến cũng cần nêu ra cách thức tác tử thu thập thông tin, có thể là biết một cách trực tiếp giá trị chính xác hoặc qua các quá trình khác như ví dụ trên.

Ngoài ra, các thông tin cảm biến cũng thường mang tính địa phương trong các ABM Nhưng tính cảm biến không chỉ giới hạn trong các trạng thái địa phương Việc tác tử sử dụng thông tin ở mức toàn cục cũng được coi là tính cảm biến và được mô tả trong yếu tố này.

Cuối cùng, nội dung của Tính cảm biến cũng cần đưa ra lý do đằng sau các quyết định khi mô hình hoá sự cảm biến của tác tử.

Tính tương tác

Giống với việc giới hạn thông tin, sự tương tác giữa các tác tử cũng là một đặc trưng của ABM Tính tương tác nói về ý tưởng đằng sau sự tương tác với nhau của các tác tử trong mô hình.

Tương tác giữa tác tử được chia thành hai loại: trực tiếp và gián tiếp. Tương tác được coi là trực tiếp nếu hai tác tử trực tiếp làm thay đổi trạng thái của nhau Một số ví dụ của tương tác trực tiếp là tác tử hổ ăn tác tử lợn, hay tác tử người lan truyền một tin đồn trực tiếp cho những tác tử người khác trong cùng một vị trí địa lý Tương tác gián tiếp là tương tác tạo ra bởi sự tương tác với một tài nguyên chung Ví dụ, các tác tử thỏ cạnh tranh gián tiếp nguồn thức ăn, hay tác tử kiến để lại pheromone để thông báo về nguồn thức ăn cho những tác tử kiến khác.

Phần Tính tương tác cần chỉ ra các tác tử tương tác với nhau như thế nào, điều kiện của sự tương tác là gì, các tương tác đó là trực tiếp hay gián tiếp, và tại sao sự tương tác lại được mô hình hóa như vậy.

Tính ngẫu nhiên

Phần Tính ngẫu nhiên của ODD nói về việc những quá trình ngẫu nhiên được sử dụng ở đâu và sử dụng như thế nào trong mô hình.

Tính ngẫu nhiên trong mô hình thường có một trong ba tác dụng dưới đây: Tác dụng đầu tiên là đa dạng hóa đầu vào của mô hình Ví dụ, khi khởi tạo các tác tử và môi trường mô phỏng, các tác tử được đa dạng hóa bằng cách khởi tạo ngẫu nhiên giá trị trạng thái của chúng Tác dụng thứ hai là đơn giản hoá các hành vi phức tạp bằng cách giả định hành vi đó có tính ngẫu nhiên Ví dụ, mô hình muốn đơn giản hóa quá trình hổ bắt nai, quá trình hổ bắt nai trong mô hình sẽ đơn thuần “thành công” hay “thất bại” với một xác suất nào đó, thay vì xảy ra với chi tiết như đời thực Tác dụng thứ ba là mô hình hóa những lựa chọn và tần suất trong mô hình sao cho giống với thực tế Ví dụ, khi mô hình hoá hành vi sinh sản của thú, số lượng tác tử con quan sát thực nghiệm có thể dao động từa tới b, mô hình sử dụng một số ngẫu nhiên trong khoảng [a, b] làm số lượng tác tử con được tạo ra bởi hành vi sinh sản trong mô hình.

Khi nói về tính ngẫu nhiên, các quá trình trong mô hình sử dụng tính ngẫu nhiên phải được chỉ ra cùng với mục đích của việc sử dụng tính ngẫu nhiên Tính ngẫu nhiên là một thành phần phổ biến trong ABM và cũng là một ý tưởng thiết kế tương đối rõ ràng, dễ hiểu Theo thống kê năm 2010, có tới 93% ABM được khảo sát dùng tới tính ngẫu nhiên [24] Tuy nhiên đây không phải một yếu tố bắt buộc.

Tính tập thể

Tập thể trong ODD được hiểu là tập hợp mà tạo nên bởi, ảnh hưởng bởi và bị ảnh hưởng bởi các tác tử Một số ví dụ về tập thể là: bầy cá, bầy chim (mô phỏng sinh thái) hoặc các tổ chức xã hội (mô phỏng con người).

Có hai cách mà tính tập thể được biểu diễn trong ABM Cách thứ nhất là biểu diễn tập thể bằng những đặc tính xuất hiện trên một nhóm tác tử Ví dụ như một nhóm tác tử chim bay theo một đội hình nào đó Các thứ hai là biểu diễn tập thể bằng một loại thực thể riêng biệt trong mô hình Cách này được sử dụng khi tập thể có những trạng thái và hành vi riêng Trạng thái và hành vi của tập thể phụ thuộc vào trạng thái và hành vi của các tác tử nằm bên trong chúng Các tập thể có thể tương tác với nhau, tương tác với các tác tử khác và ngược lại Ví dụ, mô hình có thể biểu diễn bầy đàn sói như một tác tử riêng, các đặc tính về cấu trúc của bầy ảnh hưởng tới hành vi cộng sinh của các tác tử sói bên trong [16].

Khi trình bày tính tập thể, người mô hình cần chỉ ra những tập thể được biểu diễn trong mô hình; phương thức biểu diễn tập thể trong mô hình;tập thể có tương tác với nhau hay với các tác tử hay không, nếu có thì tương tác đó là gì; và cơ sở cho việc mô hình hóa các thực thể như vậy là gì.

Sự quan sát

Khái niệm Sự quan sát nói về sự thu thập và phân tích thông tin thu được từ ABM Thông tin trong Sự quan sát liên hệ với mục đích được nêu ra trong Mục đích và mẫu hình: khi ta có mô hình, làm thế nào để sử dụng kết quả mô phỏng cho mục đích được đặt ra trước đó?.

Vì một ABM thường tạo ra rất nhiều dữ liệu, chỉ một phần dữ liệu đó được thu thập và phân tích, thay vì tất cả Mục Sự quan sát chỉ định những dữ liệu nào sẽ được sử dụng để phân tích.

Mục Sự quan sát thường bao gồm những thống kê tổng quát của mô hình, hoặc những thông tin về đặc trưng không gian hay đặc trưng tập thể. Phần Sự quan sát cần chỉ ra những thông tin nào được thu thập (ví dụ, trạng thái tuổi của những tác tử người), tần suất bao nhiêu (ví dụ, một tháng thời gian mô phỏng một lần), cách các thông tin đó được thống kê hay xử lý.

Giống với Tính cảm biến, Sự quan sát cũng có thể mô phỏng sự không chắc chắn trong quan sát của mình Một ABM có thể mô phỏng lại cả quả trình thu thập dữ liệu của các nhà khoa học ngoài đời thật [11, 16] Quá trình này gọi là kỹ thuật “nhà khoa học ảo” Nếu mô hình sử dụng kỹ thuật nhà khoa học ảo hoặc những kỹ thuật tương tự như vậy, điều đó cũng nên được trình bày trong Sự quan sát.

Chi tiết

Khởi tạo

Khởi tạo mô tả các quá trình trong mô hình mà được chạy ở đầu của mô phỏng, thường với mục đích thiết lập các trạng thái đầu tiên Nếu điều kiện ban đầu của mô hình không được trình bày rõ ràng, kết quả trong nghiên cứu sẽ không thể được tái nghiệm, dù những thành phần khác có được trình bày chi tiết tới đâu Phần Khởi tạo cần mô tả hoàn toàn cách mà mô hình được khởi tạo Chính xác hơn, những tiến trình mà được chạy một lần duy nhất ở đầu mô phỏng sẽ được trình bày trong Khởi tạo.

Thông thường, phần Khởi tạosẽ có cách để khởi tạo các tác tử và môi trường xung quanh chúng, bao gồm việc có những tác tử nào được khởi tạo, trạng thái của chúng khi được khởi tạo là gì, những tham số/dữ liệu nào được sử dụng để khởi tạo Ví dụ, tác tử người được khởi tạo với trạng thái mắc bệnh hoặc khỏe mạnh với xác suất mắc bệnh là p= 0.3; bản đồ môi trường được khởi tạo với dữ liệu thông tin địa lý (GIS) của Hà Nội, được đính kèm tại (URL của dữ liệu) Phần Khởi tạo cũng cần mô tả tại sao các tác tử lại được khởi tạo như vậy Ví dụ, vị trí của các tác tử được khởi tạo theo phân phối chuẩn hai chiều N( à, Σ) vỡ đú là phõn phối mà thực nghiệm quan sỏt được trong nghiên cứu A.

Một ABM có thể có một hay nhiều kịch bản mô phỏng Nếu chỉ có một kịch bản mô phỏng, mở đầu của Khởi tạo sẽ nêu điều đó một cách ngắn gọn Nếu có nhiều kịch bản khác nhau, Khởi tạo nên chỉ ra sự khác biệt giữa các kịch bản khởi tạo và mục đích của sự khác biệt đó Bản cập nhật 2020 đưa ra hai mục đích thường được gặp khi khởi tạo nhiều kịch bản [17] Mục đích thứ nhất là để hiểu tác dụng và sự ảnh hưởng của các quá trình khởi tạo. Trong đó, thí nghiệm được tiến hành để theo dõi sự khác biệt của dữ liệu mô phỏng khi thay đổi dữ liệu khởi tạo Mục đích thứ hai là để loại bỏ ảnh hưởng của quá trình khởi tạo và tập trung vào quá trình sau đó Trong đó, quy trình thí nghiệm bỏ qua kết quả ở một giai đoạn đầu, chạy mô phỏng trong thời gian dài để quan sát kết quả khi mà điều kiện khởi tạo có ảnh hưởng không đáng kể Nếu việc thay đổi các tham số cũng nhằm phục vụ cho thí nghiệm mô phỏng cụ thể, điều đó cũng được trình bày trong Khởi tạo.

Ngoài ra, có một vài lưu ý khi trình bày Khởi tạo Điều đầu tiên là những tiến trình tạo ra tác tử trong mô phỏng sẽ không được trình bày ở đây, ví dụ như quá trình “sinh sản” Phần Khởi tạo dành cho những quá trình được khởi chạy ở đầu của mô phỏng Điều thứ hai là không nêu các tham số mô hình trong Khởi tạo, vì các tham số của mô hình khác với biến trạng thái,chúng không thay đổi theo thời gian và chỉ được trình bày trong Phần Mô hình con Cuối cùng, dữ liệu khởi tạo cần được phân biệt với Dữ liệu ngoại cảnh.

Dữ liệu ngoại cảnh

Phần Dữ liệu ngoại cảnh trình bày về dữ liệu mà chi phối quá trình mô phỏng Dữ liệu ngoại cảnh được phân biệt với dữ liệu mà được sử dụng để khởi tạo bằng một số tính chất sau:

• Dữ liệu ngoại cảnh được sử dụng để biểu diễn các thay đổi trong mô hình, trong khi dữ liệu khởi tạo được sử dụng để tạo ra các trạng thái của tác tử và môi trường mà được khởi tạo trước đó.

• Dữ liệu ngoại cảnh chi phối hành vi của mô hình theo nghĩa: dữ liệu ngoại cảnh làm thay đổi các hành vi của mô hình, nhưng những hành vi của mô hình không làm thay đổi dữ liệu được dữ liệu ngoại cảnh Ngược lại, đối với dữ liệu khởi tạo, sau khi khởi tạo xong, các tiền trình của mô hình hoàn toàn có thể thay đổi các trạng thái của môi trường và tác tử.

Dữ liệu ngoại cảnh thường có hai mục đích [16]:

• Mục đích đầu tiên là biểu diễn dữ liệu biến thiên theo thời gian, ví dụ như dữ liệu về lượng mưa, độ ẩm làm thay đổi hành vi lớn lên của các tác tử thực vật, hay dữ liệu về chứng khoán làm thay đổi hành vi của các tác tử người.

• Mục đích thứ hai là tạo ra các sự kiện mà ảnh hưởng tới mô phỏng Ví dụ, mốc thời gian được sử dụng cho các sự kiện di cư, khi có sự kiện di cư xảy ra, các tác tử mới được tạo ra trong mô hình.

Không phải ABM nào cũng sử dụng dữ liệu ngoại cảnh Nếu ABM không sử dụng dữ liệu ngoại cảnh, người viết chỉ cần nói vậy một cách ngắn gọn Nếu có, dữ liệu ngoại cảnh cần được định nghĩa một cách hoàn toàn, bao gồm nguồn gốc, ý nghĩa, đơn vị, cách thu thập/xử lý, và, nếu cần thiết, kịch bản mà chúng được áp dụng Nếu dữ liệu ngoại cảnh được sinh ra từ một mô hình khác, phương thức để sinh ra dữ liệu cũng được trình bày Trang 27 của tài liệu [16] đưa ra một ví dụ rất chi tiết cho một nghiên cứu về dữ liệu thủy văn, bao gồm cách thu thập (thu thập mỗi giờ, trong khoảng thời gian nào), ý nghĩa, đơn vị tính (nhiệt độ nước (°C), tốc độ dòng chảy (m 3 s −1 ) và mực nước (m)), các công thức và kỹ thuật tính toán được sử dụng để áp dụng dữ liệu này lên mô hình.

Về mặt dịch thuật, thành phần Dữ liệu ngoại cảnh vốn có tên Input, có nghĩa “đầu vào”, trong phiên bản đầu tiên của ODD Nghiên cứu [24] nhận thấy có nhiều nghiên cứu nhầm lẫn giữa thành phần đầu vào và khởi tạo (Initialization), đổi tên thành phần này thành Input data, có nghĩa “dữ liệu đầu vào” Từ input ở đây có nghĩa “mô hình nhận vào dữ liệu này và dùng nó để biểu diễn các ảnh hưởng theo thời gian” Dựa vào nội dung của thành phần, luận văn nhận thấy rằng dịch thành phần thành “Dữ liệu ngoại cảnh” sẽ phù hợp và dễ phân biệt hơn rất nhiều so với “Dữ liệu đầu vào”.

Mô hình con

Mô hình con là thành phần “chi tiết” nhất của ODD Trong Mô hình con, tất cả các thủ tục mà được nhắc tên ở trước sẽ được trình bày một cách tường minh nhất có thể, sao cho một người sau khi đọc xong Mô hình con có thể cài đặt, lập trình lại các thủ tục đó một cách chính xác Các mô hình con trong Mô hình con là những tiến trình, thủ tục được nhắc tới trongTổng quan tiến trình và lập lịch và Khởi tạo Cách trình bày được khuyến nghị trong Mô hình con là mỗi mô hình con sẽ được trình bày trong một mục riêng, tên mục nên trùng hoặc giống với tên được dùng để nhắc tới chúng ở các thành phần trước đó Ví dụ, nếu trong Tổng quan tiến trình và lập lịch, tác tử hổ có một hành động tên “di chuyển”, thì Mô hình con sẽ có một mục tên “sự di chuyển của hổ” mà mô tả chi tiết quá trình này.

Vì mục tiêu của Mô hình con là sự trọn vẹn, Phần Mô hình con cần nêu ra đầy đủ các phương trình, thuật toán và các tham số có liên quan Tất cả các tham số thường được trình bày chung vào một bảng, trong đó có tên, ký hiệu, mô tả, đơn vị, và các giá trị của chúng Nếu các tham số được tham khảo từ các nguồn khác (nghiên cứu, bộ dữ liệu ), trích dẫn tới nguồn gốc của chúng cũng cần có mặt trong bảng Đối với quy trình thực thi mô hình con, mã giả và các phương trình toán học được sử dụng để trình bày Mã giả và các đẳng thức toán học sẽ làm cho mô tả của mô hình con trở nên tường minh nhất có thể Nếu cần thiết, các tác giả có thể kèm theo các hình ảnh trực quan để hỗ trợ giải thích cho mô hình con.

Nếu một mô hình con phức tạp và các công cụ ở trên trở nên không đủ, ODD phân tách một mô hình con như vậy thành nhiều cấp Cụ thể hơn, một mô hình con phức tạp có thể dùng lại mô tả của các mô hình “cháu” (sub-submodel [16]) đơn giản hơn để đơn giản hóa nội dung của chính nó Mô hình “cháu” cũng được mô tả tường minh trong Mô hình con nếu là một mô hình nguyên gốc, hoặc có trích dẫn tới nguồn tham khảo Mô hình “cháu” là một bổ sung của bản cập nhật 2020 nhằm giải quyết vấn đề ODD chưa có tính phân cấp và sử dụng lại [17] Thậm chí, nếu cần thiết, mô hình “cháu” có thể là một ODD “con” [17].

Tuy nhiên, việc trình bày mô hình con chính xác tới mức người đọc có thể cài đặt lại được vẫn chưa đủ Mô hình con còn có nhiệm vụ là phân tích.

Cụ thể hơn, sau khi các bước thực hiện được mô tả, phần Mô hình con nên đưa ra những nguyên do đằng sau việc thiết kế mô hình con và hành vi của mô hình con dưới các điều kiện khác nhau Ví dụ, một mô hình con sử dụng hàm log có thể nêu lý do là “giảm độ nhạy của một tham số nào đó” Sau đó, hành vi của mô hình con này sẽ được phân tích trong trường hợp bình thường và trường hợp dị thường, ví dụ như trường hợp đầu vào bé, có giá trị gần không.

Việc phân tích mô hình con như vậy làm tăng tính đáng tin của mô hình con Chỉ ra tính nguyên do đằng sau những thiết kế của mô hình con cho biết cơ sở khoa học của những mô hình con đó Lợi ích thứ hai của việc phân tích là chúng khuyến khích nhà khoa học xem xét hành vi của những mô hình con, giúp lường trước được những hành vi không mong muốn Việc phân tích, sửa chữa hoặc ngăn chặn hành vi không mong muốn ở mức độ mô hình con dễ hơn rất nhiều so với làm điều tương tự ở mức toàn bộ mô hình(mô hình tổng thể có hành vi không mong muốn và ta bắt đầu ngồi tìm lỗi).

Thảo luận

Ưu điểm, nhược điểm

Lợi ích dễ thấy nhất khi sử dụng ODD là giao thức giúp cho các mô hình có mô tả chặt chẽ hơn, vì các thành phần của ODD yêu cầu nhà mô hình hóa phải xem xét lại các vấn đề khi thiết kế mô hình Phần Tổng quan giúp xem xét liệu những quyết định về thực thể, thang đo và các quá trình trong mô phỏng đã phù hợp với thực tế chưa; phần Ý tưởng thiết kế giúp xem xét các nguyên lý và quyết định khi thiết kế mô hình; phần Chi tiết giúp xem xét những chi tiết khi thực thi mô hình và phân tích những chi tiết đó Tất cả những yếu tố này giúp cho mô hình được xây dựng một cách chặt chẽ hơn.

Lợi ích thứ hai là ODD giúp việc tiếp cận các nghiên cứu ABM trở nên dễ dàng hơn Khi sử dụng ODD, các ABM được trình bày theo một trình tự từ tổng quan nhất đến cụ thể nhất Do đó, người đọc có thể sử dụng thông tin ở mức độ trừu tượng mà họ mong muốn Hơn nữa, khi nhiều nghiên cứu sử dụng ODD, người đọc sẽ trở nên quen thuộc hơn, biết cần kỳ vọng những thông tin đọc một nghiên cứu sử dụng ODD Đáp ứng kỳ vọng về thông tin có thể tăng tốc việc thu nhận thông tin lên rất nhiều lần [26] Nếu một tài liệu có thể nắm bắt được những kỳ vọng của người đọc về mặt thông tin, như vị trí xuất hiện, cách trình bày, và đáp ứng kỳ vọng đó của người đọc, thì tài liệu đó sẽ được tiếp thu dễ dàng hơn rất nhiều [26] Điều này giúp thúc đẩy các quá trình khoa học liên quan, như phản biện, tái lập và kế thừa nghiên cứu Hiện tượng này cũng có thể được ứng dụng trong các ngành nghiên cứu khác để xây dựng các giao thức chung, tương tự như ODD.

Bên cạnh ưu điểm trên, giao thức ODD cũng có một số nhược điểm. Dưới đây là một số điểm cần cải thiện của ODD, được tổng hợp từ các nghiên cứu, tài liệu về ODD [8, 17, 24] Nhiều nhược điểm dưới đây đã được bàn luận, lý giải hay khắc phục trong các bản cập nhật 2010 và 2020 [17, 24] Tuy nhiên vẫn được trình bày trong luận văn để thấy rõ hơn sự phát triển dần dần của giao thức.

1 Nhược điểm đầu tiên của ODD là tài liệu về ODD chưa phổ biến, do đó chưa được áp dụng chính xác Trước 2020, ngoài phiên bản đầu tiên là nghiên cứu [12], tài liệu cập nhật duy nhất về ODD là bản cập nhật2010–một tài liệu phải trả phí với giá cao [24] Điều này khiến cho việc tiếp cận khó khăn hơn Kết hợp những nhược điểm từ [12] và những chỉnh sửa không được phổ biến từ [24], nhiều nghiên cứu ABM đã áp dụng nhầm hoặc không chính xác các thành phần ODD, khiến cho việc chuẩn hóa càng trở nên khó khăn hơn Nghiên cứu cập nhật năm 2020 cố khắc phục vấn đề này bằng cách đưa ra tài liệu cập nhật mà có thể được truy cập tự do bởi tất cả mọi người [17] Ngoài ra, nghiên cứu [17] cũng cung cấp các mẫu tài liệu ODD đi kèm với ví dụ để các tác giả dễ tiếp cận hơn [16].

2 ODD trước đó không đề cập rõ tới lý do đằng sau những quyết định khi mô hình hóa Điều này dẫn đến việc một số mô hình chỉ mô tả chính xác những gì mô hình thực hiện, thay vì nói về những ý tưởng hay kỹ thuật khi thiết kế Thiếu sót đi những thành phần này khiến cho mô hình kém tin cậy hơn và khó để kế thừa hơn Việc mỗi thành phần trong Giao thức ODD đều có một câu hỏi nhỏ về việc tại sao thành phần này lại được thiết kế như vậy là cập nhật của nghiên cứu [17] cố gắng khắc phục nhược điểm này Tuy nhiên, sự bổ sung này làm nảy sinh một khó khăn nhỏ, đó là sự lặp lại câu hỏi “lý do tại sao lại thiết kế như vậy” trong Ý tưởng thiết kế Câu trả lời cho câu hỏi này thường được trả lời bằng việc “thiết kế như vậy được giả định là làm cho mô hình có hành vi mong muốn” [16] Tuy nhiên, nếu không biết thông tin trên, một tác giả có thể vướng mắc trong việc tìm những lý do cao siêu khác và gặp khó khăn trong việc trình bày mô hình.

3 Một số thành phần của ODD bị trùng lặp hay thừa thông tin Qua khảo sát trong bản cập nhật 2010, một số thành phần bị trùng lặp hay thừa thông tin là Mục đích và mẫu hình(do mục đích đã được nêu ở giới thiệu nghiên cứu), Ý tưởng thiết kế và Tổng quan tiến trình và lập lịch (do thông tin ở những phần này thường được trình bày lại trong Mô hình con) [24] Giao thức ODD chấp nhận việc trùng lặp để đảm bảo tính phân cấp về mặt thông tin (từ tổng quát đến chi tiết) Một số gợi ý khắc phục hoặc lý do xác đáng cho sự trùng lặp cũng đã đưa ra: phần Mục đích và mẫu hình là trùng lặp thực sự, nhưng có thể được nêu rất ngắn gọn; và sự trùng lặp nhỏ ở Tổng quan tiến trình và lập lịch là cần thiết để người đọc hiểu được văn cảnh hoạt động của mô hình [24].

4 Ngoài việc trùng lặp với thừa thông tin ra, một số thành phần của ODD dễ gây nhầm lẫn hoặc khó sử dụng Ví dụ, nếu một mô hình không chứa hành vi quá phức tạp, việc phân biệt rạch ròi những thành phần này ra rất khó, hoặc sẽ dẫn tới những tiểu mục rất nhỏ với nội dung gần như trùng lặp nhau Một số chỉ dẫn trong ODD gây khó khăn trong việc trình bày Ví dụ, trong Khởi tạo, ODD yêu cầu các tác giả không nêu tham số mô hình ở trong, đồng thời lại yêu cầu nêu ra đầy đủ quy trình khởi tạo. Điều này gây ra mâu thuẫn nếu một quá trình khởi tạo sử dụng các tham số mô hình Điều này xảy ra trong mô hình ví dụ (Chương 3) Cách giải quyết trong mô hình ví dụ là chuyển chi tiết của các quá trình khởi tạo xuống Mô hình con.

5 Nhược điểm tiếp theo là ODD thiếu sót một số thành phần Thành phần đầu tiên là tóm tắt Vì tính trọn vẹn của chúng, các ODD thường dài và phải được tóm tắt trong các nghiên cứu, nhưng hiện tại chưa có giao thức tường minh cho việc tóm tắt ODD Thành phần thứ hai là thành phần để mô tả sự phù hợp của mô hình với mục đích của nó Các bản các bản cập nhật ODD đã thêm yếu tố mẫu hình và liên kết tới mẫu mô hình hóa dựa trên mẫu hình–POM [17, 24] để giúp việc mô hình hóa có định hướng hơn.

6 ODD chưa khuyến khích việc phân cấp mô hình Một số ABM rất lớn và có Mô hình con kéo dài tới hàng chục trang, mô hình con phức tạp của những ABM này có thể dễ dàng viết thành một mô hình dưới dạng ODD [17] Tuy nhiên, ODD chưa khuyến khích mô hình con cũng như đưa ra phương pháp mô tả ODD con Nghiên cứu cập nhật 2020 khắc phục vấn đề này và cung cấp thêm mẫu tài liệu cho việc mô tả ODD phân cấp [17].

7 ODD chưa có tính kế thừa cao và chưa có cách để mô tả sự thay đổi Vấn đề mô tả sự thay đổi được đưa ra từ bản cập nhật 2010, nói về việc quá trình mô hình hóa diễn ra theo vòng lặp, dẫn đến nhiều phiên bản của mô hình [24] Bản cập nhật 2020 mở rộng vấn đề này, thừa nhận rằng việc thiếu các chỉ dẫn để mô tả thay đổi cũng dẫn đến vấn đề trong kế thừa mô hình Biểu hiện của vấn đề này là: các ABM/ODD thường được xây dựng lại từ đầu, trong khi có thể kế thừa lại một phần của ABM/ODD khác và xây dựng tiếp [17].

Với những nhược điểm như trên, việc nghiên cứu và phát triển ODD vẫn cần được tiếp tục Theo tác giả Grimm và các cộng sự, hướng đi tiếp theo của ODD sẽ bao gồm ba nội dung [17]:

• Sử dụng ODD cho những ngành nghiên cứu khác ngoài ABM: Ý tưởng sử dụng ODD cho những ngành nghiên cứu khác vốn đã được thực thi ở một mức độ nhỏ Đó là những nghiên cứu về EBM, hoặc những nghiên cứu sử dụng ABM kết hợp với các phương hướng nghiên cứu mô hình khác.

• Sử dụng ODD kết hợp với những giao thức khác: Việc kết hợp sử dụng ODD với các giao thức khác sẽ giúp bù đắp những khiếm khuyết của ODD Ví dụ, sử dụng ODD kèm với TRAnsparent and Comprehensive model Evaluation/Ecological modelling (TRACE) [4] có thể giúp mô tả quy trình thí nghiệm và kết quả nghiên cứu hiệu quả hơn.

• Tự động hóa liên kết giữa ODD và cài đặt của mô hình: Việc tự động hóa liên kết giữa chương trình và mô tả ODD, tự động hóa quá trình viết mô tả mô hình và ngược lại ODD có thể hướng tới việc tự động hóa chuyển đổi từ mã nguồn cài đặt và mô tả mô hình, nhưng không nên áp đặt/bắt buộc tính chất này Lý do thứ nhất là việc áp đặt như vậy sẽ làm cho ngưỡng tối thiểu để phát triển các hệ thống ABM cao hơn, có thể dẫn đến sự kém đa dạng và tùy biến của các phần mềm ABM Lý do thứ hai là điều này mâu thuẫn với một trong những mục đích của ODD: trở thành một tiêu chuẩn mà có thể mô tả mô hình tương đối độc lập với việc cài đặt [17] Lý do thứ ba, là cài đặt ABM có thể sử dụng thêm các kỹ thuật lập trình khác để tăng tốc mô phỏng, và việc nêu ra những kỹ thuật này trong ODD không có nhiều ý nghĩa về mặt mô hình hóa.

Ngoài ra, luận văn cho rằng một giao thức với ý tưởng tương tự như ODD có thể được mở rộng/biến đổi tới rất nhiều ngành nghiên cứu, không chỉ những ngành nghiên cứu được đề cập trong [17], với cơ sở là “kỳ vọng thông tin” [26].

Xây dựng và phân tích mô hình 41 2.1 Xây dựng mô hình con

Tinh chỉnh tham số

Khi đưa các giả định vào trong mô hình con, đôi khi nhà nghiên cứu sẽ phải sử dụng các đại lượng mà điều khiển hành vi của những mô hình con đó–các tham số mô hình Khi mô hình hóa, ta muốn mô hình tạo ra quan sát gần với mẫu hình đã chọn, giá trị của các tham số sẽ cũng sẽ được hiệu chỉnh để phục vụ mục đích đó Việc thay đổi giá trị các tham số có thể gây biến động lớn tới hành vi của mô hình, do đó, ta cần lựa chọn giá trị của tham số sao cho chúng gần với mẫu hình thực tế Quá trình này được gọi là tinh chỉnh tham số.

Việc tinh chỉnh tham số cũng giúp ước lượng các tham số mà chúng ta không đo được trong thực tế Bằng việc tinh chỉnh tham số sao cho chúng tạo ra quan sát gần với mẫu hình thực tế nhất có thể, nhà nghiên cứu có thể làm tăng độ tin cậy của giá trị được chọn, giảm sự không chắc chắn về mặt tham số mô hình.

Quá trình tinh chỉnh tham số chỉ được thực hiện khi ta đã có các mô hình con hoàn chỉnh (sau quá trình phát triển mô hình con) Việc tinh chỉnh được thực hiện bằng cách thay đổi tham số và đánh giá độ tương đồng của dữ liệu mô phỏng với mẫu hình đã chọn Từ đó, ta có thể chọn ra tham số khiến mô hình tạo ra kết quả gần với mẫu hình nhất Tuy nhiên, sau khi phát triển các mô hình con, một ABM sẽ thường có nhiều tham số Như vậy, việc thay đổi một tham số có thể không đảm bảo tính tin cậy, nhưng tinh chỉnh tất cả tham số dường như là một quá trình bất khả thi Vì lý do trên, bước đầu của quá trình tinh chỉnh là lọc ra các tham số cần tinh chỉnh.

Không phải tất cả tham số cần được tinh chỉnh Thực chất, nhà nghiên cứu có thể làm cho lượng tham số cần tinh chỉnh ít đi bằng cách thiết kế mô hình con với tham số đo đạc được từ thực tế, và tham khảo giá trị tham số từ các nghiên cứu thực nghiệm Ngoài ra, nếu trong mô hình có hai tham số mà tạo ra cùng một ảnh hưởng lên kết quả, rất có khả năng hai tham số đó có thể được thay thế bằng một tham số khác mang tính đại diện hơn, và mô hình con sử dụng tới những tham số đó nên được cân nhắc lại Những tham số “lý tưởng” cho việc hiệu chỉnh là những tham số mà không có giá trị chắc chắn, khoảng giá trị lớn, khó hoặc không thể đo lường trong thực tế, và gây thay đổi lớn tới giá trị quan sát mô phỏng.

Ví dụ 2 Trong mô hình lúa và rầy nâu ở Chương Mô hình minh họa, hệ số chuyển hóa năng lượng E T vốn được chia thành ba tham số khác nhau trong mô hình:

• hệ số chuyển hóa năng lượng E T ;

• hệ số tiêu thụ năng lượng E C ;

• hệ số phát triển của lúa, tạm gọi là E R

Dù phiên bản cuối cùng cũng có E C , tham số đó phụ thuộc hoàn toàn vàoE T

Hệ số E C được trừ đi một cách cố định ở mỗi bước thời gian trong phiên bản đầu tiên của mô hình, nếu như tác tử không phải trứng Hệ số E R được sử dụng trong một mô hình con ở phiên bản đầu tiên của mô hình, đó là “lúa phát triển” Trong quá trình này, các ô lúa còn sống (e i,j >0) ở mỗi bước thời gian nhận thêm một lượng năng lượng bằng với chính E R

Khi thử nghiệm với các tham số này, chúng cùng có ảnh hưởng giống nhau tới cùng một tập quan sát đầu ra, bao gồm tốc độ phá hoại lúa, tốc độ tăng trưởng của quần thể và cấu trúc quần thể rầy nâu Để ý hơn một chút, có thể thấy rằng, sự cập nhật năng lượng của lúa trong một bước thực chất là một tổ hợp tuyến tính của E R và E T :

Thay đổi năng lượng trên i, j =E R −E T ×số lượng rầy trên i, j.

Tương tự, với một tác tử rầy, sự thay đổi năng lượng trong một bước là tổ hợp tuyến tính của E C và E T :

Thay đổi năng lượng tác tử =E T −E C

Những dấu hiệu này cho thấy rằng, cả ba tham số thực chất chỉ đang biểu diễn cho một yếu tố, đó là sự chuyển hóa năng lượng giữa lúa và rầy nâu Điều này khiến cho một số mô hình con được thiết kế lại:

• Mô hình con “lúa phát triển” bị coi như là một yếu tố dư thừa và bị bỏ đi khỏi mô hình.

• Giả định mới được đưa vào mô hình con tiêu thụ năng lượng, đó là một con rầy nâu sẽ hấp thụ năng lượng sao cho đủ cho mức độ tiêu thụ của chúng, dẫn đến việc cố định năng lượng tiêu thụ E T bằng cách chia E C cho số hành động tối đa của rầy nâu.

• Thay đổi lượng năng lượng tiêu thụ dựa trên hành động rầy nâu sử dụng, thay vì trừ ngưỡng cứng như phiên bản đầu.

Các mô hình con khác trong mô hình cũng trải một quá trình tương tự như vậy để lược bỏ bớt những tham số phụ thuộc và những thành phần không chắc chắn.

Sau khi mô hình hóa lại, trải qua các bước phân tích mô hình, và quay lại bước tinh chỉnh tham số, mô hình chỉ còn một tham số cần hiệu chỉnh, đó là E T Đây là một tham số lý tưởng để hiệu chỉnh, vì nó gây ra biến động lớn trong kết quả, có ý nghĩa sinh thái rõ ràng nhưng lại không thể đo lường trong thực tế Các kết quả hiệu chỉnh được trình bày thêm trong Chương Mô hình minh họa

Ví dụ 2 đã minh họa một cách rõ ràng quá trình chọn lọc tham số để tinh chỉnh Đồng thời, ví dụ cho thấy, việc chọn lọc tham số để tinh chỉnh cũng có thể làm lộ ra những điểm chưa hợp lệ trong mô hình hóa, và thiết kế của mô hình khi đó cần được xem xét lại Một điểm quan trọng khác cũng cần lưu ý trong ví dụ là: việc so sánh giữa mẫu hình và kết quả quan sát phải là so sánh giữa hai điều kiện giống nhau, đo cùng một đại lượng, với cùng một đơn vị (nếu có) và trên cùng một thang đo Kết quả trong nghiên cứu [29] đo cùng đại lượng là cấu trúc quần thể, việc đo đạc diễn ra trong cùng khu vực địa lý (Đông Nam Á), và mức độ đo đạc cũng ở mức nhỏ (đơn vị không gian tính trên mét đất) Sự đối chiếu sẽ khập khiễng nếu như cấu trúc quần thể quan sát bao gồm cả trứng rầy, vì đại lượng đó không được cân nhắc trong [29], và đưa đại lượng đó vào sẽ làm cho cấu trúc quần thể không so sánh được với kết quả trong [29].

Tuy nhiên, vì mô hình là một bản sao không hoàn chỉnh của thực tế,rất khó để nhà nghiên cứu tạo ra điều kiện thí nghiệm giống 100% với một nghiên cứu trước đó Trong ví dụ trên vẫn có những yếu tố không hoàn toàn trùng khớp, ví dụ như giống lúa–một yếu tố không có trong mô hình Do đó,việc tinh chỉnh tham số mong muốn kết quả thu được gần nhất có thể với mẫu hình đối chiếu, nhưng không nhất thiết phải giống hệt.

Quá trình xây dựng cũng như tinh chỉnh tham số không thể được thực hiện nếu ta không cài đặt mô phỏng để thực thi mô hình Phần tiếp theo sẽ trình bày cách để cài đặt một chương trình mô phỏng từ mô tả của mô hình.

Cài đặt mô phỏng

Để sử dụng mô hình, ta cần cài đặt một chương trình để thực hiện mô phỏng với mô hình đó Tài liệu [8] đã đưa ra hướng dẫn chi tiết cho quá trình này, nhưng hướng dẫn chỉ ứng dụng với bộ công cụ mô phỏng NetLogo. Luận văn muốn tổng quát hóa hướng dẫn đó để có thể được áp dụng với nhiều bộ công cụ mô phỏng khác nhau Do đó, quy trình chung của việc cài đặt mô phỏng sẽ được trình bày trước Sau đó, quy trình này được minh họa bằng việc cài đặt mô phỏng cho một mô hình minh họa Việc cài đặt mô phỏng sẽ không sử dụng bất kỳ bộ công cụ ABM xây dựng sẵn nào, mà chỉ sử dụng những thư viện tiêu chuẩn của ngôn ngữ lập trình Mục đích là khiến cho ví dụ minh họa ít phụ thuộc nhất có thể.

Trước hết ta cần viết ra khung chương trình chung cho mô phỏng đó dựa trên phần “Tổng quan” của giao thức ODD Sau đó, với các quá trình khác, như mô hình con, khởi tạo, trực quan hóa, ta cài đặt từng quá trình một, mỗi phần cài đặt sẽ được kiểm tra kỹ càng trước khi sử dụng chính thức. Bằng cách này, ta sẽ tránh được các lỗi sai nghiêm trọng do lập trình khi cài đặt (xem [8]).

Một chương trình mô phỏng sẽ có cấu trúc cơ bản giống trong Thuật toán 2.1 Trong vòng lặp, ta luôn có hai yếu tố là lập lịch tác tử và điều kiện dừng. Điều kiện dừng trong mô phỏng có thể được xác định bởi giới hạn của thang đo thời gian hoặc bởi trạng thái trong mô phỏng Khi lập trình, nếu điều kiện mô phỏng dựa trên thang thời gian, ta chỉ cần chạy mô phỏng với số bước lặp xác định trước Trong trường hợp điều kiện dừng mô phỏng dựa trên trạng thái của mô phỏng, ta cần cài đặt chương trình con để thực hiện kiểm tra điều kiện Trong thực tế, nếu điều kiện dừng của mô phỏng không được đảm bảo, việc cài đặt thường đưa thêm một giá trị bước lặp tối đa để ngăn việc mô phỏng không chạy vô hạn. Đối với lập lịch, thứ tự thực hiện hành động của tác tử có thể diễn ra theo hai cách:

• Cách đầu tiên là các tác tử được ưu tiên hành động theo một trạng thái nào đó của chúng (ví dụ như năng lượng);

• Cách thứ hai là lập lịch một cách ngẫu nhiên.

Khi cài đặt, cách lập lịch có thứ tự được thực hiện bằng việc sử dụng các thuật toán sắp xếp Cách lập lịch ngẫu nhiên được cài đặt bằng cách tạo ra một hoán vị của số tác tử, và duyệt tác tử theo thứ tự đó Lập lịch hành động cũng có thể được cài đặt tương tự Một số mô phỏng phức tạp có thể kết hợp lập lịch đồng thời cả tác tử và hành động.

Thuật toán 2.1 Cấu trúc cơ bản của chương trình mô phỏng

1: Định nghĩa tác tử và các cấu trúc dữ liệu

3: while not Điều kiện dừng do

4: for Mỗi tác tử a trong tập tác tử theo thứ tự lập lịch do

5: for Mỗi mô hình con i theo thứ tự lập lịch do

6: Tác tử a thực thi mô hình con i

9: Thu thập quan sát mô phỏng

Do sự phức tạp của việc cài đặt mô hình trong Chương Mô hình minh họa, luận văn sử dụng một mô hình minh họa khác đơn giản hơn, đó là mô hình phân cụm Schelling [22] Mô tả ODD của mô hình Schelling được tham khảo từ tài liệu [8].

Mục đích và mẫu hình

Mô hình muốn nghiên cứu sự co cụm dân cư trong các thành phố: tại sao thành viên của mỗi nhóm dân cư thường tập trung trong một khu lân cận? Mô hình khám phá liên kết giữa mẫu hình phân cụm và “ngưỡng hài lòng” của dân cư khi có những người khác nhóm ở xung quanh.

Thực thể, trạng thái và thang đo

Thực thể trong mô hình bao gồm tác tử hộ dân cư và những mảnh đất Tác tử hộ dân cư được đặc trưng bởi mảnh đất mà chúng ở trên và màu của chúng, màu đại diện cho nhóm mà chúng ở trong Điều này có nghĩa mỗi mảnh đất chỉ có một hộ dân cư duy nhất sống ở trên và ngược lại Một tác tử hộ dân cư có thể có màu “đỏ” hoặc “xanh” Mỗi hộ dân cư có thể có trạng thái “hài lòng” hoặc không, trạng thái này sẽ nhận giá trị đúng nếu như tác tử không tương đồng với nhiều tác tử hộ dân cư khác xung quanh nó.

Mảnh đất được tạo thành từ lưới 51×51 Mô hình không biểu diễn đường đi hay khoảng cách giữa các nhà Thang đo thời gian không có độ chia cụ thể, mỗi bước thời gian thể hiện thời gian mà tác tử người quyết định di chuyển Thời gian mô phỏng tổng cộng là một đầu ra quan sát được: mô phỏng sẽ chạy cho tới khi tất cả các tác tử đều “hài lòng” và không chuyển chỗ.

Tổng quan tiến trình và lập lịch

Những hành động sau được thực thi một lần theo thứ tự liệt kê ở mỗi bước mô phỏng:

1 Nếu mọi tác tử hộ dân cư đều hài lòng (trạng thái happy có giá trị đúng), thì mô phỏng kết thúc;

2 Những tác tử hộ dân cư không hài lòng thực hiện hành vi di chuyển (move), thứ thự thực thi là được sắp ngẫu nhiên ở mỗi bước;

3 Mọi tác tử hộ dân cư cập nhật trạng thái happy của chúng;

4 Các quan sát đầu ra của mô phỏng được cập nhật. Ý tưởng thiết kế

Về cơ bản, mô hình đặt câu hỏi về liên hệ giữa ngưỡng hài lòng của mỗi hộ dân cư và sự phân cụm dân cư ở mức độ hệ thống Kết quả chính của mô hình phân cụm là mẫu hình phân cụm và mức độ phân cụm Kết quả này hợp trội từ hành vi của hộ dân cư để đáp ứng lại sự không hài lòng với hàng xóm của chúng Hành vi thích ứng của hộ dân cư là quyết định khi nào nên di chuyển dựa trên mục tiêu của chúng: số lượng hàng xóm tương đồng cao hơn một ngưỡng nào đó Hành vi thích ứng của tác tử không có tính học hỏi, mà chỉ dự đoán ngầm định rằng di chuyển như vậy sẽ dẫn tới việc chúng ở trong một khu vực thỏa mãn mục tiêu về độ tương đồng của chúng Để đưa ra những quyết định, tác tử hộ dân cư có thể biết được trạng thái “màu” của tác tử trong 8 vị trí xung quanh nó.

Trong mô hình, tính ngẫu nhiên được sử dụng cho hai mục đích Mục đích đầu tiên là khởi tạo tác tử một cách ngẫu nhiên, không được phân theo cụm Mục đích thứ hai là xác định ví trí mới khi tác tử di chuyển, vì chi tiết của quá trình di chuyển không quan trọng trong mô hình.

Các quan sát của mô hình bao gồm biểu diễn trực quan trạng thái màu color và trạng thái hài lòng happy của mỗi tác tử trên lưới Ngoài ra, hai kết quả số khác được thu thập, đó là phần trăm hàng xóm cùng màu tính trung bình và phần trăm hài lòng tính trên toàn bộ tác tử người.

Người mô phỏng chọn một tỷ lệ nhất định các ô đất mà có tác tử người (mặc định 95%) Sau đó, những tác tử người sẽ được khởi tạo với vị trí và màu ngẫu nhiên, đỏ hoặc xanh với xác suất như nhau Cuối cùng, trạng thái happy của các tác tử được cập nhật.

Mô hình con di chuyển Xét một tác tử không hài lòng bất kỳ Một vị trí ngẫu nhiên trong các vị trí còn trống được lựa chọn Vị trí của tác tử được đặt thành vị trí đã chọn.

Cập nhật trạng thái hài lòng Xét một tác tử bất kỳ, tác tử này kiểm tra trạng thái màu của các tác tử xung quanh nó (tác tử hàng xóm) Tác tử hàng xóm được coi là tương đồng nếu chúng có cùng màu với tác tử đang xét Nếu tỷ lệ tác tử tương đồng trên tổng số lượng hàng xóm lớn hơn một ngưỡng hài lòng min_similarity nào đó, trạng thái happy của tác tử đang xét được đặt giá trị true Nếu không, trạng thái happy của tác tử đang xét được đặt giá trị false.

Theo [17], với thông tin của phần tổng quan, ta có thể xây dựng khung của chương trình mô phỏng Chi tiết của khung chương trình có thể thay đổi do các yêu cầu kỹ thuật về sau Trong bước đầu ta chỉ cần tạo ra cấu trúc chung, người cài đặt chưa cần quá lo lắng về việc tối ưu quá trình chạy mô phỏng.

Thí nghiệm phân tích mô hình

Tùy vào mục đích của thí nghiệm, cũng như cách thiết kế các thí nghiệm, việc phân tích mô hình được chia thành ba loại, đó là: Sensitivity Analysis (SA), hay phân tích độ nhạy; Uncertainty Analysis (UA), hay phân tích độ tin cậy [a] ; và, Robustness Analysis (RA), hay phân tích độ bền vững.

Cả ba loại phân tích trên được sử dụng để phân tích kết quả cũng như hành vi của ABM và sẽ được trình bày trong phần này.

[a] Nếu dịch thô, UA có nghĩa là “phân tích sự không chắc chắn”, tuy nhiên với ý nghĩa của quá trình này, UA có thể dịch là phân tích độ tin cậy.

Trước khi đi tới xây dựng hay phân tích mô hình, ta cần xác định ra các quan sát đại diện (currency [8], hay quantity of interest [10]) Quan sát đại diện có thể là một đại lượng hay hiện tượng mà có thể biểu diễn tính chất của hệ thống đang được mô phỏng Quan sát đại diện nên tương đương với các mẫu hình mà có thể được quan sát, đo lường trong thế giới thực (và sẽ tốt hơn nếu có các nghiên cứu thực nghiệm mà đo lường chúng) [b] Điều này tăng tính đáng tin của quan sát đại diện, giúp cho chúng dễ dàng được kiểm chứng và đối chiếu Ví dụ, trong mô hình nghiên cứu về dân số, dễ thấy rằng, dân số sẽ là một quan sát đại diện của mô hình Không chỉ vậy, những thống kê khác về dân số như độ tuổi, sức khỏe, , cũng là những quan sát đại diện quan trọng Tài liệu [8] đưa ra một số ví dụ của quan sát đại diện như sau:

• Mẫu hình được mô tả trong phần Tổng quan của ODD;

• Tham số thống kê, tham số phân phối của kết quả (trung bình, phương sai, độ lệch, );

• Các đặc trưng của chuỗi thời gian (khuynh, mùa, tự tương quan, );

Ngoài ra, tác giả cũng được tiếp cận một số dạng đại lượng khác trong quá trình nghiên cứu làm luận văn, ví dụ như:

• Các thuộc tính dựa trên đồ thị xây trên quan hệ giữa các tác tử, ví dụ như độ co cụm;

• Các tham số của một mô hình cổ điển thu được sau khi ước lượng sử dụng dữ liệu mô phỏng, ví dụ như tham số hồi quy.

Vì ABM sinh ra rất nhiều dữ liệu, việc tìm hiểu, xem xét chi tiết tất cả lượng dữ liệu đó là không thể Do đó, ta cần đại lượng đặc trưng để phân tích mô hình Đại lượng đặc trưng được mô tả trong Sự quan sát của giao thức ODD.

Sau khi các quan sát đặc trưng được định nghĩa rõ ràng, nhà khoa học cần mô phỏng với mô hình đã xây dựng và thu thập dữ liệu cho những quan sát đó, và có thể tiến hành phân tích mô hình.

[b] Trong tài liệu [8], tác giả Grimm chia quan sát cho việc tinh chỉnh tham số và việc phân tích mô hình thành hai khái niệm riêng biệt và nằm trong hai quá trình khác nhau Luận văn gộp chúng thành một khái niệm vì hai khái niệm này có nhiều điểm chung và chúng đều có thể được hiểu với ý nghĩa “kết quả quan sát đặc trưng cho hệ thống được mô hình hóa”.

Phân tích độ nhạy–SA–là quá trình nhằm nhận biết được một kết quả của mô hình có “nhạy cảm” hay không với các tham số đầu vào Nói cách khác, nếu nhà nghiên cứu thay đổi giá trị của tham số, liệu các quan sát thu được từ mô phỏng có thay đổi nhiều hay không?

Vì là một phương pháp phân tích đầu ra mô hình, SA đem lại cảm giác rằng SA được thực hiện sau khi mô hình đã hoàn toàn được xây dựng (đã phát triển mô hình con, đã tinh chỉnh tham số và mô hình ở phiên bản cuối cùng) Tuy nhiên, trong quá trình nghiên cứu, tác giả luận văn thấy rằng, trong thực nghiệm, SA cũng là phương pháp phân tích hữu dụng trong quá trình xây dựng mô hình và tinh chỉnh tham số Tài liệu [8] cũng đồng ý với điều này, vì việc chỉnh sửa mô hình sao cho hợp lý hơn sau khi mô hình đã được hoàn thiện cũng là một lựa chọn trong [8] Chính vì sự xuất hiện của SA trong suốt quá trình mô hình hóa, các ABM, dù ít dù nhiều, đều nên đi kèm với SA.

Việc thực hiện SA lại được chia thành hai loại riêng biệt: phân tích độ nhạy địa phương, và phân tích độ nhạy toàn cục Phân tích độ nhạy địa phương biến thiên một tham số đầu vào trong một thí nghiệm (phân tích một tham số), còn phân tích toàn cục biến thiên toàn bộ tham số đầu vào (phân tích nhiều tham số cùng một lúc) Thực chất sự phân chia này không đến từ ABM, mà từ mô hình hóa cổ điển Do đó, các bước thực hiện và phương pháp thực hiện cũng sẽ có những điểm tương đồng với SA trong các mô hình cổ điển Tuy nhiên, vì ABM nặng tính toán hơn, tạo ra lượng dữ liệu lớn hơn rất nhiều và có thể sử dụng tới tính ngẫu nhiên, quá trình phân tích cũng cần có những thay đổi để phù hợp với đặc điểm đó. Đối với ABM, nhà khoa học nên phân tích địa phương từng tham số trước để xác định các tham số nhạy cảm, sau đó mới thực hiện thực hiện phân tích toàn cục Việc phân tích độ nhạy địa phương được thực hiện theo các bước sau đây:

1 Xác định khoảng giá trị “hợp lý” của tham số;

2 Chạy mô phỏng trên miền giá trị vừa xác định, thu lại các giá trị quan sát;

3 Phân tích kết quả thu được xem sự thay đổi tham số đầu vào ảnh hưởng như thế nào tới quan sát đầu ra;

4 Thực hiện các bước trên cho từng tham số và so sánh sự biến động quan sát giữa chúng.

Khi thực hiện những bước trên, một số tham số sẽ ảnh hưởng lớn tới kết quả quan sát được Điều này gợi ý rằng những quá trình sử dụng tham số đó có vai trò rất lớn trong việc quyết định các quan sát mô phỏng Những tham số mà vừa có ảnh hưởng lớn như trên, mà lại có giá trị không rõ ràng, khó đo đạc thực tế, sẽ là những tham số lý tưởng cho bước Tinh chỉnh tham số Ngược lại, những tham số mà khi thay đổi, không ảnh hưởng quá nhiều tới kết quả, thì gợi ý rằng, các quá trình gắn tới chúng có thể ít quan trọng hơn, đồng thời ta có thể loại bỏ các tham số này trong những thử nghiệm phân tích về sau.

Sau khi phân tích từng tham số, ta có thể tiến hành phân tích độ nhạy toàn cục Thực hiện SA toàn cục cũng tương đối giống với phiên bản địa phương, nhưng thay vì thay đổi một tham số, thí nghiệm toàn cục sẽ biến thiên tất cả tham số Việc này giúp hiểu một cách toàn cảnh hơn về sự tác động của các tham số Vì đôi khi, sự biến động trong kết quả của mô hình không chỉ phụ thuộc vào một tham số, mà còn vào sự tương tác giữa nhiều tham số khác nhau Với định nghĩa này, dễ thấy việc thực hiện SA toàn cục với tất cả tham số là bất khả thi Đó là lý do nhà nghiên cứu nên thực hiện phân tích địa phương trước để sàng lọc ra các tham số ứng cử cho phân tích toàn cục.

2.4.3 Phân tích độ tin cậy

Phân tích độ tin cậy–UA, là một quá trình gần giống với SA, tuy nhiên có mục đích khác biệt Trong khi SA có mục đích là xác định tham số nào gây ra biến động lớn trong quan sát mô phỏng, thì UA muốn tìm hiểu xem, liệu thêm yếu tố “không chắc chắn” vào trong tham số đó có làm cho quan sát thu được trở nên nhiễu loạn hay không Nói cách khác, UA giúp nhà nghiên cứu biết kết quả của mô hình có đáng tin cậy không, và giảm bớt sự bất định do tham số.

Phân tích độ tin cậy được thực hiện theo bốn bước [8]:

1 Bước đầu là xác định các tham số cần phân tích Giống như SA, việc phân tích tất cả tham số dẫn đến một lượng thử nghiệm khổng lồ Do đó,nhà nghiên cứu nên tập trung vào các tham số mà có độ bất định cao hơn (chẳng hạn như khó đo lường), và có ảnh hưởng tới kết quả nhiều hơn (độ nhạy cao).

2 Sau khi xác định các tham số cần phân tích, ta xây dựng phân phối giá trị cho mỗi tham số đó Phân phối này thể hiện sự không chắc chắn của giá trị tham số Ví dụ, trong một trường hợp đơn giản, phân phối giá trị có thể là một phân phối đều U(a, b), với a, b là cực trị đo thực nghiệm của tham số đó.

3 Chạy mô phỏng thí nghiệm, mỗi mô phỏng sẽ sử dụng một bộ tham số mà được lấy mẫu từ các phân phối đã xây dựng ở trên.

4 Phân tích phân phối của các giá trị quan sát thu được từ mô phỏng.

Quy trình này thoạt nhìn sẽ giống với SA toàn cục Tuy nhiên, điểm khác biệt là, tham số thay vì biến thiên trong toàn bộ khoảng giá trị của chúng, thì chỉ biến thiên trong một phân phối nhất định Phân phối này thể hiện sự không chắc chắn trong tham số đầu vào Các phân phối thường được xây dựng sao cho giá trị tham số lấy mẫu được sẽ thiên về giá trị nằm ở giữa phân phối, ví dụ như phân phối chuẩn, phân phối tam giác [8].

2.4.4 Phân tích độ bền vững

Mô hình minh họa 77 3.1 Mục đích và mẫu hình

Thực thể, trạng thái và thang đo

Mô hình bao gồm hai thực thể Các thực thể cũng như biến trạng thái của chúng được liệt kê trong Bảng 3.1.

Thực thể đầu tiên là tác tử rầy nâu Mỗi tác tử rầy đều có năng lượng, giai đoạn sống, và hình thái Hình thái của rầy nâu bao gồm cánh dài (Macropterous) và cánh ngắn (Brachypterous) Hình thái ảnh hưởng tới tuổi

[a] Những mẫu hình này mang tính trực quan và được quan sát trực tiếp trên mô phỏng, dùng để phát triển mô hình.

Bảng 3.1 Thực thể trong mô hình và biến trạng thái của chúng; biến S là kích thước môi trường mô phỏng

Ký hiệu Mô tả Giá trị

Rầy nâu i Giá trị định danh của tác tử (ID) 1,2, x i Toạ độ x của tác tử i trên lưới 1,2, , S y i Toạ độ y của tác tử i trên lưới 1,2, , S e i Năng lượng của tác tử i [0,1] z i (g) Giới tính của tác tử i (đực, cái) 0,1 z i (s) Giai đoạn tuổi của tác tử i (trứng, ấu trùng, trưởng thành, chết) 0,1,2,3 z i (f) Hình thái của tác tử i (cánh ngắn, cánh dài) 0,1 t (s) i Đếm ngược tới thời gian lớn lên của tác tử i 0,1, t (r) i Đếm ngược tới thời gian sinh sản của tác tử i 0,1, Ô lưới thực vật x Tọa độ x của ô lưới 1,2, , S y Tọa độ y của ô lưới 1,2, , S t x,y Loại của ô lưới x, y (hoa, lúa) 0,1 e x,y Năng lượng của ô lưới trồng lúa x, y [0,1] p x,y Xác suất tiêu diệt rầy tại ô lưới x, y [0, P 0 ] thọ cũng quá trình như sinh sản của rầy nâu Ngoài ra, mỗi tác tử rầy đều có các biến đếm để tính thời gian sinh sản và phát triển.

Thực thể thứ hai trong mô hình là các ô lưới thực vật Một ô lưới có thể trồng hoa canh tác hoặc trồng lúa Mỗi lưới trồng lúa sẽ có một giá trị năng lượng đại diện cho sự khoẻ mạnh của lúa Ngoài ra, mỗi ô có một xác suất tiêu diệt rầy Xác suất này thể hiển ảnh hưởng của hoa canh tác lên rầy nâu Các ô thực vật xếp lại thành một lưới vuông, lưới này chính là môi trường mô phỏng.

Mô hình biểu diễn thời gian và không gian một cách rời rạc Môi trường mô phỏng đại diện cho một thửa ruộng tương ứng với kích thước 360m 2[b] ngoài đời thực Môi trường này được chia thành một lưới kích thước S×S với S = 125, mỗi ô có độ dài cạnh tương đương với xấp xỉ 0.15m trong thế giới thực.

Thời gian mô phỏng mô hình kéo dài 2880 bước Mỗi bước tương đương với một giờ đồng hồ thực tế Toàn bộ mô phỏng tương đương với 120 ngày–khoảng thời gian một vụ mùa.

[b] Đây là một sào Bắc bộ.

Tổng quan tiến trình và lập lịch

Lập lịch Trong mỗi bước của mô phỏng, tác tử rầy nâu thực hiện hành động của chúng, sau đó đến lượt các ô lưới thực vật Các tác tử với năng lượng lớn hơn thực hiện hành động của chúng trước Thứ tự thực hiện hành động của các ô lưới không quan trọng vì không gây ra khác biệt về kết quả.

Hành động của ô lưới Ô lưới môi trường chỉ thực hiện một hành động duy nhất, đó là tiêu diệt rầy nâu.

Các hành động của rầy nâu Hành động của rầy nâu được phụ thuộc vào giai đoạn tuổi của chúng Các hành động của rầy bao gồm: phát triển, di chuyển, ăn, sinh sản và chết Tác tử trứng chỉ thực hiện hai hành động là lớn lên và chết Tác tử ấu trùng thực hiện thêm hai hành động là di chuyển và ăn. Tác tử trưởng thành thực hiện thêm hành động sinh sản Tác tử ở giai đoạn chết không thực hiện hành động nào và sẽ bị xoá khỏi mô phỏng ở cuối bước mô phỏng.

Ý tưởng thiết kế

Mô hình được xây dựng dựa trên việc rầy nâu lây lan trên ruộng, phá hoại lúa Hoa canh tác sẽ đóng vai trò như một hàng rào mỏng, không chỉ ngăn cách các vùng của thửa ruộng, mà còn thu hút thiên địch của rầy nâu để tiêu diệt chúng.

Sinh khối của các tác tử và chuyển hoá sinh khối giữa chúng được mô hình biểu diễn qua “năng lượng” Tác tử đạt trạng thái khoẻ mạnh nhất khi chúng có năng lượng một Ngược lại, nếu năng lượng của tác tử giảm xuống không, chúng sẽ chết.

Mô hình không biểu diễn trực tiếp tác tử thiên địch Việc tiêu diệt rầy của thiên địch thu hút bởi hoa canh tác được mô hình hoá bằng một xác suất bắt rầy trên các tác tử ô lưới.

Tính hợp trội Ở mức độ hệ thống, các đặc tính mà hợp trội từ tương tác bậc thấp của các tác tử sẽ bao gồm cấu trúc quần thể của rầy nâu và mức độ khoẻ mạnh trung bình tính trên toàn ruộng.

Các tác tử rầy ra quyết định để thích ứng với trạng thái của bản thân chúng và trạng thái của ô lưới môi trường xung quanh Cụ thể hơn, yếu tố đầu tiên là giai đoạn tuổi của chúng Mỗi giai đoạn tuổi gắn với các hành động nhất định Yếu tố thứ hai là năng lượng Các hành động của chúng có điều kiện dựa trên năng lượng của bản thân Yếu tố thứ ba là năng lượng và loại ô lưới môi trường Yếu tố này ảnh hưởng tới cách chúng di chuyển, ăn và sinh sản.

Tác tử rầy nâu dự đoán một cách ngầm định lượng thức ăn chúng sẽ nhận được khi di chuyển Dự đoán này được biểu diễn bằng xác suất, tính bởi năng lượng của lúa Ngoài ra, khi sinh sản, chúng cũng cân nhắc năng lượng con non có thể sử dụng sau này Chúng sẽ không sinh sản nếu ô lúa chúng đang ở trên có năng lượng quá thấp.

Tác tử rầy nâu chỉ có thể biết được trạng thái nội tại của chúng Ngoài ra, chúng có thể quan sát được năng lượng và loại của những ô lưới môi trường xung quanh.

Mô hình chứa một tương tác trực tiếp và hai tương tác gián tiếp. Tương tác trực tiếp là việc rầy nâu “ăn” lúa, trực tiếp trao đổi năng lượng từ lúa sang chúng.

Tương tác gián tiếp bao gồm việc rầy nâu gián tiếp cạnh tranh nhau để chiếm lấy nguồn thức ăn bị giới hạn, và việc rầy nâu bị tiêu diện bởi ô lưới môi trường Việc rầy nâu bị tiêu diệt theo xác suất từ ô lưới môi trường được coi là gián tiếp vì quá trình này là một quá trình mô phỏng lại; còn thiên địch của rầy không được biểu diễn trong mô hình.

Tính ngẫu nhiên được sử dụng trong mô hình vừa để tăng sự đa dạng của kết quả, vừa để biểu diễn các quá trình mang tính chọn lựa một cách thực tế, vừa để làm đơn giản hoá các hiện tượng phức tạp.

Những quá trình dùng đến tính ngẫu nhiên bao gồm: trạng thái khởi tạo ban đầu, quá trình di chuyển, quá trình lớn lên, và quá trình sinh sản của rầy nâu. Để kết quả có thể được tái nghiệm, quá trình mô phỏng sử dụng bộ sinh số giả ngẫu nhiên để kiểm soát các yếu tố bất định của mô hình.

Trong quá trình thí nghiệm và mô phỏng, một số thông tin được ghi nhận lại ở mỗi bước thời gian Các thông tin đó bao gồm: phần trăm lượng lúa khoẻ mạnh, số lượng rầy non, số lượng rầy trưởng thành cánh ngắn, số lượng rầy trưởng thành cánh dài Từ những thông tin đó, một số thông tin về cấu trúc quần thể rầy nâu được tính toán phục vụ việc phân tích mô hình, đó là: tổng số lượng rầy nâu (không tính trứng rầy); cấu trúc quần thể rầy nâu,bao gồm phần trăm của ấu trùng, của rầy trưởng thành cánh dài và của rầy trưởng thành cánh ngắn.

Quá trình khởi tạo

Quá trình khởi tạo mô hình bao gồm các bước sau: Đầu tiên, môi trường mô phỏng được khởi tạo Bước này tạo ra các ô lưới môi trường cùng với các trạng thái có liên quan Trong bước này, một số thuộc tính của mô hình cũng được tính toán trước và được đệm [c] để tăng cường hiệu năng mô phỏng.

Sau đó, các tác tử rầy nâu được khởi tạo và đặt vào môi trường mô phỏng Ngoại trừ số thứ tự, trạng thái của chúng được khởi tạo ngẫu nhiên.

[c] (Động từ: cache) Việc “đệm” (caching) là một kỹ thuật trong lập trình, trong đó, một vài biến số chỉ cần tính toán một lần đã được tính toán trước để dùng lại Dù cache có thể được dịch là “đưa vào bộ nhớ đệm”, thuật ngữ không nhất thiết phải chỉ về các thao tác với bộ nhớ đệm thực sự trong phần cứng máy tính Những cấu trúc dữ liệu dùng để lưu các biến số tạm thời đôi lúc cũng được gọi là bộ nhớ đệm.

Bảng 3.2 Biến khởi tạo và giá trị mặc định

Biến Mô tả Giá trị

S F Độ rộng được sử dụng để trồng hoa ở giữa lưới môi trường –

N 0 Số lượng tác tử được khởi tạo 200

P 0 Giá trị xác suất loại trừ gốc –

E T Tham số chuyển hóa năng lượng từ lúa sang rầy nâu 0.03

Quá trình khởi tạo được điều khiển bởi một số biến số đầu vào Chúng được liệt kê trong Bảng 3.2 Biến số S F và P 0 biến thiên tùy theo các kịch bản thí nghiệm Đối với các thí nghiệm kiểm tra độ nhạy, chúng được khởi tạo theo dãy Sobol để có thể tiến hành kiểm định phương sai nếu cần Đối với các thí nghiệm quan sát kết quả, chúng được khởi tạo theo lưới cố định để quan sát kết quả mô phỏng nhiều lần khác nhau tại một điểm.

Dữ liệu ngoại cảnh

Mô hình không sử dụng dữ liệu ngoại cảnh.

Mô hình con

Ngoài những biến số khởi tạo trong Bảng 3.2, mô hình sử dụng thêm một vài tham số và các phân phối xác suất khác Tham số thứ nhất là kích thước bản đồ S Tham số thứ hai là năng lượng rầy tiêu hao của rầy E C , có giá trị E T /3.

Các phân phối trong mô hình được minh hoạ trong Bảng 3.3 và Bảng 3.4 Thống kê cho các phân phối này được tham khảo trong [19] Trong [19], số liệu được đưa ra dưới dạng khoảng [a, b], các tham số trung bình và độ lệch chuẩn của phân phối được tính toán sử dụng các cực trị này với (3.1) và (3.2). a =à−σ, (3.1) b =à+σ (3.2)

Bảng 3.3 Thời gian của một giai đoạn tuổi [19]

Chuyển giai đoạn Giới Hình thái Phân phối

Trứng → Ấu trùng – – N(228,84) Ấu trùng → Trưởng thành Đực – N(336,24) Ấu trùng → Trưởng thành Cái – N(324,60)

Trưởng thành → Chết Cái Macropterous N(660,12)

Trưởng thành → Chết Cái Brachypterous N(540,12)

Bảng 3.4 Các phân phối liên quan tới sinh sản của rầy nâu [19]

(a) Phân phối thời gian tới lần sinh sản đầu tiên

(b) Phân phối thời gian tới lần sinh sản tiếp theo

Vì môi trường có dạng lưới, ma trận được sử dụng để biểu diễn chúng một cách hiệu quả Tọa độ của các ô lưới được sử dụng như chỉ số của ma trận Mỗi biến trạng thái của ô lưới được biểu diễn bằng một ma trận.

Tại bước khởi tạo, biến trạng thái của các ô lưới được xác định bởi:

2 Loại ô lưới T = [t x,y ], [t x,y = 0] nếu y a ≤ y ≤y b , và bằng 1 nếu ngược lại, trong đó y a , y b xác định vùng giới hạn trồng hoa, xác định bởi: y a $ S−S F

3 Xác suất tiêu diệt rầy

[p x,y ] S×S = P 0 ×(1−T)∗G(σ), trong đó G(σ) là nhân Gauss với σ = k−1

3.7.3 Quá trình tiêu diệt Đây là mô hình con nhằm biểu diễn hiện tượng rầy nâu bị tiêu diệt bởi thiên địch.

Với mỗi vị trí x, y trên ô lưới, xét tác tử i mà có vị trí x i =x, y i =y, tác tử bị loại khỏi mô phỏng với xác suất p Xác suất này được tính sử dụng hàm mật độ của phân phối Geom(p x,y ) Quá trình này được ghi chi tiết hơn trong Thuật toán 3.1.

Thuật toán 3.1 Tiêu diệt rầy nâu trên ô lưới x, y, xác suất tiêu diệt p x,y

2: for mỗi tác tử rầy nâu i sao cho x=x i and y =y i do

4: if true với xác suất p then

5: Xoá tác tử i khỏi mô phỏng

Phân phối hình học được sử dụng để giới hạn số lượng rầy nâu bị tiêu diện ở mỗi bước Trước khi sử dụng phân phối hình học, trong quá trình xây dựng mô hình, p x,y từng được sử dụng một cách trực tiếp (tứcp=p x,y ) Tuy nhiên, điều này làm cho kết quả rất nhạy với biến đầu vào P 0 vì có thể có quá nhiều rầy nâu bị tiêu diệt trong một bước, dẫn đến mô hình không ổn định. Sau đó, một hướng tiếp cận khác được đưa ra để khắc phục, đó là chia p x,y cho số lượng tác tử trên ô Tuy nhiên, hướng tiếp cận này lại làm cho quá trình tiêu diệt nhạy cảm với số lượng tác tử, nếu có nhiều rầy nâu trên một ô thì xác suất tiêu diệt sẽ rất bé, mô hình vẫn không ổn định Cuối cùng, phân phối hình học được sử dụng để giải quyết cả hai vấn đề trên Hàm mật độ của phân phối hình học đảm bảo rằng tác tử đầu tiên vẫn có xác suất tiêu diệt cao, còn các tác tử sau có xác suất giảm dần, do đó giới hạn số tác tử bị tiêu diệt trong cùng một bước (Hình 3.2) Sử dụng phân phối hình học không những giúp mô hình thực tế hơn, mà còn giúp ổn định mô hình.

Tại bước đầu tiên của mô phỏng, cóN 0 tác tử được tạo ra Mỗi tác tử i có biến trạng thái như sau:

• Vị trí ban đầu của chúng được lấy mẫu từ phân phối Poisson Poi(6) với ràng buộc x i ≤ 15 và y i ≤ 15.

Hình 3.2 Hàm mật độ xác suất của phân phối hình học

• Năng lượng e i được lấy mẫu từ phân phối N(0.5,0.5).

• Giới tính z i (g) được lấy mẫu từ tập {đực, cái} với xác suất {0.37,0.63} [19].

• Giai đoạn z i (s) được lấy mẫu từ tập {trứng, non, trưởng thành} với trọng số {0.33, 0.47,0.20} Đếm ngược tới giai đoạn tiếp theo t (s) i được lấy theo Bảng 3.3.

• Đếm ngược tới lần sinh sản tiếp theo t (r) được khởi tạo theo luật của lần sinh sản đầu nếu tác tử là con non hoặc trứng, theo luật của lần sinh sản tiếp theo hoặc lần đầu với xác suất bằng nhau nếu là con trưởng thành. Giá trị này cũng phụ thuộc vào các biến trạng thái khác, quy luật chi tiết được trình bày trong Bảng 3.4.

Xét tác tử rầy nâu i, quá trình lớn lên được mô tả bằng việc đếm ngược giai đoạn giảm đi một đơn vị: t (s) i ← t (s) i −1.

Sau đó, tác tử tốn một lượng năng lượng: e i ←e i −E C

Nếu giá trị t (s) i bằng không, rầy nâu lớn lên, z i (s) được gán bằng giai đoạn tiếp theo và đếm ngược t (s) i được gán tương ứng Quy luật đếm ngược được trình bày trong Bảng 3.3.

Mô hình con này mô tả sự chuyển động của rầy nâu Xét tác tử i trên vị trí x= x i và y = y i , tác tử chỉ di chuyển nếu một số điều kiện được thỏa mãn, hoặc:

• năng lượng hiện tại e i của nó lớn hơn năng lượng chuyển hóa E T ; e i ≥E T ;

• ô lưới tại x, y là ô lưới trồng hoa (t x,y = 1) hoặc có năng lượng bằng không (e x,y = 0).

Nếu thỏa mãn điều kiện di chuyển, tác tử sẽ mất một lượng năng lượng: e i ← e i −E C

Sau đó, hướng di chuyển ∆x,∆y được lấy mẫu trong bán kính hai ô với trọng số được tính bởi w ∆x,∆y 

Cuối cùng, tác tử di chuyển theo hướng đã chọn: x i ← x i + ∆x, y i ← y i + ∆y.

3.7.7 Ăn lúa Đây là mô hình con biểu diễn sự chuyển hóa năng lượng từ lúa sang rầy nâu Xét tác tử i trên vị trí x = x i và y = y i , nếu ô lưới tại x, y là hoa(hay t x,y = 0), dừng thủ tục Ngược lại, một lượng năng lượng ∆e bị trừ khỏi ô lưới trồng lúa và được cộng vào năng lượng của tác tử: e x,y ←e x,y −∆e, e i ←e i + ∆e, lượng năng lượng chuyển hóa ∆e được xác định bởi

Mô hình con này mô hình hóa hành động sinh sản của rầy nâu Xét một tác tử rầy nâu i Đầu tiên, đếm ngược sinh sản của rầy bị trừ đi một: t (r) i ← t (r) i −1.

Sau đó, các điều kiện sinh sản được kiểm tra:

• Tác tử là giống cái: z i (g) = 1,

• Năng lượng của tác tử lớn hơn năng lượng tiêu thụ: e i ≥ E C ,

• Đếm ngược sinh sản bằng không: t (r) = 0,

• Năng lượng ở ô lúa hiện tại lớn hơn tham số chuyển hóa năng lượng: e x i ,y i ≥ E T

Nếu tất cả điều kiện đều thỏa mãn, số lượng trứng N được lấy mẫu từ phân phối N(8.5,3.5) [7] Với mỗi k = 1, N, tác tử con k được khởi tạo với:

• năng lượng giống với năng lượng của tác tử mẹ: e k ← e i ,

• vị trí giống với vị trí của tác tử mẹ: x k ← x i , y k ← y i ,

• giai đoạn tuổi là trứng: z k (s) ←0,

• đếm ngược giai đoạn tuổi: t (s) k ← N(228,84),

• giới tính z k (g) và biến thể z k (f ) được lấy mẫu giống với lúc khởi tạo rầy nâu,

• đếm ngược sinh sản t (r) k được lấy mẫu từ theo thời gian sinh sản lần đầu Bảng 3.4a.

Sau khi sinh sản, tác tử i tiêu thụ năng lượng và có đếm ngược sinh sản mới: t (r) i ←t (r) z i (f)

3.7.9 Chết Đây là quá trình kiểm tra tác tử rầy có nên bị loại trừ khỏi mô phỏng hay không và loại trừ nó nếu cần Tác tử i sẽ bị loại khỏi mô phỏng nếu năng lượng của nó nhỏ hơn hoặc bằng không (e i ≤ 0), hoặc giai đoạn tuổi của nó là

Mô phỏng thí nghiệm

Mô hình được cài đặt sử dụng thư viện Agents.jl [2] Mã nguồn của mô hình và các thí nghiệm được công bố tại https://github.com/ndgnuh/ RiceBPH và có thể được dùng để tái nghiệm kết quả Vì trong mô hình có tính ngẫu nhiên, mỗi bộ tham số thí nghiệm được sử dụng chạy mô phỏng lặp lại một trăm lần Để đảm bảo tính tái nghiệm, mọi quá trình ngẫu nhiên trong mô hình được điều khiển bởi một bộ sinh số giả ngẫu nhiên–Pseudo-Random Number Generator (PRNG) Mỗi thí nghiệm sử dụng một hạt nhân (seed) khác nhau cho bộ sinh số Giá trị của hạt nhân chính là số thứ tự chạy lặp (từ một tới một trăm) PRNG được sử dụng trong các thí nghiệm làXoshiro256++

[25], được cài đặt trong thư viện tiêu chuẩn của ngôn ngữ Julia.

Chiến thuật lấy mẫu được sử dụng [20] cho phân tích độ nhạy Gọi d là số tham số được phân tích Đầu tiên, hai ma trận thiết kế là A và B kích cỡ n×d được tạo ra, trong đó mỗi hàng là một bộ giá trị các tham số Sau đó, các ma trận A i B , i = 1, d được tạo ra bằng cách chọn thay cột i của ma trận A bởi cột i trong ma trận B.

Bảng 3.5 Cấu hình cho thí nghiệm thứ nhất

Các dải tham số được sử dụng trong phân tích được trình bày trong bảng Bảng 3.5; trong đó, mỗi hàng là một cấu hình thí nghiệm, giá trị tham số có thể nằm trong một dải hoặc cố định, N des là số bộ tham số trong các ma trận A và B Khi đó, ta có số lượng mô phỏng là

N des ×(Số lượng tham số biến thiên + 2).

Các tham số E T , P 0 , và S F , có thêm các kịch bản biến thiên ngoài giá trị hợp lý để phục vụ cho việc phân tích độ bền vững Những thí nghiệm này dù kết quả không phù hợp với thực tiễn, nhưng có thể giúp hiểu rõ hơn về hành vi của mô hình.

Ngoài những thí nghiệm trên để phân tích độ nhạy và phân tích độ nhạy, những thí nghiệm mà biến thiên trên một khoảng tham số nhỏ cũng được chạy Những thí nghiệm này nhằm ba mục đích chính Đầu tiên là xem xét ảnh hưởng của yếu tố ngẫu nhiên trong mô hình, vì những tham số đầu vào dao động nhỏ hoặc cố định, cố gắng làm cho kết quả mô hình đáng tin hơn Mục đích thứ hai là để tinh chỉnh những tham số như số lượng rầy nâu khởi tạo, hay chỉ số chuyển hóa năng lượng Cuối cùng, nếu có những yếu tố nhạy cảm và điều khiển được, kết quả thí nghiệm sẽ giúp đưa ra các gợi ý cho hỗ trợ quyết định cho các bài toán thực tiễn Cấu hình của những thí nghiệm này được trình bày trong Bảng 3.6 Trong đó, tham số có thể được cố định hoặc biến thiên Nếu tham số biến thiên, chúng được lựa chọn cách đều trong khoảng giá trị Cột “bước” là số giá trị lấy mẫu.

Trước xử lý số liệu mô phỏng được xử lý, biểu đồ của chúng được vẽ qua các bước thời gian để quan sát Các mô phỏng cũng được biểu diễn hình ảnh bằng các công cụ trực quan hóa, nhằm quan sát hiện tượng mà phát sinh ra số liệu được quan tâm Các hình ảnh trực quan được sử dụng để quyết định

Bảng 3.6 Cấu hình cho thí nghiệm thứ hai

Tham số Giá trị Bước

Tham số Giá trị Bước

Tham số Giá trị Bước

(c) S F và P 0 hướng tiếp cận xử lý số liệu.

Hai kết quả chính được quan tâm là số lượng của lúa và cấu trúc quần thể rầy nâu Số lượng quần thể rầy nâu biến thiên mạnh mẽ tại các bước thời gian đầu và cuối mô phỏng Do đó, nếu muốn thống kê trên quần thể rầy nâu, chúng ta cần tìm ra một khoảng thời gian mô phỏng mà các thông số này ổn định Từ quan sát trực tiếp mô phỏng, sự bất ổn định này gây ra bởi cạnh tranh thức ăn Khi rầy nâu bắt đầu xâm lấn, sự phân tán của chúng thấp, dẫn đến việc nhiều tác tử rầy nâu không có đủ nguồn thức ăn và chết Khi gần cuối mô phỏng, hiện tượng tương tự xảy ra nhưng nguyên nhân là lúa chết hết do cháy rầy.

Vì số lượng lúa khỏe mạnh không tăng, ta có thể chọn ra vùng ổn định bằng cách tính phân vị 0.25 và phân vị 0.75 của đồ thị lúa theo thời gian. Khoảng thời gian ổn định chính là khoảng thời gian [t 1 , t 2 ] sao cho lúa tại t 2 bằng với phân vị 0.25 và lúa tại t 1 bằng phân vị 0.75 Sau khi xác định được khoảng bước thời gian ổn định, những thông số như phần trăm con non trung bình, phần trăm con trưởng thành trung bình của mỗi dạng cánh ngắn, cánh dài được tính toán sử dụng dữ liệu đếm từ mô phỏng. Đối với dữ liệu về lúa, ta quan tâm tới hai đại lượng: lượng lúa còn lại ở cuối mô phỏng r rices ∗ , và tốc độ lúa bị phá hoại β rices ∗ Phần trăm lúa còn lại ở cuối mô phỏng cho biết tác dụng bảo vệ của hoa, và tốc độ lúa bị phá hoại cho biết tốc độ lây lan của rầy Giá trị r ∗ rices có thể được thu thập bằng cách lấy phần trăm lúa khỏe mạnh ở bước cuối của mô phỏng Giá trị β rices ∗ ,được ước lượng bằng phương pháp hồi quy Từ hình vẽ trực quan có thể thấy

Hình 3.3 Dáng điệu của số lượng lúa qua các bước thời gian mô phỏng biểu đồ lượng lúa khỏe mạnh qua các bước thời gian luôn tuân theo dạng hàm logistic (Hình 3.3) Điều này gợi ý rằng ta có thể dùng ước lượng các tham số của mô hình (3.3) để tìm được các đặc trưng đại diện của việc phá hoại lúa. r rices (t) =r ∗ rices + 1−r rices ∗

Trong (3.3),r ∗ rices là lượng lúa khỏe mạnh ở bước cuối mô phỏng, t là bước mô phỏng, T là tổng số bước, các tham số β rices và t 0 là tham số được ước lượng. Việc ước lượng được thực hiện sử dụng phương pháp bình phương cực tiểu [6, 18] Dựa trên tính chất của hàm logistic, bằng cách ước lượng các tham số này, chúng ta thu được thông tin về tốc độ cũng như thời điểm lúa bị phá hoại Hồi quy được áp dụng lên mỗi kết quả mô phỏng Giá trị β rices ∗ được tính bằng cách lấy trung bình các giá trị β rices kết quả.

Kết quả

3.9.1 Quan sát hành vi mô phỏng

Quan sát dữ liệu thô cho thấy, kết quả mô phỏng có thể được phân loại thành ba kịch bản chính.

1 Kịch bản mà cả lúa và rầy nâu đều chết, hoặc chỉ còn lại một lượng rất ít Kịch bản này xảy ra khi không có hoa canh tác, hoặc hoa canh tác không đủ để bảo vệ thửa ruộng thứ hai Kịch bản này thể hiện rằng mô

Hình 3.4 Phân tích độ nhạy với E T hình biểu diễn tốt sức phá hoại của rầy nâu Rầy nâu sẽ ăn hết lúa và sau đó chết vì cạn nguồn thức ăn.

2 Kịch bản thứ hai là tất cả rầy nâu chết, lượng lúa còn lại ở cuối mô phỏng là khoảng một nửa Đây là kịch bản hoa canh tác thành công bảo vệ thửa ruộng thứ hai.

3 Kịch bản thứ ba là kịch bản mà rầy nâu chết hết, lượng lúa còn lại lớn hơn nhiều so với 0.5, và rầy thường chết hết ở những bước đầu mô phỏng. Kịch bản này thường gặp khi giá trị tham số được cấu hình không hợp lệ (phân tích độ bền vững), dẫn đến việc rầy nâu hết năng lượng rất nhanh hoặc bị tiêu diệt một cách dễ dàng.

Về tổng quan, phân tích độ nhạy cho thấy những tham số như E T , P 0 và S F ảnh hưởng nhiều tới kết quả mô phỏng Thông tin cụ thể của sự ảnh hưởng được trình bày trong hai tiểu mục dưới đây.

Tác động lên cấu trúc quần thể

Tham số E T là tham số duy nhất có ảnh hưởng lớn tới các quan sát về cấu trúc quần thể rầy nâu Hình 3.6, Hình 3.8 và Hình 3.9 cho thấy cấu trúc quần thể rầy nâu không dao động nhiều khi biến thiên các tham số khác.

Kể cả trong những trường hợp phân tích độ bền vững như Hình 3.10, cấu trúc quần thể của rầy không dao động quá nhiều khỏi dữ liệu thu được những kịch bản mô phỏng trước đó Khi vẽ các kết quả quan sát cuối cùng, Hình 3.4 cho rằng, khi E T tăng, phần trăm con non giảm và phần trăm rầy nâu trưởng

Hình 3.5 Phân tích độ bền vững với E T (trường hợp tham số bất thường)

Hình 3.6 Kết quả mô phỏng không dao động nhiều khi thay đổi N 0 thành tăng lên Lượng rầy nâu thể cánh ngắn và cánh dài có phần trăm gần bằng nhau Trong những trường hợp tham số bất thường với E T > 0.3, cấu trúc quần thể rầy nâu không được xác định, với E T ≥ 0.7, rầy nâu hết chết ở giai đoạn đầu mô phỏng (Hình 3.5).

Tham số E T dù có ảnh hưởng lên cấu trúc quần thể rầy nâu, nhưng lại không ảnh hưởng lớn tới lượng lúa còn lại (Hình 3.4) trong những kịch bản thông thường Trong những kịch bản tham số bất thường, khi E T tăng, sự phá hoại lúa của rầy giảm về cả hiệu ứng (lượng lúa còn lại nhiều) và tốc độ phá hoại Như đã trình bày ở trên, đây là những kịch bản tham số bất thường, trong đó rầy nâu tự diệt ở đầu mô phỏng, do đó lượng lúa còn lại sẽ cao. Đối với tham số lượng rầy khởi tạo N 0 , dữ liệu cho thấy tham số này không có ảnh hưởng tới cả mức độ phá hoại cũng như tốc độ phá hoại của rầy nâu Hình 3.7 gợi ý rằng, do sự cạnh tranh thức ăn ở đầu mô phỏng N 0 đa số

Hình 3.7 Số lượng rầy nâu qua các bước thời gian khi N 0 thay đổi

Hình 3.8 Các giá trị quan sát khi thay đổi S F rầy nâu chết và chỉ một lượng rầy nâu nhất định tiếp tục sống Điều này tạo ra một nút cổ chai trên đồ thị Tới đây, tham số N 0 bị coi là không có nhiều tác động tới kết quả của mô hình và bị bỏ ra khỏi các phân tích sau này Giá trị cổ chai được làm tròn lên hàng trăm, kết quả thu được là 200; kết quả này được chọn làm giá trị của tham số N 0

Với tham số S F và P 0 , biểu đồ phân tán (Hình 3.8 và Hình 3.9) gợi ý rằng không có tham số nào trong hai tham số này đơn độc quyết định xu hướng của lượng lúa quan sát được Do đó, biểu đồ phân tán ba chiều Hình 3.11 được sử dụng để trực quan hóa hiệu ứng của cả hai tham số Để phân tích kỹ lưỡng hơn, phương pháp Sobol được sử dụng để phân tích ảnh hưởng của các tham số Với giá trị lúa quan sát, kết quả phân tích Sobol của thí nghiệm biến thiên cả P 0 và S F cho thấy: 21.84% phương sai được gây ra bởi sự biến

Hình 3.9 Các giá trị quan sát khi thay đổi P 0

Hình 3.10 Các giá trị quan sát khi thay đổi P 0 (trường hợp tham số bất thường)

(a) Trường hợp tham số bình thường (b) Trường hợp tham số bất thường

Hình 3.11 Ảnh hưởng của P 0 và S F lên r rices ∗ thiên của P 0 , 20.04% được gây ra bởi sự biến thiên cả P 0 và S F ; thành phần phương sai còn lại được gây ra bởi biến thiên S F Điều này gợi ý rằng độ rộng trồng hoa có ảnh hưởng lớn tới lượng lúa quan sát được ở cuối mô phỏng.

Kết quả thí nghiệm cho thấy: tham số quần thể quan sát được dao động khi tăng dần đều giá trị của E T Hình 3.12 cho thấy rằng khi E T tăng lên, phần trăm rầy non r nymphs có xu hướng giảm xuống, trong khi hai thành phần còn lại tăng lên và vẫn giữ nguyên tỷ lệ Khi giá trị E T xấp xỉ 0.03, các quan sát về cấu trúc quần thể rầy nâu rất gần với giá trị thực nghiệm trong[29] Do đó, giá trị 0.03 được chọn làm giá trị mặc định của E T

Hình 3.12 Tỷ lệ rầy non thay đổi khi tham số chuyển hóa năng lượng E T thay đổi

3.9.4 Tác dụng của yếu tố trồng hoa

Kết quả trong Mục Phân tích độ nhạy gợi ý rằng yếu tố trồng hoa trong mô hình có tác động lớn tới việc bảo vệ lúa khỏi rầy nâu Biểu đồ nhiệt Hình 3.13 cho thấy thống kê số lượng lúa r ∗ rices qua các thử nghiệm với nhiều bộ giá trị của P 0 và S F khác nhau Giá trị trung bình của r rices ∗ tăng khi cả

S F và P 0 tăng, khiến cho kết quả tạo thành một cung tròn ở góc Hình 3.13 nơi mà giá trị S F và P 0 cùng cao Trên đường cung của Hình 3.13b, các giá trị độ lệch chuẩn cao, cho thấy độ tin cậy thấp.

Ngày đăng: 21/09/2024, 10:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w