
Часть 3. Модель возникновения и распространения лесного пожара.
Характер распространения лесного пожара в направлениях фронта, тыла и флангов в достаточной степени изучен, и соответствующие скорости распространения огня можно получить из различных источников информации. Эти скорости определяются исходя из статистических данных лесных хозяйств России, полученных на основе анализа реальных лесных пожаров, а также экспериментальных данных.
Математическая модель распространения лесного пожара заключается в анализе каждой точки контура горения с помощью нечетких множеств.
Нечеткие числа – это не обычные числа. Называются они так потому, что они представляют события, объекты недостаточно хорошо известные или определенные. Нечеткие числа отличаются от обычных тем, что их значения могут находиться в некотором диапазоне, при этом указывается так называемая функция принадлежности, с помощью которой задается субъективная оценка степени возможности нахождения этого числа в этом диапазоне.
Контрольный параметр модели является р / е , которая дает среднее число деревьев, посаженных между двумя ударами молнии.
Кластер определяется как согласованный набор клеток, все из которых имеют то же состояние. Клетки когерентны, если они могут соединяться друг с другом с помощью ближайших соседских отношений.
В программе есть такой параметр как плотность засадки деревьями. Если судить по проведенным мною опытам, лес начинает выгорать практически полностью с плотности засадки 63% и выше.
После запуска программы:
Исходный код.
globals [
initial-trees ;; how many trees (green patches) we started with
burned-trees ;; how many have burned so far
]
breed [fires fire] ;; bright red turtles -- the leading edge of the fire
breed [embers ember] ;; turtles gradually fading from red to near black
to setup
clear-all
set-default-shape turtles "square"
;; make some green trees
ask patches with [(random-float 100) < density]
[ set pcolor green ]
;; make a column of burning trees
ask patches with [pxcor = min-pxcor]
[ ignite ]
;; set tree counts
set initial-trees count patches with [pcolor = green]
set burned-trees 0
reset-ticks
end
to go
if not any? turtles ;; either fires or embers
[ stop ]
ask fires
[ ask neighbors4 with [pcolor = green]
[ ignite ]
set breed embers ]
fade-embers
tick
end
;; creates the fire turtles
to ignite ;; patch procedure
sprout-fires 1
[ set color red ]
set pcolor black
set burned-trees burned-trees + 1
end
;; achieve fading color effect for the fire as it burns
to fade-embers
ask embers
[ set color color - 0.3 ;; make red darker
if color < red - 3.5 ;; are we almost at black?
[ set pcolor color
die ] ]
end
Список используемых ресурсов:
http://dkhramov.dp.ua/index.php?n=Comp.NetLogo - о языке Net Logo.
http://ccl.northwestern.edu/netlogo/ - компилятор и примеры алгоритмов.
теоретический материал о моделировании механизмов роевого интеллекта:
1. http://ru.wikipedia.org/wiki/%DD%E2%EE%EB%FE%F6%E8%EE%ED%ED%EE%E5_%EC%EE%E4%E5%EB%E8%F0%EE%E2%E0%ED%E8%E5
2. http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82
3. http://ru.wikipedia.org/wiki/%D0%9C%D1%83%D1%80%D0%B0%D0%B2%D1%8C%D0%B8%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC#cite_note-M._Dorigo_et_L.M._Gambardella-12
4. http://en.wikipedia.org/wiki/Forest-fire_model