Главная Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи Рефераты по косметологии Рефераты по криминалистике Рефераты по криминологии Рефераты по науке и технике Рефераты по кулинарии Рефераты по культурологии Рефераты по зарубежной литературе Рефераты по логике Рефераты по логистике Рефераты по маркетингу Рефераты по международному публичному праву Рефераты по международному частному праву Рефераты по международным отношениям Рефераты по культуре и искусству Рефераты по менеджменту Рефераты по металлургии Рефераты по муниципальному праву Рефераты по налогообложению Рефераты по оккультизму и уфологии Рефераты по педагогике Рефераты по политологии Рефераты по праву Биографии Рефераты по предпринимательству Рефераты по психологии Рефераты по радиоэлектронике Рефераты по риторике Рефераты по социологии Рефераты по статистике Рефераты по страхованию Рефераты по строительству Рефераты по схемотехнике Рефераты по таможенной системе Сочинения по литературе и русскому языку Рефераты по теории государства и права Рефераты по теории организации Рефераты по теплотехнике Рефераты по технологии Рефераты по товароведению Рефераты по транспорту Рефераты по трудовому праву Рефераты по туризму Рефераты по уголовному праву и процессу Рефераты по управлению |
Реферат: Клеточные автоматы и компьютерная экологияРеферат: Клеточные автоматы и компьютерная экологияА. Колесников Третий Ангел вострубил, и упала с неба большая звезда, горящая подобно светильнику, и пала на третью часть рек и на источники вод. Имя сей звезде полынь; и третья часть вод сделалась полынью, и многие люди умерли от вод, потому что они стали горьки. Откровение Святого Иоанна Богослова, гл. 8, ст. 10,11 Кто-то точно подметил, что разговор о погоде становится интересным лишь при первых признаках конца света. Сегодня ученые и политики обсуждают проблемы погоды на глобальных форумах, да и простые люди начинают потихоньку интересоваться погодой, причем не только на ближайшие выходные, но и вообще… Атмосфера - огромная, сложнейшая, распределенная, динамическая система. Предсказывать ее поведение чрезвычайно трудно, часто просто невозможно. Глядя на висящие в небесной синеве замысловатые облачные структуры, мы не всегда задумываемся о том, насколько масштабные и драматические процессы происходят там, в вышине. Совсем иное впечатление оставляет ускоренная съемка облачного неба. Картинка эволюции роящихся облачных масс невольно наводит на размышления о природе времени и смысле земного существования. Схожие, но более тревожные мысли навевают кадры, изображающие расползание смога над крупными мегаполисами или, хуже того, постепенной диффузии ядерного гриба… Все мы помним старые черно-белые учебные фильмы, повествующие о формировании зон заражения после атомного взрыва. Они классифицируются по степени опасности. Вблизи эпицентра располагается "мертвая" зона сплошного интенсивного заражения. Далее, в зависимости от направления ветра, зоны распределяются в виде вложенных друг в друга эллипсоидов рассеивания. В принципе, схожей будет картина распространения и любого другого загрязнителя от точечного источника, например, от дымящей трубы, взорвавшегося реактора или апокалиптической звезды из библейского пророчества. Процесс распространения загрязнителя в атмосфере - это процесс рассеивания и смешивания его частиц с частицами воздуха. На ход этого процесса существенное влияние оказывают собственные движения воздушных масс, то есть ветра. В одной и той же местности они дуют в различных направлениях с определенной частотой. Данные о частотах ветров наносятся на особую диаграмму, имеющую романтическое название, воспетое во множестве бардовских песен, - роза ветров. Частицы загрязнителя попадают от первоначального источника в соседние области. Затем из областей, непосредственно примыкающих к источнику, распространяются уже в их окрестностях, и так далее. Сам характер этого процесса указывает на то, что для моделирования рассеивания загрязнителя в атмосфере можно использовать подход, основанный на идеологии клеточных автоматов. В этом случае исследуемый участок представляется в виде клеточного поля. На поле помечаются клетки, в которых находятся эпицентры распространения загрязнения или заражения. Затем концентрацию загрязнителя в каждой клетке поля можно, например, приближенно оценивать по формуле: (1) где ak - это массив из девяти элементов, содержащий вероятности ветров соответствующих восьми направлений и вероятность штиля. Само собой разумеется, что девять вероятностей ветров различных направлений, включая вероятность штиля, должны в сумме давать единицу. C*k - это вектор из девяти элементов, содержащий концентрации загрязнителя в соседних с данной восьми клетках и в ней самой. Шаг за шагом для всех клеток поля вычисляется сумма произведений концентраций в соседних восьми ячейках на соответствующие вероятности ветров. К сумме прибавляется еще и произведение вероятности штиля на концентрацию загрязнителя в самой текущей клеточке. Для нормальной работы программы необходимо иметь две копии клеточного поля. В одной из копий следует хранить предыдущее поколение, а в другой - последующее. При смене поколений содержимое последующего поколения становится предыдущим. Из расчетов исключаются крайние ряды ячеек. Это делается для того, чтобы избежать "пограничных" проблем при применении формулы (1). Повторяя расчеты многократно, мы можем наблюдать динамику формирования эллипсоидов рассеивания во времени. При разовом "впрыске" загрязнителя в какую-либо ячейку он быстро рассасывается по клеточному массиву. Для получения более выразительной картины рассеивания в предлагаемом на врезке фрагменте программного кода "впрыск" загрязнителя в соответствующие ячейки осуществляется в начале расчета каждого очередного поколения. Значения концентраций выбросов вводятся в ячейки в неких произвольных единицах. Для восприятия результатов моделирования важна раскраска клеток. В приведенном программном фрагменте использован алгоритм, переводящий значения концентраций загрязнителя в различные градации яркости цветов - от темно-красного до темно-зеленого. При этом высокие значения концентраций изображаются оттенками красного, который, по мере снижения Z, переходит в желтый, а затем постепенно затухает до темно-зеленого цвета. Конечно, для по-настоящему точных моделей процессов рассеивания атмосферных загрязнителей следует обращаться к намного более прецизионным методикам, чем та, о которой шла речь. Но все же в данном случае вам нет необходимости решать головоломную систему умопомрачительных дифференциальных уравнений в частных производных на суперкомпьютере астрономической стоимости. При помощи этой несложной программки вы можете выполнить некое небольшое занимательное миниисследование по компьютерному моделированию экологической ситуации в вашем районе, городе или области в пределах временных рамок одной лабораторной работы. DefByte I-K DefInt L-N Dim G As Byte Dim a(1 To 9) As Single Dim b(1 To 200, 1 To 200) As Single Dim c(1 To 200, 1 To 200) As Single Dim Color As Long Dim Zmin As Single Dim Zmax As Single Dim R As Single Dim R4 As Single Dim Z14 As Single Dim Z24 As Single Dim Z34 As Single Private Sub Form_Click() a(1) = 0.05 a(2) = 0.05 a(3) = 0.1 a(4) = 0.1 a(5) = 0.1 a(6) = 0.1 a(7) = 0.1 a(8) = 0.15 a(9) = 0.25 z = 7 Zmin = 0 Zmax = 2 R = Zmax - Zmin R4 = R / 4 Z14 = Zmin + R4 Z24 = Z14 + R4 Z34 = Z24 + R4 n = 50 G = 50 For f = 1 To G b(35, 35) = z b(45, 15) = z / 2 For i = 2 To n - 1 For j = 2 To n - 1 c(i, j) = 0 k = 0 For l = -1 To 1 For m = -1 To 1 k = k + 1 c(i, j) = c(i, j) + a(k) * b(i + l, j + m) Next m Next l Next j Next i For i = 1 To n For j = 1 To n Color = SetColor(c(i, j)) Line (6 * (i - 1), 6 * (j - 1))-(6 * i - 1, 6 * j - 1), Color, BF b(i, j) = c(i, j) Next j Next i Next f End Sub Public Function SetColor(z As Single) As Long Dim t As Byte Select Case z Case Is < Zmin SetColor = RGB(0, 63, 0) Case Zmin To Z14 t = 63 + 192 * (z - Zmin) / R4 SetColor = RGB(0, t, 0) Case Z14 To Z24 t = 255 * (z - Z14) / R4 SetColor = RGB(t, 255, 0) Case Z24 To Z34 t = 255 * (1 - (z - Z24) / R4) SetColor = RGB(255, t, 0) Case Z34 To Zmax t = 63 + 192 * (1 - (z - Z34) / R4) SetColor = RGB(t, 0, 0) Case Is > Zmax SetColor = RGB(63, 0, 0) End Select End Function Список литературы Для подготовки данной работы были использованы материалы с сайта http://www.xaoc.ru/ |
|
|