Локальные автоматы — различия между версиями
| Строка 4: | Строка 4: | ||
1. Для каждой упорядоченной пары вершин <tex>v</tex> и <tex>u</tex> существует только одно ребро из <tex>v</tex> в <tex>u</tex>. | 1. Для каждой упорядоченной пары вершин <tex>v</tex> и <tex>u</tex> существует только одно ребро из <tex>v</tex> в <tex>u</tex>. | ||
| − | 2. Некоторые вершины обозначены начальными, а некоторые - конечными. Ребро может одновременно быть начальным и конечным. | + | 2. Некоторые вершины обозначены начальными, а некоторые {{---}} конечными. Ребро может одновременно быть начальным и конечным. |
3. Вершины обозначены различными символами из конечного алфавита <tex>\Sigma</tex>, то есть мы можем обращаться к вершине по ее символу. | 3. Вершины обозначены различными символами из конечного алфавита <tex>\Sigma</tex>, то есть мы можем обращаться к вершине по ее символу. | ||
| Строка 14: | Строка 14: | ||
Пусть <tex>G</tex> {{---}} граф Майхилла над алфавитом <tex>\Sigma</tex>. | Пусть <tex>G</tex> {{---}} граф Майхилла над алфавитом <tex>\Sigma</tex>. | ||
| − | Символ | + | Символ <tex>c \in \Sigma</tex> назовем разрешенным, если им помечена вершина, являющая одновременно начальной и конечной. |
Не пустая строка <tex>c_1c_2...c_n</tex> из <tex>\Sigma^*</tex> длиной не менее двух символов, называется разрешенной, если символом <tex>c_1</tex> отмечена стартовая вершина, а символом <tex>c_n</tex> {{---}} конечная, и для всех <tex>1 \leqslant i \leqslant n - 1</tex> в <tex>G</tex> существует ребро <tex>a_i \rightarrow a_{i+1}</tex>. | Не пустая строка <tex>c_1c_2...c_n</tex> из <tex>\Sigma^*</tex> длиной не менее двух символов, называется разрешенной, если символом <tex>c_1</tex> отмечена стартовая вершина, а символом <tex>c_n</tex> {{---}} конечная, и для всех <tex>1 \leqslant i \leqslant n - 1</tex> в <tex>G</tex> существует ребро <tex>a_i \rightarrow a_{i+1}</tex>. | ||
| Строка 31: | Строка 31: | ||
}} | }} | ||
| − | Таким образом, автомат является локальным, если для каждого <tex>c</tex> из <tex>\Sigma</tex> нет переходов, отмеченных <tex>c</tex>, или если все они в одно состояние. | + | Таким образом, автомат является локальным, если для каждого <tex>c</tex> из <tex>\Sigma</tex> нет переходов, отмеченных <tex>c</tex>, или если все они ведут в одно состояние. |
Покажем, что граф Майхилла может быть преобразован в стандартный локальный автомат таким образом, что распознаваемый им язык не изменится. | Покажем, что граф Майхилла может быть преобразован в стандартный локальный автомат таким образом, что распознаваемый им язык не изменится. | ||
Версия 17:56, 2 января 2015
| Определение: |
| Граф Майхилла (над алфавитом ) (англ. Myhill graph) — ориентированный граф, удовлетворяющий свойствам:
1. Для каждой упорядоченной пары вершин и существует только одно ребро из в . 2. Некоторые вершины обозначены начальными, а некоторые — конечными. Ребро может одновременно быть начальным и конечным. 3. Вершины обозначены различными символами из конечного алфавита , то есть мы можем обращаться к вершине по ее символу. |
Рассмотрим пример (рис. 1). Этот граф может быть использован для распознавания строк над алфавитом . По определению, язык, распознаваемый данным графом, состоит из непустых строк, начинающихся и заканчивающихся на ; он имеет вид: .
Пусть — граф Майхилла над алфавитом .
Символ назовем разрешенным, если им помечена вершина, являющая одновременно начальной и конечной.
Не пустая строка из длиной не менее двух символов, называется разрешенной, если символом отмечена стартовая вершина, а символом — конечная, и для всех в существует ребро .
Язык , распознаваемый графом Майхилла, состоит из всех разрешенных строк из .
Покажем, графы Майхилла могут быть представлены в виде автоматов. Пусть — ДКА, не обязательно законченный.
| Определение: |
| Автомат называется локальным (англ. local automation), если для любого из множество содержит не более одного элемента. |
| Определение: |
| Автомат называется стандартным локальным автоматом (англ. standard loal automation), если в нем нет перехода в начальное состояние. |
Таким образом, автомат является локальным, если для каждого из нет переходов, отмеченных , или если все они ведут в одно состояние.
Покажем, что граф Майхилла может быть преобразован в стандартный локальный автомат таким образом, что распознаваемый им язык не изменится.