ПРИЛОЖЕНИЕ Сентябрь 2009
Секция 5
МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
УДК 519.682
АНАЛИТИЧЕСКИЙ ПОДХОД В ТЕОРИИ КОНТЕКСТНОСВОБОДНЫХ ЯЗЫКОВ В НОРМАЛЬНОЙ ФОРМЕ ГРЕЙБАХ
О. И. Егорушкин, К. В. Сафонов
Словарем языка является конечное множество X = {х1,... , хп} слов языка, называемое терминальным множеством, а Z = ... , zm} — множество вспомогательных
символов Zj, необходимых для задания грамматических правил, называемое нетерминальным множеством; Ш* = (X и Z)* — соответствующая свободная полугруппа относительно операции конкатенации.
Кс-грамматике соответствует система полиномиальных уравнений
Zj = Pj (х^)^ =1,...,т, (1)
называемая системой уравнений Хомского — Щютценберже, а кс-языком называется первая компонента Zl ее решения ^(х),... ^т(х)), получаемого методом последовательных приближений. В результате итераций компоненты zj• выражаются формальными степенными рядами.
В настоящей работе предлагается изучать вместо системы уравнений Хомского — Щютценберже эквивалентную ей систему в нормальной форме Грейбах, в которой все многочлены имеют вторую степень по переменной z; переход к нормальной форме Грейбах всегда возможен за счет увеличения, быть может, числа переменных. Для уравнений второй степени аналитические методы исследования представляются более перспективными: их эффективность в большей мере зависит от степени уравнений, чем от числа переменных.
Более точно, нормальная форма Грейбах системы (1) подразумевает, что все входящие в нее многочлены имеют вид pj (х, z) = fj ^) + gj (х, z) + hj (х), где fj ^) — квадратичная форма от переменных z1,... , zm, многочлен gj (х, z) линеен по z1,... , zm, а многочлен hj(х) от них не зависит. А значит, можно считать, что система (1) имеет вид
^ = fj (*0 + 9j (х,^ + ^ (х),:7 = 1,...,т. (1*)
Поставим в соответствие формальному степенному ряду (многочлену) ряд (многочлен) с комплексными переменными, задав отображение терминальных х^ и нетерминальных zi символов из множества X и Z в множество комплексных переменных. Получаем фиксированный гомоморфизм, который ставит в соответствие формальному ряду его коммутативный образ (2) — сходящийся в окрестности нуля степенной ряд от комплексных переменных
а(г) = ^ акгк, к
где
$х1^^=к1,...,$хп^^=кп
символ Цс(^) означает число вхождений символа с в моном Рассмотрим коммутативный образ кс-языка ^
«(¿і) = акхк = а^,...,^х*1 ... хП",
"
(3)
который является алгебраической функцией, а также коммутативный образ
ст(£) = ^ Ьк0,к х*0 жк
(4)
ко ^0,к^0
некоторого линейного языка над терминальными символами Жо,Хі,...,хп, который является рациональной функцией.
Будем называть ряд (3) диагональю ряда (4), если при всех кі,... , кп выполнено условие
Теорема 1. Если однородные многочлены второй степени /2(г),... , /п(^), входящие в систему (1*), не зависят от переменной ¿і и система уравнений
имеет единственный нуль г = 0, то коммутативный образ кс-языка, порожденного системой (1*), является диагональю некоторого линейного языка.
Порождающая кс-язык система уравнений (1*) в нормальной форме Грейбах позволяет установить, является данный формальный степенной ряд контекстно-свободным языком или нет. Сгруппируем коммутативный образ формального языка в ряд по однородным многочленам
где (a)j(ж) — однородный многочлен степени і. Достаточно установить, что ряд (5) удовлетворяет уравнению степени 2, поскольку такую степень имеет система (1*). Возводя ряд (5) в квадрат, получим ряд (сг(г1))2 = (а)2(ж). Тот факт, что оба ряда,
будучи умноженными на многочлены, дают в сумме тождественный нуль, означает, что достаточно длинные отрезки этих рядов линейно зависимы.
Теорема 2. Для того чтобы ряд по однородным многочленам (5) удовлетворял полиномиальному уравнению степени 2, необходимо и достаточно, чтобы при всех і ^ іо, / ^ /о выполнялось равенство
/j = 0,і = 2,...,п,
(5)
(а^(х) ... (аЬ+і(х) (а)2(х) ... (а)2+ (х)
(аЬ+і(х) ... (a)j+l+l(x) (а)2+і(х) ... (а)2+і+і(х) = 0
(а)j+q(х) ... (a)j+l+q(х) (а)2+д(х) ... (а)2+1+д(х)
где q = 2/ + 1.