Mô phỏng nước chảy trên sông

Một phần của tài liệu Sự lan truyền bện trên cá da trơn - cá tra (Trang 67)

Hình 5.5 trình bày lưu ñồ mô phỏng hành vi nước chảy trên sông theo các luật ñã thành lập. Sau 6 giờ nước sẽ ñổi con nước từ nước lớn thành nước ròng và ngược lại. Khi con nước ñổi hướng thì tất cả các tác tử nước sẽ ñổi hướng theo.

Lưu giữ trạng thái hiện tại của sông và ao

Cập nhật giá trị cho hệ thống

Nước ra/ vào ao, lan truyền bệnh sông ↔ ao

Đúng Thống kê tình hình lan truyền bệnh Ao mở cửa? Khởi tạo lan truyền bệnh ao ↔ ao

Nước lan truyền trên sông

Tiếp tục mô phỏng Sai

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Hình 5.5: Cập nhật giá trị các tác tử nước khi nước chảy

Gán giá trị thích hợp t1=0.25*p1 Đúng p1, p4 là nước? Ô nước p ở ñầu nguồn? Đúng Xác ñịnh lân cận p: p1→p7 t1=t2=t3=0, tính tỉ lệ truyền tl=E(t) p1, p6 là nước? t1=0.5*p1 Đúng t2=0.5*p2 Đúng p2, p4,p5 là nước? sai t2=1.0*p2 Đúng t3=0.25*p3 Đúng p3, p5 là nước? p3, p7 là nước? sai t3=0.5*p3 Đúng t2=0.75*p2 (p2: nước) và (p4 hoặc p5: nước)? p2: nước, p4, p5: không là nước? Đúng t3=1.0*p3 p3: nước, p5, p7: không là nước? Đúng sai p1: nước, p4, p6: không là nước? Đúng t1=1.0*p1 Cập nhật p theo t1, t2, t3 sai sai sai T i ế p t ụ c m ô p h ỏ n g >

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Để thay ñổi chu kỳ nước, và ñổi hướng nước ta xét như sau:

<!--Doi chu ky nuoc -->

<reflex name="waterReverse"

when="(time &gt; 0) and ((time mod waterPeriod) = 0)"> <set name="highWater" value="! highWater"/>

<ask target="list water">

<!-- doi chieu con nuoc => doi huong tung tac tu nuoc-->

<set name="waterDirection" value="(waterDirection +4)mod 8"/> </ask>

</reflex>

5.2.2 Mô phng s lan truyn bnh t sông vào ao nuôi và ngược li

Hình 5.6: Lưu ñồ mô tả sự lan truyền bệnh từ sông vào ao và ngược lại

Khi cửa ao mở và ao có nhu cầu lấy nước vào thì nước sẽ ñược lấy từ sông vào ao, nước lấy từ sông sẽ mang theo các thông số của nước ñó vào trong ao, sẽ mang theo nguy cơ về dịch bệnh lan truyền từ sông vào ao. Ngược lại khi ao thải nước ra, ao lại mang nguy cơ bệnh truyền ra sông. Sự lan truyền từ ao ra sông làm cho sông

Cập nhật giá trị cho hệ thống Nước vào ao, lan truyền bệnh sông →→→→ ao Cửa ao không mở Ao mở cửa? Nhu cầu nước Lấy nước Xả nước ao, lan truyền bệnh từ ao →→→→ sông Xả ra Cửa ao mở Nước lan truyền

trên sông T i ế p t ụ c m ô p h ỏ n g >

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu tăng mầm bệnh trên sông, và ñiều này lại tiếp tục gây hại cho các ao lấy nước vào cùng nguồn với các ao ñã bị bệnh.

<!- - hành ñộng lan truyền bệnh từ sông vào ao và ngược lại thông qua cửa ao --> <action name="propagation">

<let name="currentPond" value="(list pond ) with_min_of (self distance_to each)"/>

<let name="propabEntry" value="ratePropagateIn"/> <if condition="currentPond.isOpen=true">

<if condition="currentPond.typeOfPond = 1">

<set name="propabEntry" value=" propabEntry *(rnd 50)/1000"/> </if>

<!-- nuoc chay vao ao va dua vi khuan vao --> <if condition="currentPond.needOfWater = 1"> <ask target="currentPond"> <set name="numBacterium"

value="numBacterium_old + (propabEntry * myself.numBacterium_old)"/> <set name="waterLevel" value="waterLevel * 1.01"/>

<if condition="waterLevel &gt; (areaOfPond * maxPondLevel)"> <set name="needOfWater" value="3"/>

</if> </ask> </if>

<!-- xa nuoc ra va dua vi khuan ra song -->

<let name="propabExit" value=" ratePropagateOut/(currentPond.areaOfPond)"/> <if condition="currentPond.typeOfPond = 1">

<set name="propabExit" value="0.01/(currentPond.areaOfPond)"/> </if>

<if condition="currentPond.needOfWater = 2"> <ask target="currentPond">

<set name="numBacterium" value="(1- propabExit)* numBacterium_old"/>

<set name="waterLevel" value="waterLevel * 0.99"/>

<if condition="waterLevel &lt; (areaOfPond * minPondLevel)"> <set name="needOfWater" value="3"/>

</if> </ask>

<set name="numBacterium" value="(propabExit*currentPond.numBacterium_old)"/>

</if> </if>

</action>

Hành vi này ñược ñặt trong tác tử cửa ao. Mỗi tác tử cửa ao sẽ xác ñịnh ñược tác tử ao mà nó trực thuộc vì mỗi cửa ao chỉ thuộc về một ao (currentPond). Nếu cửa ao ñược mở, và có nhu cầu lấy nước vào (needOfWater=1) thì ta sẽ tiến hành cập nhật

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu lại lượng mầm bệnh (vi khuẩn) trong ao dựa vào giá trị nước tại cửa ao lấy vào. Cập nhật mực nước (waterLevel) trong ao, mỗi bước chạy 60 phút nên mỗi lần ta sẽ cho nước vào khoảng 0.01 (1%) nhu cầu lấy nước trong ao. Tiếp theo cập nhật nhu cầu nước của ao. Nếu ao ñã ñạt mực nước lớn nhất thì ta sẽ thay ñổi nhu cầu nước là không lấy nước vào. Nếu ao có hệ thống ao lắng thì số lượng vi khuẩn ñi vào sẽ giảm xuống, tối ña là 5% ((rnd 50)/1000). Quá trình thải nước từ ao ra sông cũng tương tự như quá trình lấy nước vào. Mỗi lần thải nước ra thì mực nước trong ao sẽ giảm xuống 1% giống như khi ñược lấy vào. Do tính chất phức tạp của ñiều kiện môi trường nước, cũng như tính chất ngẫu nhiên của một số ñiều kiện như tỉ lệ sinh của vi khuẩn, tỉ lệ vi khuẩn chết do ảnh hưởng môi trường, thời gian sống của vi khuẩn,... nên có một số giá trị ñược ước lượng ngẫu nhiên. Các giá trị này ñược cải tiến dần theo ý kiến chuyên gia ñể có sự phù hợp nhất.

5.2.3 Mô phng s lan truyn bnh t ao sang ao

Khi một ao nuôi bị bệnh, ao có xuất hiện cá chết, ao này gọi là ao nguồn. Các sinh vật ăn cá chết từ ao nguồn có thể di chuyển sang các ao khác (ao ñích), những sinh vật này có thể mang theo mầm bệnh và làm lan truyền mầm bệnh ñến các ao ñích. Các ao ñích trong trường hợp này ñược lấy ngẫu nhiên, có thể là ao lân cận gần nhất, cũng có thể là một ao bất kỳ. Để ñơn giản, ao lân cận ñược chọn là ao gần nhất. Sự lan truyền bệnh ñược thể hiện là ao ñích sẽ nhận thêm một số vi khuẩn từ các sinh vật ăn xác cá bệnh. Và giá trị tăng thêm này cũng ngẫu nhiên.

<!-- hành vi lan truyền bệnh ao - ao -->

<action name= "propagationPondToPond">

<let name="neighbourPond" value="(list pond ) with_min_of (self distance_to each)"/>

<if condition= "flip 0.1">

<ask target= "neighbourPond"> <set name= "numBacterium"

value="numBacterium +(myself.numBacterium_old*(rnd(10)/1000)"/>

</ask> </if> </action>

Một số tác tử ao sẽ chọn một ao lân cận (neighbourPond) và sẽ thực việc lan truyền bệnh với xác suất nào ñó (ta chọn ngẫu nhiên là khoảng 10% số ao là có khả năng lây bệnh). Để truyền bệnh thì giá trị của ao ñích (neighbourPond) sẽ ñược nhận thêm một lượng vi khuẩn nhỏ từ ao nguồn (myself).

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

5.3 Mô phỏng sự lan truyền dịch bệnh trong một ao

Khi một ao ñã phát bệnh, bệnh sẽ lan truyền như thế nào? Ao ñược xem là bệnh khi trong ao ñã có xuất hiện nhiều mầm bệnh, tình trạng sức khỏe cá không ñược tốt, có cá thể cá yếu, có cá thể cá bị bệnh tấn công. Các cá thể cá khỏe sống cùng ao sẽ có nguy cơ bị bệnh tấn công do sống cùng thủy vực với cá bệnh và mầm bệnh. Dịch bệnh sẽ lan truyền khi có sự tiếp xúc trong một bán kính nhất ñịnh giữa cá bệnh và cá yếu; cá bệnh và cá khỏe mạnh; mầm bệnh và cá.

Hình 5.7: Lưu ñồ mô tả sự lan truyền bệnh trong ao

Khởi tạo Tác ñộng của thuốc lên cá lan truyền bệnh cá bệnh → cá khỏe Cá tiếp xúc cá bệnh? Sai Đúng Cá tiếp xúc mầm bệnh? Đúng lan truyền bệnh từ mầm bệnh → cá Sai Dùng thuốc? Có Cập nhật giá trị cho hệ thống Thống kê Không Tiếp t ụ c m ô p h ỏ n g >

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Lưu ñồ trong hình 5.7, mô tả quá trình lan truyền bệnh trong ao nuôi. Trong ñó thao tác "cập nhật giá trị cho hệ thống" chính là thao tác tính toán các giá trị cần thiết cho hệ thống như xác suất lây bệnh của cá trong ñiều kiện môi trường ñã chọn, khi cá hết bệnh thì ñiều kiện nào bệnh bị tái phát, xác suất về tác ñộng của thuốc,... các giá trị này cần thiết cho hệ thống thực hiện các bước tiếp theo.

Trong lưu ñồ thể hiện hai sự lan truyền ñó là:

- Lan truyền bệnh từ cá bệnh sang cá khỏe (từ cá bệnh nặng sang cá bệnh nhẹ). - Lan truyền bệnh từ mầm bệnh sang cá.

<!-- hành vi lan truyền bệnh cá - cá -->

<action name="infectionFishToFish"> <if condition="healthStatus &gt; 1">

<let name="listFishNeighbours" value="(self neighbours_at 1) of_species catfish"/>

<loop over="listFishNeighbours" var="aFish"> <set name="range" value="2"/>

<do action="display_range"> </do> <if condition="aFish.healthStatus &lt; 5">

<if condition="flip 0.5">

<set name="aFish.healthStatus" value="(aFish.healthStatus + 1)"/> </if>

<else>

<if condition="flip 0.5">

<set name="aFish.shape" value="'dot'"/> </if> </else>

</if> </loop> </if> </action>

Một số tác tử cá sẽ chọn danh sách các cá thể cá nằm trong phạm vi có thể lan truyền bệnh (listFishNeighbours), danh sách ñược duyệt qua và chỉ lấy ngẫu nhiên một số cá thể sẽ bị lây nhiễm bệnh dẫn chuyển trạng thái cá.

Vấn ñề lan truyền bệnh trong ao thường chịu ảnh hưởng mạnh của thuốc ñiều trị bệnh. Đỉnh ñiểm của sự lan truyền bệnh trong trường hợp phát hiện kịp thời ñó là vào khoảng ngày thứ 3 hoặc thứ 4 của ñợt bệnh. Nếu có chế ñộ chữa trị ñúng mức thì khoảng 3 ngày tiếp theo bệnh sẽ ñược khống chế. Thiệt hại trong một lần bệnh như thế trung bình 20% ñến 30%. Chỉ có những trường hợp ñặc biệt có thể lên ñến 70% ñến 80% thậm chí 98% (nhưng trường hợp này rất ít xảy ra vì người nuôi luôn tìm mọi biện pháp ñể chữa trị kịp thời).

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu

Chương 6: KT QU THC NGHIM

6.1 Chọn kịch bản mô phỏng

Qua phần xây dựng mô hình và mô phỏng trong chương 4 và 5, khi dịch bệnh lan truyền thì ta xét trên hai cấp ñộ ñó là sự lan truyền giữa các ao (có thể do theo nước, theo sự di chuyển của chim hay sinh vật ăn xác ĐVTS bệnh chết) và sự lan truyền cục bộ trong cùng một ao. Hai trường hợp này ñã thực sự khái quát ñầy ñủ việc lan truyền bệnh trong thực tế. Vì thế trong phần thực nghiệm này hai kịch bản mô phỏng chính sẽ ñược ñưa ra ñể minh họa hệ thống ñã xây dựng. Ngoài ra, hai kịch bản chính này sẽ ñược thay ñổi ñể có thêm các kịch bản phụ nhằm minh họa vấn ñề một cách chi tiết nhất.

Mô phỏng sự lan truyền bệnh trên diện rộng (kịch bản 1): gồm có sự lan truyền bệnh theo nguồn nước giữa sông và ao, và lan truyền do sự di chuyển của sinh vật ăn thịt ĐVTS. Kịch bản này ñược chọn vì nó có thể ñưa ra một cái nhìn tổng quan cho vấn ñề lan truyền bệnh. Khi một ao nuôi bị bệnh, các ao còn lại trong vùng có cùng nguồn nước cấp vào với ao bị bệnh sẽ có nguy cơ như thế nào, ñặc biệt là các ao xung quanh ao bị bệnh. Quan sát tình hình bệnh tại một thời ñiểm và dự báo bước tiếp theo bệnh sẽ lan truyền ra sao.

Mô phỏng sự lan truyền bệnh trong một ao (kịch bản 2): kịch bản này thể hiện tính cấp bách của vấn ñề lan truyền bệnh. Trong một diện tích nhỏ của kịch bản này người dùng có thể quan sát chi tiết diễn biến sự lan truyền bệnh giữa các cá thể cá, giữa mầm bệnh và cá. Đồng thời thấy rõ sự ảnh hưởng khi thay ñổi một vài yếu tố ví dụ như nhiệt ñộ, mật ñộ nuôi, dùng thuốc chữa bệnh cho cá,...

6.2Kịch bản 1: Mô phỏng sự lan truyền dịch bệnh trên diện rộng

Trong kịch bản này dữ liệu bản ñồ ban ñầu ñược chọn là bản ñồ hành chính của huyện Phú Tân, tỉnh An Giang. Một tập các tham số ñược ñưa ra ban ñầu. Hệ thống thực hiện và cho ra kết quả. Thay ñổi các tham số, quan sát sự thay ñổi của hệ thống theo các tham số mới. Kịch bản thể hiện:

- Sự lan truyền bệnh trên sông.

- Sự lan truyền bệnh từ sông vào ao và ngược lại. - Sự lan truyền giữa các ao.

Đặc ñiểm của các ao nuôi cá tra này là ñược ñặt gần sông ñể dễ dàng trong việc thay nước và ñây là một ñặc ñiểm phổ biến của các ao nuôi cá tra hiện nay.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Mỗi bước mô phỏng ñược xác ñịnh là 60 phút. Bước mô phỏng có thể thay ñổi tùy theo sự tính toán phù hợp giữa kích thước của bản ñồ làm môi trường mô phỏng và vận tốc trung bình của dòng nước.

Hệ thống nhận các tham số ñầu vào như mật ñộ nuôi, nhiệt ñộ nước, ñộ pH,... Ngoài ra hệ thống còn sử dụng một số dữ liệu liên quan tỉ lệ sinh tử của vi khuẩn, ngưỡng phát bệnh theo từng giai ñoạn,... ñể cập nhật giá trị cần thiết cho hệ thống. Hệ thống mô phỏng sẽ thực thi và khi thay ñổi các dữ liệu ñầu vào hệ thống cũng sẽ cập nhật giá trị cho phù hợp.

Sau mỗi bước thực thi, ngoài việc cập nhật các thông số, hệ thống còn thực hiện việc thống kê tổng diện tích ao nuôi theo tình trạng: tổng diện tích ao chưa bị bệnh, tổng diện tích ao nuôi bị nhiễm bệnh mức 1, bệnh mức 2 và bệnh mức 3 và biểu diễn các số thống kê ñược thông qua biểu ñồ ñường. Các trạng thái của ao có thể cho ngẫu nhiên khi chương trình ñược thực thi nhưng cũng có thể ñược lấy thông qua một cơ sở dữ liệu ñược xác ñịnh bởi người dùng như ñã trình bày trong phần 5.1 và hình 5.2 của chương 5.

Kết quả mô phỏng trên kịch bản 1:

(a) (b)

Hình 6.1: Mô hình khởi tạo và một số tham sốñầu vào cho hệ thống

Hình 6.1 trình bày mô hình khởi tạo (a) và một số tham số ñầu vào (b) của hệ thống như là số ngày mô phỏng (mặc ñịnh số ngày này ñược lấy là thời gian nuôi trung bình một vụ cá - 180 ngày), mật ñộ nuôi cá, nhiệt ñộ, ñộ pH, mực nước tối ña, tối thiểu của các ao nuôi,... ñây chính là các yếu tố ảnh hưởng trực tiếp ñến quá

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu trình lan truyền bệnh. Mô hình khi bắt ñầu thực thi thì chưa có ao nào bị bệnh, các ao ñều ở trạng thái bình thường (các ao ñều có màu xanh rêu) và tổng diện tích nuôi cá là 2.927 ñơn vị diện tích. Mặc dù các ao ở trạng thái bình thường nhưng có thể nó sẽ phát bệnh bất cứ lúc nào.

Nhắc lại bảng màu thể hiện trạng thái ao như trong bảng 6.1.

Bảng 6.1: Bảng màu biểu diễn trạng thái ao

Màu Trạng thái ao

Màu xanh rêu Ao ở trạng thái bình thường

Màu vàng Ao nhạy cảm với bệnh (bệnh mức 1) Màu xanh dương Ao bệnh mức 2.

Màu ñỏ Ao bệnh nặng (mức 3).

Hệ thống bắt ñầu thực hiện với 4.193 tác tử nước, 42 tác tử ao nuôi và vài trăm tác tử cá ñại diện cho các quần thể cá trong các ao nuôi, số lượng tác tử cá sẽ thay ñổi tùy theo mật ñộ cá nuôi mà người dùng ñưa vào. Trong 42 tác tử ao nuôi có 18 ao nuôi có hệ thống ao xả và ao lắng, các ao còn lại thì không có ao xả và ao lắng.

Quan sát hình 6.1 (a), ta thấy trên hệ thống sông có nhiều vệt màu loan trên sông ñó là thể hiện của sự tồn tại các mầm bệnh trên sông, các mầm bệnh này sẽ lan truyền theo nước khi nước chảy.

Mô hình tồn tại cả hai loại ao nuôi là ao nuôi lấy nước trực tiếp từ sông và ao nuôi có hệ thống ao lắng, ao xả. Mô hình bắt ñầu thực thi. Sau vài bước ta thấy ñã có hiện tượng phát bệnh của các ao nuôi ñược thể hiện như hình 6.2.

Trong hình 6.2, ñã có một ao nuôi, ao màu xanh dương, ñang trong tình trạng

Một phần của tài liệu Sự lan truyền bện trên cá da trơn - cá tra (Trang 67)

Tải bản đầy đủ (PDF)

(100 trang)