- •Дипломна робота
- •1. Опис предметної області
- •2. Огляд та порівняльна характеристика існуючих програм аналогічного призначення
- •2.1. «Клітинний автомат»
- •2.2. «Машина Тюрінга»
- •3. Опис функціоналу майбутньої системи
- •3.1. Прототип інтерфейсу
- •3.3 Представлення діаграм
- •4. Опис проектних рішень
- •Список використаних джерел:
1. Опис предметної області
Принцип роботи програми найкраще видно на прикладі гри англійського математика Джона Конвея. Місце дії цієї гри – «всесвіт» – це площина, поділена на клітинки. Кожна клітинка на цій поверхні може знаходитись в двох станах: бути живою або бути мертвою. Клітинка має вісім сусідів. Розподіл живих клітинок на початку гри називається першим поколінням. Кожне наступне покоління утворюється на основі попереднього за наведеними нижче правилами.
Якщо у живої клітини два чи три сусіди – то вона лишається жити;
якщо у живої клітини один чи немає сусідів – то вона помирає від «самотності»;
якщо у живої клітини чотири та більше сусідів – вона помирає від «перенаселення»;
якщо у мертвої клітини рівно три сусіди – то вона оживає.
Дані правила отримали назву генетичних законів Конвея, вони задовольняють три основні умови:
не має бути жодної початкової конфігурації, для якої існувало б просте доведення можливості необмеженого росту популяції;
мають існувати такі початкові конфігурації, які заздалегідь володіють властивістю безмежно розвиватися;
мають існувати прості початкові конфігурації, які протягом значного проміжку часу ростуть, перетерплюють різноманітні зміни та закінчують свою еволюцію одним з трьох наступних способів:
повністю зникають;
переходять у стійку конфігурацію та перестають змінюватися взагалі;
виходять у коливальний режим з певним періодом.
Гравець не бере прямої участі у грі, а лише розставляє початкову конфігурацію «живих» клітин, які потім взаємодіють відповідно до правил вже без його участі.
В нашій програмі моделюється процес розповсюдження хвороби клітин.
Клітина має три стани: здорова, хвора та клітина після видужання, яка набула імунітет на певний проміжок часу. Центральна клітина на ділянці шкіри є хворою і може заразити будь-яку іншу сусідню на кожному проміжку часу з імовірність 50%, по проходженню 6 відрізків часу вона видужує і набуває імунітет який триватиме 4 відрізки часу (клітина, яка набула імунітет, не може бути зараженою і не може нікого заразити) потім вона втрачає імунітет і може знову заразитися.
На відміну від гри Конвея, передбачити розвиток подій майже неможливо через те, що хворій клітині для зараження не потрібно ніяких додаткових умов, і клітина яка буде заражена вибирається випадково.
2. Огляд та порівняльна характеристика існуючих програм аналогічного призначення
2.1. «Клітинний автомат»
Клітинний автомат (КА) – сукупність, до якої входить набір клітинок, які утворюють періодичну решітку, та задані правила переходу, що визначають стан клітини за теперішнім станом самої клітинки та тих її сусідів, що знаходяться від неї на певній відстані, яка не перевищує максимальну.
Основний напрям дослідження клітинних автоматів – алгоритмічна розв'язність якихось задач. Також розглядаються питання побудови початкових станів, при яких клітинний автомат вирішуватиме задану задачу. Залишається відкритим, наприклад, питання про можливість побудови машини Тюринга у грі «Життя».
Поняття клітинних автоматів доволі обширне, тому можна знайти доволі багато різних визначень.
Найпоширенішими є:
математичний об’єкт з дискретним простором та часом;
регулярна структура двійкових скінченних автоматів з однаковими правилами переходів, що виражені у вигляді булевих функцій від станів сусідніх автоматів;
математична ідеалізація фізичної системи, в якій час та простір дискретні, а фізичні величини приймають скінченну множину значень.
ВЛАСТИВОСТІ КЛІТИННОГО АВТОМАТУ
Стани елементів
У кожний момент часу кожен елемент КА приймає один стан зі скінченного набору станів. У залежності від цих станів в наступний момент часу набір елементів може прийняти новий стан. Якщо для елементів КА множини можливих станів відрізняються, такий клітинний автомат називається полігенним. Але на практиці використовуються комірки з еквівалентною множинами можливих станів алгебраїчною структурою – лінійні КА.
Геометрія
Елементи можуть бути геометрично розташовані різноманітним чином. Розмірність простору може бути довільною, а число елементів – як безкінечним, так і скінченним. В останньому випадку виникає додаткова міра свободи в граничних умовах. Вони можуть бути різними, але на практиці використовуються постійні у часі (найчастіше – нульові) або періодичні граничних умовах. У динамічних КА геометрія може змінюватися з часом, а якщо геометрія різна на різних ділянках простору, такі кліткові КА називають неоднорідними.
Сусідство
Сусіди – це елементи, від яких залежить елемент КА. Можна назвати поняття сусідства ключовим для КА. При тому сусідство розуміється не в геометричному сенсі, а в інформаційному. Хоча зазвичай інформаційний сенс накладається на геометричний. Сусідство одиничних автоматів встановлюється постійним для кожного одиничного автомата решітки і визначається спеціальним вектором – індексом сусідства. Як правило, розглядаються d-мірні регулярні решітки, в цілочислові точки яких поміщені копії деякого автомата Мура. Стан елемента в наступний момент часу обчислюється із стану самого елементу і його сусідів. Сусідство у більшій мірі визначається геометрією КА. Для різних цілей можлива зміна числа вхідних станів елемента. Якщо для кожного елемента КА число входів і виходів однакове, такий КА називається збалансованим.
Локальне правило
Відповідно до локального правила змінюється стан елемента КА протягом часу. КА, в якому локальні правила різні для різних елементів, називається різнорідним. Локальне правило може бути недетермінованим, тобто змінюватися в часі або мати випадкову природу.
