Уточнил матописание

This commit is contained in:
2024-12-07 11:04:36 +03:00
parent 0a8171dee5
commit 3390cb2f64

View File

@@ -13,6 +13,7 @@
\usepackage{moreverb} %для печати в листинге исходного кода программ \usepackage{moreverb} %для печати в листинге исходного кода программ
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{tabularx} \usepackage{tabularx}
\usepackage{amssymb}
\usepackage{array} \usepackage{array}
\usepackage{multirow} \usepackage{multirow}
@@ -152,30 +153,30 @@
Клеточные автоматы~\cite{vostrov} это регулярная структура динамических объектов (клеток), функционирующих синхронно. Клеточные автоматы моделируют процессы, разворачивающиеся в дискретном пространстве и в дискретном времени. Клеточный автомат имеет состояние, определяемое как набор (вектор или матрица) состояний компонентных автоматов. Каждый автомат функционирует как автомат Мура, т.е. это автомат без выхода, выходом является его состояние. Вход на каждом шаге клеточного автомата состояния его соседей. На следующем шаге (в следующем такте) новое состояние каждого автомата определяется как функция его текущего состояния и текущих состояний его соседей. Обычно правила изменения состояний всех автоматов (кроме крайних) идентичны (однородность системы), множество состояний каждого автомата конечно. Изменение состояния системы во всех клетках происходит синхронно: состояния клеток меняются одновременно, в каждом такте. Клеточные автоматы~\cite{vostrov} это регулярная структура динамических объектов (клеток), функционирующих синхронно. Клеточные автоматы моделируют процессы, разворачивающиеся в дискретном пространстве и в дискретном времени. Клеточный автомат имеет состояние, определяемое как набор (вектор или матрица) состояний компонентных автоматов. Каждый автомат функционирует как автомат Мура, т.е. это автомат без выхода, выходом является его состояние. Вход на каждом шаге клеточного автомата состояния его соседей. На следующем шаге (в следующем такте) новое состояние каждого автомата определяется как функция его текущего состояния и текущих состояний его соседей. Обычно правила изменения состояний всех автоматов (кроме крайних) идентичны (однородность системы), множество состояний каждого автомата конечно. Изменение состояния системы во всех клетках происходит синхронно: состояния клеток меняются одновременно, в каждом такте.
\subsection{Двумерные клеточные автоматы} \subsection{Двумерные клеточные автоматы}
Двумерные клеточные автоматы являются расширением одномерных клеточных автоматов, описанных ранее. В одномерных автоматах состояние каждой клетки определяется её собственным состоянием и состояниями соседних клеток на линии. В двумерных клеточных автоматах клетки расположены на двумерной сетке, и их состояние зависит от собственных состояний и состояний соседних клеток в двух измерениях, что позволяет моделировать более сложные пространственные взаимодействия. Двумерные клеточные автоматы являются расширением одномерных клеточных автоматов, описанных ранее. В одномерных автоматах состояние каждой клетки определяется её собственным состоянием и состояниями соседних клеток на линии. В двумерных клеточных автоматах клетки расположены на двумерной сетке, и их состояние зависит от собственного состояния и состояний соседних клеток в двух измерениях.
Основные элементы клеточного автомата: Основные элементы клеточного автомата:
\begin{enumerate} \begin{enumerate}
\item \textbf{Сетка клеток:} Двумерный массив клеток $C(i, j)$, где $i, j \in Z$ обозначают индексы клетки в сетке. \item \textbf{Сетка клеток:} Двумерный массив клеток $C(i, j)$, где $i \in \{0, 1, \dots, N-1\}$ и $j \in \{0, 1, \dots, M-1\}$ обозначают индексы клетки в сетке, \(N\) и \(M\) — размеры сетки.
\item \textbf{Состояния:} Каждая клетка может находиться в одном из $k$ возможных состояний: $S = \{s_0, s_1, \dots, s_{k-1}\}$. В данной лабораторной работе рассматриваются автоматы с двумя возможными состояниями '0' и '1'. \item \textbf{Состояния:} Каждая клетка может находиться в одном из $k \in \mathbb{N}$ возможных состояний: $S = \{s_0, s_1, \dots, s_{k-1}\}$. В данной лабораторной работе рассматриваются автоматы с двумя возможными состояниями <<0>> (<<мёртвые>> клетки) и <<1>> (<<живые>> клетки).
\item \textbf{Тип окрестности:} Для клетки $C(i, j)$ задаётся множество соседей $\mathcal{N}(i, j)$. Окрестность фон Неймана (см. Рис.~\ref{fig:fon}) задаётся следующим образом (включает 4 соседа): \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)\}. \mathcal{N}_N(i, j) = (C(i, j), C(i-1, j), C(i+1, j), C(i, j-1), C(i, j+1)).
\] \]
\item \textbf{Функция перехода:} Функция $f$ определяет состояние клетки $C(i, j)$ на следующем шаге: \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) = f\left(\mathcal{N}(i, j)\right),
\] \]
где $C'(i, j)$ — состояние клетки после обновления. где $C'(i, j)$ — состояние клетки после обновления.
\item \textbf{Граничные условия:} Определяют, как будет выглядеть окрестность клеток на границах сетки. Основные типы: \item \textbf{Граничные условия:} Определяют, как будет выглядеть окрестность клеток на границах сетки. В этой работе рассматриваются несколько вариантов граничных условий:
\begin{itemize} \begin{itemize}
\item \textit{Нулевые граничные условия:} За пределами сетки клетки считаются находящимися в нулевом состоянии. \item \textit{Нулевые граничные условия:} За пределами сетки клетки считаются находящимися в нулевом состоянии.
\[ \[
S(i, j) = S(i, j) =
\begin{cases} \begin{cases}
0, & \text{если } i < 0 \text{ или } i \geq N \text{ или } j < 0 \text{ или } j \geq M, \\ 0, & \text{если } i < 0 \text{ или } i \geq N \text{ или } j < 0 \text{ или } j \geq M, \\
C(i, j), & \text{иначе}, C(i, j), & \text{иначе}.
\end{cases} \end{cases}
\] \]
\item \textit{Единичные граничные условия:} За пределами сетки клетки считаются находящимися в единичном состоянии. \item \textit{Единичные граничные условия:} За пределами сетки клетки считаются находящимися в единичном состоянии.
@@ -183,7 +184,7 @@
S(i, j) = S(i, j) =
\begin{cases} \begin{cases}
1, & \text{если } i < 0 \text{ или } i \geq N \text{ или } j < 0 \text{ или } j \geq M, \\ 1, & \text{если } i < 0 \text{ или } i \geq N \text{ или } j < 0 \text{ или } j \geq M, \\
C(i, j), & \text{иначе}, C(i, j), & \text{иначе}.
\end{cases} \end{cases}
\] \]
\item \textit{Тороидальные граничные условия:} Сетка рассматривается как тор, то есть клетки на одной границе соединены с противоположной границей. \item \textit{Тороидальные граничные условия:} Сетка рассматривается как тор, то есть клетки на одной границе соединены с противоположной границей.
@@ -192,12 +193,10 @@
\begin{cases} \begin{cases}
C((i + N)\!\!\!\! \mod N, (j + M)\!\!\!\! \mod M), & \text{если } i < 0 \text{ или } i \geq N \\ C((i + N)\!\!\!\! \mod N, (j + M)\!\!\!\! \mod M), & \text{если } i < 0 \text{ или } i \geq N \\
& \quad \text{или } j < 0 \text{ или } j \geq M, \\ & \quad \text{или } j < 0 \text{ или } j \geq M, \\
C(i, j), & \text{иначе}, C(i, j), & \text{иначе}.
\end{cases} \end{cases}
\] \]
\end{itemize} \end{itemize}
где \(N\) и \(M\) — размеры сетки.
\end{enumerate} \end{enumerate}
\begin{figure}[h!] \begin{figure}[h!]