diff --git a/tex/FormalLanguageConstrainedReachabilityLectureNotes.bib b/tex/FormalLanguageConstrainedReachabilityLectureNotes.bib index 9085336..5770a83 100644 --- a/tex/FormalLanguageConstrainedReachabilityLectureNotes.bib +++ b/tex/FormalLanguageConstrainedReachabilityLectureNotes.bib @@ -1427,3 +1427,35 @@ @article{ArlDinKro70 url = {http://mi.mathnet.ru/dan35675} } +@Misc{tata2007, + author = {H. Comon and M. Dauchet and R. Gilleron and C. L\"oding +and F. Jacquemard +and D. Lugiez and S. Tison and M. Tommasi}, + title = {Tree Automata Techniques and Applications}, + howpublished = {Available on: \url{http://www.grappa.univ-lille3.fr/tata}}, + note = {release October, 12th 2007}, + year = 2007 +} + +@article{EHRIG1992557, +title = {Introduction to graph grammars with applications to semantic networks}, +journal = {Computers \& Mathematics with Applications}, +volume = {23}, +number = {6}, +pages = {557-572}, +year = {1992}, +issn = {0898-1221}, +doi = {https://doi.org/10.1016/0898-1221(92)90124-Z}, +url = {https://www.sciencedirect.com/science/article/pii/089812219290124Z}, +author = {Hartmut Ehrig and Annegret Habel and Hans-Jörg Kreowski}, +abstract = {In the first half of this paper, we give an introductory survey on graph grammars that provide rule-based mechanisms for generating, manipulating and analyzing graphs. In the second half, two potential applications of graph-grammar concepts to semantic networks are indicated.} +} + +@book{Courcelle2009, + doi = {10.1017/cbo9780511977619}, + url = {https://doi.org/10.1017/cbo9780511977619}, + year = {2009}, + publisher = {Cambridge University Press}, + author = {Bruno Courcelle and Joost Engelfriet}, + title = {Graph Structure and Monadic Second-Order Logic} +} \ No newline at end of file diff --git a/tex/FormalLanguageTheoryIntro.tex b/tex/FormalLanguageTheoryIntro.tex index b7aefbe..abce1db 100644 --- a/tex/FormalLanguageTheoryIntro.tex +++ b/tex/FormalLanguageTheoryIntro.tex @@ -1,4 +1,4 @@ -\chapter{Общие сведения теории формальных языков}\label{chpt:FormalLanguageTheoryIntro} +\chapter[Общие сведения теории формальных языков]{Общие сведения теории формальных языков\footnote{В рамках данной работы мы будем говорить о ``типичных'' языках, элементами которых являются объекты, максимально похожие на строки. При этом будет оставлен за бортом тот факт, что базовое определение позволяет нам рассматривать в качестве ``строительных элементов'' (алфавита) практически произвольные объекты, а значит, создавать весьма нетривиальные конструкции в качестве слов языка. Примерами ``нестроковых'' языков могут послужить языки деревьев~\cite{tata2007} или языки графов~\cite{EHRIG1992557, Courcelle2009}.}}\label{chpt:FormalLanguageTheoryIntro} В данной главе мы рассмотрим основные понятия из теории формальных языков, которые пригодятся нам в дальнейшем изложении. @@ -25,7 +25,7 @@ \chapter{Общие сведения теории формальных язык При записи выражений символ точки (обозначение операции конкатенации) часто будем опускать: $a \cdot b = ab$. \begin{definition} -\textit{Слово} над алфавитом $\Sigma$ --- это конечная конкатенация символов алфавита $\Sigma$: $\omega = a_0 \cdot a_1 \cdot \ldots \cdot a_m,ドル где $\omega$ --- слово, а для любого $i$ $a_i \in \Sigma$. +\textit{Слово} над алфавитом $\Sigma$ --- это конечная конкатенация символов алфавита $\Sigma$: $\omega = a_0 \cdot a_1 \cdot \ldots \cdot a_m,ドル где $\omega$ --- слово, а $a_i \in \Sigma$ для любого $i$. \end{definition} \begin{definition} @@ -49,19 +49,22 @@ \chapter{Общие сведения теории формальных язык Любой язык над алфавитом $\Sigma$ является подмножеством $\Sigma^*$ --- множества всех слов над алфавитом $\Sigma$. -Заметим, что язык не обязан быть конечным множеством, в то время как алфавит всегда конечен и изучаем мы конечные слова. +Заметим, что язык не обязан быть конечным множеством, в то время как алфавит в нашей области всегда конечен\footnote{Существуют ситуации, когда возникают бесконечные алфавиты.} и изучаем мы конечные слова\footnote{Существуют ситуации, когда возникают бесконечные слова. Например работы по обработке потоков.}. -%\begin{definition} -\textit{Способы задания языков} +Можно выделить следующие основные \textit{способы задания языков.} \begin{itemize} -\item Перечислить все элементы. Такой способ работает только для конечных языков. Перечислить бесконечное множество не получится. +\item Перечислить все элементы. Такой способ работает только для конечных языков. Перечислить бесконечное множество за конечное время не получится. \item Задать генератор --- процедуру, которая возвращает очередное слово языка. \item Задать распознаватель --- процедуру, которая по данному слову может определить, принадлежит оно заданному языку или нет. \end{itemize} -%Теоретико-множественные задачи над языками и их применение. -%О том, что моногое --- про пересечение, проверку пустоты, вложенность. +Общие слова про порождающие грамматики. Через машины Маркова, переписывания. Далее --- от того, какие ограничения на правила машины, зависит класс языков. + +Пару слов про то, что через переписывания не всегда удобно, не всегда работает. Булевы грамматики. + +Теоретико-множественные задачи над языками и их применение. +О том, что многое --- про пересечение, проверку пустоты, вложенность.