Использование клеточных автоматов
Основное направление исследования клеточных автоматов. Математическое определение автоматов. Классификация по типам поведения. Тоталистичные клеточные автоматы. Создание и визуализация в Excel математической модели распространения лесного пожара.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.11.2014 |
Размер файла | 234,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
§1. Клеточный автомат
§2. Математическое определение
§3. Классификация по типам поведения
§4. Тоталистичные клеточные автоматы
§5. Связанные определения клеточных автоматов
§6. Свойство обратимости
§7 Модель распространения лесного пожара
Заключение
Введение
В данной курсовой сделано допущение, что одновременно в сети могут существовать два вида вирусного ПО, конкурирующего между собой. Поскольку каждый тип вредоносного ПО имеет свой механизм распространения и связанную с этим скорость заражения компьютеров в сети, то предположим, что каждый компьютер в сети может быть заражен как отдельно каждым типом вредоносного ПО, так и двумя типами одновременно. Основной задачей данной работы является нахождение оптимального режима противодействия распространению вредоносного ПО в компьютерной сети. Показывается, что структура оптимального управления имеет простую форму, и данная стратегия позволяет минимизировать совокупные затраты по поддержанию работоспособности компьютерной сети в зависимости от возникающих угроз со стороны вредоносного ПО.
Идея клеточных автоматов появилась в конце сороковых годов 20 века. Она была задумана и сформулирована Джоном Фон Нейманом и Конрадом Цусе независимо друг от друга как универсальная вычислительная среда для построения, анализа и сравнения характеристик алгоритмов.
При разработке клеточных автоматов Дж. Фон Нейман за основу взял работу С. Улама и впервые соединил в клеточных автоматах понятия вычислительное устройство и данные, с которыми система оперирует. Данные и вычислительные устройства собираются из одних и тех же структурных элементов. Джон Фон Нейман поставил перед собой задачу доказать возможность существования самовоспроизводящихся автоматов. Если такую машину снабдить надлежащими инструкциями, она построит точную копию самой себя. В свою очередь обе эти машины построят себе пары и так далее в прогрессии 2, 4, 8, 16…
Клеточный автомат
клеточный автомат математический модель
Клеточный автомат -- дискретная модель, изучаемая в математике, теории вычислимости, физике, теоретической биологии и микромеханике. Включает регулярную решётку ячеек, каждая из которых может находиться в одном из конечного множества состояний, таких как 1 и 0. Решетка может быть любой размерности. Для каждой ячейки определено множество ячеек, называемых окрестностью. К примеру, окрестность может быть определена как все ячейки на расстоянии не более 2 от текущей (окрестность фон Неймана ранга 2). Для работы клеточного автомата требуется задание начального состояния всех ячеек, и правил перехода ячеек из одного состояния в другое. На каждой итерации, используя правила перехода и состояния соседних ячеек, определяется новое состояние каждой ячейки. Обычно правила перехода одинаковы для всех ячеек и применяются сразу ко всей решётке.
Основное направление исследования клеточных автоматов -- алгоритмическая разрешимость тех или иных проблем. Также рассматриваются вопросы построения начальных состояний, при которых клеточный автомат будет решать заданную задачу.
Математическое определение
Клеточный автомат можно определить как множество конечных автоматов, каждый из которых может находиться в одном из состояний
.
Изменение состояний автоматов происходит согласно правилу перехода
,
где -- множество автоматов, составляющих окрестность. К примеру, окрестность фон Неймана определяется как
,
В свою очередь окрестность Мура определяется как
.
Число всех возможных правил перехода определяется числом состояний и количеством соседей n и составляет
Классификация по типам поведения
Стивен Вольфрам в своей книге A New Kind of Science предложил 4 класса, на которые все клеточные автоматы могут быть разделены в зависимости от типа их эволюции. Классификация Вольфрама была первой попыткой классифицировать сами правила, а не типы поведения правил по отдельности. В порядке возрастания сложности классы выглядят следующим образом:
· Класс 1: Результатом эволюции почти всех начальных условий является быстрая стабилизация состояния и его гомогенность. Любые случайные конструкции в таких правилах быстро исчезают.
· Класс 2: Результатом эволюции почти всех начальных условий является быстрая стабилизация состояния, либо возникновениеколебаний. Большинство случайных структур в начальных условиях быстро исчезает, но некоторые остаются. Локальные изменения в начальных условиях оказывают локальный характер на дальнейший ход эволюции системы.
· Класс 3: Результатом эволюции почти всех начальных условий являются псевдо-случайные, хаотические последовательности. Любые стабильные структуры, которые возникают почти сразу же уничтожаются окружающим их шумом. Локальные изменения вначальных условиях оказывают широкое, неопределямое влияние на ход всей эволюции системы.
· Класс 4: Результатом эволюции почти всех правил являются структуры, которые взаимодействуют сложным и интересным образом с формированием локальных, устойчивых структур, которые способны выживать длительное время. В результате эволюции правил этого класса могут получаться некоторые последовательности Класса 2, описанного выше. Локальные изменения в начальных условиях оказывают широкое, неопределямое влияние на ход всей эволюции системы.
Тоталистичные клеточные автоматы
Существует специальный класс клеточный автоматов, называемых тоталистичными. На каждом шаге эволюции клеточного автомата значение ячейки равно какому-либо целому числу(обычно выбираемого из конечного множества), а новое состояние клетки определяется суммой значений клеток-соседей и, возможно, предыдущим состоянием клетки. Если состояние клетки на новом шаге зависит от её предыдущего состояния, то такой клеточный автомат называется внешним тоталистичным. Игра Жизньявляется примером внешнего тоталистического клеточного автомата с набором значений ячеек .
Связанные определения клеточных автоматов
Существует множество возможных обобщений концепций клеточных автоматов.
Один из них -- использование сетки не с квадратами(гиперкубами в многомерном случае), а с другими геометрическими фигурами в её основе. Например, если поле представлено шестиугольным паркетом, то шестиугольники будут клетками. Однако иногда такие клеточные автоматы оказывались идентичными клеточным автоматам на сетке с квадратными клетками, только при этом было необходимо вместе специальные правила отношений с клетками-соседями. Другой способ обобщения -- использование нерегулярной сетки(например, в виде Мозаики Пенроуза).
Ещё один способ -- использование вероятностных правил. Такие клеточные автоматы называются стохастическими. В таких системах задается вероятность, что на следующем шаге клетка сменит свой цвет на другой. Или, например, в игре «Жизнь»добавляется правило, что клетка с определенной вероятностью может изменить свой цвет на противоположный, а другие правила этого клеточного автомата остаются без изменений.
Определение соседства клетки может меняться с течением времени и\или пространства. Например, на первом шаге соседями будут горизонтально смежные клетки, а на другом -- вертикально смежные.
Существуют непрерывные клеточные автоматы. В таких системах вместо дискретного набора состояний используются непрерывные функции (обычно определяемые на промежутке ).
Свойство обратимости
Клеточный автомат называется обратимым, если для каждой текущей конфигурации существует только одна предшествующая конфигурация. Если рассматривать клеточный автомат как функцию, отображающую одну конфигурацию в другую, то обратимость предполагает биективность этой функции. Если клеточный автомат обратим, то его обратная эволюция также может быть описана клеточным автоматом. Конфигурации, не имеющие предшествующих, то есть недостижимые в данном клеточном автомате, носят название «Сады Эдема».
Для одномерных клеточных автоматов существуют алгоритмы определения обратимости или необратимости. Однако для клеточных автоматов с двумя и более измерениями таких алгоритмов нет.
Модель лесного пожара. Клеточные автоматы
Создать и визуализировать математическую модель распространения лесного пожара в Excel.
Условия:
· поле 30 на 30 клеток;
· одна клетка - один шаг и одно дерево;
· вокруг горящего дерева есть 8 ближайших клеток, на которые может перейти пожар,
· состояние дерева: горящее - красное, сгоревшее - черное, несгоревшее - зеленое.
· Загорится ли дерево (вероятность) зависит от направления ветра (всего 8 направлений);
· Вероятность возгорания, направление ветра и скорость ветра выставляется произвольно в начале программы, и являются исходными данными для формирования правил клеточного автомата.
Решение:
Правила для клеток автомата:
1. Зеленая клетка может превратиться только в «красную» по вероятностному закону, если в соседях у нее красная;
2. Красная - на следующем шаге, превращается в черную;
3. Черная никогда не меняется.
В теории в автоматах существуют два принципиально разных вида клеток (по параметрам Причина-Следствие):
1. Клетка-приемник - использует данные о состояниях своих соседей и в конечном итоге изменяет свое состояние (как правило, для комплексного учета влияния соседей)
2. Клетка-причина - влияет на соседей и, в конечном счете, изменяет их состояние или создает предпосылки для такого изменения (и не исключено, что и свое).
В нашем случае, проще и удобнее использовать второй вид клеток, а для ускорения процесса расчета провести трансформацию правил. Самые сложные правила отдадим красной клетке. Матрица вероятностей «поджога соседей» должна учесть и скорость, и направление ветра, и влажность леса. Такая клетка как бы переводит соседние зеленые клетки в новое состояние (так более реально выглядит пожар). И сама тут же гаснет. В этом случае правила для зеленых и черных клеток - пусты.
Процесс пересчета состояний:
Цикл перебора клеток бежит пока не встретит «красную» в массиве. В самом массиве сразу ничего не меняется, а лишь проверяются соседи и если среди них есть «зеленая», то в нее бросается «Искра» (функция RND). Клетка, возможно, загорится, а возможно и нет. Изменения, если произойдут, зафиксируются в специальной коллекции. Матрица вероятностей «поджога соседей» формируется таким образом, что «красные» клетки бросает искры в основном по направлению ветра - и только на «зеленые» соседние клетки. После окончания цикла очередного шага, вносим изменения в массив, одновременно очищая «коллекцию изменений».
Заключение
В данной работе представлена структура оптимальной программы противодействия распространения вирусного ПО в сети, в случае, когда лечению подвергают узлы, пораженные вредоносным ПО первого и второго типов по отдельности. Проводится дальнейшее исследование по построению структуры оптимальной программы противодействия для случая совместного заражения узлов вирусами первого и второго типов.
Клеточные автоматы применимы не только в математике, физике, биологии (кстати, сейчас Конуэй придумал еще одно применение клеточных автоматов в этой области: представим себе достаточно большое количество "первичного бульона" из хаотически распределенных клеток, если можно ожидать появления из такого хаоса структур, способных самовоспроизводить себя, то это еще одно подтверждение теории зарождения жизни на Земле). Теория клеточных автоматов наиболее перспективно прилагаема к вопросу о разработке самовосстанавливаемых электронных цепей и др.
По своему поведению клеточные автоматы делятся на четыре класса. К первому классу относятся автоматы, приходящие через определенное время к устойчивому однородному состоянию. Автоматы второго класса через некоторое время после пуска генерируют стационарные или периодические во времени структуры. В автоматах третьего класса по прошествии некоторого времени перестает наблюдаться корреляция процесса с начальными условиями. Наконец, поведение автоматов четвертого класса сильно определяется начальными условиями и с их помощью можно генерировать весьма различные шаблоны поведения. Такие автоматы являются кандидатами на прототип клеточной вычислительной машины. В частности, с помощью специфических клеточных конфигураций игры Жизнь, которая как раз и является автоматом четвертого типа, можно построить все дискретные элементы цифрового компьютера.
Клеточные автоматы используются для моделирования гидродинамических течений, так как уравнения гидродинамики соответствуют математической модели, описывающей поведение решетчатого газа, одного из клеточных автоматов, на макроуровне. Структуры, возникающие в игре Жизнь, очень точно повторяют возмущение поведение поверхности потока жидкости механическим препятствием. Примитивные одномерные клеточные автоматы могут моделировать процесс горения различного характера.
Список литературы
1. Altman E., Khouzani M.H.R., Sarkar S. Optimal control of epidemic evolution // Proceedings of INFOCOM '2011. 2011. P. 1683-1691.
2. Beutel A., Faloutsos C., Prakash B.A., Rosenfeld R. Interacting Viruses in Networks: Can Both Survive? // KDD-2012. 2012.
3. Gubar E.A., Zhu Q. Optimal Control of Influenza Epidemic Model with Virus Mutations // 12th European Control Conference ECC '13. IEEE Control Systems Society. 2013. P. 3125-3130.
4. Kermack W.O., Mc Kendrick A.G. A contribution to themathematical theory of epidemics // Proceedings of the Royal Society. 1927. Vol. 115, No. A771. P. 700-721.
5. Pontryagin L.S., Boltyanskii V.G., Gamkrelidze R.V., Mishchenko E.F. The Mathematical Theory of Optimal Processes // Interscience, 1962.
Размещено на Allbest.ru
Подобные документы
Использование клеточных автоматов для моделирования гидродинамических и газодинамических течений. Применение клеточных автоматов в информатике. Основные правила и виды фигур, правила игры "Жизнь". Реализация эффективной системы распознавания образов.
научная работа [740,4 K], добавлен 23.06.2015Понятие автомата как дискретного преобразователя информации, особенности его состояний. Синтез конечных автоматов, их задания и структурных анализ. Построение синтеза функций возбуждения элементарных автоматов. Комбинационный синтез конечных автоматов.
курсовая работа [336,4 K], добавлен 01.06.2014Теоретические основы эквивалентности конечных автоматов-распознавателей и их минимизация. Определение математических моделей Мили и Мура. Их графическое и табличное представление. Примеры построения конечных автоматов, распознающих некоторые языки.
курсовая работа [567,8 K], добавлен 02.05.2015Синтез и детерминизация, алгоритм минимизации автоматов–распознавателей. Машина Тьюринга как универсальный тип абстрактного преобразователя. Моделирование систем и событий с помощью сетей Петри. Методы синтеза структурных автоматов на базе триггеров.
учебное пособие [2,3 M], добавлен 17.06.2014В статье рассмотрено применение конечных автоматов для создания системы автоматов, связанных графами. Документооборот представляется в виде автомата, обрабатывающего автоматы, каждый из которых моделирует поведенческую единицу системы документооборота.
статья [80,8 K], добавлен 19.04.2006В статье рассмотрено применение конечных автоматов для создания системы автоматов, связанных графами. Документооборот представляется в виде автомата, обрабатывающего автоматы, каждый из которых моделирует поведенческую единицу системы документооборота.
статья [80,8 K], добавлен 15.07.2006Роль гидродинамических процессов в современной технике и технологиях. Необходимость использования компьютерных методов при моделировании. Обзор дискретных моделей решетчатых газов. Соответствие реальных величин параметрам модели. Программное обеспечение.
дипломная работа [1,6 M], добавлен 22.04.2012Теоретические и практические основы грамматик, теория конечных автоматов-распознавателей. Эквивалентные и недостижимые состояния конечных автоматов. Классификация грамматик и порождаемых ими языков. Разработка программного комплекса построения грамматик.
курсовая работа [654,2 K], добавлен 14.11.2010Принципы и понятия автоматного программирования. Виды конечных автоматов, их применение при построении лексических и синтаксических анализаторов. Описание конечных автоматов Миля и Мура, их различий в зависимости от способа формирования функций выхода.
курсовая работа [430,9 K], добавлен 26.05.2015Синтез контролирующих опросных циклических реляторных автоматов. Организация структуры с приоритетной стратегией "дейзи-цепочка", "дейзи-кольцо". Элементарный логический реляторный процессор. Сущность приоритетной перестраиваемой реляторной структуры.
контрольная работа [479,5 K], добавлен 20.03.2016