Матописание автоматов

This commit is contained in:
2024-12-05 16:02:27 +03:00
parent 37aa30e8b9
commit ba4f88f5ef
2 changed files with 36 additions and 1 deletions

BIN
lab1/report/img/fon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -144,9 +144,44 @@
\item Проанализировать поведение клеточного автомата, выявить паттерны, оценить "сходимость" и другие характеристики в отчете.
\end{itemize}
\newpage
\newpage
\section {Математическое описание}
\subsection{Клеточные автоматы}
Клеточные автоматы~\cite{vostrov} это регулярная структура динамических объектов (клеток), функционирующих синхронно. Клеточные автоматы моделируют процессы, разворачивающиеся в дискретном пространстве и в дискретном времени. Клеточный автомат имеет состояние, определяемое как набор (вектор или матрица) состояний компонентных автоматов. Каждый автомат функционирует как автомат Мура, т.е. это автомат без выхода, выходом является его состояние. Вход на каждом шаге клеточного автомата состояния его соседей. На следующем шаге (в следующем такте) новое состояние каждого автомата определяется как функция его текущего состояния и текущих состояний его соседей. Обычно правила изменения состояний всех автоматов (кроме крайних) идентичны (однородность системы), множество состояний каждого автомата конечно. Изменение состояния системы во всех клетках происходит синхронно: состояния клеток меняются одновременно, в каждом такте.
\subsection{Двумерные клеточные автоматы}
Двумерные клеточные автоматы являются расширением одномерных клеточных автоматов, описанных ранее. В одномерных автоматах состояние каждой клетки определяется её собственным состоянием и состояниями соседних клеток на линии. В двумерных клеточных автоматах клетки расположены на двумерной сетке, и их состояние зависит от собственных состояний и состояний соседних клеток в двух измерениях, что позволяет моделировать более сложные пространственные взаимодействия.
Основные элементы клеточного автомата:
\begin{enumerate}
\item \textbf{Сетка клеток:} Двумерный массив клеток $C(i, j)$, где $i, j \in Z$ обозначают индексы клетки в сетке.
\item \textbf{Состояния:} Каждая клетка может находиться в одном из $k$ возможных состояний: $S = \{s_0, s_1, \dots, s_{k-1}\}$. В данной лабораторной работе рассматриваются автоматы с двумя возможными состояниями '0' и '1'.
\item \textbf{Тип окрестности:} Для клетки $C(i, j)$ задаётся множество соседей $\mathcal{N}(i, j)$. Окрестность фон Неймана (см. Рис.~\ref{fig:fon}) задаётся следующим образом (включает 4 соседа):
\[
\mathcal{N}_N(i, j) = \{C(i-1, j), C(i+1, j), C(i, j-1), C(i, j+1)\}.
\]
\item \textbf{Функция перехода:} Функция $f$ определяет состояние клетки $C(i, j)$ на следующем шаге:
\[
C'(i, j) = f\left(C(i, j), \{C(x, y) \mid (x, y) \in \mathcal{N}(i, j)\}\right),
\]
где $C'(i, j)$ — состояние клетки после обновления.
\item \textbf{Граничные условия:} Определяют, как будет выглядеть окрестность клеток на границах сетки. Основные типы:
\begin{itemize}
\item \textit{Нулевые граничные условия:} За пределами сетки клетки считаются находящимися в нулевом состоянии.
\item \textit{Единичные граничные условия:} За пределами сетки клетки считаются находящимися в единичном состоянии.
\item \textit{Торроидальные граничные условия:} Сетка рассматривается как тор, то есть клетки на одной границе соединены с противоположной границей.
\end{itemize}
\end{enumerate}
\begin{figure}[h!]
\centering
\includegraphics[width=0.3\linewidth]{img/fon.png}
\caption{Двумерная окрестность фон Неймана.}
\label{fig:fon}
\end{figure}
\newpage