|
70 | 70 | Q(cx_1, dx_2) & \leftarrow Q(x_1,x_2) \\ |
71 | 71 | Q(\varepsilon,\varepsilon) &\leftarrow |
72 | 72 | \end{align*} |
| 73 | + |
| 74 | +\section{Расширения MCFG} |
| 75 | + |
| 76 | +Как было сказано раннее, в MCFG каждая переменная в левой части правила встречается ровно один раз в его правой части, и наоборот. |
| 77 | +Если мы откажемся от этого ограничения, мы получим более общие грамматики. |
| 78 | + |
| 79 | +\begin{enumerate} |
| 80 | + \item \textbf{PMCFG} (Parallel Multiple Context-Free Grammar).\\ |
| 81 | + \\ |
| 82 | + PMCFG задает некоторое ограничение над MCFG. |
| 83 | + В правилах PMCFG компоненты должны комбинироваться параллельно, без перемешивания между разными нетерминалами: $i$-й компонент результата формируется только из $i$-х компонентов правой части. |
| 84 | + |
| 85 | + $$ |
| 86 | + A(xy, xz) \leftarrow B(x), C(y, z) |
| 87 | + $$ |
| 88 | + |
| 89 | + \item \textbf{sLMG (Simple LMG, Simple Literal Movement Grammar)}.\\ |
| 90 | + \\ |
| 91 | + sLMG является ограниченным подклассом LMG (Literal Movement Grammar). |
| 92 | + Общее определение LMG допускает любую комбинацию переменных и терминалов в компонентах левой и правой части правила. |
| 93 | + LMG являются грамматическими формализмами, основанными на предикатах над строковыми кортежами и расширяют класс контекстно-свободных грамматик. |
| 94 | + |
| 95 | + Предикатом будем называть синтаксическую единицу вида $A(\alpha_1, \alpha_2, ..., \alpha_n)$, где A — нетерминальный символ (имя предиката), |
| 96 | + $\alpha_1, \alpha_2, ..., \alpha_n$ --- аргументы (последовательности терминалов и переменных). |
| 97 | + |
| 98 | + Правила (так же называемые клаузы, clauses) в такой грамматике имеют вид $\varphi \leftarrow \psi_1, \psi_2, ..., \psi_m$, где $\phi$ --- предикат в левой части (голова), |
| 99 | + $\psi_1, \psi_2, ..., \psi_m$ --- последовательность предикатов в правой части (тело). Клауза может инстанцироваться (т.е конкретные значения будут подставлены в аргументы) путем замены каждой переменной в клаузе на строку.\\ |
| 100 | + \\ |
| 101 | + \textbf{Simple LMG} — это подкласс LMG, где каждая клауза (правило) должна удовлетворять трём синтаксическим ограничениям: |
| 102 | + \begin{itemize} |
| 103 | + \item Non-combinatorial (некомбинаторность). Аргументы каждого $\psi_i$ должны быть переменными. |
| 104 | + \item Bottom-up nonerasing (восходящая неудаляемость). Все переменные из каждого $\psi_i$ также должны встречаться в $\varphi$. Это означает, что правая часть не может вводить новые переменные --- все переменные должны "приходить" из левой части. |
| 105 | + \item Bottom-up linear (восходящая линейность). Ни одна переменная не встречается в $\varphi$ более одного раза. |
| 106 | + \end{itemize} |
| 107 | +\end{enumerate} |
0 commit comments