|
1 | 1 | \chapter[Многокомпонентные контекстно-свободные языки]{Многокомпонентные контекстно-свободные языки} |
2 | 2 |
|
3 | | -\textit{Многокомпонентные контекстно-свободные грамматики (MCFG)} \sidenote{ |
| 3 | +\textit{Многокомпонентные контекстно-свободные грамматики (MCFG)} |
| 4 | +\footnote{ |
4 | 5 | Мы дадим лишь базовые определения и приведём краткий обзор данного класса. В качестве отправной точки для более детального изучения можно порекомендовать материалы, подготовленные Сильваном Салвати (Sylvain Salvati) \url{https://www.labri.fr/perso/salvati/downloads/cours/esslli/}. |
5 | 6 | } --- это строгое расширение контекстно-свободных грамматик для описания синтаксиса естественных языков. |
6 | 7 |
|
|
62 | 63 |
|
63 | 64 | \end{itemize} |
64 | 65 |
|
65 | | -Теперь рассмотрим грамматику для языка $L = \{a^nc^mb^nd^m \mid n \in \mathbb{N}, m \in \mathbb{N} \}$, не являющегося контекстно-свободным, но выразимого в 2-MCFG(2) грамматике : |
| 66 | +Рассмотрим грамматику для языка $L = \{a^nc^mb^nd^m \mid n \in \mathbb{N}, m \in \mathbb{N} \}$, не являющегося контекстно-свободным, но выразимого в 2-MCFG(2) грамматике : |
66 | 67 | \begin{align*} |
67 | 68 | S(x_1 y_1 x_2 y_2) & \leftarrow P(x1,x2),Q(y_1,y_2) \\ |
68 | 69 | P(ax_1, bx_2) & \leftarrow P(x_1,x_2) \\ |
@@ -101,7 +102,96 @@ \section{Расширения MCFG} |
101 | 102 | \textbf{Simple LMG} — это подкласс LMG, где каждая клауза (правило) должна удовлетворять трём синтаксическим ограничениям: |
102 | 103 | \begin{itemize} |
103 | 104 | \item Non-combinatorial (некомбинаторность). Аргументы каждого $\psi_i$ должны быть переменными. |
104 | | - \item Bottom-up nonerasing (восходящая неудаляемость). Все переменные из каждого $\psi_i$ также должны встречаться в $\varphi$. Это означает, что правая часть не может вводить новые переменные --- все переменные должны "приходить" из левой части. |
| 105 | + \item Bottom-up nonerasing (восходящая неудаляемость). Все переменные из каждого $\psi_i$ также должны встречаться в $\varphi$. Это означает, что правая часть не может вводить новые переменные --- все переменные должны «приходить» из левой части. |
105 | 106 | \item Bottom-up linear (восходящая линейность). Ни одна переменная не встречается в $\varphi$ более одного раза. |
106 | 107 | \end{itemize} |
107 | 108 | \end{enumerate} |
| 109 | + |
| 110 | +\section{Свойства множественных контекстно-свободных грамматик} |
| 111 | +\begin{enumerate} |
| 112 | + \item $MCFL \varsubsetneq PMCFL \varsubsetneq simpleLMG = P$ |
| 113 | + \item $\{a^{2^n} \mid n\geq 0\} \in PMCFL - MCFL $ |
| 114 | +\end{enumerate} |
| 115 | +\sidenote{Либо оставить здесь только свойства и сказать читателю, что за подробностями лезть в статью. Пока непонятно} |
| 116 | + |
| 117 | +\section{Разновидности MCFG} |
| 118 | +\begin{itemize} |
| 119 | + \item \textbf{Неудаляющая} |
| 120 | + |
| 121 | + $\forall i \in \{i,\ldots,n\}, j\in \{1,\ldots,k_i\} \ x^i_j \text{ используется в } s_1,\ldots,s_k $ |
| 122 | + \item \textbf{Непереставляющая} |
| 123 | + |
| 124 | + $\forall i \in \{i,\ldots,n\}, j,k\in \{1,\ldots,k_i\}, \text{если} j < k, \text{ то } x^i_j \text{ встречается в } s_1,\ldots,s_k \text{ перед } x^i_k$ |
| 125 | + \item \textbf{Well-nested} --- неудаляющая, непереставляющая и |
| 126 | + \begin{align*} |
| 127 | + &\forall i,i' \in \{i,\ldots,n\}, i\neq i', \\ |
| 128 | + &j\in \{1,\ldots,k_i-1\}, j\in \{1,\ldots,k_{i'}-1\},\\ |
| 129 | + &s_1\cdots s_k \notin (\Sigma \cup X)^* x^i_j (\Sigma \cup X)^* x^{i'}_{j'} (\Sigma \cup X)^* x^i_{j+1} (\Sigma \cup X)^* x^{i'}_{j'+1}(\Sigma \cup X)^* |
| 130 | + \end{align*} |
| 131 | +\end{itemize} |
| 132 | + |
| 133 | +Пример Well-nested MCFG |
| 134 | +\begin{itemize} |
| 135 | + \item[\faCheck] $A(x_1,z_1,z_2,x_2,y_1,y_2,y_3,x_3) \leftarrow B(x_1,x_2,x_3),C(y_1,y_2,y_3),D(z_1,z_2)$ |
| 136 | + \item[\faTimes] $A(z_1,x_1,y_1,x_2,z_2,y_2,x_3,y_3) \leftarrow B(x_1,x_2,x_3),C(y_1,y_2,y_3),D(z_1,z_2)$ |
| 137 | +\end{itemize} |
| 138 | + |
| 139 | +\begin{theorem}[Genaral MCFG] |
| 140 | + \begin{align*} |
| 141 | + &\forall L \in \text{m-MCFG } \exists n \geq 1 \ \underline{\boldsymbol{\exists} z} \in L (|z| \geq n) \\ |
| 142 | + &\exists \text{ разбиение } z=u_1 v_1 w_1 s_1 u_2 \ldots u_m v_m w_m s_m u_{m+1}, \Sigma|v_js_j| \geq 1 \\ |
| 143 | + &\forall i \geq 0: z_i = u_1 v_1^i w_1 s_1^i u_2 \ldots u_m v_m^i w_m s_m^i u_{m+1} \in L |
| 144 | + \end{align*} |
| 145 | +\end{theorem} |
| 146 | + |
| 147 | +\begin{theorem}[Well-nested MCFG] |
| 148 | + \begin{align*} |
| 149 | + &\forall L \in \text{m-wnMCFG } \exists n \geq 1 \ \underline{\boldsymbol{\forall} z} \in L (|z| \geq n) \\ |
| 150 | + &\exists \text{ разбиение } z=u_1 v_1 w_1 s_1 u_2 \ldots u_m v_m w_m s_m u_{m+1}, \Sigma|v_js_j| \geq 1 \\ |
| 151 | + &\forall i \geq 0: z_i = u_1 v_1^i w_1 s_1^i u_2 \ldots u_m v_m^i w_m s_m^i u_{m+1} \in L |
| 152 | + \end{align*} |
| 153 | +\end{theorem} |
| 154 | + |
| 155 | +\section{Иерархии внутри MCFL} |
| 156 | + |
| 157 | +\begin{theorem} |
| 158 | +$(m*(k-1))$-$MCFL(r-k) \subseteq m$-$MCFL(r) $ если $1 \leq k \leq r - 2$ |
| 159 | +\end{theorem} |
| 160 | + |
| 161 | +\begin{theorem}[Seki et al] |
| 162 | +$L_{m+1} = \{a_1^nb_1^n\cdots a_{m+1}^n b_{m+1}^n \mid n\in \mathbb{N}\}$ является $(m+1)$-$MCFL(1)$, но не является $m$-$MCFL(r)$ ни для какого $r$ |
| 163 | +\end{theorem} |
| 164 | + |
| 165 | +\begin{figure} |
| 166 | + \includegraphics[width=\textwidth]{figures/mcfg/mcfg.pdf} |
| 167 | + \caption{Иерархия по $m$} |
| 168 | + \label{fig:mcfg_hierarchy_1} |
| 169 | +\end{figure} |
| 170 | + |
| 171 | +Иерархия для $m=1$ |
| 172 | + \begin{theorem} |
| 173 | + 1-MCFL = CFL |
| 174 | + \end{theorem} |
| 175 | + |
| 176 | + \begin{theorem} |
| 177 | + 1-MCFL(1) $\varsubsetneq$ 1-MCFL(2) |
| 178 | + \end{theorem} |
| 179 | + |
| 180 | + \begin{theorem} |
| 181 | + 1-MCFL($r$) = 1-MCFL($r+1$), $r\geq2$ |
| 182 | + \end{theorem} |
| 183 | + |
| 184 | +Иерархия для $m=2$ |
| 185 | + \begin{theorem}[Ramow, Satta] |
| 186 | + 2-MCFL(2) = 2-MCFL(3) |
| 187 | + \end{theorem} |
| 188 | + |
| 189 | + \begin{theorem} |
| 190 | + Если $m>2$ или $r>2$, то m-MCFL(r) $\varsubsetneq$ m-MCFL(r+1) |
| 191 | + \end{theorem} |
| 192 | + |
| 193 | +\begin{figure} |
| 194 | + \includegraphics[width=\textwidth]{figures/mcfg/mcfg_2.pdf} |
| 195 | + \caption{Иерархия по $r$} |
| 196 | + \label{fig:mcfg_hierarachy_2} |
| 197 | +\end{figure} |
0 commit comments