Книга
Книга
Введение
В этой статье рассматривается задача определения состояния последовательностной машины, впервые поставленная в [1]. Предполагается, что информация о состоянии машины может быть получена только путем подачи входных сигналов и наблюдения выходных сигналов. Подача входных символов, вообще говоря, заставляет машину изменить состояние; это заключительное состояние может быть определено, даже если тачальное состояние останется неизвестным. Вывести конечное состояние машины после введения последовательности входных символов (входов) и наблюдения результатов на выходе (выходов) — значит узнать состояние машины. Процедуру для такого узнавания мы называем экспериментом заключительного состояния, или просто экспериментом^.
В [1] было показано, что для произвольной машины с п различными состояниями можно построить эксперимент, который в самом худшем случае содержит нс более чем Цп—1)/2 сигналов на входе.
Хотя статья [1] ограничивалась случаем входно-независимых машин) (их определение дано в первом разделе настоящей статьи), се результат и метод, которым он получается, с небольшими изменениями приложимы ко всему классу полных машин). В сфор-
мулированной ниже теореме 1 доказано, что п^п—1)/2 является лучшей из возможных оценок. Теорема 2 утверждает, что эта оценка может быть несколько понижена для автоматов Мура).
Проблема однородного эксперимента была поставлена в [2]. В однородном эксперименте экспериментатор должен выбрать последовательность входов перед началом эксперимента и не может изменять ее в ходе эксперимента. Теорема 1 показывает, что лучшая оценка по классу всех автоматов Мили для однородного эксперимента та же, что и для любых простых экспериментов. Теорема 2 устанавливает такой же результат для автоматов Мура. ,
В разд. I даны определения понятий и введены обозначения. В основном мы следовали обозначениям из [3]. В разд. II и III излагаются доказательства теорем 1 и 2 соответственно. Автор благодарен С. Гинзбургу за ознакомление его с тематикой последовательностных машин и за многочисленные ценные критические замечания к данной работе.
Предварительное обсуждение
Под термином машина мы понимаем автомат Мили. Каждая машина имеет конечное число состояний, конечное число входов и выходов), а та^же две функции о и X. Функция переходов 8 определяет для каждого состояния q и каждого входа / следующее состояние В (q, I). Функция выходов X определяет для каждого состояния q и каждого входа 1 выход \(qy I).
Машина с п состояниями и т входами может быть представлена (л хт)-матрицей пар ^ptp Еи^ где ри суть состояния, а Еи— выходы. Если ^Р1 1^ i^m^ — множество входов, а (^ | 1 ^ I ^п }— множество состояний, то (i, /)-й элемент матрицы определяется так: pt/ = Црь Р); Ец = X^q^ Р\ Матрица называется таблицей переходов и выходов машины [4].
Лента — это конечная последовательность входов. Длина ленты есть длина последовательности. Индекс, стоящий у символа ленты, обозначает длину ленты. Так, если J = /1/2.../w— лента длины w, то при 1 Jk обозначает ленту lYI^..Ik длины к.
С каждым состоянием и каждой лентой связаны посредством функций В и X заключительное состояние и последовательность вы-
ходов. Удобно расширить определение о и X так, чтобы они могли принимать в качестве значений эти объекты. Так, если J = = —лента длины w, то 4q,J) и X(q,J) обозначают соответственно конечное состояние и последовательность выходов,, определяемых следующим образом:
ЧдЛ^ = 80>Л); ЧдЛ^ = ЧЧдЛь-^Л^ для 1<&<&у,^^i) = Ч<ьЧУ, Ч?.Л) = Hq. Jfe-iW(q- A-i). ^1 для 1<£<ау.
Если J = 1г.. -1^ и ^ = Hv • -Н^— ленты длины соответственно w и у, то JK обозначает ленту Iv • • 1 WHV • • Hv длины ьу+у. Читателю, незнакомому с алгеброй последовательностных машинг надо учесть следующее. Если р и q— два произвольных состояния машины, a J и К — две любые ленты, то
X(pJK) - Чр^ЖЧр^ЛУ,
ЧР^К^ = ЖР^КА;
если X(^, J/()=X(^,//(), то Чр> J) = X(^, </), a X^pJ^KA = 4HqJ\ KV
Говорят, что машина отличима, если для любых двух различных состояний р и q машины существует по меньшей мере одна такая лента «7, что Х(р, J)=/=X(q, J). Заметим, что если машина неотличима, то невозможно привести ее в известное состояние. Мы будем заниматься здесь только отличимыми машинами.
Центральное место в теории машин занимают разбиения Рк множества состояний. Пусть S — машина с п состояниями. Для каждого состояния р машины S и каждого целого ^>1 определим множество Ск(р) посредством формулы
G^p) = \q\q — состояние S, Х(р, J) = Х(^, J) для каждойленты J длины ^}.
Заметим, что если q входит в CkVpY т0 Ck(q) = Ck(p). Таким образом, множества Ск(р) для всех состояний р и данного к образуют разбиение множества состояний машины S. Для каждого £>1 определим семейство Рк.
Рк = \Ск(р)\р— состояние машины S).
Автомат Мура — это такая машина, для которой при любом: состоянии р и любых двух входах I1 и /2 Х(р, Z1) = \(р, /2). Другими словами, выход зависит только от состояния и не зависит от текущего входа. Заметим, однако, что следующее сос-
тояние зависит от входа, так что последовательность л(р, J) выходов зависит от ленты Д когда длина J превышает 1.
Свойства разбиения Рк были изучены в [1] для автоматов Мура, и, как показано в [5], эти свойства остаются в силе для всего класса автоматов Мили. Основным из этих свойств для наших целей является следующее.
Лемма 1. Пусть S— отличимая машина с п состояниями. Для каждого к, 1<Ск<п, разбиение Рк содержит по крайней мере к + 1 класс.
Эта лемма является прямым следствием леммы 1.4 из [2]. Дадим теперь формальное определение понятия эксперимент.
Определение. Пусть S — машина, а Л — подмножество состояний машины S. Для каждого р из А выбрана лента J^pY Множество Д(рДр^А^ называется экспериментом для А, если для любых двух состояний р и q из А выполнены три условия:
если Х(р, ДрУ) = X(q, Дру, то 8 (р, 7(р)) = Цд, ДрУ;
(ii)A(p) = А(<?);
если I целое число, меньшее, чем длина J^pY и такое, что ДДУ = J^ и HP. J^p)) = X(g, J ДУУ то /z+i(p) = Д+хУУ-
Если J(p) = J(q) для любых двух состояний р и q, принадлежащих А, то эксперимент называется однородным. Длиной эксперимента называется наибольшая из длин лент эксперимента.
Мы взяли множество А в этом определении вместо всего множества состояний машины S, чтобы можно было рассматривать ситуации, при которых экспериментатор с самого начала располагает частичными сведениями об исходном состоянии машины. Свойство (i) означает, что экспериментатор может по окончании эксперимента установить конечное состояние, основываясь исключительно на наблюдении ответа машины на поданные входы.
Свойства (ii) и (iii) означают, что экспериментатор может воздействовать га информацию только в зависимости от наблюдаемого поведения машины. Возможно, исключение из этого представляет информация, которая позволяет ему вначале ограничить свое внимание множеством А.
Термины минимальный эксперимент и минимальный однородный эксперимент имеют очевидный смысл. Пусть S— машина, а А — подмножество множества состояний машины S.
Эксперимент Е для А называется минимальным для Л, если длина Е не превосходит длину любого другого эксперимента для А. Однородный эксперимент U для А называется минимальным для Л, если длина U не превосходит длину любого другого однородного эксперимента для А.
В качестве примера рассмотрим машину, имеющую следующую таблицу переходов и выходов. (Слева в каждой строке за
писывается состояние, соответствующее этой строке, а наверху в
каждом столбце записывается вход,
соответствующий этому
столбцу.)
У1
I»
/3
91
9з. 0
q»» о
91. 0
.92
94, 0
91, 1
92. 0
9з
91, 1
9з, 0
94. 0
94
9з. 1
94, 0
9з. 1
На примере этой машины видна необходимость свойств (ii) и (iii) в определении эксперимента. Пусть А = {^, q^ q^ q^. Пусть также <7 (q^= J (^2) = ^2; J (^з) = J = Множество ^(q^ 11</<4} удовлетворяет (i), но нс является экспериментом для А, поскольку оно нс удовлетворяет (ii). Теперь пусть J (^) = J (q^ = У2У2; J ^q^ = J ^q^ — У2У3У3. Это множество удовлетворяет обоим условиям (i) и (ii), но не удовлетворяет условию (iii), так как 1 (^i) — А (?з) = 72 и. X (^ У2) — X (^3, У2) = 0, но J^ (q^ =^ J2 (^з).
Рассматривая все ту же машину, положим J (q^ = J ^q^ — HP и J^q^ = J VA^l = ^ А2- Это множество является минимальным экспериментом для А. Заметим также, что {У1У2У3}— минимальный однородный эксперимент для А. Итак, минимальный эксперимент имеет длину 2, в то время как длина минимального однородного эксперимента равна 3.
Как можно было ожидать, машины, для которых длина минимального эксперимента равна длине минимального однородного эксперимента, встречаются относительно редко. Однако это именно те машины, которые требуют самых длинных экспериментов: это интуитивно представляется главным результатом настоящей статьи.
11. Эксперименты для общего класса машин1)
Первая задача теперь состоит в том, чтобы для каждой пары целых чисел (л, £), где 1<£</г, найти наименьшее число w^n, А), такое, что справедливо следующее утверждение: «Если S — отличимая машина с п состояниями и А — множество из /г состояний машины S, то длина минимального эксперимента для А не больше чем w^n, k)». Вторая задача получается, если в
*) Здесь имеется в виду класс автоматов Мили.— Прим, перев.
предыдущей заменить слово «эксперимент» словами «однородный эксперимент».-
Ответ для обеих задач даст теорема 1. Сначала верхняя граница будет установлена для однородного эксперимента. Это достигается в лемме 4. Две части в доказательстве леммы 4 удобнее всего выделить в отдельные леммы, что и будет сделано.
Лемма 2. Пусть S — отличимая машина с п состояниями, (Л,.) 1 < I < г) —семейство из г >1 непустых множеств состояний машины S. Пусть уЛ содержит к состояний и к^г. Тогда существует лента J длины не более п — к + г со следующим свойством*, по меньшей мере одно из множеств At содержит два состояния р и q, таких, что \(р, J)=^\(q, J).
Доказательство. Согласно лемме 1, разбиение Pn~k}r содержит по меньшей мерс п— & + г+1 классов. Предположим,, что для каждого 1, 1 < i < г, существует класс С (Г) из. разбиения Рп_кл.г такой, что А^СУ). Тогда в Рп_к^г существует нс более чем г таких классов С (г) и не более п — к остальных классов. Таким образом, в Pn-kVT существует не более п — к-Vr классов, что противоречит лемме 1. Следовательно, существует некоторое множество Аь такое, что ни для какого класса В из Рп_к^г не имеет место соотношение At с В. Следовательно, для некоторых двух состояний р и q из At существует лента J длины не более п— А+г, такая, что \^Р^ 4 л (?, *0*
Ясно, что однородный эксперимент может быть построен с помощью последовательности 'лент, существование которых установлено в лемме 2. Однако в том случае, когда некоторые из А1 пересекаются, нс стоит применять лемму 2 непосредственно к Al. Лучше всего применить эту лемму к семейству Н„ определенному ниже.
Для каждого семейства F множеств мы определим семейство* Н (F\ Сначала определим отношение * между множествами из F следующим образом. Для множеств А и В в F А * В имеет место тогда и только тогда, когда для некоторого i существует последовательность А = АТ, А2, . . . , Ai = В множеств из F со следующим свойством: для каждого j, 1</<г, Aj^Aj^^ 0. Теперь для каждого множества А в F определим множество С (Л) так: С (Л) = U в- Наконец, положим И (F) =
А*В
-}С(Х)|ле^}.
Заметим, что Н (F) — разбиение 1|Л. Можно отмстить сле- A^F
дующий факт, хотя он нс имеет прямого отношения к дальнейшему. Предположим, что F — семейство множеств At леммы 2.
Если Н (F) содержит 1 множеств, то число п— к А-г в лемме 2 может быть заменено на п — к + Л
Нам потребуется следующая лемма об Н. (Замечание: для каждого множества А п(А) обозначает число элементов Д.)
Лемма 3. Пусть R— конечное множество, такое, что для .каждого элемента е из R существует конечное непустое множество В(е). Тогда
2 п [В (е)] — п [ и в (е)] > п (R) — п \Н ({В (е) | е ^/?))]• ecRе^
Доказательство. Пусть С— произвольное множество в H(\B(e)\e^R^. Пусть S = {с | е £ R, В (с) ^ С}. Поскольку множества в Н попарно нс пересекаются, достаточно показать, что
£ п[В(е)] — n(C)>n(S) — 1.
e^S
еп^ Длины п V^Y такая,еп^ Длины п V^Y такая,что S = {^. | 1 <С i < п (S)) и чточто S = {^. | 1 <С i < п (S)) и чтоUL/=iUL/=iВ^В^П В (е-^ 0= 0П В (е-^ 0= 0Существует последовательность еъ
еп^ Длины п V^Y такая,
еп^ Длины п V^Y такая,
что S = {^. | 1 <С i < п (S)) и что
что S = {^. | 1 <С i < п (S)) и что
UL/=i
UL/=i
В^
В^
П В (е-^ 0= 0
П В (е-^ 0= 0
верно для каждого 1, 1 < i <п (S). Докажем теперь по индукции, что для всякого i, 1 < К п(8), выполняется неравенство
S л [В (еД] — п/=1S л [В (еД] — п/=1Дб^.)Дб^.)1 — 1.1 — 1.
S л [В (еД] — п
/=1
S л [В (еД] — п
/=1
Дб^.)
Дб^.)
1 — 1.
1 — 1.
Это, очевидно, верно для £ = 1. Предположим, что это верно для i = h <n^S\ Докажем, что отсюда следует, что
МЛр+1
К.К.5 n[B (еу)] — п U В(е^
К.
К.
Заметим, что для любых пересекающихся множеств А и В имеет место п (Л) + п (В) — п (A (J В) > 1.
Поэтому
ппhи/=:hи/=:В(е^В(е^п[В(ем)]—пп[В(ем)]—п> 1.> 1.
п
п
hи/=:
hи/=:
В(е^
В(е^
п[В(ем)]—п
п[В(ем)]—п
> 1.
> 1.
По индуктивному предположению
ппU В (еу) 1 < 2 п [В (с,)] — h + 1.
п
п
L/=l J ; ,"
Подстановка последнего выражения в первое дает желаемый результат для г = Н А-X. Следовательно, по индукции
2 n[B(e)] —n(C)>n(S)—1, e^S
что и требовалось доказать.
Мы можем теперь установить множество верхних границ для минимальных однородных экспериментов.
Лемма 4. Пусть S — отличимая машина с п состояниями, (z4J 1</<г)—семейство из г>\ непустых попарно непере- секающихся множеств состояний машины S, и пусть U AL содержит ровно к состояний, причем к>г. Тогда существует лента п—\
J длины не более чем S I со следующим свойством: для любых n-k-Vr
состояний р и q, принадлежащих одному множеству Аь из X (р, J) = X (q, J) следует 8 (р, J) = S (q, J).
Доказательство. Доказательство проводится индукцией по числу к — г. Предположим, что к — г — 1. Поскольку множества AL непусты и не пересекаются, все множества At, кроме одного, содержат ровно по одному элементу, а одно из At содержит два элемента. Пусть р и q— два состояния, принадлежащих одному и тому же At. По лемме 2 существует лента J длины, нс большей, чем п — к + г = п — 1, такая, что X (р, J\A п— 1
^\^q, JY Так как ^ i — n—1 при к — г=1, то J облада- п—кА-г
ст требуемыми свойствами.
Пусть р > 1 является целым числом, таким, что утверждение леммы выполняется при условии к — г <9. Продолжая индуктивное рассуждение, положим к — г = 9. По лемме 2 существует лента J длины, не большей, чем п— к-у г, такая, что по меньшей мере одно из множеств At содержит два состояния р и q, для которых X (р, J) ^Х (q, J). Пусть R является множеством пар-
R = {(Z, Ц | 1 < i < г, X (р, J) = L для некоторого р из АД.
Для каждой пары (Z, Л) из R положим
ЕЦУ Ц-^Цр, J)\p^AiA(p, J) = L}.
R содержит по крайней мере г + 1 элемент, так как для каждого г, 1 < I < г, существует по меньшей мере одна последовательность выходов L, такая, что (f, D)^R. Вследствие выбора/ по крайней мере для одного I существуют две последовательности выходов L и U, такие, что пары (г, Л) и (i, U) обе принадлежат R.
Предположим, что для каждой пары (f, L) из R, В (i, L) содержит не больше одного элемента. Пусть р и q— такие два состояния в Аь что Х^р, J) = Y^q, J) = L. Тогда оба состояния о (р, 7) и о(^, 7) входят в В(1,Ц. Так как В (i, L) содержит только один элемент, то о (р, 7) = В (q, J\ Кроме того, так как «—I
к > г, то п — к + г с S I, Поэтому в этом случае J удовлет- п—к А-г
воряет условиям леммы.
Предположим, что хотя бы одно В^цЦ содержит больше чем один элемент. Тогда можно указать такую ленту /С, что лента JK удовлетворяет лемме. Чтобы доказать это, возьмем раз- {Г
8 (р, J) | р £ U Д посредством функций i—1j
Н, определенной перед леммой 3. Пусть F = В^цЦ^цЬ) (^ R \, t — число множеств в Н (F), a m— число элементов в множестве
и с - и в (цЦ.
С^Н (F) (;,L)^
Теперь покажем, что утверждение индукции применимо к семейству Н (F), т. е. что Н (F) удовлетворяет следующим трем условиям:
множества из Н (F) попарно нс пересекаются,
m> t,
m — t < к — r.
Условие (i) выполняется по определению H. Условие (ii) справедливо, потому что по крайней мерс одно из множеств, входящих в F, содержит более одного элемента, следовательно, по мс. ьшей мере одно из множеств, входящих в H(F), содержит более одного элемента. Поскольку множества в H(F) попарно не пересекаются, то m > /. Условие (iii) доказывается так. Очевидно, что R и F удовлетворяют условиям леммы 3. Пусть R содержит точно г элементов. N(i,L) обозначает для каждой пары (1,Ц из R число элементов в B(i,L). По лемме 3 S N (1,Ц — пг>
Ц, L^R
Ввиду равенства и В (i,L) = J 5(р, J) | р^ (j АД мы имеем^ (/, L) ^R(Z=1 j
очевидно, S N (i,L)^k.-
(й L^R
Как замечено выше, R содержит по крайней мере г4-1 элемент, т. с. г' >г. Эти соотношения дают к — m>r — t. Таким образом, m — Кк — г.
Итак, предположение индукции применимо к Н (F). Другими
п—1словами, существует лента К длины нс более чем S i соп—m + t
следующим свойством: если р и q— два состояния из С, где С множество из Н (F), и если X (р, /() = X (q, К), то 8 (р, К) = = 8 (q. Ку
Теперь рассмотрим ленту JK. Пусть р и q— два состояния, принадлежащие некоторому множеству А; и такие, что X (p,JK) = Mq,JKy Тогда X(p,J) = Hq,J). Отсюда следует, что Ир, J) и 8 (q, J) принадлежат В (i, Х(р,Т)). Но в H(F) существует такое С, что ВЦ, X (р, J)) с С. Следовательно, Цр, J) и 8(9, J) принадлежат С. Однако
X[8(p, J), /С] = X [8 (q, jy КУ
откуда следует, что 8[8 (р, jy К] = ^ [8 (q, Jy КУ следовательно, Цр, JK) = 4q, JKy
Остается доказать только, что лента JK имеет требуемую длину. Мы уже установили, что m — t<k— г. Длина J не превосходит п — k + г. Следовательно, длина JK не больше чем п—1
п — к 4- г + 1j L Из неравенства m — t < к — г следует, что n—rn-\--t1
п — к 4- г < п — m 4-1. Поэтому длина JK не больше чем J^ I.
п-к-Vr
Итак, предположение о том, что сделанное заключение верно при к — г < р, влечет его верность для к — г = р. Согласно принципу математической индукции, лемма доказана.
Верхняя граница для однородного эксперимента указывает .путь к основной цели этого раздела.
Теорема 1. Пусть п и к — целые числа, такие, что Г< < к ^ п. Для каждой отличимой машины Sen состояниями и для каждого множества А, состоящего из к состояний машины S, пусть e^S, А) обозначает длину минимального эксперимента для A, a и(8, Л) обозначает длину минимального однородного эксперимента для А.
Тогда*)
niax { е (S, Л) | по всем S, Л } =
= шах | и (8, А) | по всем 8, А } = ^п — к^к—1)/2.
Доказательство. Достаточно доказать сначала, что max {zz (8, Л) | по всем S, Л} <Д2п — к) (к— 1)/2, а затем, что
^п —max {^ (S, Л) | по всем S, А }.
2) В дальнейшем мы для краткости будем также пользоваться записью max {е(5,Л) } и max Ui(S,A) }. —Прим, перев.
S.AS.A
Чтобы доказать первое неравенство, применим лемму 4 при г= = 1. Итак, для машины Sen состояниями и множества А из к состояний машины S существует лента J длины, нс большей, п— 1
чем S i = (2п— #)(&— l)z2, такая, что для любых двух /г+1
состояний р и q из А, если X^q, J) = Х(р, J), то 8 (р, J) = = 8 (q, J). {/} является поэтому однородным экспериментом для А длины, нс большей, чем (2п— к)(к—1)/2. Итак, доказано, что max ^и (S, Л) | по всем S, А } < (2п— к)(к—1)/2. Для доказательства неравенства
(2п— k^k—l)/2<^max {^(S, Л) | по всем S, Л}
рассмотрим некоторую машину S, которую определим так г).
Множеством состояний S является ^q{ |1<О*<Ся}, множеством входов — { Г11 ^ i ^ п — 1 } и множеством выходов — {0,1 }. 8 и X определены для S так:
8 (qp /л-1) = q( для всех I;
8 (^z, 1^ ^ 4i Для всех V» П» таких, что /^/ или j <1 — 2;
8 (^, /м) = 9/+1 при 2<з<^— 1;
8 ^q^ I1”^ qH1 при 3 < i <Ln;
X (qn1 /л-1) — 1; X \q., Д) = 0 для всех (г, /) =^= (гг, п — 1).
Например, если п = 5, то S имеет следующую таблицу переходов и выходов:
Z1
/
/
/4
9191, 0
91, 0
91, 0
91, 0
9г 9з> 0
92, 0
92, 0
9з, 0
9з 9з, 0
94, 0
9з, 0
9з> 0
9494, 0
9з, 0
93, 0
94, 0
9з 9s, 0
9s, 0
94, 0
95, 1
Пусть Л = { qf\ 1 <Л ^^Ь Покажем теперь, что для всякой ленты J длины, меньшей, чем (2п— к)(к—1)/2, существует состояние р в Л, p^qv такое, что X (р, J) = Х (qv J) и 8 (р, J) Ф
(9i> Л- Заметим сначала, что
для любых двух различных состояний qL и q5 машины S и любой ленты J имеет место 8 (^z, 7)^8 (^., jy
Это немедленно следует из того факта, что каждый вход переставляет состояния в S.
Далее, определив Jo как пустую ленту и положив о (р, 70) = = р для каждого р, заметим следующее.
Пусть 7 — произвольная лента J = 1г /2... Zw длины w. Пусть q^q^ является таким состоянием машины S, что Hq^J^ Ф к ^Av Л- Тогда для каждого целого /, i<^ j ^ п, существует целое m (i, j), 1 < m Ц, j) < w, такое, что о (q^ J^u^y^qj и Im(U) = P"1.
Другими словами, машина не может дать на выходе 1, нс приходя в состояние q^ а для того чтобы привести машину из состояния qL в состояние qn) требуется провести се через весь ряд состояний q№ ..., ^/z-1; кроме того, для перехода от q^ к q^ необходим вход Р-1.
Теперь пусть J = 1х Ц... /w — лента длины w, такая, что для каждого состояния p + q^ в Л мы имеем X (р, (qv jy Для каждой пары (г, /) из множества
{ (г, /) | 2^К к, i^-j 'Сп\
определим m (f, /), как в (2).
Все m (i, j) оказываются различными. В самом деле, допустим, что m (i, j) = m (g, h) = t. Тогда It = P-1 и It = Ih-1. Поэтому h = j. Также имеем о (д^ Jt_^ = q} и о (qg, J^ = qh. Отсюда ввиду (1) q( = qg; т. e. i = g. Таким образом, если m (i, j) = = m (g, h), to (f, j)= (g, hy Следовательно, m (i, j) однозначно определяет пару (i, j). Число пар (У j) равно
fen k
V V v „ V („ _ ; g.-^-l)
Z = 2 /=:/ / = 2
Отсюда следует, что множество { m (i, /)] 2<Д<;£; f^/^C^) содержит (2м — кук — 1) 2 элементов. Так как m (i, jy^w для каждой пары (t, /), то w^^n — кук—1)/2.
Следовательно, для каждой ленты J длины, меньшей, чем (2м — к) (к — l)z2, существует по крайней мере одно состояние р из Л, рфр^ такое, что X (р, 7) = /(^!, J). Согласно (1), о ^р^ J)=yo (q±, jy Поэтому если { Цр)\ р^А\—эксперимент для Л, то длина 7 (^) не меньше чем (2м — кук—1)/2. Отсюда следует, что
(2м — кук—l)/2<max{ е (S, Л) | по всем S, Л}, что и требовалось доказать.
Отмстим, что можно высказать более сильное утверждение о машине S, чем то, которое приведено в доказательстве теоремы 1. А именно: всякое множество лент, удовлетворяющих условию (i) определения эксперимента для Л (разд. 1), должно содержать ленту длины, нс меньшей, чем (2м—кук—1)/2, независимо
от того, выполняются ли условия (ii) или (iii). Пусть машина Т образована добавлением к S входа /, такого, что о (^, /) = =^2, 4^2, /) = 9ь М^-> Л = 4/, Для каждого f > 2 и X (^, /) = 0 для всех I Д
Читатель при желании может убедиться в следующем. Машина Т служит контрпримером вместо машины S в доказательстве теоремы 1, но только при условии, что учитываются свойства (ii) и (iii) в определении эксперимента.
Автоматы Мура
Обсуждение в этом разделе будет проводиться параллельно предыдущему разделу и будет ограничено случаем автоматов Мура. Лемма 5 и теорема 2 отвечают соответственно лемме 4 и теореме 1.
Лемма 5. Пусть S — отличимый автомат Мура с п состояниями, (Xz 11 < f < г) — семейство из г > 1 непустых попарно непересекающихся множеств состояний машины Su и Л/ содер
жит к состояний, где к > г. Существует лента J длины не п—\
более чем S t — (А — г — 1 ) со следующим свойством. Для n—k-Vr
любых двух различных состояний, принадлежащих одному и тому же At, если X (р, J) = \(q, J), то о (р, У) = о (q, J).
Доказательство. Согласно лемме 2, существует лента 7 длины ш < п — к + г^ такая, что по меньшей мере одно из множеств At содержит два состояния р и q, для которых X (р, J^ ф X (q, jy Для каждого целого z, 1 < i С г, и каждой последовательности выходов L положим
в (ц q = |В(р, Jwq\P£ д, x^ q^q.
Пусть R = |(i, q | В (i, q — непусто).
Доказательство здесь весьма сходно с доказательством леммы 4; снова проводится индукция по числу к — г. При к — г = = 1 действуем так же, как в лемме 4.
Рассмотрим целое число р > 1, такое, что заключение верно при к — г < р. Сначала разберем тот случай, когда каждое из множеств В (i, q содержит нс больше чем один элемент. Пусть Р и q принадлежат некоторому множеству Л^ и X (р, <7) = = X (q, jy Множество В (i, X (p,J)) содержит не больше одного элемента, откуда следует, что В (р, J^q = В ^q, J^q. Следовательно, лента J обладает требуемым свойством.
Машина Т из [6] есть в точности «муровский» вариант определяемой здесь машины Т.
3*
Предположим теперь, что по крайней мере одно из множеств В (i, L) содержит больше одного элемента. Пусть F — семейство множеств, F = |B(i, Ц |(i, Ц ^RV Здесь можно применить рассуждение из леммы 4, чтобы доказать, что индуктивное предположение верно для Н (F). Мы покажем, что это даст ленту К, такую, что Jw-1 К обладает требуемым свойством.
Пусть H(F) содержит в точности / множеств. Пусть U D содержит ровно т элементов. Заметим, что
UD = {5(р, J^) | р £ U Д}.
D^H(F')I
Индуктивное предположение утверждает, что найдется лента К длины нс более у 2 и — (т — / — 1) со следующим свойством: n—m^t
если X (р, Л) = X (^, К\ то 6 (р, Л) = о (^, К), где р и q оба принадлежат некоторому множеству С из Н (F).
Теперь предположим, что р и q— два состояния, принадлежащие одному и тому же множеству А( и X (pj^ Л) = X (^, Jw-1 К). Тогда Х(р, J^Ki) = X (^, Jw-1 К^. Поскольку S — машина Мура, X (р, J) = X (q, J). Поэтому о (р, Jw-1) и о (q, J^) принадлежат В (i/k (р, J)). В H(F) найдется некоторое множество С, такое, что В Ц, X (р, J)) с С. Отсюда ввиду равенства [5 Ы™-1У КА = X [В (р, J^, КА мы имеем В [В (р, J^, К] = = ^ [^ (q. Jw-i\ ^1- Поэтому В (р, J^ К) = В (q, Jw_x К).
Осталось только доказать, что длина ленты J^ К имеет требуемую верхнюю границу. Как и в доказательстве леммы 4, можно показать, что к — г > т — t. Так как w < п — к + г, то для длины и ленты J^ К имеем
п— 1
ы < (п — к + г — 1) + S i— (m —■ t — 1) = n—m-\-t,
n—1
= n — к + r + S (i — 1).
n—m-r-t
Требуемая верхняя граница V равна
n—1/г-1
И = S i — (к — г — 1) = 1 + S (i — 1).
•п—^+/"а—^+г
Так как к — г > т — Г, то
п \
и ^ \(^ — k -\- г — 1)4* 2 (^ — 1)
п-т-Д!
п— 1
<1+ S (i — 1) = V.
п-кД-г
Это значит, что длина и ленты J^ К не больше, чем требуемая верхняя граница V, Итак, индукция закончена и заключение леммы справедливо для к — г > 0, что и требовалось доказать»
Теорема 2. Пусть п и к — целые числа, такие, что 1 < к < п. Для каждой отличимой машины Мура Sen состояниями и для каждого множества Л, содержащего к состояний машины S, пусть е (5,Л) обозначает длину минимального эксперимента для Л, a u(S,A^ обозначает длину минимального однородного эксперимента для Л. Тогда
max (е (S, Л)} = max \и (S, Л)} = ————— (к — 2) 3, AS, А2*
Доказательство). Доказательство аналогично данному в теореме 1. Применяя лемму 5 при r= 1, устанавливаем, что^
max (u (S, Л)) <_ ^ _ 2).
А2
Остается лишь доказать, что
'J2n-^-l)^ _ 2) < max {е (S, Л)} .
■2з, А
Определим машину Т с множеством состояний {^ | 1 < i < п^ множеством входов \ll\ \ < I < п— 2} и множеством выходов {0, 1} ). Функция переходов о совпадает с функцией переходов о из теоремы 1. Другими словами,
о (qh П) = qL для всех пар (/, /), таких, что I < / или / < i — 2;
о (^/, /ь1) = ^+i Для 2 < I < п — 1;
о \qb Т~2) = q^ для 3 <С I < п;
л ^qm /) = 1 для любого входа /;
к ^q., /) = 0 для каждого входа / и каждого i < п. Например, при п = 5 таблица переходов и выходов для Т имеет следующий вид:
I1
/2
/3
<7i
4» 0
<71, 0
<71, 0
<7-2
4з- 0
<72, 0
^2, 0
Чз
<7з, 0
41, 0
4з, 0
44 '
<?4, 0
4з, 0
4s- 0
Ч»
^5, 1
45> 1
41, 1
Очевидно, машина Т является машиной Мура.
Пусть А — ^ | 1 ^ i ^ fe}. Докажем, что для каждой ленты J длины, меньшей, чем (2м — к^к — 1)/2 — (& — 2), найдется состояние р из А, р ^ qv такое, что X ф 7) = л (^, J).
Сначала заметим следующее.
Для любых двух различных состояний qt и q^ машины Т и произвольной ленты J 8 фь J) Ф 8 ф, 7).
Пусть лента J = Ф • -1^ имеет длину w, и пусть I — целое число, 1 < i < м, такое, что X (flh J) фХ (qv J\ Тогда для каждого целого /, f < / ^ л, найдется целое число m ф j) < w, такое, что UUt п = Р~2 и 8 фь JmU, n) = qr
Утверждение (1) совпадает с утверждением (1) в доказательстве теоремы 1, и его истинность устанавливается так же. (2) несколько отличается от (2) в доказательстве теоремы 1. Опять-таки для появления на выходе значения 1 машина должна быть в состоянии q^ чтобы прийти в состояние qn из состояния ^ машина должна пройти через весь ряд состояний qM, . . . , qn_v а для перехода от q^ к q$ необходимо подать на вход Л~2. Однако если машина однажды пришла в состояние qn, то любой вход будет давать на выходе 1.
Возьмем теперь ленту J = 1хф • • Iw длины w, такую, что л ф 7) ф X (^ 7) для 2 < i < к. Согласно (2), для каждой пары (/, /) в множестве
((Л /) I 2 <((Л /) I 2 <i ^ к, ii ^ к, i< /<< /<п}п}
((Л /) I 2 <
((Л /) I 2 <
i ^ к, i
i ^ к, i
< /<
< /<
п}
п}
существует целое число tn (i, /) < w, такое, что
^(i, п =Н’г И Ч4(, J^i.iO = 4j-
Подобно тому как это было сделано в теореме 1, можно доказать, что разным парам (/, /) соответствуют разные пг ф j); m ф j) < w для каждой пары (f, /), поэтому w— 1 не меньше числа элементов в множестве {(г, /)|2 ^ i ^ к; i< j Ф. пф Поэтому
> 1 т S — i) =— (k — 2).
Как и в теореме 1, можно доказать, что коль скоро {7(р)|р£Л} является экспериментом для А, то длина J (^J нс меньше чем (2п — &)(& — 1 )/2 — (А — 2). Следовательно, это число не превосходит max {^ (S, Л)}, что и требовалось доказать.
л
ЛИТЕРАТУРА
MooreE. F., Gedanken experiments on sequential machines, Automata Studies, Ann. of Math. Studies (1956), 129—153. (Русский перевод: Мур Э. Ф., Умозрительные эксперименты с последовательностными машинами, сб. «Автоматы», ИЛ, М., 1956, 179—212.)
GinsburgS., On the length of the smallest uniform experiment which distinguishes the terminal states of a machine, J. ACM, 5, №3 (1958),266— 280. (Русский перевод: Г инзбургС., О длине кратчайшего однородного эксперимента, «Кибернетический сборник», вып. 3, ИЛ, М., 1961, 167—188.)
GinsburgS., On the reduction of superfluous states in a sequential machine, J. ACM, 6 (1959), 260.
H u f f m a n D. A., The synthesis of sequential switching circuits, J. Franklin Inst., 257 (1954), 161 — 190, 275—303.
Mealy G. H., A method for synthesizing sequential circuits, Bell System Technical J., 34 (1955), 1045—1079.
К a p а ц у б а А, А., Решение одной проблемы теории конечных автоматов, УМН, 15 (1960), 157—159.
РАЗРЕШИМОСТЬ МАШИННЫХОТОБРАЖЕНИЙ РЕГУЛЯРНЫХ МНОЖЕСТВ
В РЕГУЛЯРНЫЕ МНОЖЕСТВА1)
С. Гинзбург, Т. Н. Хиббард
Показывается, что для произвольных регулярных множеств U и V рекурсивно разрешима каждая из следующих трех задач. (1) Существует ли полная последовательностная машина, отображающая U в V? (2) Существует ли обобщенная последовательностная машина, отображающая U в V так, что образ U бесконечен, если U бесконечно? (3) Существует ли полная последовательностная машина, отображающая U на V?
Введение
В работе [1] отмечалось, что синтаксические множества, определенные нормальной формой Бэкуса, т. с. так называемые языки типа АЛГОЛ, совпадают с контекстно-свободными языками (сокращенно КСЯ). В работе [2] было показано, что если S— обобщенная последовательностная машина (сокращенно о.п.м.)— часто употребляемая модель вычислительной машины—и если L является КСЯ, то S(L)—множество слов, появляющихся на выходе S при подаче на вход слов из L,—также представляет собой КСЯ. В связи с этим возникли вопросы о том, всегда ли для произвольных КСЯ LT и L2 существует о.п.м., отображающая LT на L2, или же о.п.м., нетривиально отображающая £т в £2. Ясно, что эти вопросы имеют отношение к машинному переводу для искусственных языков. Как было указано в работе [3], такие о.п.м. нс всегда существуют. В работе [3] показано, что для произвольных КСЯ U и V каждая из следующих задач рекурсивно неразрешима (нс существует алгоритма, всегда дающего правильный ответ).
Существует ли полная последовательностная машина, отображающая U в V?
Существует ли о.п.м., отображающая U в V так, что образ U бесконечен, если U бесконечно?
Существует ли полная последовательностная машина, отображающая U на V?
Существует ли о.п.м., отображающая U на V?
(Из этих четырех задач применительно к проблеме машинного перевода, вероятно, наиболее значительна (2).) Применительно к
^Ginsburg S., Hibbard T.N., Solvability of Machine Mappings of Regular Sets to Regular Sets, J. Association for Computing Machinery, 11, № 3 (1964), 302—312.
обработке данных желательно, чтобы поставленные задачи были рекурсивно разрешимы. Отсюда мы приходим к поиску важных подклассов КСЯ, для которых задачи (1)—(4) разрешимы. Если какой-нибудь такой подкласс окажется достаточно широким для других задач обработки данных, то можно ограничить синтаксические множества, возникающие из нормальной формы Бэкуса, множествами этого подкласса. Другими словами, подобного рода исследования могли бы указать требования, которым должны удовлетворять составляющие множества, используемые в языках программирования.
К числу наиболее известных подклассов КСЯ принадлежат регулярные множества, иногда называемые языками с конечным числом состояний. Эти множества играют весьма важную роль в развитии и понимании КСЯ. Действительно, если бы регулярные множества не возникли еще в теории автоматов, то нам, вероятно, пришлось бы их придумать для изучения КСЯ. В этой статье рассматриваются задачи (1)—(4) для семейства всех регулярных множеств. Это делается по трем причинам: (i) регулярные множества имеют большое значение в теории КСЯ; (п)о.п.м. сохраняют регулярные множества (так же, как и КСЯ)1), т. е. если S—о.п.м. и L регулярно, то S(L) регулярно [2]; (iii) гипотеза глубины Ингве [6, 7]— одна из существующих лингвистических теорий для английского и некоторых других естественных языков—утверждает, что с некоторой точки зрения естествен-* ные языки являются регулярными множествами. (Вследствие (iii) рассматриваемые вопросы имеют отношение также к машинному переводу для естественных языков.) Полученные результаты заключаются в том, что для регулярных множеств задачи (1)— 3) рекурсивно разрешимы. Вопрос о разрешимости для регулярных множеств задачи (4) все еще остается открытым.
Предварительные замечания
Напомним вкратце используемые понятия и терминологию.
Автомат—это пятерка (К, S, В, pv F), где (i) К—конечное непустое множество (множество «состояний»), (ii) S — конечное непустое множество (множество «входов»), (iii) 8— отображение КхЕ в К (функция «переходов состояний»), (iv) рг — элемент множества К («начальное» состояние) и (v) F — подмножество множества К (множество «заключительных» состояний).
Для данного непустого множества X словом, или Х-словом,
х) С эстетической и теоретической точек зрения желательно, чтобы всякое семейство языков программирования сохранялось машинами.
2 Заказ № 563
называется конечная последовательность Iv--Ik элементов X. Пустое слово (й = 0) обозначается через А.
Если I = Iv • • Iк и J^Jv-.Jr — слова, то IJ определяется как слово Iv • *Ik Jv • - Jr.
Множество всех Х-слов обозначается через 0(Х). Множество всех Х-слов длины не более к обозначается через 6А(Х).
Для автомата (X, S, о, ръ F) отображение о распространяется на XX0(S) следующим образом. Для каждого состояния р положим о(р, А) = р. Для каждого S-слова 1г- • -/^+1 определяется индуктивно Hp.IvI^) как 8 [8(р, /г • J^, /й+1].
Легко видеть, что для любых слов I и J
Множество слов U называется регулярным или ^-регулярным, если существует автомат А = (X, S, о, pv Рр такой, что
U=UvIb:^kPvIvU^F\.
Обобщенная последовательностная машина (о.п.м.) — это шестерка (X, S, Д, о, X, р-А, в которой (i) X — конечное непустое множество («состояний»), (ii) S— конечное непустое множество («входов»), (iii) Д — конечное непустое множество («выходов»), (iv) о—отображение XxS в X (функция «переходов состояний»), (v) X — отображение XxS в 0 (Д) («выходная» функция) и (vi) рх—элемент множества X («начальное» состояние).
Отображение о распространяется на Xx0(S) так же, как для автомата.
Отображение X распространяется на Xx0(S) следующим образом. X (р, А) полагается равным А. Для каждого S-слова ^‘‘•^и определяется индуктивно Цр> ^г * * ^м) как
X (.р, Iv ' * Iк) X [б (р, 1г- • • IД I£+]].
Легко видеть, чго для любых S-слов I и J k^pJJ^X^p, FpA^pJVA-
Пусть о — функция переходов состояний в автомате или в о.п.м., и пусть рх — начальное состояние. Для каждого S-слова J через о (.7) обозначается о (^,7).
Полная последовательностная машина (п.п.м.)—это о.п.м., у которой X отображает X X в Д.
Пусть S = (X, S, Д, о, X, р^— о.п.м. или п.п.м. Отображение, о котором говорилось при формулировке задач (1)—(4), представляет собой преобразование 0 (S) в 0(Д), определенное для всякого S-слова/ соотношением S («/) = X (pv J). Это отображение называется машинным отображением посредством S.
Если U—некоторое множество Е-слов, aS—о.п.м. или п.п.м., то пусть S (U) = ( S (J) : J £ U ).
Обобщенное (полное) последовательностное отображение — это функция [х (для случая полного отображения сохраняющая длину), отображающая 0(E) в 0 (А) и такая, что (i) [х(А)^А и (ii) для каждого Е-слова JM мы имеем 'х (JM) = ;х (J) Е для некоторого A-слова Е. (Это слово Е записывается как ^(УИ).)
Легко видеть, что функция \^а, отображающая 0(E) в 0(A) и определенная равенством ^j(M) = Е, где 'х(JM) = ^(</) Е, является обобщенным (полным) последовательностным отображением, если ;х — обобщенное (соответственно полное) последовательностное отображение.
Если S — о.п.м. (п.п.м.), то машинное отображение посредством S является обобщенным (соответственно полным) последовательностным отображением.
Для понимания всех деталей подробных доказательств, которые будут приведены ниже, читателю может оказаться полезным рассматривать последовательностное отображение как дерево, узлы которого соответствуют входным словам (в 0 (Е)) и каждой ветви которого приписано некоторое выходное слово в 0(A)). Если это дерево имеет лишь конечное число поддеревьев (т. е. множество отображений ^а конечно), то данное отображение может быть реализовано машиной. Каждая из трех рассматриваемых далее разрешающих процедур зависит от способности сохранить определенные свойства, присущие заданному последовательностному отображению, в некотором машинном отображении (даже несмотря на то что это последовательностное отображение может нс быть реализуемым машиной). Указанное машинное отображение получается путем ряда изменеьий в последовательностном отображении. Каждое изменение состоит в замещении одного поддерева другим. Серия изменений в конце концов даст дерево лишь с конечным числом поддеревьев.
Теоремы разрешимости ■
Пусть U и V— фиксированные множества, соответственно Е-регулярное и A-регулярное. Пусть А = (КЛ, ^ ьА, Pv FA^ и S ^в ^^в1 ^i’ FB^ — автоматы, такие, что U = {X ; ол(Х) £ F А [ и V = jK: oB(Y) £FB^ . Пусть т и п— число состояний в Л и В соответственно.
Докажем сначала разрешимость задачи 1.
Если [х — последовательностное отображение, то каждому Е-слову J, следовательно, каждому узлу соответствующего
дерева, соответствуют два состояния ол (pv J) и ^^qv^^^V Пусть двум узлам соответствует одна и та же пара состояний. Отображение (/, полученное заменой поддерева, начинающегося в одном из этих узлов, поддеревом, начинающимся в другой, обладает тем свойством, что [лД^/)^!/, если [л(£/)с:У. Если сделать достаточнее количество таких замен одних поддеревьев другими, то получится дерево с нс более чем тп поддеревьями (по одному для каждой возможной пары состояний). Это дерево является отображением, которое может быть реализовано машиной (называемой производной машиной), имеющей нс более чем тп состояний, и которое отображает U в V. Ниже излагается формализация этого рассуждения.
Определение. Пусть [л— обобщенное последовательностное отображение 0(S) в 0 (А). Пусть Ks — множество всех тех пар (р, q^P^KAt qEKB» для которых существует S-слово J, такое, что ^A(J) = р и Вврл(/)] =2 q. Для каждой пары (р, q) из Ks пусть L{p,q}— какое-либо S-слово, такое, что ^AVL (р, ^)] = р и Ъв\у^1Др, q)^ = q. Для каждой пары (p,q) из Ks и каждой буквы / из S
(О пусть \[(Р-Р)-7! ^(^(О,
пусть ^s\(p,qYO = VMP’O* М^цр^ОУА-
Будем говорить, что каждая такая * машина S = (Ks , S, A, Bs , Х$, (рр q^ — производная от [л.
По построению каждая производная машина имеет не более тп состояний.
Для всякого обобщенного последовательностного отображения [л существует по крайней мере одна машина, производная от [Л.
Лемма 1. Пусть 'л — обобщенное последовательностное отображение 0 (S) в 0 (А), и пусть S — о.п.м., производная от [л. Тогда для каждого L-слова J выполняется равенство \
*s0) = ^а^ Vs
Доказательство. Предположим, что J = А. Тогда os(<7) = (pv PiY ^aU) = Pi и MS OY = 8в (л) = Pi- Допустим, что лемма верна для всех S-слов длины не больше Р. Пусть J1 представляет собой S-слово длины ^+1, причем / ^ S- Пусть 8s(J) = (p, qY По индуктивному предположению 8 л (7) = р и 8 в (S у^ = Pi тогда
Ospl) = 8s[os(J), /] = §5 [(р, <?), /] =
(5л (р, /), Sb \q,=
(8Л [8Л (7), /], 8В [8В [S(7)], \s^p, qY /)]) =
-^aUIY^b \spiYY
Таким образом, предположение верно и для кА- 1- Лемма доказана.
Лемма 2. Пусть р— обобщенное последовательностное отображение 0(2) в 0 (Д), такое, что ^(L^^V, и пусть S — о. п. м., производная от р. Тогда S(U)^V.
Доказательство. Пусть J — произвольное слово в U, и пусть 5S(У) = (р, q); тогда р = ^а y)QFA. По определению 8л VL (р, qY — Р и 8В [и. (L (р, ^))] = q, откуда L (р, q) £ U. Поскольку р (U) ^ V, то у41Др, q)]^V. Таким образом, q^FB. По лемме 1 ов [S (J)] = q. Следовательно, 5(/)£У.
Лемма 3. Пусть W =ЦК, 2i, Др ^w > W, И) — °- п- м- (п. п. м.), такая, что W (U) ст V. Тогда существует о. п. м. (п. п. м.) S = ^K, 2, Д, В5, Xs, г^, такая, что S ^U) = W ^U).
Доказательство. Для каждого состояния q^K и каждого элемента I £2 пусть Х5(д, /) = Xw (q, Т), если Xw(q, F) определено и является Д-словом, а в противном случае пусть Х5(д, /) — произвольный элемент из Д. Тогда, как легко видеть, S удовлетворяет утверждению леммы.
В силу леммы 3 мы можем при рассмотрении машин S, для которых S (С) ст V, предположить, что S = (К, ^, Д, о, X, гД
Теорема 1. Можно рекурсивно распознать, существует ли п. п. м. S, такая, что S(U)^V.
Доказательство. Пусть существует п. п. м. UZ = (/<, 2, Д, о, X, аД, такая, что W (U) ст V, и пусть р— машинное отображение посредством W. Поскольку W представляет собой п. п. м., р—полное последовательнсстнсе отображение. Пусть 5 — произвольная п. п. м., производная от р. Машина S имеет не более чем тп состояний. В силу леммы 2 S^JJ^^V. Таким образом, п. п. м. W, такая, что W (U) ^ V, существует тогда и только тогда, когда существует п. п. м. S = (К, 2, Д, ^ X, rj, имеющая нс более чем тп состояний, для которой SkbA^V. Существует лишь конечное число п. п. м. S = (/С, 2, ^» ^, X, rj, имеющих нс более чем тп состояний. Для каждой из них найдем S ^Щ, что можно сделать эффективно [2]. В ка-
ждем случае можно распознать [5], имеет ли место включение S(U)^V. Теорема доказана.
Рассмотрим теперь тот же вопрос для о. п. м. Можно распознать [5], пусто ли V. Если V пусто, то о. п. м., отображающая U в V, существует тогда и только тогда, когда U пусто. Если U содержит Л, то о. п. м., отображающая U в V, существует в том и только том случае, когда А £ V (в:е отображается га А). Это свойство распознаваемо. Предположим, что А (U и V непусто. Зафиксируем любое слово w^V. Пусть S = (А, 2, А, О, X, rj, где К = {и, Г2Ь Чп» /) = 4g, ^) = г2, к^, I^w и Х(г2, /) = А для каждой буквы / £ £. Тогда S есть о. п. м., для которой S(67)^ V. Однако это тривиальное решение задачи. Чтобы исключить тривиальность, рассмотрим следующую видоизмененную задачу: «Можно ли рекурсивно распознать, существует ли о. п. м. S, такая, что S (U) ^ V и S (U) бесконечно, если U бесконечно?»
Как и для первой задачи, мы покажем, что если такая машина существует, то ее можно найти в некотором конечном множестве машин. Сначала вычисляется верхняя граница для длины выходных слов. Затем мы показываем, как для заданного последовательностного отображения у, можно построить производную машину (как ранее) и при этом выбрать в у- ((7) поддерево с бесконечным числом выходных слов. Получаемая в результате машина, таким образом, порождает бесконечный образ множества U.
Лемма 4. Если существует о.п.м.8, для которой S(U) ^ V и S (U) бесконечно, то существует о. п. м. W, такая, что
<\W<U^V\
W (U) бесконечно;
для каждого состояния г и каждого входа I длина слова lw(r, /) не превосходит пп.
Доказательство. Предположим, что S = (Ks, 2> А, os, Х5, г^ не удовлетворяет утверждению леммы. Для доказательства леммы достаточно уметь строить о. п. м. W = (Ks, I, А, os, Х^, г^, удовлетворяющую условиям (i) и (ii), а также следующему дополнительному условию:
(iv) существует пара (^, /) £ Ks X S, такая, что
kw = Xs всюду, кроме (г, /);
Xs (г, I) = Ех • • • Еа — слово длины а > пп и kw (г, I) — слово длины < а.
Действительно, если мы построим такую о. п. м. W, то повторными применениями (i), (ii) и (iv) каждое выходное слово
длины, большей, чем пп, в конце концов переводится в выходное слово длины, нс превосходящей пп.
По предположению S удовлетворяет (i) и (ii). Итак, S нс удовлетворяет условию (iii). Тогда существует пара O'J^Ks X S, такая, что Xs О', /) = Ег • • • Еа и а > пп. Пусть ^, . . . , qn — все п состояний автомата В. Для каждого значения I, 1 < i < а, пусть tz — кортеж из п состояний
^в <qv Еу • • Ei), ... ,ов кяр Е, - • • Е^,. ..,ов ^«» Ev • ■ Е^) . Поскольку а>пп и существует самое большее пп различных кортежей такого вида, то найдутся такие числа и и у, 1 < и < < v < а, что ти = ту. Положим Xw (е П — ^i * * * Еп Е^ • • • Еа , а в остальных случаях пусть Xr — Xs. Тогда Xw(r, /) ^ А и о в (х, Ei ... ЕД = В в (%, Ег • • • Еи ЕУ+1 • • • ЕД для каждого состояния х автомата В. Ясно, что W удовлетворяет условиям (i), (ii) и (iv).
Лемма 5. Если W— о. п. м., такая, что W (U) ^ V и W (Е) бесконечно, то существует о. п. м. S, имеющая не более чем тп состояний и такая, что S (Е) ^ V и S (U) бесконечно.
Доказательство. В силу леммы 3 мы можем предположить, что W = (^ , S, A, ew,Xw, г^. Пусть и — машинное отображение посредством W. Пусть J — кратчайшее S-слово, для которого существует начальное подслово JY (слова 7), удовлетворяющее следующим четырем условиям:
од (7Д = Од ^, (н) Ов (р-(Л)) = ^в СИЛ), (iii) и. (73)^(7),’
(iv) существует S-слово L ^ А, такое, что JL^U.
Убедимся, что J существует. Пусть g— длина самого длинного слова в множестве (Х^ (г, /): г £ Kw , ^ Е 2} • Поскольку у (Е) бесконечно, в Е существует S-слово /1 • • • 11, такое, что уЦА • • • /Д имеет длину, большую, чем ^mn^-\^g. Поэтому существуют по крайней мерс тп + 1 чисел I, таких, что yz . , (/z+]) ^ А. Поскольку существует самое большое тп различных пар [Вд (/i • • •/Д, eBOxUi • • • ^^1)L то среди этих чисел найдутся два числа i и j, i < j, такие, что од (^ • • • /Д = = ?mUi • • ■ /у) и Sb^I/! • • • 7J) = ов^Н, . . . Ij\). Так как !л/,.../;(Л+1) ^ А, то «■(/, • • • /^^(Z, • • • /у). Кроме того, Ч ■ • • If^U. Таким образом, J существует. Из свойства минимальности J следует утверждение:
Если 72 и J^ — собственные начальные подслова . слова J, причем од (72) = ол (73) и ^в (^ (72)) = ^В 0х (А)), то ’1 (72) = ц (7з).
Определим теперь S-слова L (р, 7) для некоторых пар (р, д) состояний р автомата А и q автомата В. Пусть даны р^Кд и q^KB . Если существует собственное начальное подслово L слова J, такое, что ол (Ц = р и ов (р. (А)) = q, то пусть L (р, q) — длиннейшее из таких собственных начальных подслов слова J. Одной из таких пар (р, q) является [ол (J), oB(pi[J])]. .Если начального собственного подслова указанного вида в «7 нс существует, но существует S-слово L, такое, что ьАЩ = р и ЪВ(^(Ь)) = = q, то пусть [Др, q) — L. В остальных случаях пусть [Др, q) не определено. Пусть S — та о. п. м., производная от р-, которая получается при выборе данных слов L (р, q) (см. определение производной о. п. м.). По лемме 2 S(U) с= V. Для доказательства леммы 5 нужно показать только, что S (77) бесконечно.
Пусть ол VA ™ Ро и ^ (^(*7)) = qo . Сначала покажем следующее. Для каждой пары (р, q), для которой L (р, q) является начальным подсловом слова «7, существует S-слово М, такое, что
8S [(р, qY М] = <ро , qj,
р.у) = А1Др, qYM(p. qY му"
Предположим противное. Пусть Д • • • 7.— самое длинное начальное подслово слова J, такое, что Ц • ••[.= L (р, q) при некоторой nape (р, q), которая не удовлетворяет хотя бы одному из условий (2) и (3). В силу (i) и (ii) J нс совпадает ни с одним из слов [Др, q). Таким образом, 1Дк— 1, где к—длина К Предположим, что i = k— 1. Тогда
Ss[(p, qYUV Ъв{4' ’*'i1-i)i_1V^\ =
= [Зл(Л> ^(Sb^I/j . . . 44). V-il...jk i 141)] =
= рл UY ^в^ • • • 4-il=
= [ол 4). 3s(^[/i • • • ikW = (po, qoY
По определению отображения л5 выполняется равенство М(Р> qY IkA = V-LVP,q^Ik)- Значит,
У У) = у. \L (р, ^^^НЧШ ЧП*, qY hY
Следовательно, пара (р, q) удовлетворяет (2) и (3); мы пришли к противоречию. Поэтому 1<к—1. Пусть рГ = Вл (р, 7/+1) и q' = 8B[p.(/i • • • Л+1)1- Тогда 3S [(р, qY Л+1] = (/- q') и далее йл U1 • • ■ Л+1) = °л [чл U1 ■ • ■ 1iY 71+11 ~ °А (р> Ii+1) = Р • Поскольку i + 1 < к, слово L (р\ q^ существует и имеет длину
больше I. В силу максимальности 1Х • • • Iz существует 2-слово М', такое, что
3s 1(р'. <), М'] = (ро, qoY
и(Л = нК(Р'> OJXsKp', q'Y М'\-
Из равенств (4) и 3s[(p, qY Ii+l] = (p', q'^ вытекает, что
5s[(p, qY ImM'A = os[os((p, qY ImY M'] = (p0, qoY
Таким образом, (p, q) удовлетворяет (2) при Л4 = /;+1М'. Далее
V-U) = V-VL(p', q')]ls[(p', q'Y M'\ =в силу (5>
= МЛ " 1 1 I^PW, q'Y M']=в силу (1)
= у(Л • 1 1(Л+1)А|(р', q'),M'] =
= МЧР. q)]^v)(/i+1)^sl(p', q'Y M'] =
= V-VL(p, qYMlP, qY I i+iVs[(p', q'Y ^1 =
по определению Xs
= pAL(p, q)]lsl(p, qY
Таким образом, (p, q) удовлетворяет (3) при М = 1и1М\ Следовательно, (р, q) удовлетворяет (2) и (3), и мы пришли к противоречию. Таким образом, условия (2) и (3) верны для всех (j), q^ для которых L^p, q) является начальным подсловом слова J.
Для доказательства леммы рассмотрим слово Л. Поскольку А — начальное подслово слова J, то L (pv qj — начальное подслово слова J. В силу (2) существует S-слово М, такое, что 85(/И) = = (ро, qoy По определению слова JT мы имеем 8Л (JJ = ро и ММЛ)] = Яо* Таким образом, L (ро, q^ существует. В силу (2) и (3) существует слово N, такое, что
М(ро, q0Y N\ = (Pu> Qo) и V-У) = уА1Др0, qo)\^sWPo, Qo), N\.
В силу условия (1) и того факта, что р.уг) фу-й), имеем 'xVL(p0, q^^y-lJY Таким образом, Xs[(p0, q^, N^ + X- Пусть zs[(p0, qoy N^ = Е. По определению J существует слово L, таксе, что JLQU. Таким образом, 8л (р0^ Ц^Рд. Тогда для каждого а имеем
6s(MNa) = 3S[(PO, q„), Na] = (Po- QoY
Пэ лемме 1 Зд ^MN") = р0 для каждого а. Поскольку 6A(MN“L?) = ^^д^Ро, Еу то MN°L^Fa для каждого а. Таким образом, Для каждого а имеем
S (MN^L) S (М) Xs Кро, AoY N^L\
-S^E^, ЦоУЦ^иу
Так как ЕфХ, то { S (MNaL) : a > 1} бесконечно; поэтому S (L/) бесконечно, что и требовалось доказать.
Используя метод доказательства теоремы 1 в сочетании с леммой 4, леммой 5 и тем фактом, что можно рекурсивно распознать, является ли заданное регулярное множество бесконечным [5], легко доказать следующую теорему.
Теорема 2. Можно рекурсивно распознать, существует ли о. п. м. S, такая, что S(U)^V и S (U) бесконечно.
Разрешающая процедура для каждой из задач (1) и (2) была получена путем доказательства того, что нужная машина, если она существует, содержится среди конечного (заранее оцениваемого) числа машин. Напротив, для решения задачи (3) мы укажем рекурсивную процедуру, выполнение которой в конце концов заканчивается. К сожалению, заранее нельзя сказать, когда этот процесс закончится.
Лемма 6. Если существует полное последовательностное отображение [л 9(E) в 9 (А), такое, что ^(U) = V, то существует п. п. м. S, для которой S(U) = V.
Доказательство. Схема доказательства такова. В заданном последовательностном отображении производится серия изменений, сохраняющих то свойство, что V — образ U, и заканчивающихся получением дерева с конечным числом поддеревьев. Типичное изменение состоит в замене всех поддеревьев, соответствующих заданному выходному слову Е, всеми поддеревьями, соответствующими другому выходному слову F. Для замены одного поддерева другим необходимо, чтобы обоим поддеревьям соответствовала одна и та же пара состояний. Это условие вместе с требованием использования всех поддеревьев сильно ограничивает выбор Е и F. Однако для получения желаемого машинного отображения остается достаточно таких слов. Ниже следует подробное доказательство.
Для каждого A-слова Е и каждого состояния р автомата А пусть пь (р)— число элементов множества [J : [л(7) -^-Е, Зл (7)=^}. Для двух A-слов Е и F будем писать Е X.F в том и только том случае, когда &В(Е) = ^b(F) и пЕ (р) < nF (р) для каждого состояния р автомата А.
Определим теперь индуктивно Д-слова Ек следующим образом. Пусть R^vA^^Y и Ev = А. Пусть
Ру ~ \F: существуют слова М и Е, Ег <Е, ЕфЕ1У такие, что F = ЕМ\.
Пусть Ry = /?0— Ру — \ЕХ\. Предположим, что Е11...)Ек и Rk уже определены. Если Rk непусто, то пусть Ем— любое Д-слово минимальной длины, содержащееся в Rk. Если Rk пусто, то Ej для j > к не определено. Пусть
Рк+1 = \F : существуют слова М и Е, Ек+1 <_Е, ЕфЕуфЕ2^... 4^Ekvv, такие, что F = ЕМ\.
Пусть RkU — Rk Рк+у jf^i}-
Каждое Ек назовем основным словом. Ясно, что все Ек различны и что при ]фк из соотношения Еу<СЕк следует й< /. Предположим, что существует бесконечнее число основных слов. Тогда для некоторого состояния q существует бесконечно много основных слов Ек^(1>Л, к^<к^ при j <ty таких, что $в (^(о) = Я- Поставим в соответствие слову Е = Ец^ кортеж из m + 1 членов (пЕ(рАу . . . , nE(j)my к(1)^ где plf. . . , ^ — состояния автомата А. Пусть (х3 ,... , х^у) и (уу,. . . , у^у) — два таких кортежа. Поскольку неравенство xi<.yi ie может выполняться для всех г, данные кортежи нс сравнимы (имеется в виду покомпонентное сравнение). Известно, однако, что таксе множество кортежей должно быть конечным ([4], стр. 168). Из полученного противоречия следует, что существует конечное число основных слов. Заметим, наконец, что всякое начальнсё подслово основного слова само является основным словом. Этот факт прямо выводится из определения с помощью индукции.
Теперь мы можем построить п. п. м. 8 = (К» ^, А, X, 2л), такую, что S (U) = К. Для каждого S-слова J, такого, что ^(J)— основное слово, введем абстрактный символ zj (например, одним из таких символов является zN\ Для каждой пары (jm), такой, что р = 8^ (Л4) и q = 8B[[z(/M)], где М— некоторое S-слово, введем в рассмотрение множества
и^ = О'ЗДр, JWFa\ И V^ = \E;^, Ьу-Ев\.
Ясно, что U (р) и V (q)— регулярные множества. Поскольку у (U) = V, выполняется соотношение (i^ (U (р)) ^ V (q). В силу леммы 2 существует п. п. м. S (р, q) с начальным состоянием Цр, р), которая отображает U (р) в V (q). He теряя общности, можно предположить, что все состояния всех S(jo, q) и все zj попарно различны. Пусть К состоит из всех zj и всех состояний всевозможных различных S (р, q).
Определим функции 8^ и Xs следующим образом. Для каждого состояния х в каждом 8(р, q) и каждого входа I пусть М*’ /) = 85(Р1<)(х, /) и Xs(x, /) = xs {р ^ (х, /). Пусть G — основное слово и J — любое S-слово, таксе, что ^(J^ — G. Для каждого /^S пусть Xs (гу , /) = р,7(/). Для того чтобы определить 3.$ (Zj , /), рассмотрим два случая.
Пусть ^УП— основное слово, и пусть 6s(Zj , I) = zJr Поскольку каждое начальное подслово основного слова само является основным словом, то, так как p.(J) — основное слово, имеем ^s (^л, Л^^^Ц!) Для каждого входа /.
Предположим, что уДЛ) нс является основным словом. Тогда существует начальное подслово F слова р-(//) и основное слово Е = Ek<C F, для которых F^Ej при J^k. Предположим, что F Ф^(Л)- Тогда F является начальным подсловом основного слова p-(J). Поэтому F совпадает с некоторым основным словом Ej при )>к, т. с. Ek^Ey и j > к. Этого нс может быть. Следовательно, F = ^(JI). Итак, Ек<^уДЛу Если пЕ 1^4 (^)1 ^ ®> то определим
as(zJ,/) = s[8jj/), WJHW
В противном случае рассмотрим множества
^=!^: НЦ = Е, &A(L) = 8A(J1)}
И
Поскольку Е^[л(//), то число элементов DY не превосходит числа элементов D2. Для каждого слова J' Г из D^ определим ^s^j, , Г) так, чтобы выполнялось равенство
\^/Гт.ГГ^ = \zL ‘.L^.
Методом, аналогичным методу доказательства леммы 2, показывается, что S(U)^V. Для доказательства леммы 6 остается показать, что V^S(U\
Назовем центральным словом всякое S-слово J, такое, что- 8S(J) является некоторым состоянием zM. Пусть
!/={£: EF £ V для некоторого Д-слова Т7}.
Ясно, что V^V.
Пусть F ^V представляет собой ^-продолжение основного* слова Е*, т. e. F = Е*М*, где М* имеет длину к. Докажем, что
если F^V' то F;S(U);
существует основное слово Е со следующими свойствами:
(a)3s(£) = oB(F);'
ф) для каждого слова 7, такого, чтоXs (гv, J) = Е, существует центральное слово М, для которого
КДгх,М) = Е, 6Д(М) = 6ДО) и §s(M) = Zj.
Доказательство проводится по индукции. Предположим, что F является 1-продолжением некоторого основного слова. Рассмотрим утверждение (ii). Если слово F основное, то положим Е = F. Если слово F нс является основным, то положим, что Е — основное слово Ек, определенное выше в (б). Утверждение (ii) выполнено в силу определения Е. Рассмотрим утверждение (i). Предположим, что F^V. В силу (а) имеем E£V. Поскольку [л — отображение на, существует слово J^U, такое, что \кЦ^^ Е. Поскольку слово Е является основным, [л(7) = ^^s^x1 ^* ^ силу (Р) существует слово М, такое, что ) (z M) = F, bA(M)^AJ) и 8 (M)=2j. Поскольку 8. (7) Ср , имеем M^U. Поэтому F = ^s^k» М) £ S (Uy
Предположим теперь, что утверждения (i) и (ii) верны для всех ^-продолжений основных слов. Пусть F есть /^-продолжение основного слова, и пусть Н— такой элемент из А, что FH^V. Тогда F^V. По индуктивному предположению существует основное слово Е, удовлетворяющее (ii) по отношению к F. Тогда ^В(Е) ^B(Fy Отсюда ^В(ЕН) = ^B(FHy Предположим, что FH^V. Тогда ЕН ^V. В силу (i) для к — 1 имеем EH^S^Uy Таким образом, существует слово JI^U (/ £S), такое, что ^5(гл, Л) = ЕН. Тогда \(гА, 7) = Е и Х5(?7 /) = Н. В силу утверждения (ii) из индуктивного предположения существует центральное слово М, такое, что \(гА , М) = F, 8Л (/И) = = 8Л (7) и ^S(M) = zd Отсюда 8Л (М/) = 8Л (7/). Поскольку 7/ ^_U, ^дУЛ ЕРд Таким образом, MI^U. Поскольку
^,м1^5йх,мр.А2,,П = РН,
имеем FH^S(^l/y т. с. выполнено (i).
В силу уже рассмотренного случая к = 1 существует основное слово G, удовлетворяющее (ii) по отношению к ЕН (ЕН получено в предыдущем абзаце). Покажем теперь, что G удовлетворяет (ii) по отношению к РН. В силу (а) имеем 8B(G) = = ^В(ЕН) == bB(FH). Таким образом, G удовлетворяет (а) по отношению к РН. Пусть J — такое слово, что ^s(zA , 7) = G. Тогда
существует центральное слово MI, /££, такое, что ^s(zA, MI)— = ЕН, о , (MI) = 8^ у) и 8S (MI) = z,. Тогда >,s (гА, М) = Е. Сле- довательно, существует центральное слово L, такое, что As (гл , L) = F, 8S (£) гм = 8S (М) и 8Л (£) = 8Д (/И). Поэтому 8S (М/) = 8S (£/)=- zp так что слово L1 является центральным» Далее 8Л (£/) = 8Л (М/) = 8Л уу Отсюда
\ ^.v LI) - ^ (гА , Л) ^ (гм, п - FXS (zM, iy
Поскольку >^(гЛ, М1) = ЕН, имеем ^S^NV П^Н. Отсюда \(гА, ЬП = РН и утверждение (ii) верно.
В частности, (•) верно для всякого продолжения в V основного слова. Но Л — основное слово, поэтому V^S(Uy что завершает доказательство леммы 6.
Определение. Отображение и множества 0^^) в 0ДА) называется (к, U, Уудопустимым, если (i) гл сохраняет длину, (ii) [л(0Л(Е)П^) = 0^ (Д) П V и (Hi) для каждого Е-слова JM из 0^(Е) имеем u (JA1) = u (J) Е для некоторого Е.
Лемма 7. Справедливо ровно одно из следующих двух утверждений:
существует п. п. м., такая, что S(U) = V\
существует число к, такое, что никакое отображение Э^ (Е) в 0^ (А) не является (k, U, Уудопустимым.
Доказательство. Если выполнено (II), то, очевидно, (I) не выполнено. Предположим, что (II) ье выполнено. Для к> 1 пусть Ак— множество всех (к, U, К)-допустимых отображений. Каждое Ак непусто, так как (II) нс выполнено. Каждое Ак конечно, так как существует лишь конечное число отображений 0ДЕ) в 0ДА). Рассмотрим ориентированный граф, определяемый следующим образом. Вершины графа — все элементы мно
жества U Ак. Ориентированные ребра соответствуют тем упоря- к=\
доченным парам (v, [л), ^Akvl, \-^^Ак, для которых v—продолжение отображения [л. По хорошо известной теореме [4, стр. 81] в этом графе существует бесконечная последовательность вершин [лх,. . . , \ik,. .. , такая, что для каждого к пара ((л/г+1, [лД является ребром графа. Другими словами, существует бесконечная последовательность Up .. . , \ik,.. . отображений, такая, что каждое отображение глАч1 является (^т1, U, К)-допустимым и представляет собой продолжение 'лА. Пусть [л — то отображение 0 (Е) в 0(A), которое является общим продолжением для всех у.к. Ясно, что ku — полное последовательностное отображение и
что v^U) — V. По лемме 6 существует п. п. м. S, такая, что S (G) = V, т. с. (I) выполнено.
Теорема 3. Можно рекурсивно распознать, существует ли п. п. м. S, такая, что S(U) = V.
Доказательство. Рассмотрим следующую процедуру. На шагу (2 /— 1) проверяем все п. п. м. S = (К, £, А, 8, к, г А с j состояниями. (Их конечное число.) Если S(U) = V хотя бы для одной из этих п. п. м., то ответ на вопрос утвердительный. Можно рекурсивно распознать [5], выполнено ли по крайней мере для одной такой п. п. м. условие S ^U) = V. Если такой S нс существует, то на шагу 2/ проверяется каждое отображение ©ДЕ) в ©У(А). Пусть Л у — множество всех (/, U, ^-допустимых отображений. Если Лу пусто, то ответ на вопрос отрицательный (нс существует щ. п. м. S, такой, что S(U) = VY Очевидно, можно рекурсивно распознать, пусто ли Лу. Если Aj непусто, то переходим к шагу 2/ + 1.
Предположим, что описанный процесс никогда не закончится. Тогда не существует п. п. м. S, такой, что S(U) = V. По лемме 7 существует число к, такое, что никакое отображение ©^(Е) в ©^(А) не является ^к, U, Е)-допустимым. Но в таком случае процесс заканчивается, и мы приходим к противоречию. Отсюда следует, что вышеописанный процесс заканчивается, давая либо положительный, либо отрицательный ответ. Таким образом, существование п. п. м. S, такой, что S^U) = V, рекурсивно распознаваемо.
Проблема 4 — можно ли рекурсивно распознать существование о. п. м. S, такой, что S(U) — V,— не решена.
ЛИ ТЕРАТУРА
Ginsburg S., Rice Н. G., Two families of languages related to- ALGOL, J. ACM, 9 (1962), 350—371.
Ginsburg S., R о s e G. F., Operations which preserve definability in languages, J. ACM, 10 (1963), 175—195.
GinsburgS., Rosed. F., Some recursively unsolvable problems, in ALGOL-like languages, J. ACM, 10 (1963), 29—47.
К о n i g D., Theorie der endlichen und unendlichen Graphen, New York, 1950.
Rabin M., Scott D., Finite automata and their decision problems, IBM J. Research Deuel., 3 (1959), 115—125. (Русский перевод: Рабин M., С к о т т Д., Конечные автоматы и задачи их разрешения, «Кибернетический сборник», вып. 4, ИЛ, 1962, 58—91.)
Y n g v е V., A model and an hypothesis for language structure, Proc. Amer. Philos. Soc., 104 (1960), 444—466.,
A YngveV., Computer programs for translation, Sci. Amer., 206 (1962), June, 68—76.
О РЕАЛИЗУЕМОСТИ МНОЖЕСТВА ЦЕЛЫХЧИСЕЛ СТЕПЕНЯМИ ВЕРШИН ГРАФА I)
С. Л. Хаками
Данная статья касается главным образом реализуемости множества из п 'целых чисел степенями вершин графа без петель с п вершинами. Рассматриваются также и аналогичные проблемы, такие, как вопросы о том, когда множество целых чисел реализуемо в связном графе, в связном графе без кратных ребер, в сепарабельном графе и в несепарабельном графе. Описываются соотношения между этими проблемами и проблемой возможных схем строения молекул в органической химии. Подобная же задача изучается также для взвешенных графов.
Введение
Пусть G—граф) с п вершинами (узлами) [1, 2, 3]. Пусть степень вершины в G есть число ребер (дуг), инцидентных этой вершине. Предположим, что задано множество положительных целых чисел dv d2)... dn \Д;<^^\, l^i^n— 1]. Как узнать, существует ли граф G, вершины которого vv v2,..., ип имеют степени dv d2,..., d„> Если такой граф G существует, то будем говорить, что данное множество целых чисел реализуемо в графе G или что граф G реализует данное множество целых чисел. Рассматриваются также и другие вопросы, такие, как реализуемость данного множества целых чисел в связном графе, в сепарабельном графе и в несепарабельном графе).
Предположим, что каждому ребру графа сопоставлено некоторое положительное число. Такой граф, обозначаемый здесь через Gw, называется взвешенным графом. Пусть wt представляет собой сумму весов ребер, инцидентных вершине i^ графа Gw. Для произвольного заданного множества положительных чисел wv w^..., wn нами найдено необходимое и достаточное условие
того, что это множество чисел реализуемо степенями вершин взвешенного графа.
Мы будем применять многие понятия теории графов. Некоторые термины, используемые в этой статье, поясняются в приложении.
Основная теорема
Теорема 1. Для того чтобы множество положительных целых чисел) dv d^..., dn было реализуемо степенями вершин некоторого графа, необходимо и достаточно, чтобы выполнялись» условия) п
Vdz = 2e, где е— целое число;
z=iп— I60 ^di>d„.Z=1
Доказательство. Необходимость условия (i) следует из- п.
того, что ^d-^Se, где е — число ребер графа G. Чтобы дока
зать необходимость условия (ii), предположим от противного, что п— 1
существует граф G, для которого ^dz < dn. Пусть вершина оп гра-
z=i п— I
фа G сопоставлена числу dn. Тогда из неравенства ^dz<drt^ie-
z=i дуст, что в G существует по меньшей мерс одно ребро, инцидентное вершине ип и нс инцидентное никакой другой верп— I
шине. Это невозможно; следовательно, ^ dz > dn.
z-i
Достаточность доказывается по индукции. Если п ^ 2, то из (ii) следует, что dx = d2. Такая пара целых чисел реализуема в графе с двумя вершинами, которые связаны d ребрами, где
d = d1 = d^. При м = 3 нам заданы положительные целые числа ^i> d2, d3, удовлетворяющие условиям (i) и (ii), и требуется найти граф с тремя вершинами, реализующий эти целые числа.
Рассмотрим некоторый граф с тремя вершинами. Пусть п^^п^— число ребер, связывающих вершины vt и Uj (i, j= 1,2, 3, i^j). Тогда мы имеем
^1 — ^12 + ^3,
^2 ~ ^23 4" ^21 — ^32 + ^12 >
^3 ~ ^32 4" ^31 ~ ^23 4~ ^13*
Решая эти линейные уравнения относительно п12, п13 и n2Cf лолучаем
„_ (dx + d, + d3) - 2d3„ (dx + d. + d3) - 2d.
nig __,
(dx + d. + d3) — 2dx
Существование искомого графа будет установлено, если мы покажем, что п12, п13 и п23 являются целыми неотрицательными числами. Из условия (ii) следует, что сумма любых п— 1 чисел dt нс меньше, чем оставшееся число, откуда вытекает неотрицатель- п
ность п12, /г13 и п23. Условие (i) 'означает, что величины^dt —2dj
^О^С/^я) являются четными числами, откуда следует, что м12, ^1з и ^23 представляют собой целые числа.
Для завершения индукции предположим, что утверждение теоремы верно для п< к (А>3), и покажем, что оно верно также для n = k. Пусть dx, d^..., dk— множество k положительных целых чисел, удовлетворяющих условиям (i) и (ii). Рассмотрим множество неотрицательных целых чисел d2, d3,... ..., dk i, dk dy •
Допустим, что dk— d^O. Установим, что это новое множество чисел удовлетворяет условиям (i) и (ii). Сумма этих чисел кк
paBHa^dz — 2dp т. с. является четным числом при четном^dt ;
Z = 1Z = I
следовательно, условие (i) выполнено. Остается показать, что это новое множество чисел удовлетворяет также условию (ii).
к-\к-\
Действительно, ^ d^dk) откуда следует, что^^.^-^—dx.
Если dk — dx является наибольшим числом в множестве чисел d2, d3,..., dft-ь dk — dx, то условие (ii) выполнено. Если же dk — dY
не представляет собой наибольшее число, то наибольшим числом является d^-i, и следует показать, что
^2 4" ^з 4" • • • 4™^—2 4" (dk — ^i) ^ dk—i •
Последнее неравенство справедливо для к > 3, поскольку dk^ dk-i и d2 ^ dr.
По предположению множество из п чисел (и < к\ удовлетворяющих условиям (i) и (ii), реализуемо, следовательно существует граф Gv который реализует числа d2, d3,..., d^-i, dk— dY степенями своих вершин. Добавим к графу GY новую вершину гд и соединим ее dY ребрами с вершиной графа Gv соответствующей числу dk— dv Полученный граф реализует исходное множество чисел. Если же dk— dY = 0 !), то рассмотрим новое множество чисел d2, d3,..., ^_ь Оно удовлетворяет условиям (i) и (ii) и, следовательно, реализуемо в некотором графе Gv Добавим теперь к графу GY две вершины и свяжем их между собой d ребрами, где d = dY = dk. Этим доказательство теоремы заканчивается. В качестве прямого следствия из доказательства этой теоремы можно установить следующее утверждение.
Следствие. Для всякого реализуемого множества из трех чисел dY, d^ d3 существует только один граф, вершины которого имеют степени dYl d^ d3.
Пусть задано множество чисел 1, 1, 1, 1. Это множество чисел удовлетворяет условиям (i) и (ii). Однако граф, реализующий эти числа, нс будет связным. (Связным является граф, в котором существует цепь между любыми двумя вершинами.) В следующем параграфе будет дано необходимое и достаточное условие для того, чтобы множество чисел было реализуемо в связном графе.
Реализуемость в связном графе и d-инвариантное преобразование
Пусть граф G реализует числа dv d2)..., dn. Рассмотрим пару ребер е^, Vj) и е(ок1 у0) графа G, которые связывают вершины с Vj и vk с у0 соответственно. Пусть вершины ub vp vk1 vQ все различны. Преобразуем граф G в граф Gv удалив из G ребра е(у., Vj) и е(ик> у0) и либо (1) присоединив ребра е(*ир vk) и ФР у0) между вершинами vt и ок, уу и у0, либо (2) присоединив ребра е(оИ у0) и е(ир vk) между вершинами ut и vQ> о} и vk. Заметим, что при этом преобразовании графа-степени его вершин остаются неизменными. Такое преобразование называется эле-
^ Заметим, что если dY = dk, то dY = d2 = ... =dk.
ментарным d-инвариантным преобразованием. Класс всех графов, реализующих одно и то же множество чисел, будем называть классом d-инвариантных графов. Как будет показано (во второй части статьи), все элементы любого класса d-инвариантных графов могут быть получены конечным числом элементарных d-инвариантных преобразований, примененных к одному элементу этого класса.
Рассмотрим граф G. Подграфы gv g^..., gr (г > 1) графа G называются его максимальными связными подграфами (или компонентами связности), если (1) каждое ребро графа G принадлежит только одному из подграфов gv g^..., gr, т. е. объединение £i U 52 U ••• U£r = G и пересечение gzngy=0 при i^j; (2) нс существует цепей из вершины подграфа gi в вершину графа gj при i 4 b Ациклическим графом называется граф, нс содержащий циклов.
Лемма 1. Пусть gx, g^---> gr V > 0 суть компоненты связности графа G, причем не все они являются ациклическими. Тогда существует граф G1, d-инвариантный графу G и имеющий г— 1 компонент связности1).
Доказательство. Пусть gt—компонента связности графа G, содержащая цикл. Пусть et—ребро подграфа^-, принадлежащее циклу. Возьмем произвольное ребро е^ подграфа gj, i ^ А Элементарным d-инвариантным преобразованием, включающим ребра е^ и е^ , получим граф Gv в котором подграфы gl и gj объединены в один связный подграф, что уменьшает число компонент связности на единицу.
Следует отметить, что число компонент связности можно уменьшать до тех пор, пока хотя бы в одной из компонент связности будут существовать циклические ребра.
Теорема 2. Для того чтобы множество чисел dlt ^....d^ было реализуемо в связном графе, необходимо и достаточно выполнение условий:
множество dv d^, ..., dn реализуемо, т. е. удовлетворяет условиям теоремы 1,
^dL>2(n-l\
Z=I
Доказательство. Необходимость условия (i) уже установлена. Для того чтобы установить необходимость условия (ii).
]) В условии леммы 1 пропущено указание, что компоненты связности графа G не являются изолированными вершинами.—Прим. ред.
рассмотрим связный граф G. В связном графе с п вершинами число ребер е больше или равно п—1 [3]. Известно, что п"п
^(^ = 2с; следовательно, ^d^^n—1).
Для доказательства достаточности предположим, что задано множество чисел dv d^ ..., dn, удовлетворяющее условиям (i) и (ii), и покажем, что в классе d-инвариантных графов, реализующих множество dv d^, .., dn, найдется связный граф. Поскольку множество dv d.2, ..., dn удовлетворяет условию (i), существует граф G, реализующий это множество. Если граф G связен, то теорема доказана, поэтому допустим, что граф G не является связным. Пусть компоненты связности графа G суть подграфы gv g2, ..., gr (г > 1). Предположим, что все подграфы gv §2»•> Sr являются ациклическими, ибо если существует
подграф gt, содержащий цикл, то, как показано в лемме 1, можно объединить этот подграф с другим подграфом gj, уменьшив таким образом число компонент связности. Эту операцию можно продолжать до тех пор, пока все подграфы нс станут ациклическими). Если все подграфы gv g2, ..., gT являются ациклическими, то число ребер графа G равно п—г [3]. Отсюда следует, п
что ^ d; 2 (и— г), что противоречит условию (ii). Тем самым теорема доказана. Из доказательства этой теоремы можно легко установить следующие результаты.
Следствие 1. Множество целых чисел dv d2, ..., dn реализуемо в ациклическом связном графе тогда и только тогда, когда (i) множество dv d2, ..., dn реализуемо, п
2dz = 2(n-l). Z=1
Следствие 2. Множество чисел dv d2, ..., dn реализуемо в связном графе, если
множество dv d2, ..., dn реализуемо,
d4^l ).
Реализуемость в сепарабельных и несепарабельных графах
Граф G называется несепарабельным, если каждый его подграф g имеет по крайней мерс две общие вершины со своим дополнением. Все остальные графы называются сепарабельными, [2, 3]. Если G — связный сепарабельный граф, то у него существует подграф g, имеющий с дополнением ровно одну общую вершину ис; она называется разрезающей вершиной графа G [3].
Теорема 3. Для того чтобы множество чисел dv d2, ...^d^ было реализуемо в несепарабельном графе, необходимо и достаточно, чтобы выполнялись следующие условия:
^ dz — 2 е, где е— целое число,
dL Ц= 1 для всех I, п— 1
^ d/^ dn-V 2 (п— 2).
Доказательство. Необходимость условия (i) уже установлена. Необходимость условия (ii) очевидна. Чтобы доказать, что условие (iii) также необходимо, предположим, что существует граф G, в котором
п— 1
2 dt < dn + 2 (п — 2).
Покажем, что граф G сепарабельный и что разрезающей вершиной является вершина ип, соответствующая числу dn. Чтобы доказать это, покажем, что, удалив из графа G все ребра, инцидентные вершине ип [а также и саму вершину ип.—Перее. мы получим несвязный граф Gv Пусть степени вершин в графе GT суть d\ , d*2, ..., d'_j . Очевидно, что
п— 1
а' < 2 (п — 2).
Z=1
В силу теоремы 2 граф 0г не может быть связным. Этим заканчивается доказательство необходимости условий теоремы.
Для доказательства достаточности предположим, что задано множество чисел dv d^, ..., dn, удовлетворяющей условиям теоремы. Построим новое множество неотрицательных целых чисел d\, d2, ..., d’n, где d'. = dt— 2, 1<г<п. Докажем теперь, что множество чисел d’x, d2, ..., dn реализуемо1^. Для этого пока-
жем, что эти числа удовлетворяют условиям теоремы 1. Первое; условие теоремы 1 выполнено, поскольку число
пп
i=\z=l
является четным в силу условия (i) доказываемой теоремы. Покажем теперь, что
/2 — 1
7=1
Из (in) имеем
72—1
2^>^ + 2(л-2), Z=1
что можно переписать в виде
72—1
2 — 2 (и — 1) > dn — 2, Z=1
или, наконец, п— 1
1=1
что и требовалось доказать. Пусть числа d', d2, ..., dn реализуются в графе G'. Может случиться, что некоторые из чисел d'. равны нулю. В этом случае соответствующие вершины должны быть изолированными в G', Добавим к графу G' множество из п ребер, образующих гамильтонов цикл (элементарный цикл, проходящий через все вершины графа G). Ясно, что полученный граф G реализует исходное множество чисел. Поскольку граф G содержит гамильтонов цикл, он является несепарабельным.
Так как некоторое множество чисел может быть реализовано как в несепарабельном, так и в сепарабельном графах, остается ответить на следующий вопрос: как узнать, существует ли сепарабельный связный граф, реализующий заданное множество чисел степенями своих вершин?
Теорема 4. Для того чтобы множество чисел dlt d^ ..., dny реализуемое в связном графе (удовлетворяющее условиям теоремы 2), было реализуемо в сепарабельном связном графе, необходимо и достаточно, чтобы выполнялись следующие условия:
если п — 3, то dx — d2 = d3, •
если п = 4, то в данном множестве чисел существуют числа dt и dj, такие, что d^dj;
если п> 4, то в данном множестве чисел существует число di=f=2.
Доказательство. Если п = 3, то необходимость и достаточность условия (i) очевидна. Для того чтобы установить необходимость условия (ii), покажем, что не существует связного четырехвершинного сепарабельного графа, в котором все вершины имеют одинаковую степень. Предположим, напротив, что сепарабельный связный граф G реализует множество чисел dr~ d2 = -d3 = d4. Пусть иг— разрезающая вершина в G. Ясно, что один из кусков1) графа G содержит две вершины, одна из которых есть щ. Отсюда следует, что существуют положительные числа dn и ^12, такие, что dtl + d12 = dv и числа dn и d2 реализуемы в двухвершинном графе. Однако числа d^ и d2 реализуемы тогда и только тогда, когда dlt = d2. Отсюда d12 = 0, что невозможно. Для доказательства необходимости условия (iii) заметим, что связный граф, в котором все вершины имеют степень 2, представляет собой элементарный цикл [3], являющийся несепарабельным графом.
Пусть задано множество dv d2, ..., dn, п^^, удовлетворяющее условиям (ii) и (iii). Мы хотим показать, что можно найти сепарабельный граф, реализующий это множество чисел. Рассмотрим два случая.
Случай 1. dT = d2 = d3 = ... = dn, n > 4. Допустим, что di — четное число. Так как di=^2, то dr = 2 + d12. Рассмотрим следующие два множества чисел: 2, d2, d3 и d12, d^ d5, ..., dn. Оба эти множества чисел удовлетворяют условиям теоремы 2; следовательно, они реализуемы в связных графах gT и g2. Склеивая вершины наименьшей степени графов gx и g2l получаем сепарабельный граф, реализующий исходное множество чисел. Если же di — нечетное число, то п должно быть четным. Кроме того, di=^l, иначе условия теоремы 2 не выполнены. Пусть di= 2 + d12. Рассмотрим два множества чисел 2, d2, d3 и di2, d4, d5, d6, ..., dn. Оба эти множества удовлетворяют условиям теоремы 2; следовательно, они реализуемы в связных графах gt и g2. Как и раньше, склеив вершины наименьшей степени графов gT и g2, получим сепарабельный связный граф G, реализующий заданное множество чисел.
Случай 2. d1=4=dn. В этом случае рассмотрим следующие два множества чисел: dv dT и d2, d3, ..., dn — dv Первое мно-
*) Куском называется подграф, имеющий с дополнением одну общую вершину (см. Берж К.. Теория графов и ее применения, ИЛ, 1962, стр. 220).—Прим, перев.
жество, очевидно, реализуемо1). Доказательство реализуемости множества чисел d2, d3l ..., dn_v dn— dT уже дано при доказательстве теоремы 1. Однако надо показать, что множество d^ d3, ..., dn_v dn — dT реализуемо в связном графе. Для этого достаточно показать, что
^2 + d3 + ... + dn-1 + (dn — d^ 2 (n — 2).
n
В левой части здесь стоит величина, равная ^d;— 2^.
Если ^ = 1, то
2 — 2^ > 2 (п — 1) — 2 = 2 (п — 2).
2=1
Если же dT > 1, то
5 di — 2d1 > nd^ — 2dT = (п — 2) dt > 2 (п — 2). 2=1
Этим заканчивается доказательство теоремы, так как указанные два множества реализуются в связных графах gr и g2, а склеив любую вершину графа gT с вершиной графа g^ соответствующей числу dn — dv мы получим искомый граф.
Реализуемость в графе без кратных ребер
Граф G имеет кратные ребра, если существуют по крайней мере два ребра в G, которые связывают одни и те же вершины. Мы хотим ответить на следующий вопрос: при каких условиях множество чисел может быть реализовано в графе, не имеющем кратных ребер? Будет использоваться следующий процесс редукции.
Множество целых чисел dv d^... , dn будем называть приводимым, если dn<Ln— 1. Множество чисел d} , d5 , ... , d} получается из исходного приводимого множества dv d2, ..., drt следующим образом:
, f d^—l при 1 </<d„,J I d„_j при j > dn.
Пусть d'v d'2, .... dp (p^n—1) суть положительные числа из множества d^ , d^ , ..., dL ^, расположенные в неубывающем порядке. Множество чисел dj , d^, ..., dp назовем приведенным
Э В связном графе.—Прим, перев.
5 Заказ № 563
множеством чисел, а только что описанный процесс — редукционным шагом. Исходя из множества dj , d2, ..., dp, при условии dp<,p — 1 можно проделать следующий редукционный шаг и получить другое множество чисел.
Теорема 5. Реализуемое множество чисел dv d^, ..., dn реализуемо в графе без кратных ребер тогда и только тогда, когда это множество приводимо, и каждое множество чисел, получаемое из него при последовательных редукционных шагах, также приводимо.
Доказательство. Докажем сначала необходимость. Пусть G— граф без кратных ребер, и пусть степени вершин графа G суть dt, d2, . . . , dn. Существует не более п—1 ребер, инцидентных вершине оп, следовательно, dn^n—1. Рассмотрим граф Gv полученный из G удалением вершины ип и всех ребер, инцидентных вершине оп. Пусть степени (неизолированных) вершин графа Gy суть d^, d^, . . . , dp^ ; d^^d^Ii для l^i^ ^ p' — 1. Поскольку Gy не имеет кратных ребер, то d^ ^ ^р'— 1. Пусть d±, d2, . . ., dp — множество чисел, полученное из множества dv d2, . . . , dn с помощью одного редукционного шага. Легко видеть, что dp^dp^ и р'^р, откуда dp^p—1. Продолжая этот процесс таким же способом, устанавливаем необходимость приводимости множеств чисел, получаемых при последовательных редукционных шагах.
Для доказательства того, что условие теоремы также и достаточно, опишем процедуру, которая приводит к графу без кратных ребер. Возьмем п точек (вершин) ог, о^ , , ип. Свяжем теперь ребром каждую из следующих пар вершин: оп и оп_у, ^п и ^«-2 , . . . , ул и Un-dn • Это всегда возможно, поскольку dn^n — 1. Теперь имеются ровно dn ребер, инцидентных вершине ип, среди которых нет кратных. Для построения оставшейся части графа заметим, что степени вершин этой части должны образовывать приведенное множество чисел dt, d2,.. . . . . , dp. Так как по условию dp^p—1, то можно последовательно продолжать подобные шаги и получить, наконец, граф без кратных ребер. Однако доказательство еще нс завершено; именно следует показать, что если dy, d2, . . . , dn есть реализуемое множество, то и приведенное множество dt, d2, . . ., dp
Р п
реализуемо. Действительно, поскольку - s dt — 2d„, то i=\ i=\
сумма элементов приведенного множества чисел четна, а по-
р-\
скольку d'p^p—1, имеет место неравенство Л di > dp. Тем z=i
самым показано, что если исходное множество чисел реализуемо и приводимо, то и все приведенные множества чисел также реализуемы. Этим заканчивается доказательство теоремы.
Реализуемость множества положительных чисел степенями вершин взвешенного графа
Понятие взвешенного графа, как известно, весьма полезно для приложений теории графов к электрическим сетям и другим физическим системам. Поэтому полученные результаты естественно распространить на случай взвешенных графов.
Теорема 6. Для того чтобы данное множество чисел wv w2)... э wn, где wt <^ w№ было реализуемо степенями вершин взвешенного графа, необходимо и достаточно, чтобы выполнялось условие п—\
S Wt>Wn. Z=1
Доказательство. Необходимость доказывается совершенно так же, как в теореме 1, и поэтому доказательство не повторяется. Как и в случае теоремы 1, достаточность будет доказываться по индукции. Для п = 2 число wx должно быть равно w^. Ребро веса wlt связывающее две вершины, реализует такую пару чисел. Для п = 3 определим числа ntj = п^, I, / = 1, 2, 3, i Ф j, каждое из которых обозначает вес ребра, связывающего вершину x)t с вершиной уу.. Единственная реализация в этом случае определяется вычислением значений весов ребер при помощи следующих равенств:
„^1 + ^2 — W3 „^1 — ^2 + Wg—^4-^4-^
122’ 132’ 23 2'
Предположим теперь, что теорема верна для п< к, и докажем ее для п — к. Рассмотрим множество чисел wn w2, . . . , ^. Строим множество чисел ш2, ш3, . . ., w^, wk— wx и показываем, как в теореме 1, что это множество удовлетворяет условию данной теоремы и, следовательно, реализуемо. Пусть Gw — взвешенный граф, реализующий множество чисел w2, w3 , . . . • • •, ^_ь wk — wv Прибавим к этому графу вершину ^ и свяжем се Ребром веса wx с вершиной графа Gw, соответствующей числу wk~wv Тогда получится взвешенный граф G^, реализующий заданное множество чисел взвешенными степенями своих вершин. 5*
Применения и заключение
Рассмотрим молекулу азотистого ангидрида N2O3. Пять возможных схем строения молекулы этого вещества показаны на рис. 1,6Z. Графы, соответствующие указанным схемам, показаны на рис. 1,6. По-видимому, различным возможным схемам строения молекул соответствуют и различные физические свойства вещества.
Общая характеристика графов, изображенных на рис. 1,6, состоит в том, что все они являются d-инвариантными связными графами, реализующими множество чисел 2, 2, 2, 3, 3. Поэтому создается впечатление, что теорема 2 позволяет предсказать, может ли существовать некоторое гипотетическое химическое соединение. Важной и до сих пор нс решенной проблемой является нахождение всех возможных схем строения молекулы данного химического соединения. Такая проблема по существу сводится к задаче порождения всех d-инвариантных графов, соответствующих некоторому множеству целых чисел, причем для
указанной проблемы не известно приемлемого эффективного решения.
Представляет теоретический интерес ответ на следующие вопросы. Какая из реализаций некоторого множества чисел яг-
ляется графом с максимальным (или минимальным) числом различных остовов, циклов или сечений1)? Какая из реализаций имеет максимальное (или минимальное) число кратных ребер, кусков, компонент связности или ациклических ребер?
Важный вопрос, ответ на который будет дан во второй части статьи, состоит в следующем: каковы необходимые и достаточные условия того, что некоторое множество чисел реализуемо единственным связным графом (т. с. что все графы, реализующие это множество чисел, изоморфны)?
ПРИЛОЖЕНИЕ
Граф представляет собой совокупность конечного числа объектов двух типов: ребер (дуг) и вершин (узлов). Каждое ребро е^, Уу) связывает пару различных вершин ui и Uj. Если граф g входит в граф G, то g называется подграфом графа G. Дополнением подграфа g является подграф g, который содержит все ребра графа G, нс принадлежащие подграфу g, вместе с каждой вершиной, инцидентной какому-нибудь из этих ребер. Цепью в графе G называется множество ребер (подграф графа G), которое можно упорядочить в виде
еОу «jV eVOj, и^, . . ., e(v„ yt\ e(vt, и,),
причем все вершины о^ о^ vk, . . . , оп v0 vs различны. Цикл в графе G представляет собой множество ребер (подграф графа G), которое можно упорядочить в виде
eOn VjY e(vj, v^, . . . , e(ur, и^ e^u^ v^
причем все вершины o^ u^ vk, . . . , vr, vt различны.
Автору приятно выразить свою признательность за полезные беседы, которые он имел с профессором В. Маэда из Иллинойс- ского университета, подсказавшим тему данной работы.
ЛИТЕРАТУРА
V е b 1 е п О., Analysis Situs, Amer. Math. Soc., Cambridge Colloquium Publications, 1931.
Whitney H., Non-separable and planar graphs, Trans. Amer. Math. Soc., 34 (1932), 339—362..
SeshuS., ReedM. B., Linear Graphs and Electrical Networks, Addison-Wesley, Reading, 1961.
x) Число сечений и объединений непересекающихся сечений в связном м-вершинном графе равно 2Л-1—1; однако число сечений, вообще говоря, является функцией структуры графа. -
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ О
С. Дрейфус
(Корпорация РАНД, Санта-Моника, Калифорния)
Введение
Цель настоящей статьи заключается в следующем: 1) ознакомить читателя с основными положениями и характерными особенностями динамического программирования, определяющими его применимость; 2) развить дальше основные вычислительные алгоритмы и представить более важные новые специальные методы, которые упрощают и делают практически возможным численное решение задач; 3) дать обзор литературы по современным интересным применениям динамического программирования.
Динамическое программирование предлагает некоторый подход к задачам. Для динамического программирования нс обязательно характеризовать задачу набором уравнений специального вида, что необходимо в случае линейного программирования. С другой стороны, опять-таки в отличие от линейного программирования динамическое программирование нс дает общего вычислительного алгоритма. Несмотря на то что с утилитарной точки зрения отсутствие четко определенных постановок и быстроты получения численных результатов может показаться обескураживающим, настоящему специалисту по исследованию операций понравится, что каждая задача представляет особый интерес. Гораздо важнее то, что однажды преодоленные первоначальные трудности в постановке задач и их численном решении дадут возможность мощной коалиции математиков и вычислителей справиться со многими важными задачами нелинейного, стохастического и адаптивного характера.
Как читатель увидит ниже, основная идея динамического программирования заключается в описании задачи с помощью функциональных уравнений или их дискретных аналогов — рекуррентных соотношений.
Рекуррентные соотношения долгое время использовались для описания последовательности событий в математической физике. Эта же самая идея лежит в основе сильного и хорошо разработанного метода в теории массового обслуживания, однако в обоих этих случаях рекуррентные соотношения используются как описательное средство, а нс как метод решения.
Новые идеи динамического программирования связаны с рекуррентным описанием процессов решения и последующим анализом т) Dreyfus S., Dynamic programming. Progress in Operations Research, vol. 1, New York — London, 1961.
получившихся функциональных уравнений, содержащих оператор максимума.
Начало использования рекуррентных соотношений в теории решения относится, кажется, к 1940 г., когда у статистиков развился значительный интерес к статистической теории решения. Книга А. Вальда (1950)) использует этот метод для проверки гипотез.
Примерно в 1951 г. доктор Р. Беллман нашел интересный подход к задачам решения как детерминированного, так и стохастического типа, основанный на рассмотрении функциональных уравнений, п ввел термин «динамическое программирование» для описания этого подхода. Большинство его ранних исследований касается существования и единственности решения для этого нового типа функциональных уравнений. Его многочисленные теоретические работы начала пятидесятых годов привели к написанию книги «Динамическое программирование», изданной в 1957 г.
В 1955 г. автор начал работать вместе с доктором Беллманом в корпорации РАНД, и основное внимание тогда было обращено на постановку задач и численное решение. Были развиты специальные приемы для уменьшения объема вычислений, необходимых для решения наиболее важных классов задач. Некоторые из этих методов будут обсуждаться ниже. Эта работа имела своим итогом книгу о вычислительных аспектах динамического программирования, вышедшую в свет в 1961 г.)«
Усиленное внимание к практическому приложению динамического программирования вызвало большой интерес к этой теме и повлекло за собой дополнительные исследования, проведенные в Гарварде, Массачусетском технологическом институте, Карнеги, Питтсбурге, Кейзе, Станфорде и Калифорнийском университете (Лос-Анжел ос) (названы лишь основные центры). К 1958 г. динамическое программирование вызвало настолько сильный интерес, что эта тема была поставлена на общей сессии ежегодного собрания общества по исследованию операций в Бостоне.
Полная библиография до 1954 г. может быть найдена в докладе Беллмана, прочитанном Американскому математическому обществу в сентябре 1954 г. и опубликованном в том же году [1 L Обзор более поздней литературы появился в книге Беллмана [3], а также в библиографии по линейному программированию и смежным вопросам 112]. Обзор более современной литературы будет дан в готовящейся к выпуску книге Беллмана и Дрейфуса).
Многошаговые процессы решения
Так как динамическое программирование было развито для облегчения изучения многошаговых процессов решения, то, по-види- мому, уместно объяснить здесь природу таких процессов. Однако, как читатель был уже предупрежден, в динамическом программировании почти не существует безоговорочных истин. Так, нельзя категорически утверждать, что все многошаговые процессы решения могут быть решены динамическим программированием или что все задачи динамического программирования суть многошаговые процессы решения.
Действительно, как будет показано впоследствии, размер и сложность структуры некоторых задач делают динамическое программирование практически неприменимым. (Вероятно, более правильно говорить, что все задачи, описываемые многошаговыми процессами решения, могут быть сформулированы в терминах динамического программирования.) С другой стороны, некоторые задачи, которые нельзя охарактеризовать как многошаговые процессы, можно представить в таком виде, что динамическое программирование укажет практический способ их решения.
В многошаговых процессах решения отыскивается последовательность решений, которая максимизирует (или минимизирует) некоторую, наперед заданную целевую ^функцию, или функцию критерия.
В качестве примера многошагового процесса решения рассмотрим задачу замены автомобиля, столь близкую большинству американцев. Искомая последовательность решений есть поведение, которое может быть следующим: заменять автомобиль каждые N лет на модель /И-летней давности1). Целевая функция должна отражать совокупность соображений о минимальной стоимости (стоимость покупки плюс содержание) и субъективную социологическую ценность. Так как люди сильно различаются в определении значимости этих факторов, то не существует универсально оптимального поведения. Однако если даны численные оценки значимости этих факторов для отдельного лица, то существует оптимальное поведение при замене автомобиля, легко определяемое с помощью динамического программирования. Это все, что когда-либо можно потребовать от математической теории. Определение целевой функции и возможного выбора решения есть не математическая и часто не физическая задача.
Рассмотрим задачу замены автомобиля более детально, чтобы понять сущность проблем многошагового процесса решения. Заметим, во-первых, что выбор оптимального управления будет зави-
х) Более общо: заменять модель типа i каждые Nt лет на модель типа /.
сеть от длины) процесса. Человек, знающий, что ему осталось жить только год, будет вести себя иначе, чем владелец таксомоторного парка с практически неограниченными пределами планирования. Во-вторых, выбор наилучшего решения будет зависеть от состояния системы в данный момент. Под «состоянием» (этот термин многократно используется в последующем) мы подразумеваем сумму всей относящейся к делу информации о рассматриваемой ситуации. Например, состоянием автомобиля для упрощенного анализа может быть его возраст. Для более детального анализа нужно рассмотреть также его сохранность ит. п. Следовательно, «состояние» есть относительное понятие, зависящее от глубины анализа процесса, и работа специалиста по исследованию операций заключается в выборе должного соотношения между «реализмом» описания состояния системы и возможностью решения получающейся в результате математической задачи.
Мы установили тот факт, что при изучении многошагового процесса нужно рассматривать длину процесса и состояние системы. Рассмотрим теперь результат решения на некотором шаге для какого-либо состояния системы.
Вообще говоря, решение изменяет и состояние и шаг) многошагового процесса. Возвращаемся- к примеру о замене автомобиля. Решение покупать новый автомобиль в год N, когда старый автомобиль имеет возраст М, приведет к тому, что в год Л^+1 в эксплуатации будет находиться автомобиль возрастом в один год. Решение «держать старый тарантас» еще один год приведет в результате к эксплуатации (Л4 + 1)-летиего автомобиля в (Л^+1)-й год. Покупка бывшего в употреблении автомобиля даст в результате эксплуатацию автомобиля «некоторого среднего возраста».
Оптимальное решение — такое, которое должным образом балансирует текущую стоимость решения с будущей ценностью возникающего в результате решения нового состояния.
Следовательно, нужно знать некоторые свойства будущего — итоговую ценность данного состояния — для того, чтобы правильно действовать в настоящий момент. Это важное замечание полностью используется динамическим программированием.
В первой части этой статьи мы сказали, что динамическое программирование является некоторой точкой зрения. В нашем обсуждении многошаговых процессов мы уже начали знакомить читателя с этой новой точкой зрения. Мы ввели понятие шага и состояния, поведения и решения. Мы обсудили, каким образом для некоторых важных процессов оптимальное решение в отдельно взятый момент времени зависит только от длины процесса и состоя-
ния системы). Прежде чем переходить к следующим параграфам, где будет дано математическое выражение высказанных выше идей, читатель должен уяснить разницу между общепринятым подходом и подходом динамического программирования. Обычные методы вычисления и линейное программирование описывают многошаговый процесс целиком, единым набором уравнений и находят оптимальное поведение при достаточных предположениях о существовании «хорошего поведения» с помощью стандартного алгоритма, который не использует свойства действительных физических процессов, лежащих в основе уравнений. Выполнение определенных упрощающих предположений приводит к очень эффективному алгоритму. В общем случае многошаговость содержит в себе серьезные «размерностные» трудности. Однако при изучении процессов именно в этих терминах многошаговости динамическое программирование достигло успехов при решении широкого класса задач поразительно различной математической и физической природы.
Принцип оптимальности
Принцип оптимальности устанавливает связь ^-шaгoвoгo процесса решения с ^N—1)-шаговым. Если мы находимся в определенном состоянии на некотором шаге и знаем, какой оптимальный доход можно получить при переходе из каждого состояния на данном шаге к следующему шагу, то, предполагая, что процесс так продолжается до его завершения, мы можем выбрать такое решение, которое дает одновременно максимальный непосредственный доход от данного шага и оптимальный доход от (N—1)-шагового процесса), начинающегося с некоторого нового состояния.
Принцип оптимальности просто констатирует, что это соображение действительно обеспечивает наибольшую прибыль. Беллману принадлежит следующая формулировка принципа оптимальности.
Оптимальное поведение обладает тем свойством, что, каковы бы ни были первоначальное состояние и решение в начальный момент, последующие решения должны составлять оптимальное поведение относительно состояния, получающегося в результате первого решения).
Если описание состояния достаточно полное, то оптимальное поведение, начинающееся с некоторого состояния, зависит только от этого состояния и не зависит от того, каким образом мы к нему при-
шли1). Для того чтобы можно было применять динамическое программирование, переменные, описывающие состояния, должны нести всю необходимую для выполнения такого разделения информацию. Кроме того, число переменных, описывающих состояние, не должно быть слишком большим.
Функциональные уравнения
Так как мы заметили, что оптимальный многошаговый процесс может быть охарактеризован начальным состоянием системы и длиной процесса, то обозначим через
f н{х) — полный доход в случае оптимального поведения от ^-шагового процесса, начинающегося в состоянии х. Обозначим также
Р — множество допустимых поведений;
Rn^x, р) — доход на первом шаге процесса длины N, начинающегося в состоянии х, при использовании решения р ^Р;
x\N, х, р) — новое состояние, к которому приводит решение р.
Тогда
fNW = max}^^, р) + fN_tVx\N, х, р^\.(1)
Р^Р
Это уравнение математически выражает высказанное выше утверждение. А именно полный доход от A-шагового процесса есть сумма дохода от первого шага и оптимального дохода от (А—1)- шагового процесса, причем решение р £ Р выбирается гак, чтобы эта сумма была максимальной.
Следует отметить, что для общности «одношаговый» доход R и новое состояние х* считаются функциями от временной переменной /V, управления р и переменного состояния х. Обычно такой доход и функции преобразования не зависят от длины N процесса.
1. Решение функционального уравнения
Здесь мы подходим к первому пункту, в котором пути всегда расходятся, но кто, интересно, найдет правильные пути и гладкую почву? Существует два основных подхода к решению описанного выше функционального уравнения или рекуррентного соотношения.
Первый, который мы будем называть «аппроксимацией в функциональном пространстве», включает в себя оптимальное решение все более удлиняющихся процессов, пока не будет найдено решение процесса нужной длины. Иллюстрации к этому приему будут при-
х) Это является вышеупомянутым марковским свойством. 4*
ведены в последующих параграфах и завершатся обсуждением недавно законченной программы для анализа задачи логического замещения.
Второй подход к численному решению использует «аппроксимацию в пространстве поведений». Идея этого подхода состоит в рассмотрении задачи с самого начала во всей ее полноте. Начальное приближение оптимального поведения последовательно улучшается до тех пор, пока не будет найдено оптимальное поведение. Примером этого общего метода служит симплекс-метод линейного программирования. Новый эффективный алгоритм этого типа, разработанный Рональдом Говардом, будет описан и проиллюстрирован ниже.
2. Пример
В порядке иллюстрации метода аппроксимации в функциональном пространстве мы сформулируем и решим очень простую задачу, связанную с многошаговым процессом решения. Мы покажем также, как можно решить почти без дополнительных усилий обобщенную задачу, которая включает стохастические и адаптивные элементы.
Предположим, что нам требуется найти путь между вертикальными линиями А и 6, такой, что сумма чисел вдоль этого пути минимальна1) (рис. 1). Это многошаговый процесс. Здесь три шага. Каждое решение имеет двойной результат. Оно определяет стоимость, равную числу на отрезке линии, и изменяет состояние — осуществляется переход к некоторой новой вершине.
Рис. 1.
Выбирая за начало отсчета нижнюю левую вершину и используя обычную прямоугольную систему координат, можно записать функциональное уравнение, соответствующее этой задаче.
х) Пример практического применения этой модели можно найти в работе [5].
Пусть
f(i,j) = Минимум суммы, соответствующей начальной точке 'Д,/) и оптимальному пути к линии В;
тогда по принципу оптимальности имеем
пп= min= minпЦ, j; i + L n^i, j; i + 1»пЦ, j; i + L n^i, j; i + 1»Н^т 1, /)"/-1) VKI + Lj-V) ГН^т 1, /)"/-1) VKI + Lj-V) Г(2)(2)
п
п
= min
= min
пЦ, j; i + L n^i, j; i + 1»
пЦ, j; i + L n^i, j; i + 1»
Н^т 1, /)"
/-1) VKI + Lj-V) Г
Н^т 1, /)"
/-1) VKI + Lj-V) Г
(2)
(2)
где n^i, j; k, l) равно числу, стоящему на отрезке прямой, соединяющей (i, /) и (Д /), и п^г, j; к, /) = оо для i, /, к или /<0. Последнее условие делает ненужным рассмотрение оси х как' специального случая, при котором невозможно решение двигаться вниз.
Мы видим, что /(3, /)=0, так как это есть линия В, а лучший путь от линии В к линии В имеет нулевую стоимость.
Как мы показали выше, метод решения состоит в нахождении решения сначала для одношагового процесса, потом для двухшагового и, наконец, для всего трехшагового процесса.
Зная ДЗ, /), легко вычислить, исходя из рекуррентного соотношения Д2, /) (/—О, 1,2):
Д2, 0) - min[6 + 0, co-V 0] = 6,
Д2, 1) = min[3 + 0, 8 + 0] = 3,
Д2, 2) = min[5 + 0, 7 + 0] = 5,
теперь, используя Д2, /), вычисляем Д1, j), исходя из того же самого рекуррентного соотношения:
Д1, 0) - min [6 + 6, аИ = 12,
Д1, 1) = min[6 4-3, 9 + 6] - 9,
Д1, 2) = min[l 4-5, 5 + 3] — 6.
Наконец, третье применение рекуррентного соотношения дает
ДО, 0) = min[3 4 12, со] = 15,
ДО, 1)-min [5 4-9, 1 + 12]- 13,
ДО, 2) - min [8 + 6, 3 + 9] - 12.
Мы можем теперь утверждать, что лучший путь начинается из точки (0, 2) и имеет стоимость 12. Если, вычислив функцию Д/, /) в некоторый момент, мы одновременно выделим направление луч-
шего отрезка, то получим сразу лучший путь. Рис. 2 иллюстрирует сказанное.
Сделаем некоторые замечания о проделанном численном решении задачи, которые имеют силу для всех вычислений этого типа в динамическом программировании.
Многошаговый процесс не может в общем случае трактоваться как последовательность одношаговых процессов, начинающаяся из того же самого состояния и оптимизирующая на каждом шаге одношаговый доход. Такой подход привел бы к выбору пути с началом (0,1), с начальной стоимостью 1 и полной стоимостью 13.
Вычисление дает решение для всех возможных начальных точек. Это полезно для точного анализа. Вышеприведенное свойство позволяет задачу о неопределенной конечной точке рассматривать так же механически и легко, как задачу о двух граничных точках.
Количество вычислений зависит линейно от числа шагов. Решение 12-шаговой задачи требует в точности в 4 раза больше времени, чем решение трехшаговой задачи. При решении многошаговых процессов в линейном программировании дополнительные шаги приводят к дополнительным уравнениям и переменным. При этом количество вычислений возрастает геометрически со временем: например, как rN при некотором r> 1 или по крайней мере нелинейно, как Л72 или N^.
Вычисления однотипны, так что необходима только одна вычислительная программа, позволяющая переходить от ^-шаговой к (й+1)-шаговой задаче. Эта программа повторяется тогда столько раз, сколько шагов.
Для вычисления Д+1(х) нужна только функция [к(х\ Поэтому требуемая память вычислительной машины зависит только от числа состояний и не зависит от числа шагов.
Тот же самый ответ был бы получен при движении вперед от линии Л, и тогда нашелся бы наилучший путь от линии В. На каж-
дом шаге мы могли бы задавать вопрос: «Какой путь до этой точки является наилучшим?» вместо «Какой наилучший путь из этой точки?»
Стохастический вариант
Для иллюстрации естественного пути обобщения метода «аппроксимации в функциональном пространстве» на стохастические задачи снова рассмотрим приведенный выше численный пример. При этом, однако, предположим, что в каждом состоянии вместо двух допустимых решений (вперед или вниз по диагонали) возможно несколько решений, но каждое решение определяет не направление, а только набор вероятностей для выбора различных направлений.
Это пример одного из нескольких типов стохастических задач, часто встречающихся в исследовании операций. Мы можем назвать эту задачу задачей вероятностного поведения, поскольку мы не можем с уверенностью принимать наши решения.
Другие типы стохастических задач суть те, в которых
непосредственный доход известен только статистически, но новое состояние определяется точно;
новое состояние случайно, но доход строго определен.
Во всех таких задачах первым этапом является выбор функции критерия. Обычно в качестве таковой принимается математическое ожидание дохода. В редких случаях приходится вводить более сложный критерий, например такой: «Максимизировать вероятность того, что доход превысит некоторую фиксированную величину».
Мы во всех случаях используем ожидаемое значение некоторой функции критерия. ’
Предположим, что в предыдущем численном примере переход в новое состояние задан стохастически, так что решения влияют только на вероятности различных переходов. Обозначим через рк вероятность движения по горизонтали при решении к и через 1—рк — вероятность движения по диагонали. Новое рекуррентное соотношение будет иметь вид
Ж /) = min{pft[n(i, j; i + 1, /) + /(i + 1, /)] + к
+ (1 — PkW^ji h 1 + L j— 1) + j\i + 1, / 1)]}» (3) где f(i, j) теперь означает минимум ожидаемой суммы, если начальная точка есть (i, /) и используется оптимальное поведение.
Вычисления при этом в точности такие же, как прежде. Сначала мы вычисляем /(3, /), потом /(2, /), Д1, /) и, наконец, /(0, /).
Наше оптимальное поведение имеет теперь несколько другую интерпретацию. Вместо наилучшего пути вычисление покажет нам, какую точку линии А нужно принять за начальную и какое ре-
шение выбрать1). После того как шаг пройден и новое состояние определилось как результат случая и нашего решения, мы выбираем из таблицы решений новое решение. Такой процесс полностью использует всю совокупность данных, порождаемых при вычислениях с помощью динамического программирования. Следует заметить, что этот процесс, как обсуждалось в замечании 6 разд. 4.2, можно осуществлять, двигаясь от линии Л.'
Адаптивные процессы
Мы переходим теперь к новой и интересной области применения динамического программирования — к адаптивным процессам. Под адаптивными процессами мы понимаем такие процессы, в которых объект, принимающий решения, заранее не знает полностью точные правила игры. Это означает, что сведения о процессе должны быть использованы, когда мы ими располагаем. Часто оптимальное поведение предполагает, что вначале выбирают решения, увеличивающие наши знания о ситуации, затем уточняют состояние системы и, наконец, действуют так, чтобы увеличивать соответствующий доход.
Заметим, что если в стохастической модели соответствующие функции распределения предполагаются заранее известными, то мы не рассматриваем эту задачу как адаптивную. Однако если функции распределения предполагаются имеющими частный вид, но параметры, такие, как средние и дисперсия, не известны, то мы имеем простой пример адаптивного процесса.
Для того чтобы эти замечания выразить в хорошо известном виде, рассмотрим задачу о наилучшем пути еще раз, с адаптивной точки зрения. Предположим, что решения приводят к случайному выбору пути. Пусть решение 1 влечет с вероятностью рх движение по горизонтали и с вероятностью 1—рг—движение по диагонали, и пусть аналогичные вероятности для решения 2 будут р^ и 1—р^. Предположим теперь, что рг и р2 вначале неизвестны. Сделаем важное дополнительное предположение, что применяется формула Лапласа—Байеса, которая предполагает, что если п выборов решения 1 дают в результате т горизонтальных движений, то соглашаются действовать так, как будто бы р1=(т+1)/(м+2) и аналогично для решения 2.
При этих предположениях мы можем решить задачу введением в описание состояния вероятностей переходов. Пусть
13,
*) Читатель легко мог бы сам убедиться, что если р^ -^и Р2"~4 (исключая самую нижнюю горизонталь, где возможно только движение вперед), то оптимальной начальной точкой является тогда (0,1) и ожидаемая стой- 471 мость при этом равна '"д^ "•
f(i, j, nv mv m^ — ожидаемая минимальная стоимость оптимального поведения с начальной точкой (/, /), где раньше решение 1 было выбрано пг раз и дало в результате тг горизонтальных движений, а решение 2 было выбрано i—пг раз и дало в результате т2 горизонтальных движений. *
Тогда
Ki, i; пъ mlt m^ =
( 'XX'X)^’ 1 + 11 ^ +
+ Ki + L j, ^i + L /^i + L /И2)] +
+ (1— X+4~)[n<z> i’ 10 +
+ Ki + 1, /■ — 1, «1 + 1. №1, m2)];
(^ТТз)1^1’
+ Ki + 1, j, «1, ^1,^2 + 1)1 +
i’ 1 v j-iH
+ fK + 1, j— 1, пъ тг, m^]
Задача решается в результате последовательного вычисления /(О, /, 0, 0, 0), минимизирования этой функции по начальным точкам j и использования в качестве начального решения такого решения, которое приводит к вычислению величины /(0, /, 0, 0, 0). Что бы ни случилось, мы придем в новое состояние при i=l, для которого оптимальное решение уже было определено.
Несмотря на то что объем задачи, измеряемый числом переменных, описывающих состояния, увеличился, первоначальная формализация осталась той же, что и раньше.
Дальнейшие исследования должны выявить лучший метод, указывающий, какая информация необходима и по каким правилам должны вычисляться оценки необходимых параметров1).
х) Дальнейшие замечания о стохастических и адаптивных задачах управления см. в [11].
Специальные методы. I. Множители Лагранжа
Большое количество ранее развитых специальных методов оказалось приложимым в определенных областях применения динамического программирования. Однако только два из них мы будем здесь обсуждать.
Как читатель уже знает, основным препятствием для широкого применения динамического программирования является длина вектора, описывающего состояния. Если для достаточно полного описания состояния необходимы 10 переменных и каждая переменная может принимать, например, 10 значений, то для решения задачи должна быть вычислена и сохранена последовательность из 1010=10 ООО 000 000 значений функций. Это превосходит возможности современных вычислительных машин. Поэтому при практическом подходе к задаче мы должны ограничиться задачами с двумя, тремя или четырьмя переменными, описывающими состояние, каждая из которых принимает 10 или 12 значений. Ясно, что исключение из задачи даже одной переменной состояния даст громадную экономию. Для этого вводятся множители Лагранжа, используемые в соединении с методами динамического программирования1).
Предположим, что нам требуется распределить недостаточное количество товара по предприятиям. Если мы рассмотрим эту задачу как многошаговый процесс, в котором мы распределяем товар во времени — пример того, как статическая задача искусственно делается динамической,— описание состояния на произвольном шаге должно, естественно, включать количество нераспределенного товара, имеющегося в распоряжении, так же как и любую другую информацию, необходимую для задачи. Однако, назначив «цену» использованию товара и включив эту цену в функцию критерия, можно контролировать количество распределенного товара без явного включения ограничений в формулировку. Задача тогда сводится к отыскиванию такой «цены», которая бы дала в результате оптимальное поведение, удовлетворяющее ограничению. Искусственная «цена», обычно обозначаемая X, приводит к классическим вычислениям множителей Лагранжа в задачах, включающих непрерывные изменения.
Недавно было продемонстрировано, что вычисление'Этой «цены» может быть проведено автоматически на электронных машинах.
*) Это замечательное вычислительное применение известного аналитического аппарата впервые было указано Беллманом в Proc. Nat. Acad. Set., 42 (1956), 767—769, и иллюстрировано числовыми примерами Дрейфусом в статье Dynamic Programming Solution of Allocation Problems, переданной в семинар по исследованию операций Иллинойсского технологического института в июне 1957 г.
Очень простая вариационная задача с ограничениями (для которой аналитическое решение было найдено Магнусом Гестенсом) была решена совершенно автоматически на IBM-704 буквально за несколько минут с использованием функциональных уравнений. Вся процедура целиком, включая согласование множителей с ограничениями, была выполнена без вмешательства человека. Ответы были проверены с точностью, какая только возможна в задаче, включающей дискретизацию непрерывных переменных.
Специальные методы. II. Последовательное уточнение
Итеративные методы динамического программирования являются примером мощных аналитических и вычислительных средств, называемых последовательными приближениями. Интересно, что в случае динамического программирования двукратное применение той же идеи приводит к поразительным результатам. Несмотря на то что эта концепция может быть применена несколькими способами, мы обсудим здесь только одно такое применение. Мы проиллюстрируем использование последовательного приближения решетками для получения наиболее точных результатов.
Предположим, что задаче распределения поставлена в соответствие функция
N—1
min [ X g^xt, х/+1)]
{ xi } /=1
п требуется найти множество чисел xv...,xnc точностью до шестого десятичного знака, минимизирующих эту функцию при условии 0<xz<l. Подобное требование недавно встретилось в задаче о структуре кристалла, изученной Дж. Каном и Р. Кикути.
Положив
№) = min [X g^x^ х/+1)],
Xi, x2,...,x^_lz=1J
получим рекуррентное соотношение
= min xk^ + fk-ikxb-iW(5)
Это уравнение показывает, что стоимость оптимального множества xb Z = 1, . .. , к, есть сумма стоимости оптимального множества xjs /~1, . . ., А—1, плюс стоимость слагаемого ^(х^, х^,)1). Величина хк_г выбирается так, чтобы эта сумма была минимальной. Заметим,
Э Здесь неточное выражение. Само g^(x^_i, х^) выступает в роли стоимости.— Прим. ред.
что попарный выбор xL делает любой одношаговый процесс неопти^ мальным1). ' 5
Если мы потребуем шесть знаков точности для xt, то мы должны будем создать таблицы приближений, имеющие 106 значений. Если, например, W=20, то мы должны будем вычислить 2ОХ1№ чисел, что является нелегкой задачей даже для современных вычислительных гигантов.
Предположим, что мы разбили интервал 0<л^<Д на 10 частей и определили оптимальное решение, использующее эту грубую решетку. Это потребует 10 вычислений на шаг, а в целом 20X10= =200 вычислений. Если не существует относительного экстремума, могущего ввести нас в заблуждение, мы получим ответ с точностью до ±10-1. Разбивая интервал x^ilO"1 на 10 частей, где хк есть оптимальный результат, полученный из первого вычисления, мы выполним на 200 вычислений больше и получим результат с точностью ±(2)(0,1)/10=0,02. Восемь последовательных вычислений дадут точность шесть знаков после запятой для стоимости после 8x200=1600 вычислений, что значительно меньше чем 20Х106.
Существует много комбинаций размеров решетки и последовательных приближений, которые дают точность в шесть знаков. Восемь итераций на 10 точек решетки не всегда наилучшая комбинация, она была использована, чтобы показать громадную возможную экономию. Оптимальный размер решетки для заданной точности легко определяется.
Как и в случае множителей Лагранжа, недавние эксперименты показывают, что полная последовательность вычислений может быть эффективно и быстро закончена на быстродействующих цифровых вычислительных машинах.
Естественно, метод последовательного приближения, такой, как описан выше, может теоретически привести к относительному экстремуму. Детальный математический анализ функций критерия позволяет обычно обнаружить возможность такой ситуации. Для большинства физических задач, таких, как задачи определения траектории, не существует значительного относительного экстремума, близкого к действительному оптимуму. Во всяком случае, этот метод полезен для улучшения предыдущих «лучших» результатов. Это часто является целью изучения исследования операции.
Задача логической замены
В качестве последнего упражнения в формулировке задач и как пример современных возможностей динамического программи-
0 В общем случае данное утверждение несправедливо. Это легко проверить на примере g(xk_b xk^=g^xk_^g^xkY g^>Q. — Прим. ped.
рования мы обсудим несколько детальнее формулировку и решение интересной задачи, включающей замену ненадежного оборудования. Задача была сформулирована и запрограммирована в корпорации РАНД (Д. Джоргансон, Р. Раднер, Н. Проджер, С. Дрейфус).
Интересно заметить следующее. Несмотря на то что задача кажется разрешимой методом стохастического программирования А. Манна и подходом Рональда Говарда к марковским процессам1), каждый из них приведет к наборам из нескольких тысяч уравнений.
Предположим, что машина состоит из N ненадежных компонент и что машина годна к употреблению, если работают все N компонент. Далее только при проверке можно определить состояние компоненты. Предположим далее, что составные части изнашиваются экспоненциально, т. е. что вероятность надежности деталей в течение последующего интервала времени после проверки есть постоянная р, не зависящая от времени. (Легкие предметы, например, кажутся удовлетворяющими этому свойству.) Повреждения деталей, замена или проверка подозрительной детали приводят к простою машины; длительность этого простоя называется «потерянным временем». Предположим, что детали не изнашиваются во время простоя. Мы будем искать такой способ замены деталей, который минимизирует итоговое предполагаемое время простоя.
В распоряжении ремонтного рабочего находится множество решений. Некоторые или все детали могут быть заменены, как только они становятся очень старыми и ненадежными. С точки зрения экономичности более выгодна одновременная замена нескольких деталей, чем выборная замена. Кроме того, стоимость проверки деталей на годность в нерабочее время относительно невысока, к тому же одновременная проверка более»эффективна, чем подетальная. В конечном итоге, если проверка обнаруживает одно или более повреждений, некоторые непроверенные детали могут быть заменены, так же как и известные плохие компоненты. Следовательно, образ действий при замене как функция от возраста детали с момента последней замены или проверки может иметь очень сложную структуру.
Эта задача, рассматриваемая как процесс динамического программирования, имеет столько же переменных, описывающих состояние, сколько компонент, и каждая такая переменная может принимать столько значений, сколько возможно возрастов компоненты. Под возрастом мы будем всегда понимать время с момента последней проверки или замены. Предположение об экспоненциальности закона старения делает эти два случая неразличимыми.
Существенная особенность задачи состоит в том, что замена или многократная проверка может вызвать задержку на некоторое время. Следовательно, новое состояние будет возникать не на следующем шаге, а на несколько шагов позднее. Это требует хранения х) Этот метод будет изложен ниже.
нескольких таблиц функций, но не увеличивает нужного для вычислений времени.
Кроме того, поскольку мы интересуемся длительным, по существу неограниченным процессом, оптимальный образ действия требует для каждого состояния таких действий, которые нс зависели бы от шага. Учет этого фактора гарантирует нам то, что общее время простоя даже для неограниченных процессов будет конечным.
Решение было получено путем последовательного вычисления рекуррентных соотношений, изображающих все более и более длинные процессы. Вычисления велись до тех пор, пока нс происходила стабилизация. Стабилизация была определена как отсутствие изменений в поведении для L итераций, и разница во времени простоя для двух очередных шагов не более г. Обычно L берется равным 10, а 8=0,001. С учетным фактором, равным 0,9, для «сходимости» было достаточно около 50 итераций. Задача была запрограммирована для случая 3 компонент. При максимальном возрасте компоненты 10 это дало таблицу из 1000 чисел. На самом деле допустима любая комбинация числа компонент и максимальных возрастов, для которой размер получающейся таблицы не более 1800. При отведении на проверку, а потом замену всех компонент до 13 единиц времени таблицы функции использовали 23 400 из 32 000 ячеек оперативной памяти IBM-704. Оставшиеся ячейки были заняты таблицей управлений и программой из 5000 команд.
Используемое фактически функциональное уравнение слишком сложно, чтобы его выписывать здесь полностью. Оно включает одно поведение, обозначаемое N («do nothing»)1), семь образов действия, включающих все возможные комбинации замен, и несравнимо более сложные решения, включающие проверку с последующей проверкой и заменой в зависимости от первоначальных результатов проверки. Самая большая возможная задача, включающая только замену, требует приблизительно 15 мин машинного времени. Со всеми возможными проверками эта же задача может потребовать около 3—4 час.
Для иллюстрации только что сказанного мы напишем начало рекуррентного соотношения для двух компонент в случае максимизации ожидаемого рабочего времени. /?ь R2) RA2l Сп С2, С]2 — суть время, требуемое на замену и проверку для двух частей (например, R12 означает время, необходимое для замены 1 и 2 части одновременно). Через pz мы обозначили вероятность того, что г-я компонента нс выйдет из строя один период. Число 0<а<1 есть учетный фактор. Обозначим через fn(i, D— ожидаемое рабочее время для /г-шагового процесса, если компонента 1 вначале имела возраст I и компонента 2 — возраст /.
9 «Ничего не делай».— Прим. ред.
L(i,D = maxL(i,D = maxN: P^-Y ctLJi + 1, /'+ 1)
L(i,D = max
L(i,D = max
Cf piacV„_C1(°'/)+ (1 — P^ci^ maxCf piacV„_C1(°'/)+ (1 — P^ci^ maxRv a^fn_R1(O,j) Rp a^fn-R^i,^ RTp. aR.V„-R12(O,O)
Cf piacV„_C1(°'/)
+ (1 — P^ci^ max
Cf piacV„_C1(°'/)
+ (1 — P^ci^ max
Ri: a^L-c^M
^12 : aR^n_Ci_RJO,O)
C, ; р/а^+^„_С1_с,_^(О,О)+
+ (1—p^ac^R^X
Xf n-Ct-C2-R12(0,0)
и т. д. для C2 и C12.
Читатель не должен удивляться тому, что v 7
такая простая задача в действительности так усложняется;
такая усложненная задача на самом деле решается.
Нужно учесть, что мы рассматриваем здесь многошаговую многокомпонентную многоуправляемую стохастическую задачу. Обычные задачи замены оборудования теперь легко и систематически решаются с помощью динамического программирования.
Марковские процессы
Приведенная выше задача, которая может быть охарактеризована как марковский процесс решения, служит хорошим введением в новый и важный метод, развитый Р. Говардом. Работа Говарда в особенности значительна тем, что осуществляет интересный синтез идей линейного и динамического программирования. Подобно симплекс-методу, метод Говарда включает в себя последовательное улучшение поведения и дохода. Следовательно, сходимость легко доказывается, когда решение оптимально. Цена, которую платят за эти прелести,— очень ограничительные предположения.
Линейность является существенным предположением, поэтому здесь в некотором смысле динамическое программирование приближается к линейному.
Прежде чем говорить о марковских процессах решения, особых типах последовательных процессов решения, нам необходимо выяснить. что мы подразумеваем под марковским процессом.
Рассмотрим систему, которая в любой момент времени находится в одном из состояний (число состояний конечно), которые мы занумеруем числами от 1 доЛ^(i = l,2,...,Af), и предположим, что в дискретные моменты времени /=0,1,... система переходит из одного из этих состояний в любое другое. Вместо предположения, что этот переход точно определен, допустим, что он стохастический и описывается матрицей перехода P = VPtjV где
ptJ-— вероятность того, что данная система, находясь в момент / в состоянии i, в момент /+1 будет в состоянии /.
Рассмотрим здесь важный случай, когда матрица перехода Р не зависит от времени. Это самый интересный случай.
Введем следующие функции:
х^г) — вероятность того, что система находится в момент / в состоянии i (1 = 1,2,...,^);
при этом / принимает значения 0,1,... . Элементарные правила теории вероятности дают тогда уравнения
N
(3)xt+l(j)SPiJxM и= 1-2,...Ж(7)
^(У) Су-
Теория марковских процессов посвящена изучению асимптотического поведения функций хД]) при t-^oo . Если все вероятности перехода р^ положительны, то не очень трудно показать, что эти функции сходятся при /->оо к величинам х^, которые удовлетворяют «стационарному» уравнению
N
х^-^рц х^ (/= 1, 2N).(8)
Что эти функции сходятся при /->со, возможно, не очень неожиданно, поскольку свойство перемешивания содержится в предположении, что все рц положительны. Что все-таки удивительно в этом случае, так это тот факт, что предельные величины не зави-~ сят от начального состояния системы, т. е. величин xQ^.
Марковские процессы реше*ния
Мы хотим теперь расширить понятие марковского процесса на более общие ситуации, в которых решение принимается на каждом шаге. Предположим, что на каждом шаге матрица переходов может быть выбрана из некоторого множества таких матриц, и обозначим матрицу, соответствующую решению q, через P(q)=Vpy(q)A.
Кроме того, предположим, что на каждом шаге изменяется не только состояние, но также и прибыль, которая является функцией начального и конечного состояний, а также решения.
Пусть R^q^Vr^q^ изображает матрицу прибыли, определенную таким же образом, как и P(q).
Процесс такого типа называется марковским процессом решения. Задача, которую мы хотим рассмотреть, заключается в выборе последовательности решений, которая будет максимизировать ожидаемый доход от jV-шагового процесса, если задано начальное состояние системы.
Пример—задача о такси
Прежде чем приступить к аналитическому исследованию задачи, рассмотрим, насколько естественна постановка таких задач. Для иллюстрации Говард предлагает упрощенный вариант работы таксомоторного парка.
Преимущество примера такого рода состоит в том, что он дает нам возможность выяснить конкретный смысл таких терминов, как «матрица переходов», «альтернативные решения» и т. д.
Предположим, что водитель такси имеет область действия, включающую три города. Если он находится в городе «1», у него три альтернативы:
Он может ездить без определенного маршрута в надежде посадить пассажира, когда тот его окликнет.
Он может направиться к ближайшей стоянке и ждать в очереди.
Он может стоять у тротуара и ждать вызова по радио.
В городе «3» у него тс же самые три возможности, нов городе «2» последняя альтернатива нс имеет места, поскольку там отсутствует система вызова по радио.
Для любого данного города и для любой данной альтернативы в этом городе существует вероятность, что следующая поездка будет в каждый из городов «1», «2» или «3». Известна прибыль от каждой такой поездки. Вероятности переходов и прибыли зависят от альтернативы, потому что с каждой альтернативой связаны различные клиенты.
Произвольно выбранные данные для задачи показаны в табл. 1.
Как пример интерпретации табл. 1 рассмотрим се предпоследнюю строку.
Из нее видно, что если водитель находится в городе «3» и решает ехать на стоянку, то с вероятностью Vs он посадит пассажира, который пожелает ехать в город «1» (прибыль=6), с вероятностью 3/4-~ ехать в город «2» (прибыль=4) и с вероятностью Vs— ехать внутри города «3» (прибыль=2).
Таблица 1
Состояние ■(город)
Альтернатива
Вероятность перехода
Прибыль
/=1
2
3
Z=1
2
3
1
1
1/2
1/4
1/4
10
4
8
2
1/16
3/4
3/16
8
2
4
3
1/4
1/8
5/8
4
6
4
2
1
1/2
0
1/2
14
0
18
2
1/16
7/8
1/16
8
16
8
3
1
1/4
1/4
1/2
10
2
8
2
1/8
3/4
1/8
6
4
2
3
3/4
1/16
3/16
4
0
8
В этой задаче у нас три состояния, т.е. /V=3. Существует три альтернативы в состояниях 1 и 3 и две в состоянии 2, т.е. п^З, п2^2, п^З. Имеется 3x2x3=18 возможных поведений.
Если водитель такси знает, что он может сделать п поездок в течение целого дня, то он сможет использовать приводимый ниже алгоритм для определения оптимального поведения путем последовательной аппроксимации в функциональном пространстве.
Однако если мы рассмотрим эту задачу как неограниченно продолжающийся процесс, то алгоритм «пространства поведений» Говарда, приводимый ниже, становится привлекательным.
После того как будут развиты методы решения, мы возвратимся к этой задаче и покажем ее численное решение.
Аналитическая формулировка
Используем теперь методы функциональных уравнений для получения аналитической формулировки задачи, описанной выше. Пусть для 1=1,2,..., N, и=0,1 ... .
(0—ожидаемая прибыль, получаемая при реализации n-шагового процесса, начинающегося в состоянии i и использующего оптимальное поведение.
Заметим, что п соответствует длине процесса, тогда как 1, использованное в предыдущих частях, обозначало время. Принцип оптимальности даст рекуррентные соотношения
N
/„ (г) = max ^p^W^q) + k-t (/))] G = h 2,-Л) (9) q /=1
для л=1,2,... , причем fQ(i) =0.
Оптимальное поведение предлагает вектор (дл(1), ?л(2),...,?л(Л^)), определяющий выбор, делаемый в z'-м состоянии, когда остается п шагов.
Можно строго вывести из этого уравнения, что для каждого процесса при п-ycc оптимальное поведение зависит от состояния и не зависит от шага. Это утверждение является основой метода Говарда.
Метод пространства поведений Говарда
Элементы метода итераций в пространстве поведений, применимые к неограниченным процессам и основанные на идеях, высказанных раньше, разработаны Рональдом Говардом. Мы обсудим этот метод, который даст оптимальное поведение для очень длинных процессов (т. е. «стационарного процесса»), где решения зависят только от состояния и нс зависят от шага. Кроме того, мы примем его систему обозначений, для того чтобы было легче разобраться в написанном им.
Обозначим через
V? — полный ожидаемый доход от реализации/t-шагового процесса, начинающегося в состоянии i и использующего фиксированное поведение.
Легко видеть, что V удовлетворяет рекуррентному соотношению
N
V^^p^-YV^.(Ю)
Следовательно, для больших п
V”l=vl-Yng,(И)
если все состояния принадлежат некоторой цепи. Это будет очевидно в том случае, когда все Pij>OY\ Данное уравнение утверждает, что доход в общем случае состоит из двух частей: стационарной части ng, определяемой поведением при п-^со , и случайной части uz, которая зависит только от начального состояния.
Подстановка предельного выражения (3) в соотношение (2) дает
N
и, + ng = HpyVy + У> + (п— 1)^].(12)
N
Так как по определению S р^ = 1, это соотношение упрощается и приводится к виду
N
g + и, = 5 рц(гц + уу) (i = 1, 2,...^)-(13)
Э Понятие цепи подробно обсуждалось в [101 и может быть также найдено в любом солидном руководстве по марковским цепям.
Операция определения значений:
Приведенная выше система состоит из N уравнений с ЛМ-1 не7 известными ut (г = 1,2,...,УУ) и g. Заметим, однако, что добавление* постоянных ко всем vt не изменяет уравнения. Это значит, что представляют интерес только относительные величины иь а не их абсолютные значения. Следовательно, можно взять ut произвольно и получить N уравнений с N неизвестными. Положив on=0 и решая эти уравнения, получим среднее значение дохода g и относительные величины иь соответствующие различным начальным состояниям, для фиксированного поведения.
Говард называет этот способ определения дохода и величин ^ для данного поведения операцией определения значений (ООЗ).
Метод улучшения поведения
Перейдем теперь к центральной проблеме. Пусть имеется некоторое поведение, т. е. выбор альтернатив для каждого состояния. Мы укажем, как оценивать это поведение. Может быть, его имеет смысл оценивать на основе той информации, которую мы получаем при отыскании лучшего поведения? Под «лучшим» мы здесь подразумеваем поведение, обеспечивающее больший ожидаемый доход.
Возвращаясь к системе уравнений (13), найдем оттуда g
Mg^PuM^W2,...,У).(14)
Вспомним, что рц и rtj зависят от частного поведения, которое мы выбрали для продолжения.,
Используя значения оь связанные со старым поведением, мы можем выбрать новое поведение так, чтобы правая часть (14) была максимальной. Обозначим его через к и выберем для каждого I такое к, которое максимизирует выражение
5 р^ (г^ + и^ — /=1
где р^ обозначает вероятности переходов, связанных с альтернативой к в состоянии I. Поскольку g и о1 определены для данного поведения, вышеприведенное правило для выработки нового поведения называется методом улучшения поведения (МУП).
Можно доказать, что это правило
при каждом его применении приводит к поведению с доходом, по крайней мере не меньшим, чем на предыдущем шаге;
приводит в конце концов к оптимальному поведению.
Доказательство данных утверждений сильно зависит от линейности этой простой модели. Однако не очевидно, что решение, определяемое доходом и величинами некоторого поведения, приведет к поведению с большим доходом.
Решение задачи о такси
Вернемся к задаче о такси и применим приведенное выше правило.
В качестве начального приближения выберем вектор
1
D -1
1
ХРц\ =ХРц\ ="2£ 2J_ 7"2£ 2J_ 7который обозначает, что во всех городах мы действуем согласно альтернативе 1. Это поведение максимизирует ожидаемый непосредственный доход. Для этого образа действия имеем матрицу вероятностей перехода
ХРц\ =
ХРц\ =
"2
£ 2
J_ 7
"2
£ 2
J_ 7
44
° 4
J1_
42
и вектор непосредственного дохода
N
Обозначим L р^г^ через qb так как ожидаемый доход зависит только от i. Выпишем уравнения для ^, положив у3=0:
g +— 8-|—— и2,
§+и2 = 16 + 4"yi>
^ = 7 + ^Vi + т и2.
Система имеет следующее решение:
V! = 1,33, у2 = 7,47, у3 = 0, g= 9,2.
Используя альтернативу «всегда двигаться», водитель в среднем будет получать 9,2 за поездку.
N
Обращаясь к МУП, мы вычислим величины qLk 4- 2 pktj и, /=1 для всех i и к;
iк11232123123iк11232123123^ + 1 /=110,50* 8,43 5,51 16,67 21,75*9,20 9,66* 6,75^ + 1 /=110,50* 8,43 5,51 16,67 21,75*9,20 9,66* 6,75PiiyjPiiyj
iк
11
2
3
21
2
31
2
3
iк
11
2
3
21
2
31
2
3
^ + 1 /=1
10,50* 8,43 5,51 16,67 21,75*
9,20 9,66* 6,75
^ + 1 /=1
10,50* 8,43 5,51 16,67 21,75*
9,20 9,66* 6,75
Piiyj
Piiyj
* Максимум. См. следующий параграф.
Мы видим, что для i=l число в правом столбце максимально, когда к=1. Для i=2 или 3 оно максимально, когда £-2. Другими словами, наше новое поведение есть
” 1 ~
О =О =2
О =
О =
2
Оказывается, что, если такси находится в городе 1, ему нужно все время ездить, если оно в городе 2 и 3, ему следует направляться на ближайшую стоянку.
Теперь имеем
1
1 1
2
44~ 8
1
71.
I/M =
16
816 ’^ =
1
31_ 4
8
48
Обращаясь к ООЗ, решим уравнения
5 + yi = 8 + — ух Н—— у2 + —— Уз>
244
g + у2 = 15 + 4- yj + -Гу2 + 4гуз»16816
g + Уз = 4 Ч — Ух Ч—~ у2 Ч ~ Уз-
При Уд = 0 получим
Ух = 3,88, у2 = 12,85, Уд = 0, £=13,15.
tк112321' 23123tк112321' 23123Заметим, что g увеличилось с 9,2 до 13,15, что и требовалось, так что такси в среднем заработает 13,15 за поездку. Применим МУП к этим величинам
tк
11
2
3
21
' 2
31
2
3
tк
11
2
3
21
' 2
31
2
3
<7? + 2 Р^ yji=x
9,27
12,14
4,91
14,06
26,00*
9,26
12,02*
2,37
-2-
Новым поведением является, таким образом, D =Новым поведением является, таким образом, D =2 , т. е.2 , т. е.22
Новым поведением является, таким образом, D =
Новым поведением является, таким образом, D =
2 , т. е.
2 , т. е.
2
2
такси должно ехать к ближайшей стоянке независимо от того,
в каком городе оно находится. Для этого поведения
VPuA =VPuA =11611618116116183161161831611618"2,75"2,75
VPuA =
VPuA =
1
16
1
16
1
8
1
16
1
16
1
8
3
16
1
16
1
8
3
16
1
16
1
8
"2,75
"2,75
Возвращаясь к ООЗ, решим уравнения
£ + У! = 2,75 + — У1 + — у2 + — и3, 16416
g + v2 — 15 + —- ^ + — v2 Н—— ^з, 16о16
g + v3 = 4 + У1 + -|- у2 + -Ь у3.848
При и3 = О
У1 = — 1,18, у2 = 12,66, у3 =0, g = 13,34.
Заметим, что произошло небольшое, но вполне определенное увеличение g с 13,15 до 13,34. Снова применяем МУП
/к
11
2
3
21
2
31
2
3
i=\ 10,57 12,16 5,53
15,41 26,00*
9,86 13,33*
5,40
Новое поведение есть D =
[2122
, но оно совпадает с предыдущим
поведением, так что процесс сощелся и g достигло своего максимума, равного 13,34. При этом водитель автомобиля должен всегда ехать к ближайшей стоянке в любом городе. Следуя этому образу действия, он будет в среднем за поездку получать прибыль 13,34, т.е. почти в полтора раза больше, чем при альтернативе «двигаться всегда», найденной при максимизации непосредственного дохода.
Схема работы алгоритмаСхема работы алгоритма
Схема работы алгоритма
Схема работы алгоритма
Заметим, что оптимальное поведение «всегда двигаться к стоянке» является наихудшим поведением в смысле непосредственного дохода. В последовательных процессах решения часто «журавль в небе» оказывается лучше «синицы в руках».
Более общая задача
В наших рассуждениях мы требовали до сих пор, чтобы существовал единственный связанный с задачей доход g. Это значит, что существует только одна цепь, и, какое бы поведение мы ни выбрали, из любого фиксированного состояния можно перейти в любое другое. В частности, этот факт заведомо имеет место, если предположена положительность всех ри.
Мы могли бы, однако, применить наш метод к более общему случаю, включающему несколько цепей. Вот пример матрицы перехода, имеющей это свойство:
7 Заказ № 563
fPyl =fPyl =2J2О2J2ОJ_222ОJ_222Оо оо ооо134417Т8оо134417Т8
fPyl =
fPyl =
2
J
2
О
2
J
2
О
J_
2
2
2
О
J_
2
2
2
О
о о
о о
оо
13
44
17
Т8
оо
13
44
17
Т8
Для данной матрицы, из того, что начальное состояние 1 или 2, следует, что мы не можем попасть в состояния Зи 4, и, наоборот, из 3 или 4 нельзя попасть в 1 и 2. Если мы имеем соответствующую матрицу дохода, то существует один окончательный средний доход, связанный с начальными состояниями 1 или 2, и другой— с состояниями 3 или 4. В общем случае это приводит к разделению дохода: gx— доход для цепи 1, g^— доход для цепи 2 и т.д. Сделав такое замечание, Говард переходит к более общему алгоритму, который мы схематически покажем ниже.
16.1. Общее решение
Используя рц и qt для данного поведения, решаем двойную систему уравнений
N
St = ^Pijgj, /=1
(15)
N
+ gi = qi+ 5 pijVj /=i
(16)
для всех nz и gt. Это решение будет включать столько произвольных констант, сколько существует независимых марковских цепей; эти кснстанты могут быть положены равными 0.
Для каждого состояния I определим альтернативу к, N k
которая максимизирует ^ рц g^ и примем ее за новое реше-
N к
ние в f-м состоянии. Если ^р^ gj та же самая для всех нх*
альтернатив, то решение должно быть выбрано на основании величин, а не доходов. Следовательно, если проверки величины дохода недостаточно, определяем альтернативу к, которая
N
максимизирует qf + 5 РУид и принимаем се за новое ре-
। шение в t-м состоянии.
I Независимо от того, основывается ли улучшение поведения | на доходах или величинах, если старое решение в t-м сос- j тоянии дает такой же высокий с точки зрения используемого количественного критерия результат, как любая другая альтернатива, то мы оставляем старое решение без изменения. Это правило обеспечивает сходимость в случае эквивалентных поведений.
Когда процедура будет проделана для всех состояний, будет определено новое поведение и получены новые матрицы VptJA и [t/J. Если новый образ действий совпадает с предыдущим, то вычислительный процесс заканчивается и найденный образ действия будет наилучшим.
Современные применения динамического программирования
Для того чтобы дать читателю представление об области применимости динамического программирования, мы кратко опишем некоторые задачи, которые решаются в настоящее время методами динамического программирования. Подробности решения задач могут быть найдены в приводимой литературе, которую по основным методам можно найти в [3] и [10]. -
Оптимальная траектория спутника. Установить управление тягой и режимом расходования топлива, при котором спутник будет выведен с максимальной горизонтальной составляющей скорости на орбиту, имеющую определенную высоту ([4]).
Подпрограмма, хранящаяся внутри цифровой машины. Программа, написанная для цифровой вычислительной машины, содержит много подпрограмм. Некоторые из них должны постоянно храниться во внешней памяти из-за ограниченного объема оперативной памяти. Длина каждой подпрограммы известна, так же как и время, необходимое для переноса подпрограммы из внешней памяти в оперативную в случае подпрограммы, хранящейся во внешней памяти. Известно также число имеющихся в распоряжении ячеек оперативной памяти. Какие подпрограммы нужно хранить в оперативной памяти, чтобы минимизировать суммарное время работы программы? ([8]).
Проблема марганца. Марганец может или импортироваться, или производиться внутри страны. Производство внутри страны потребует наращивания американских промышленных мощностей. Стоимость импорта, стоимость создания собственной промышленности и стоимость ее продукции зависят от международной политической ситуации. Пусть задан вероятностный политический прогноз. Каким путем лучше всего получать марганец? ([7]).
Оптимальное соотношение ступеней для ракет. Сколько и какого размера ступеней нужно для создания наиболее эффективных ракет? ([14]).
Оптимальное складирование и управление запасами. Найти схемы оптимального управления запасами и оптимального складирования оборудования для системы объектов при учете влияния- функционирования оборудования в различных местах ([9]). <
ЛИТЕРАТУРА
2.3.2.3.Bellman R., The Theory of Dynamic Programming, Bull. Amer. Math.^ Soc., 60 (1954), 503—515.'
2.
3.
2.
3.
Bellman R,, Equipment Replacement Policy, J. of SIAM, 3 (1955), 133—136.;
Bellman R., Dynamic Programming, Princeton University Press,J Princeion, N. J., 1957. (Русский перевод: Беллман P., Динамическое^
программирование, ИЛ, I960.)
Bellman R., D г e у f u s S., An Application of Dynamic Programming to the Determination of Optimal Satellite Trajectory Problems, J. British Interplanetary Soc., 17 (1959), 78—83.
CartainoT., Dreyfus S., Application of Dynamic Programming to the Airplane Minimum Time-to-Climb Problem, Aero Engr. Rev., 16 (1957), 74—77.
D г e у f u s S., A Generalized Equipment Replacement Study, J. of SIAM, 8 (1960), 425—435.
Econometric Analysis of the United States Manganese Problem, Econometric Research Program, RM3, Princeton University, Princeton, N. J., Oct. 1958.
Gromestein A. A., Sub Program Storage within a Digital Computer: A Cargo Loading Problem, Lincoln Laboratory Report 22G-0006, Aug. 1959.
HanssmannF., Optimal Inventory Location and Control in Production and Distribution Networks, Opns. Res., 7 (1959)„ 483—498.
0. Howar d R., Dynamic Programming and Markov Processes, Technology Press and Wiley, 1960.
К a 1 a b a R., Proceedings of the Symposium of Ordinary Differential Equations, Mexico City, Sept. 1959.
Riley V., G a s s S. L, Linear Programming and Associated Techniques, Operations Research Office, The Johns Hopkins University, Chavy Chase, Md., 1958.
S c h 1 a g e r K. J., Optimization of a Von Thueneu Model of the Firm by Dynamic Programming, Fifteenth National Meeting of the Operations Research Society, May 1959.
T e n D у к e R. P., Computation of Rocket Step Weights to Minimize Initial Gross Weight, Jet Propulsion, 28 (1958), 338—340.
ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ
НЕЛИНЕЙНЫМИ ПРОЦЕССАМИ1)
Е. Ли, Л. Маркус
Введение
В задаче оптимального управления мы задаемся системой обыкновенных дифференциальных уравнений
J^i = ру; х1, х2, .. х"; и1, ... ,ит) У = 1, 2. .. . , пр
которая является математической моделью некоторого физического процесса. Задача управления заключается в выборе таких вещественных функций uJ\t^ (/ = l,2,...,m) (управляющих переменных), определенных на интервале времени /о^^п чтобы решение х1^ изменялось определенным образом при ^"C^-i- Качество этого выбора измеряется с помощью некоторого критерия. Возможно, например, требование выбрать uJ* ^ Ц^А,...^ из некоторого определенного класса управлений так, чтобы точка xl (t) из заданного начального положения за кратчайшее время попадала в движущуюся определенным образом область G1^, или возможно требование выбрать uJ\t^ (/ = !,...,/?г) так, чтобы точка х1^Г) попадала в G1 У) за конечное время и чтобы энергия, затраченная на управление, была минимальной. Обычно критерием является значение некоторого функционала от управляющих переменных uJ* ^ (/ = 1,...,т) и от управляемых переменных х1^ {i = \,...,n\
Мы будем рассматривать задачу существования оптимального управления. Эта задача была решена для линейных дифференциальных уравнений [2, 3, 91 и для некоторых нелинейных уравнений [81, однако наша теория включает в себя эти прежние результаты. В разд. 1 теоремы 1 и 2 устанавливают такие условия, при которых из существования одного допустимого управления, решающего требуемую задачу, следует существование оптимального уп-; равления. В разд. 2 находятся допустимые управления, которые дают решение для различных видов систем дифференциальных урав-^ нений.«
т) Lee Е. В., Markus L., Optimal Control for Nonlinear Processes,^ Archive for Rational Mechanics and Analysis, 8 (1961), № 1, 36—58.j
СУЩЕСТВОВАНИЕ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ
Рассмотрим систему дифференциальных уравнений
— = Г V, X1, ... , х", и1, . .. , um) (i = 1, 2 , . .. , п),(1)
dt
где1)
/' (/, х1, ... , хл, и1, ... , um) = /‘ (/, х, к) вместе с
(i, & = 1, 2 , . .. , л) дхк
являются непрерывными вещественными функциями в R1xRnX^1 где Rn—вещественное /г-мерное числовое пространство, а ^—непустое компактное подмножество пространства R™.
Для каждого выбора измеримой при —оэ <^<^<^<00 век- тор-функции —значения которой лежат в QczR^,
система дифференциальных уравнений
^ = /^,х,к(/))(/=1,2, ... ,п)(1).(/)
при заданных начальных условиях х0=х(/0) имеет единственное абсолютно непрерывное решение х^, определенное на некотором подинтервале интервала /o^/'CG- Это является утверждением теоремы существования Каратеодори для систем дифференциальных уравнений [41. Заметим, что и(/) является измеримой тогда и только тогда, когда каждая компонента и1^,...^^ является вещественной измеримой (по Лебегу) функцией. Решение х(/) является непрерывным и имеет производную всюду, за исключением множества меры нуль, так что система (!)«(/) удовлетворяется почти всюду. Если конечный интервал /o^^i вырождается так, что /0=^1, то в этом случае решением является просто единственная точка ^(/0)о*
Определение. Управлением (или управляющей функцией) для системы (1) с заданным непустым компактным множеством QcR^ и с заданной начальной точкой х0 £ Rn называется измеримая вектор-функция и^1\ заданная на конечном интервале /о^/^ ^^j значения которойu(/)с:Q, и такая, что решение х(/) с начальными условиями x(/0)=x0 также определено в Rn для ^о^^г
Из этих управлений нас будут интересовать такие, при которых x(t^ выходя из заданной начальной точки х0=х(/0), попадает в заданную движущуюся область G(/). Для каждого t на заданном конечном интервале ^о^^Ч мы определяем непустое компактное множество G^aRn. Кроме того, G^ зависит от t непрерывно.
—п
’) В векторной форме х=Хх\. >хп) и |х|=21х‘*
(Здесь мы используем метрику Хаусдорфа для расстояния между двумя непустыми компактными подмножествами X и У из Rn, при которой расстоянием является наименьшее действительное число d=d(X, У), такое,‘что X лежит в d-окрестности У. а У лежит в d-окрестности X (см. [1]).) Если для каждого t область G(/) есть точка, то областью, в которую должно попасть x^ty будет непрерывная кривая. Если G(/) является постоянным компактным множеством, то мы имеем задачу о попадании в неподвижную область (см. [101).
Пусть дана вещественная непрерывная в R1xRnX Q функция ^(/д1,...,^, и1,...,^) и функционал
C(u)= J f°(t,x(f),u(f))dt
определен для каждого управления и(/) при /о^^Л и соответствующего решения x(tY Если /(/, х, г/) = 1, то C^Y'-Y—/0 и функционалом является время, в течение которого производится управление.
Определение. Дана задача управления:
xl=fYY х, й) (^1,2,...,/г),
Qc:/?^,
x0£Rn,
G ^RcR" при 'o^^Ti.
описанный выше функционал С(и).
Определим Д=А(/1(/, %, «),_.,/"(/, %, u), Q,x0,G^ как множество всех управлений «(/), определенных на различных интервалах /оС^-^о таких, что при t^/q^/^Tj
х &>) = х0 и х (t^ £ G (tTy
Управление м*(/) из Л называется оптимальным, если
С (и*) < С (и)
для каждого управления и(/) из А.
Теперь мы докажем основную теорему существования оптимального управления. Примеры, следующие за теоремой, показывают, что оптимальное управление не обязательно существует, если не выполнены условия теоремы 1.
Теорема 1. Пусть даны •'
система дифференциальных уравнений
т
х‘ = R^t, хх, . . , хп, и1, ... ит) = g'^t, х)Х%М/{,х) и’
(t = l ,...д\И где функции g\t,xy h^t, ху а также ^А*А ^k^{^x} (6=1,...,ft) непрерывны в RTxRn;
непустое выпуклое компактное замкнутое множество 2с: Rm;
начальная точка x0^Rn;
непрерывно изменяющееся на конечном интервале времени ^о<^<4 непустое компактное множество G(ty
функционал
С(ы) = J x^ty u^dt,
где /°(/, х, tz)=g°(/, х)+5 №Д1,хЩУ причем g4^ Д и КДУх) непрерывны в RxXRn.
Предположим, кроме того, что множество А управлений, переводящих систему из точки х0 в область G, таково, что:
А) А не пусто,
Б) существует такое положительное В<оо, что. |%(/)|<В равномерно для всех решений хДу соответствующих управлениям из А.
Тогда в А существует оптимальное управление.
Доказательство. Поскольку А непусто и соответствующие решения равномерно ограничены, то inf C(tz)=m>—оо для и £ А. Либо А является конечным множеством, и в этом случае теорема тривиальна, либо мы можем выбрать такую последовательность управлений u^fe\ty 1^<Д<Д^ из А, что С(и^) стремится к т, монотонно убывая. Выберем подпоследовательность (не меняя обозначений), такую, что
^ ^о и ^^ монотонно.
Разберем случай, когда
^ < Zo < ^ < ^ при 6 = 1, 2, 3 , ... .
Другие случаи рассмотрим позднее. Тогда каждая и<ДГ) ограничена и измерима на интервале /o^^^i* и принадлежит гильбертову пространству L2[/0* , // 1. Предположим, что t0* <tx* ; если zV = = /х*, то т=0 и Xq^G^/) и любое управление является оптимальным.
Замкнутая сфера в гильбертовом пространстве слабо компактна [5], и, следовательно, мы можем выбрать такую под- 6 Заказ № 563
последовательность u^Ht), что
u^\f) -> и^ слабо в £2Р* » ^ ]•
В дальнейшем мы покажем, что
и*^ при /* < / < /* принадлежит Д.
Компактное выпуклое множество 2 с Rrn является пересечением конечного или счетного числа замкнутых полупространств (см. [1]). Пусть
у1 + b > О
одно из таких замкнутых полупространств в Rm. Пусть М — подмножество [^ , ^ ], для которого и^ лежит в ^a^j1^
b <С 0.
Если М имеет положительную меру, то
J [V а, и* (tHb <pm(t)dt<o,
где срт — характеристическая функция множества М. Но
lim J ^u^tHbWtW = J [S at u\tWb^ <pm^ dt.
Это невозможно, так как каждый член левой части неотрицателен. Следовательно, М имеет меру нуль. Так как рассматривается только счетное число замкнутых полупространств, то и* ^ лежит в 2 почти для всех t^ Ио*, /г* ]. Переопределим и* (f) на соответствующем множестве меры нуль так, чтобы и* (^) лежала в 2 для всех ^ [/0* > ^i 1-
Рассмотрим теперь решение, соответствующее и* ^ при ^0*^ • Решением, соответствующим u^\f) при
является x^(f). Тогда (в векторной форме)
х(6)(0 = хэ + J [я (s, xw^ + h (s, x^Xs?) u{k\s)]ds.
Выберем следующую подпоследовательность управлений так, чтобы при к -> оо
x^Xt^xXf)слабо на [ ^ , t* ],
/44ft)(04Z(0 слабо на [/*,/* ], h^t, xw^ -> 1г (t) слабо на [/*,/*] , /г (/, xw(t)^ u{k}(t)~^^(t) слабо на 441 1
Тогда для каждого фиксированного / при t* ^/^ t*
lim ^W (О = ^о + lim J [^ (s> x№ ^ ) h (s> XW ^ /)^] ds +
0
4 lim ( [g (s, x(^\s)) 4- h^s, x(k\s)} u^ (s)] ds. k->co *
zo
Таким образом,
lim Xй ^ = x0 + | [/(s) y* (s)] ds.
fe-*co*
Следовательно,
lim xw ^ = x (0
существует для каждого фиксированного t. Кроме того, х^
абсолютно непрерывна на [/*,/*] и х ( /* ) = х0.
Используя теорему Лебега [6] о сходимости, получим
J х (s) ds x\s) ds,
ооV
о
о
так чтох (/) = х*^ почти для всех / из [ /* , Zj ] . Изменим *л
определение х U) так, чтобы х (/) в точности равнялось x^ty и покажем, что х (Z) является решением, соответствующим и*к^\ Р1так,
t
х W=xo +J™ J g(s, x^s)) + Л(«, xV^s}) u<^(s)j ds,
так что tt
x*(f) = x0 + J g (s, x* (s)) ds + lim J [ Ms, x(kXs)]MkXs)—
— h. (s, x*(s)) u^XsWh (s, V(s)) u^Xs)—h (s, x’(s)) u*(s) ++ h (s, x* (s)) и(s) ] ds.
Поскольку u^X^ принадлежит компактному множеству 2 и По теореме Егорова [6] h (s, x^Xs)) -> h^s, x\s)) почти равномерно, мы имеем
х\^ = х0А- j [g(s, x’(s)) yh^s, x*^ )«*($)] ds.
Следовательно, x* (t) при /* -^ / ^ /* является решением, соответствующим управлению и (/).
Далее,
х*-кХ /^ ) £ G ( /^ ) для каждого 6=1, 2, 3, ....
Таким образом,
/( < ) =hm VxW ( < M-xW (Aft) HxW ( ^ ) ] ^-*00
и
Если бы точка V ( /*) не принадлежала G ( /*), то нашлась бы такая окрестность N компактного множества G ( tx ) , что точка х*( ^*) не принадлежала бы замыканию N. Но G (/) с N при t, достаточно близких к t*x . Таким образом, x^^t^^N при больших к, а х^ /* ) не принадлежит N. Эти утверждения противоречивы и, следовательно, я*(/* ) £G (/*), а управлением*^) при /* ^С^^^* принадлежит Д.
Вычислим теперь значение функционала для u^Y Имеем
1пг
С(и^) = j Vs0^ АпПМ^- At)HWWt,
О и
lim С^и^ = С g° (/, x*(/))d/+lim f S (/, х^\^ uW1\t)dt;
k->ooJ*k->co ^ I=1
так же как и выше, находим, что
lim С [u(k}) = С (и ) = пг.
Следовательно, и* ^ при /0* ^^^* является оптимальным управлением.
Вернемся к предположению, что
/^ ^о’ ^ ~^ ^i монотонно.
Предположим, что соотношение
не выполняется, а вместо него, например, имеет место
И Ч Ч .
Другие случаи можно рассмотреть аналогичным образом. Доопределим каждое управление u^\t^ (по крайней мере для всех достаточно больших &) на интервале /0* <С/<^/, положив для
^^)(/) = ^0=const, и0^Й. Снова определим слабый предел в Q и* (/) = lim uw(^ при /*
Мы должны показать, что каждое решение
х^^О при ^<О<1\к>>
можно продолжить на интервал /о^^^С* , используя продолжение соответствующего управления. Тогда мы покажем, что при ^о* ^^С* u*^^L и является оптимальным управлением.
Легко видеть, что все компактные множества G(Z) при "0^^Ti лежат внутри некоторой сферы S(0, р) радиуса рис центром в начале координат. Таким образом, для достаточно малой разности (^i*—t^^ каждое х^^//^) лежит в S(0, р) и продолжение решения х^Чб на весь интервал M^^^i* лежит в S(0, 2р). Кроме того,
lim|xw(/W )-?*>( 0=0-
Так же как и раньше, получаем, что lim х^ (t) = x* (/)
для каждого / при ^0^ / ^ /*. Кроме того, х*(/) является абсолютно непрерывным решением, соответствующим управлению и^» и х*( /*) = х0.
Далее,
и
lim | х* ( /*) — х ( 1^ ) | = 0.
Таким образом,
/( < ) = lim /(t^ ) = lim [х<6) ( t^ VA t^ ^x\t^ ) ] £->ook-vco
или
/(/;) = lim xw(4A))-
^->00
Следовательно,
что и требовалось. Таким образом, и*(/) при ^^^^/* лежит в А.
Наконец,
1пг
С (uw ) = J [^ (л xw (0 ) н- 2 h°. (t. xw (/)) uw,\n ] dt /6)/=1
стремится к пределу m при k->w. Так же как и выше, найдем, что
limС ) = С (и ) = m
и, следовательно, и ^ при /q</</j является оптимальным управлением, что и требовалось доказать.
Замечания. Рассмотрим А (/0) — подмножество А, для которого управления и^ и соответствующие им решения х^ рассматриваются, начиная с фиксированного момента времени /0. Если А (/0) не пусто и если решения х^, соответствующие управлениям из А (/0), равномерно ограничены, то в А (/0) существует управление, являющееся оптимальным относительно A (Zo). То же имеет место для множества A(Z0, /^czA^q), для которого время управления является фиксированным интервалом /0^^G- Если система дифференциальных уравнений и подинтегральное выражение функционала не зависят от времени, то всякому управлению из А соответствует такое же решение, как некоторому управлению из А (т0) после соответствующего сдвига времени.
Если C(u)>m>—со для всех управлений и из А или A(Z0), то требуется только равномерная ограниченность \x(f)\<B для решений х(/), соответствующих управлениям ц(/), для которых С^ близко к т.
Достаточно также, чтобы f\R х, и) были определены и удовлетворяли условиям теоремы при ^^^ч, х 6 OaRn и и cz^czRm, где 0—открытое множество в Rn, содержащее начальную точку х0, движущуюся область G(Z) и имеющее компактное подмножество, внутри которого находятся все решения, соответствующие управлениям из А или из А(/о).'
Условие А) теоремы, как будет показано в следующем разделе, связано с областью управляемости данной системы. Условие Б) выполняется, если
|fZ(^ X, П) I < a (f = 1,2, . . . , 72) либо
■уу (/, х, и) < а (f, к = 1, 2, . . . , п)
в [т0, тДх/^Х^ при некотором вещественном а. Следовательно, Б) всегда выполняется, если g^t, х) и h^t, х^ являются линейными функциями ОТ Xt (f = l,...,/2).
Следующие примеры иллюстрируют случаи, при которых оптимальное управление или не существует, или не единственно.
Пример 1
х = sin 2 к и ; у = cos 2 it и ;2 = — 1 в R3.
Начальная точка — (0,0,1), область G(f) при 0^/<^/1<;2 — фиксированная точка (0, 0, 0). Замкнутое множество Q — интервал —1<д<3-Функционалом является С(й) = ^ ^-Vy^dt, и рассмат- о
ривается множество управлений Д(0).
Каждое управление и^ из Д (0) определено при 0^/<1. Рассмотрим такие управления u^(t^ для которых
sin 2 it и^\0 = sin 2 it kt,cos 2 it ц(^\/) = cos 2 it kt при k = 1, 2, 3, . . . .
Такие кусочно-непрерывные управления легко построить. Соответствующими решениями будут
х 1 — cos 2 и ktsxnZnkt
x (0 =—та:»w(/)-- 2,д ; Ло-1-f.
Таким образом, х^\1) = 0, У^Х^) = 0, 2(^\1)—0. Функционал для каждого и^Х^ вычисляется и равен
1
/ (Аг) \ С 1 — cos 2 и kt1
CU dt=-^^' о
Следовательно,
Нт С ( uw ) = 0
и т = 0 является нижней гранью С (и) при и £ Д(0). Однако при 0 <^ t ^ 1 не существует оптимального управления и* (/), для которого
С (u* ) = j (х*2 + t/*2) di = 0. о
Для такого оптимального управления и* (Z) необходимо, чтобы решение х* (/) = 0, </*(/) = 0. Отсюда следует, что sin2itu* (/) = 0 и cos 2 it и* (/) = 0
почти для всех t. Но это невозможно и, следовательно, для данной задачи оптимального управления не существует. Заметим, что система нелинейно зависит от и, но условия А) и Б) теоремы 1 выполняются.
Пример 2
х = иг, У = ^2,2 = — 1 в R3.
Начальная точка — (0, 0, 1), область G(/) при 0^/^/)<^2 — фиксированная точка (0, 0, 0). В качестве Q возьмем компактное, но не выпуклое множество точек окружности и2А~и2 = \ в R2. Снова возьмем С(й)= J ^Д-y^dt и рассмотрим управления Д (0). Ис- о
пользуя управления u^k>i =соз2тг^, z/2<^ = sin ^kt, й=1,2,..., найдем, что inf C(z/)=O для и£Д(0). Однако в Д(0) не существует оптимального управления, обращающего функционал в нуль.
Пример 3
х = 1, у = — хе^ и в R2.
Начальная точка — (—1,0), область G(/) при О^^гСЗ — фиксированная точка (1,0). Замкнутое множество Q— интервал 0^z/<^2. Функционал равен C(z/) = J (2 — y)dt= J (2 — у^ dx. Каждое управление в Д(0) определено при 0^/<^2 и дает решение x^^t — 1, y^ty
Всякое решение у^ удовлетворяет неравенствам
0 <: У (х) < — In х2 при х =/= 0 .
Каждое непрерывное решение, проходящее через точки (—1, 0) и (1, 0), на некотором интервале должно лежать ниже кривой у= In х2.
1
Таким образом, С^> J(2+ lnx2)dx=0 для любого управления
//(/)£ Д(0). Но для u(/)=ue =2— е при 0^^2 мы вычисляем решение x^t — 1 и
Г (%2 — 1)1
у^ =(2 _£) +
Значение функционала для такого управления из Д(0) есть 1
С f л Г (*2 ~ 1)
С (и) = J (2 + In I-—(2 — г) + 1 \\dx.
Таким образом,
Игл С( иА = 0 .
Следовательно, infC(z/)=m=0 для и(^^Ц0\ Значит, в Д(0) не существует оптимального управления. Заметим, что условие Б) теоремы не выполнено.
Пример 4
х ~ 1,^/ — — хи в /?2.
Начальная точка — (—1, 0), область G(/) при О^/^С^З — фиксированная точка (1,0). Замкнутое множество й— интервал — 1<w<1. Функционал С(й) = j jt—2 с^ Jtt4 • Каждое управление и^ из А(0) определено при 0^/-^2 и дает решение x<t^t—\, y(ty
Всякое решение у^ удовлетворяет неравенствам 1 — х^1 — х^
2 < У W < 2 При — 1 < * < 1 •
Управления u^t^-Vl и иД1^—1 являются оптимальными и минимизируют функционал. В данном случае в Д(0) оптимальное управление существует, так как условия теоремы 1 выполнены, но оно не единственно.
Мы закончим этот раздел теоремой существования для непрерывных управлений, удовлетворяющих условию Липшица, которая справедлива и в том случае, когда /(/, х, и^ является нелинейной вектор-функцией от и.
Теорема 2. Пусть даны
система дифференциальных уравнений
х1 = fl (t, х\ . . ., Хч, и\ . . . , ит^ (i = 1,2,. . . , /г),
где f\t,x,u} и ^М^х,и^непрерывны в
RxXRnX^,
непустое компактное замкнутое множество ^>ciRm^
начальная точка x^ciR^
непустое компактное множество G^t\ непрерывно зависящее от t на конечном интервале ^0^^Ti’
функционал
С (u) = J /° (/, х (/), и (/)) d/,о
где Р (t, х, и) непрерывна в RxxRnX^.
Для заданной положительной константы А рассмотрим класс A(Lip А) с А управлений и^, непрерывных и удовлетворяющих условию Липшица
| и ^ — и (t'} | < А | Z — f \
для всех пар Z, Т из некоторого подинтервала [Zo, 1ХА интервала [т0, тД. Предположим, что
A) A(Lip А) не пусто,
Б) существует такое положительное В< , что [%(/)] <В для всех решений х^, соответствующих управлениям из A (Lip А). Тогда существует оптимальное управление и ^ £ A (Lip А), т.е. (Ди* )^С(г/) для всех и^ £ A (Lip А).
Доказательство. Предположим, что множество
A (Lip А) бесконечно, и обозначим
miC(u) = m> — m для и (Z) £ A (Lip А).
Выберем из A (Lip А) последовательность управлений и^Д1^, t^^t^t^ так, чтобы (Ди^ монотонно убывало, стремясь к т при к, стремящемся к бесконечности. Выберем такую подпоследовательность (сохраняя для нее обозначение и^ДТ^, чтобы
^^0 И ^ Л МОНОТОННО.
Рассмотрим сначала случай, когда
исключая снова из рассмотрения тривиальный случай, когда Zo* = — Z/. Используя теорему Асколи [6], выберем такую подпоследовательность этих управлений, чтобы
и^^-> и^ при к -^ сс
равномерно на интервале Z0*^^G* и чтобы иД^ была непрерывной функцией, удовлетворяющей условию
I и* (Z) — и* {Т) \<A\t—tr\ при /0* </, tr <Ltp .
Мы должны показать, что при zV ^^G* функция и* (t) лежит в A (Lip Л). Значения и* (ficQ, так как 2 компактно.
Рассмотрим решения х^ (^ соответствующие управлениям и^ЧО при /^ <: / < /^ . В векторной записи
tt
х^ (/) — х^^Е) = J/ (s, xw (s), u^t^ ds— ^ / ^x^ (s), u^Xs^ds
ч)о
при t0 < t < tx и положительных целых k w‘p>k. Тогда l^^) — х^ЧгДс
f I / (s> ^(A u^s^ | ds + ^ 1 / (s, x^(s^ и^)) |ds +
tWдр)
0
//s, x^\s\ u^s, x^\s\ u^($))— / (s, xkP\s\($))— / (s, xkP\s\u^^s)} |ds.u^^s)} |ds.
/
/
s, x^\s\ u^
s, x^\s\ u^
($))— / (s, xkP\s\
($))— / (s, xkP\s\
u^^s)} |ds.
u^^s)} |ds.
Выберем k настолько большим, чтобы |/*—/^ и | /* — /^j были малыми и | ^^(Z)— и(р)(/)| равномерно мало при /q</< < tx . Воспользовавшись равномерной непрерывностью / (/, х, и) на интервале т0 < / < тр а также тем, что | х | < В, и ^ 2, получим
|? (^ — Х*-Р\^\<
+ ^ | / (s, x^^s), »(4>(s)) — / (s, x(6)(s), u(p)(s)) I ds +
+ J |/(s, xKk\s\ u(p\s))—/(s, x^^s-), u(p!(s)) |ds,
откуда следует, что
I /« т-х'ят к
x(p)(s) \dsx(p)(s) \ds< 4- + 4“ + f "^T^s,x ^’ w(₽>(s))l I xw (s) —
x(p)(s) \ds
x(p)(s) \ds
при сколь угодно малом г > 0. Запишем
Z (0 = I ?*’(/) — Х(Р)(/) | И | -|L (s, X (s), UkP4s^ | < a. Тогда
2(0
о
Из этого интегрального неравенства следует
Таким образом, согласно критерию сходимости Коши, xvk\t^ -^ х* (/) равномерно относительно q [ ^, /* ] и х* (/) непрерывна при /*</</*.
Далее,
хПЛ = х0 + J/ (s, xkk\s^ u{k\s)] ds + ^ f (s, x^^s), иП8^ ds
при /*</</*. Следовательно,
t
x* ^ = xQ-V ^ / (s, x* (s), a* (s)) ds,zo
и x* (/) является решением, соответствующим управлению и* (/) при t* < / < t* . Ясно, что х* ( I*) = х0.
Кроме того,
так чтоПосколькутак чтоПосколькуя*( q - lim ^( /;) = lim [ ^( /(^) - x^V tn + V^( t*x )], к-*спк-*со
так что
Поскольку
так что
Поскольку
х« Г / \ = limx<6>[ /«).
x^t\fe^G^,x^t\fe^G^,\1 / к-*оо \1/
x^t\fe^G^,
x^t\fe^G^,
то мы имеем
Таким образом, и* ^ при t* < / < t* принадлежит A (Lip Л). Более того,
C(u*) = ИтС^) =m
и u\t) при /0*<КС является оптимальным управлением из множества A (Lip Л).
Вернемся к предположению, что 1^ ->/0* и t^-^* монотонно. Предположим, что, например, имеет место 1^ <^0* и ^^ ^^*. Доопределим каждое управление u^(f) на всем интервале ^^^1*» ПОЛОЖИВ и^(^ = U^ (/(^ ) при /^^^/i*. Для больших & мы можем продолжить также и соответствующие решения х(^(0 на интервале 1^ <^^^*. С другой стороны,
и^(^ и* (/) равномерно на интервале to < t t\ ,
и • u*(t^ удовлетворяет условию Липшица с константой Л. Так же, как и выше, можно показать, что x^\t^x*(f} равномерно на интервале /0XKG* и что х*(/) является решением, соответствующим управлению u*(t\ Кроме того, х*(Ц*^хй и х*(1г*^0(1г*^ Таким образом, и*^ при /0*^^А* является оптимальным управлением в A (Lip Л), что и требовалось доказать.
Замечание. Замечания к теореме 1 здесь также имеют силу.
Следствие. Предположим, что условия теоремы 2 выполняются для каждой константы Липшица р=1, 2, 3, ..., и пусть u*p(f) пРи ^^ ^^^ оптимально в A(Lip Л). Предположим дополнительно, что
областью G^ при т^1^'гявляется фиксированная точка G;
для каждого $>0 существует при t^^t^t^ измеримое управление us (О из А, такое, что C(us}^m+s, где m=inf С(н) для и(^, и, кроме того, t^ <тх — г при некотором е>0, не зависящем, от s;
№<В<оо равномерно для всех решений x(t), соответствующих измеримым управлениям из А;
для каждого $>0 существует такая окрестность N точки G, что любую точку из N можно перевести в G посредством управления из С1 (на интервале времени, не превосходящем е, с начальной точкой t0<4—г), придающего функционалу значение, не превышающее s (это условие рассматривается в теореме 4). Тогда
limC(u*) = т = inf С (и) для и^^.
Доказательство. Ясно, что
с(“;)>с(";+.)' р=’.2.3
так что lim С (ир) существует и не меньше т. Но для заданного измеримого управления us(f) из А существуют управления из С°°, почти равномерно приближающиеся к us(f), так что соответствующее решение имеет предельную точку в N. Но тогда точку х0 можно перевести в G с помощью управления ид (О из A (Lip А) при некотором Л>0 и при этом значение функционала С(ид) будет сколь угодно близко к т. Следовательно, для р>А мы имеем
С (иА ) > С (ир^,
так что lim C(u*) = т, что и требовалось доказать.
2. ОБЛАСТЬ УПРАВЛЯЕМОСТИ
В этом разделе мы изучим характер условия А) теоремы 1. Для простоты рассмотрим задачу о переходе из некоторой начальной точки в некоторую фиксированную точку, например в начало координат. До сих пор мы считали, что множество 2 замкнуто, но в этом разделе мы дополнительно потребуем, чтобы нулевой вектор находился внутри 2.
Определение. Областью управляемости С для системы дифференциальных уравнений
х1 = Д (х1,. . ., хп, и1,. . . , и^ (t = 1,2,. . . , п)
при заданном замкнутом множестве 2с:Rт называется множество всех точек x0^Rn, для которых существует измеримое управление u^czQ, определенное на некотором конечном интервале времени и переводящее х0 в начало координат1).
Теорема 3. Рассмотрим систему
х1 = fl (х1, .. . , хп, и1,. . . , и"1") i = 1,. . ., и,
где f^x, и) ^С1 в RnXi2. Предположим, что вектор и^О является внутренней точкой замкнутого компактного множества ^оРт. Кроме того, предположим, что
Д(0, 0) = 0 (i - 1,...,п\
Если матрица Ц |^у (0,0) || имеет ранг п, то область управляемости С есть открытое связное подмножество пространства Rn, содержащее начало координат.
г) Эту область называют иногда областью управляемости в нуль.
Доказательство. Если начало координат пространства Rn является внутренней точкой С, то из общих соображений непрерывности С открыто и связно. По непрерывности в £2 существует такая окрестность N начала координат, что для всякого измеримого вектора u(f) из N при —1<7<U соответствующее решение х(/), принимающее значение хо=О при /=0, будет определено в Rn при —1</<1.
Пусть cp^t, и1,,..^) (/=!,...,/г) при —1<^<П есть решение данной системы дифференциальных уравнений при постоянном векторе (и1,...,^) из N и <pz (О, u)=0. Мы докажем, что || ^(^,0) || при некотором t0<0 имеет ранг п. Следовательно, дифференцируемое отображение
и х = ср (/0, и)
переводит окрестность точки uQ=0 в окрестность точки х0 =0. Тогда существует окрестность точки х0 =0, из которой можно перейти в начало координат за время —/0>0, и каждое требуемое при этом управление есть просто константа.
Итак,
Находим
п
4гкШ- 5т^.“>г7+гг^">-
01 \ ди1 )ох^ои) ои^
При «0 = 0 выписываем матрицу 2(0= И^-(ОО) II .
А. = ^(0,0)2 +/„ (0,0), 2(0) = о.
Отсюда
2(0 = [^ + 4г^ + ^^ + ---][//“]-
Для малого |/0|
гМ= И -|^-(/о, 0) II
имеет ранг п, поскольку/ц(0, 0) имеет ранг/г. Теорема доказана.
Следствие. Рассмотрим систему линейных дифференциальных уравнений с веилественными постоянными коэффициентами
пт
х’ = S^xfc + S В1. uj (i, k — !,...,»; / = 1 m).
Предположим, что начало координат Rm является внутренней точкой замкнутого компактного множества i2. Если матрица В имеет ранг п, то область управляемости С является открытым связным множеством в Rn, содержащим начало координат.
Более трудная задача возникает в случае, когда число степеней свободы управления меньше, чем число степеней свободы решения,, т.е. когда т<п. Этот случай рассматривается в следующей теореме.
Теорема 4. Рассмотрим систему
х1^р(х\..., хп, и\..., ит) (I = 1, 2,..., п),
где f^x, и^С1 в Rnх£2. Предположим, что вектор и^О является внутренней точкой замкнутого компактного множества ticzR™. Предположим также, что
д(о,о) = о (f = i,..., пу,
существует вектор v^Rm, такой, что Во не лежит ни в каком подпространстве пространства Rn размерности ^п — 1, инвариантном относительно А, где В = || “-(0,0) II ^ II ^ (®>®) II "" вещественные матрицы.
Тогда область управляемости С есть открытое связное подмножество пространства Rn, содержащее начало координат.
Доказательство. Рассмотрим окрестность Nczti начала координат в Rm и ^>0, такие, что для каждого измеримого вектора и^ при —Ч^^Ч и u^aN соответствующее решение х^ с начальным условием х(0)=0 определено при —Ч^^Ч-
Определим в N семейство управлений
u^t, ^ = иЦ^ Еп . . . , Е„) (/= 1, • • • , т)
при |/1<ч и Ц1<е для некоторого г>0. Возьмем
uv, е) = у[х(л у^ + х(л -^ +... + х(/, A) ^.
где у — вектор, упомянутый в условии 2),
11XV, /0= {011XV, /0= {0при \Ц<Л, при 111 > hпри \Ц<Л, при 111 > h
11
XV, /0= {0
11
XV, /0= {0
при \Ц<Л, при 111 > h
при \Ц<Л, при 111 > h
и tx—мало (0<|/1|<ч)- Кусочно-непрерывная функция X^t, h) выбрана для удобства, но легко использовать функции из С”, которые почти равномерно сходятся к Х(/,й) при каждом фиксированном h.
Заметим, что^(^, 0)=0 и, кроме того, функции иХ^’ "т) (^= Г ...,
дифференцируемы по t всюду, за исключением точек t=-~-
Пусть
X1 V» <1, • • • , ;„) = x^t, Е) (t = 1n)
есть решение, соответствующее управлению u(t, I), причем
хДО, Е) = 0 (i = 1, . . . , п).
Заметим, что хЦ£, 0) = 0, i — 1, . . . , п, так как /ДО, 0) = 0. Далее, х (/, ^) является непрерывной функцией от и + 1 переменных. Кроме того, для каждого фиксированного t преобразование
В -> х (/, £)
есть дифференцируемое преобразование окрестности начала координат в 7?” в Rn, отображающее начало координат Rn в начало координат Rn.
Если для некоторого фиксированного / < 0 матрица
°)°)(f, к — \ , . . . , п)(f, к — \ , . . . , п)
°)
°)
(f, к — \ , . . . , п)
(f, к — \ , . . . , п)
неособая, то область управляемости С есть открытое связное подмножество из Rn, содержащее начало координат, что и требуется доказать.
Далее, в векторной записи
tx(t, с) = J / (х (s, ;), u^s, ^ds,о
а поэтому
(Л 0) = J [л (S. ОНВ-^ (S, 0)] ds, о
или
г (t) = j [ Лг (s) + Ви^ (s, 0)] ds, о
dz
так что z (t} непрерывна вблизи / — 0. Кроме того, -^- существует всюду, за исключением точек t = -^-, k= 1, 2, . . . , п.
Заметим, что А-й столбец матрицы 2 (<) удовлетворяет уравнению
t
ZW^ = J [Лг(*) <$) + BUX (S* 4)] dS (^ = 1 ’ • • • ' А, о L
где индекс & (& = 1, 2, . . . , л) обозначает номер столбца. Таким образом, имеем
т=Л2(*)+ВуХ^ 4)«)
при z^ (0) = 0. Но эта система линейных дифференциальных уравнений имеет решение
t
г^ (/) = ем [ e~sA Bvx(s, А-) ds,
О
ИЛИ
Zw^ = e,A | e-sABvds.
0
Таким образом, для |/i|<(/)<4
ZO) ^ = etAZO) ^ = etABy,By,Bv,Bv,6t\t\
ZO) ^ = etA
ZO) ^ = etA
By,
By,
Bv,
Bv,
tj-Л + — Л2-Л3^
(^/2)8(^/2)8213!4!
(^/2)8
(^/2)8
zm^ = etA I — ^21Л +
(2) ' /[ 22!
z (/) = etA [ A, i(ZiZrOl^ + J^)3. Л2 — . . .1 Bv.
' L «2!31J
Докажем линейную независимость векторов (е-м)2х(/), . . .
. . . , (e-iA^2^t\
Определитель Вандермонда
/V2 VW■ . . (21/2)"
tjn (tjn)2. . . (.tjny
отличен от нуля, следовательно, достаточно доказать линейную независимость векторов
Ви + О^),
ЛВи + О^),
A*Bv + O(tJ,
А^Во + О^),
где ИшО(/1) = 0. Поскольку векторы Во, ABv, . . . , A^Bv ли- Ц-*0
нейно независимы, то и векторы 2Х(/), 22(/), . . . , 2П (/) линейно независимы, а матрица 2(/)— неособая, что и требовалось доказать.
Следствие. Рассмотрим систему
х1 = /'(х1, . . . , хп, и1, . . . , ит) (t = 1, . . . , /г),
где f(x, и^Сх в RnX Q и начало координат в Rm является внутренней точкой компактного множества Q. Предположим, что
/z(0, 0)=0 <1-\,...,п\
существует вектор u^Rm, такой, что Во не лежит ни в каком подпространстве пространства Rn размерности ^п—1, инвариантном относительно А.
Предположим .также, что система
х1 — р (х1, . . . , хп, 0, . . . , 0) (I = 1, . . . , п)
в целом асимптотически устойчива1) по отношению к началу координат в Rn. Тогда область управляемости С есть все пространство R\
Следствие. Рассмотрим уравнение х^ + ап^ (х, х\ . . . , х^-1)) х^-0 + . . .
. . . + а0(х, х\ . . . , Х^-1))X = и,
где коэффициенты а^х^х^,...^^ ^С1 в Rn и \и\ ^з для некоторого г>0. Запишем соответствующую систему первого порядка
$)
хп =о„-1 (-^р • • • , -^и) хп . . . а0 (хх, . . . , х^ хх + и.
!) См. работу [12].
Если система
Xj — Х^
xn = —an-i<xv . . . , х^Хп— . • • — a0^xv . . . , х„) xt
в целом асимптотически устойчива по отношению к началу координат, то для системы S) условия 1) и 2) теоремы автоматически удовлетворяются и область управляемости для S) есть все Rn.
Следствие. Рассмотрим систему
х1 = /Дх1, хп, и1,, ит) (t = 1, . . . , /l),
где f(x, и) £ С1 при x^Rn и и^ UaRm. П редположим, что для каждой точки х0 £ Rn существует внутренняя точка и(х0) £ U, такая, что
ГЦх0, и (х0)) = О (i= 1, . . . , п\,
существует такой вектор v^R^, что Во не лежит ни в каком подпространстве пространства Rn размерности -^п—1, инвариантном относительно А, где В= || ^- (х0, и(х0)) II и Л= II -^ (х0, и^х^ || —вещественные матрицы. Тогда для каж* дой пары точек хг и х^ из Rn существует кусочно-непрерывное управление u(t) ^U, k^t^, такое, что для соответствующего решения х^ имеет место x\t^=xx и x(t^=x2.
Доказательство. В доказательстве теоремы 4 мы отмечали, что существует окрестность начала координат, состоящая из точек, которые можно за конечное время перевести в начало координат с помощью кусочно-непрерывного управления. Кроме того, существует окрестность начала координат, состоящая из точек, в которые за конечное время можно перевести начало координат с помощью кусочно-непрерывного управления.
Эти же свойства сохраняются для каждой точки х из Rn после соответствующего преобразования как х, так и и.
Пусть теперь S — подмножество Rn, образованное точками, в которые можно за конечное время перевести хг с помощью кусочнонепрерывного управления. Ясно, что S одновременно является открытым и замкнутым множеством в R^. Следовательно, S=Rn и хг можно перевести в хй, что и требовалось доказать (см. [7]).
Замечания. В предыдущих следствиях условие асимптотической устойчивости системы х1=\\х\...,хп, и1,..., ит) при Щ=0 (j=l,...,m) можно заменить условием асимптотической устойчивости при не-
котором подходящем выборе функций uj=uj (х). Для частного выбора функций uj=uj (ху удовлетворяющих условию асимптотической устойчивости, рассмотрим функцию Ляпунова V(x)L>0,
V^^C1. Выберем z/^S, минимизирующее [ 2j "inTi4xi u)V Если этот минимум отрицательно определен при 0<|х|<оо для некоторой Е(х)>0, такой, что V(x^->co при |х|->оо, то область управляемости С есть все Rn.
Рассмотрим теперь область управляемости для некоторых дифференциальных уравнений второго порядка
х + / (х, х. и) = О, которые запишем на фазовой плоскости в виде системы первого порядка
х =
у = — Цх, у, и).
Теорема 5. Рассмотрим дифференциальное уравнение
* х 4- / (х, х, и^О,
где f(x, у, и) £ С1 для всех (х, у^ и н ^ 2, причем 2 есть компактный интервал, в котором нуль является внутренней точкой. Предположим, что
/(0, 0, 0) = 0,
f ^x, у, 0) > 0 и f^x. у, 0) > о,
/.(0, 0, 0)^0.
Тогда область управляемости С есть вся плоскость (х, у).
Доказательство. Система
х = у.
у = —Цх, у, 0)
имеет якобиан = fПоскольку собственные значения J
\ !х/у/
имеют отрицательные действительные части при всех (х, у), система
в целом асимптотически устойчива по отношению к началу координат (см. [12]). Однако решения не достигают начала координат
за конечное время.
ииДалее,Далее,(0,0,0)(0,0,0)11
и
и
Далее,
Далее,
(0,0,0)
(0,0,0)
1
1
Возьмем одномерный вектор у= 1. Тогда
\/ и\ I и I у /
линейно независимы. Следовательно, область управляемости в начало координат есть некоторое открытое множество. Поэтому С есть вся плоскость (х, у), что и требовалось доказать.
Следствие. Рассмотрим уравнение
X + / U) + g W = U,где / (у) и g (х) £ С1 для всех (х, у) и | и | <^ г для некоторогоs > 0. Предположим, что
f^ = g^ = O,
всюду f'(у) >0 и g'(x)>0.
Тогда область управляемости С есть вся плоскость (х, уУ
Перейдем теперь от случая асимптотической устойчивости, когда область управляемости С есть все пространство, к случаю условно-устойчивой седловой точки, при котором С есть полоса на плоскости.
Лемма 1. Рассмотрим уравнение
3) X + / (х) — g (х) = О,
где Ку\ gW ^С1; /(0)=g(0)=0; t'^>d, g'<x»0 для всех (х,у) из R8. Тогда семейство интегральных кривых уравнения 2)1) на фазовой плоскости (х, у=х) топологически эквивалентно семейству интегральных кривых линейного уравнения
х + х — х = 0.
Доказательство. Запишем уравнение S) на фазовой плоскости в виде
еУ) ! Г =
\ У = g^ — f (у).
Мы ищем гомеоморфное отображение R^ в себя, при котором интегральные кривые ^ (направленные, но нс параметризованные) отображаются на интегральные кривые системы
Система сУ) в начале координат имеет единственную особую точку. Уравнения в вариациях для сУ) вблизи начала координат таковы:
( X = у,
I У = £'(0) х — /'(0) у.
Эта система имеет действительные собственные значения противоположных знаков. Следовательно, сУ) и Ж) топологически эквивалентны вблизи начала координат.
Таким образом, <У) имеет в точности четыре интегральные кривые, имеющие начало координат своей предельной точкой и приближающиеся к этой точке с теми же направлениями, как и в случае системы J£), т. е. вблизи начала координат в каждом квадранте лежит одна такая интегральная кривая системы (У). Обозначим эти интегральные кривые номерами I, II, III, IV в соответствии с номерами квадрантов, в которых они приближаются к началу координат. Эти интегральные кривые должны быть сепаратрисами в смысле Маркуса [13], что будет показано в дальнейшем. Исследуя 5Р^ на каждой координатной оси, легко заметить, что каждая из кривых I,II, III, IV целиком лежит в соответствующем квадранте.
Вдоль I имеем, что
dx у
ограничено сверху на каждом компактном интервале оси х. Следовательно, I является графиком однозначной функции от х при х>0. Аналогичное рассуждение показывает, что III также является однозначной на отрицательной полуоси х. Каждая из сепаратрис II и IV однозначна на сегменте оси х и уходит в бесконечность, т.е. x^-Vif1-^^ на II и IV.
Рассмотрим интегральную кривую системы SPY лежащую в секторе плоскости, ограниченном сепаратрисами II и I. Здесь х=//>0- в первом квадранте и y<Q во втором. Таким образом, каждая ин-^ тегральная кривая в этом секторе должна пересекать границу nep*j вого квадранта и находиться в первом квадранте для.всех больших!
значений х, лежащих справа от такой точки пересечения. Следовательно, интегральные кривые в секторе между II и I линейно упорядочены (используется отношение включения для областей над кривыми) и образуют параллельное семейство, как описано Маркусом [131. Аналогичный анализ проводится и для сектора между III и IV.
В секторе, ограниченном IV и I, каждая интегральная кривая системы (^пересекает положительную часть оси х, которая в связи с этим служит трансверсалью кривых этого сектора. Аналогичный анализ проводится для сектора, ограниченного II и III.
Таким образом, только сепаратрисы системы ^) и интегральные кривые I, II, III и IV имеют особую точку в начале координат. Поэтому, согласно общей теории конфигураций сепаратрис [13], заключаем, что 9) гомеоморфно Ы\ что и требовалось доказать.
Замечание. Назовем интегральные кривые II и IV, входящие в особую точку системы 9) с отрицательным наклоном, главными сепаратрисами, а I и III—минорными сепаратрисами 9). Главные сепаратрисы (У) вместе с особой точкой в начале координат образуют топологический образ линии в 7?2, которая является однозначной кривой над всей осью у. Это же верно для минорных сепаратрис 9) над осью х.
Лемма 2. Рассмотрим две системы дифференциальных уравнений*.
Iх =
\у = g— f kyY
где f^y) и g±(^) g^ ± С± при положительных константах С а. принадлежат С1 в R\ Предположим, что K0)=g$)=0; f'(yY>0, g\x)>0 всюду в R2 и |^(х)|->со при |х| ->сю.
Тогда каждая из систем 9^) и 92) на фазовой плоскости (х, у =х) топологически эквивалентна системе
Главные сепаратрисы II ± и IV± вместе с особыми точками систем (5%) образуют топологические образы линий, разделяющих плоскость на две части. При каждой фиксированной ординате главная сепаратриса или особая точка системы 92) лежит справа от соответствующей главной сепаратрисы или особой точки системы 9+). Открытая полоса В между главными сепаратрисами и особыми точками систем 9^ и 92) гомеоморфна открытой полосе между параллельными прямыми на плоскости. Кроме того, каждая минор- 9 Заказ № 563
пая сепаратриса системы ^ ±) пересекает главные сепаратрисы 6Р^ самое большее в одной точке (рис. 1).
Доказательство. По лемме 1 топологическая конфигурация решений с^Д или с^Д такая же, как и у^). Ясно, что особая точка лежит справа от особой точки SP^ по оси х. По предыдущему замечанию главные сепаратрисы П_ и IV_ вместе с особой точкой SP21 образуют топологический образ линии, у которой координата х является однозначной функцией от у. То же справедливо и для системы ^Д.
Предположим, что П+ и П_ пересекаются. В самой правой точке пересечения наклон у П_ меньше, чем у П+, а это противоречит предположению о наличии пересечения. Аналогично IV+ и IV. также не пересекаются.
Поэтому открытая полоса В, ограниченная главными сепаратрисами и особыми точками систем ^Д и (УД, гомеоморфна открытой полосе между двумя параллельными прямыми на плоскости. Фактически этот гомеоморфизм можно распространить и на замкнутые полосы.
Далее, для минорной сепаратрисы, например 1+, имеем х>0и у>0. Следовательно, 1+ пересекает П_ точно в одной точке. Аналогично Ш_ пересекает IV+ точно в одной точке, что и требовалось , доказать.
Теорема 6. Рассмотрим уравнение'
^x-VfW — g^-u.j
где Ry), g)x) £ С1 при всех (х, у) из R2 ий есть конечный веществен- -1 ный интервал—С_^«-^С+, причем С+,С_>0. Предположим, л
что K^^g^^i Г(У^>0, g\x^>0 в R2 и |^(х)|->оо при |х|->оо. Тогда область управляемости С на фазовой плоскости (х, у=х^ есть в точности открытая топологическая полоса В, ограниченная главными сепаратрисами и особыми точками двух систем
6Р ) ^ == У*
" 'у = ± (С±) — f(,y\
Доказател ь с т в о. Рассмотрим в R2 открытый четырехугольник Q, ограниченный кривыми I+, IV+ и II_, НЕ. Начало координат 0 лежит в Q, и решение <§%), проходящее через 0, прежде чем оно попадет в 0, должно пройти через точку 0+ в Q, лежащую очень близко от Ш_.
Выберем теперь в Q начальную точку р. Проведем через р интегральную кривую системы SP^ почти до точки пересечения этой кривой с П_. Затем проведем интегральную кривую системы SP ^ вдоль границы Q до точки 0+. После этого перейдем на интегральную кривую ^+), которая проходит через точку 0.
Если р лежит в полосе В, но над четырехугольником Q, начнем двигаться по интегральной кривой системы^) почти до точки пересечения с IL. Затем перейдем на интегральную кривую системы SP_^ и будем следовать по ней до тех пор, пока не достигнем точки 0+. После этого следуем по интегральной кривой системы SP^ вплоть до точки 0.
Если р лежит в полосе В, но ниже четырехугольника Q, начнем двигаться по интегральной кривой системы с^_) почти до пересечения с IV+. Затем войдем по интегральной кривой системы <У^ в Q и поступим далее так, как и раньше.
Пусть теперь Z — точка в R2— В. Если Z лежит в полуплоскости у^>0 и справа от особой точки с$Е), то Z нельзя вывести из этого квадранта с помощью управления —С_<^и(/)<^С+ и, следовательно, Z нельзя перевести в 0. Пусть теперь Z лежит на интегральной кривой системы
х — у^
y = g-^ — f (у) + г (/),
где е(/)=и(/)+С_>-0 является измеримой функцией на некотором конечном интервале времени. Таким образом, если Z лежит в открытом секторе, ограниченном кривыми IL и L, то Z обязательно лежит выше некоторой интегральной кривой системы ^), и, следовательно, используя параллельную структуру семейства интегральных кривых в этом секторе, мы видим, что Z нельзя перевести
Если Z лежит в открытом секторе, ограниченном кривыми IV- и L, то Z обязательно входит в полуплоскость у >0 справ а от особой точки системы <9ф, каково бы ни было управление u^t). Поэтому если Z лежит справа от замкнутой полосы В, то Z нельзя перевести в начало координат 0 с помощью измеримого управления ^(0, где — С_<^(/)<С+.
Аналогичные рассуждения показывают, что если Z лежит слева от замкнутой полосы В, то эту точку нельзя перевести в начало координат 0.
По теореме 4 область управляемости С является открытым плоским множеством. Поэтому С=В, что и требовалось доказать.
Замечание. Каждую начальную точку из С=В можно перевести в начало координат 0, используя только решения системы <9^ и <9_\ Для любой точки из С необходимо сделать только два перехода от одной из этих систем к другой (несмотря на то что рассуждения в теореме используют в некоторых случаях три перехода).
В качестве последнего примера рассмотрим уравнение ван дер Поля
х + (л (х2 — 1) х И- х — 0
с положительной константой [л. На фазовой плоскости это будет система
х = у,
f/ = ^ (1 —х^у — х?
Начало координат есть единственная особая точка и является либо неустойчивым фокусом, либо узлом. Существует единственное периодическое решение 5И , которое является орбиталь- но асимптотически устойчивым и лежит между абсциссами х = = ±^ (об оценках dlL см. [14]).
Теорема 7. Рассмотрим систему дифференциальных уравнений
у = [Л [ 1 — (х — w)2] у — (х — и) , : при фиксированном [л > 0 и измеримом управлении и (/), опреде* ленном на конечном интервале и таком, что |w(0l^£ для не^ которого е > 0. Тогда область управляемости С в начало коор^ динат 0 есть все R2 всякий раз, когда
г> d /2. ^
Доказательство. Для каждой константы и, такой, что lzz|^s, соответствующая система 6Р^ имеет единственную особую точку 0,х, которая является неустойчивой, и единственное периодическое решение, которое орбитально асимптотически устойчиво и лежит между абсциссами x^u^dy..
Если постоянная и удовлетворяет условию \и\<^, то легко видеть, что Ор. принадлежит^. Если |^/|<б/р. и если С пересекает периодическое решение 5И , то C^R^.
Если, далее, £>^/2, мы можем выбрать постоянную и так, что |^|<е, и в то же время |2u|>dp.. Тогда С пересекает Su., и, следовательно, C R, что и требовалось доказать.
ЛИТЕРАТУРА1)
Alexandroff Р., Н о р f Н., Topology, Berlin, 1935.
Bellman R., Glicksberg L, G г о s s O., On the bang-bang control problem, Quart. J. Appt. Math., 14 (1956), 11 —18.
Болтянский В. Г., Гамкрелидзе Р. В., Понтрягин Л. С., Теория оптимальных процессов (1. Принцип максимума), Изв. АН СССР, сер. машем., 24 (1960), № 1, 3—42.
* Понтрягин Л. С., Болтянский В. Г., Гамкрелидзе Р. В., Мищенко Е. Ф., Математическая теория оптимальных процессов, Физматгиз, 1961.
Coddington Е. A., Levinson N. L., Theory of Ordinary Differential Equations, New York, 1956. (Русский перевод: Коддингтон Э. А., Левинсон Н., Теория обыкновенных дифференциальных уравнений, ИЛ, 1958.)
Dunford N., Schwartz J., Linear Operators, 1959. (Русский перевод: Данфорд Н., Шварц Дж., Линейные операторы, ИЛ, 1962.)
G г a v е s L. М., The Theory of Functions of Real Variables, New York, 1946.
Kalman R. E., On the general theory of control systems, International Federation of Automatic Control Congress, 4, 1960, 2020—2030.
Красовский H. H., Об одной задаче оптимального регулирования нелинейных систем, Прикладная математика и механика, 23 (1959), вып. 2, 209—229.
La Salle J. Р., Time optimal control systems, Proc. Nat. Acad. Set., 45 (1959), 573—577.
L e e E. B., Methods of Optimum Feedbach Control, University of Minnesota thesis, Minneapolis, Minnesota, 1960.
H. Markus L., L e e E. B., On the existence of optimal controls, Trans. AS ME J. of Basic Engineering, 84 (1962), 13—22.
Markus L., Yamabe H., Global stability criteria for differential systems, Osaca J. of Math., 1961.
M a r k u s L., Global structure of ordinary differential equations in the plane, Trans. Amer. Math. Soc., 76 (1954), № 1, 127—148.
Urabe M., Yanagiara H., Shinohara Y., Periodic solutions of van der PoPs equation with damping coefficient 2—10, J. of Science of Hiroshima University (1960).
Математическая лингвистика
ФОРМАЛЬНЫЕ СВОЙСТВА ГРАММАТИК )
Н. Хомский
Предлагаемая ниже теория лингвистической структуры, частично уже рассмотренная в предыдущей главе2), должна точно определять класс допустимых предложений, класс допустимых грамматик и класс допустимых структурных описаний, а также должна давать фиксированный и единообразный метод приписывания одного или нескольких структурных описаний каждому предложению, порождаемому грамматиками допустимого класса. В предыдущей главе нами были предложены две концепции лингвистической структуры — теория грамматик непосредственных составляющих и теория трансформационных грамматик, которые обе удовлетворяют этим минимальным требованиям. Было отмечено, что эмпирическая неадекватность теории грамматик непосредственных составляющих совершенно очевидна; поэтому не предпринималось никаких основательных попыток широкого применения ее к лингвистическим данным. Напротив, теория трансформационных грамматик (как о том свидетельствует все возрастающее число весьма существенных данных) может дать нам достаточно точную картину грамматической структуры языка (см. работу [12] и библиографические ссылки к ней)'.
Тем не менее имеются серьезные основания интенсивно продолжать изучение теории грамматик непосредственных составляющих. Как отмечено в предыдущей главе, эта теория вполне адекватно отражает некоторые важные аспекты грамматической структуры и, следовательно, в какой-то мере она, безусловно, является эмпирически мотивированной. Далее, это единственная хоть сколько-нибудь лингвистически значимая теория грамматики, которая настолько проста, что возможно изучение ее абстрактных свойств. По-видимому, углубленное изучение порождающих систем этого вида, так же как и описываемых ими языков, является необходимой предпосылкой любой попытки серьезно подойти к вопросам,
касающимся формальных свойств более богатых и гораздо более сложных систем, которые действительно позволяют надеяться достигнуть эмпирической адекватности в широком масштабе. В настоящее время это та самая область, где изучение математических моделей имеет наибольшие шансы оказаться плодотворным и дать значительное проникновение в лингвистическую структуру и лингвистические способности носителя языка.
В соответствии с терминологией предыдущей главы мы должны различать слабую порождающую способность теории лингвистической структуры (т. е. множество языков, перечисляемых грамматиками вида, определяемого этой теорией) и ее сильную порождающую способность (множество структурных описаний, перечисляемых допустимыми грамматиками). Здесь мы в основном ограничимся рассмотрением слабой порождающей способности по той простой причине, что за малым исключением это единственная область, где были получены существенные результаты математического характера. В конечном счете интерес, несомненно, представляет изучение сильной порождающей способности теорий, подтвержденных и проверенных опытом, а не изучение слабой порождающей способности теорий, ценность которых в лучшем случае предположительна.
Важно, чтобы технические детали математического исследования не заслонили основное назначение этих теорий — лингвистическую значимость и соответствие опытным данным. Мы хотим заполнить пробел между моделями, доступными математическому изучению, и моделями, подтвержденными опытными данными, но для этого прежде всего необходимо ясно отдавать себе отчет в существовании и характере этого пробела. Поэтому, в частности, было бы большой ошибкой предполагать, что богатство и сложность порождающих механизмов, допускаемых какой-либо теорией, может измеряться слабой порождающей способностью этой теории. Действительно, может оказаться, что корректная теория грамматик позволит порождать широкий класс языков, но весьма бедный класс систем структурных описаний; иначе говоря, она будет иметь высокую слабую порождающую способность, но низкую сильную порождающую способность. Поэтому иерархия теорий, описываемая в этой работе в терминах слабой порождающей способности, ни в коем случае не должна быть интерпретирована как дающая серьезную оценку богатства и сложности предлагаемых теорий.
Абстрактные автоматы
Отражение языковых способностей носителей языка
В самом начале предыдущей главы были поставлены проблемы построения моделей, представляющих а) различные аспекты языковых способностей человека, говорящего на каком-либо языке,
и б) различные аспекты его поведения при пользовании этими способностями. Вторая задача имеет дело с реальными действиями говорящего или слушающего — носителя данного языка; первая касается его знаний об этом языке. Психологам давно известно, что описание того, что делает организм, и описание того, что этот организм знает,— далеко не всегда одно и то же ([38], стр. 553; [75], стр. 364). Порождающая грамматика, приписывающая структурные описания бесконечному классу предложений, может рассматриваться как частичная теория того, что знает взрослый носитель языка. Она ни в коей мере не ставит себе целью описывать его реальные действия в качестве говорящего или слушающего. Тем не менее вряд ли можно надеяться разработать разумную теорию актуального речевого поведения иначе, как на основе серьезного и глубокого изучения того, что же знает о языке его носитель.
Порождающая грамматика содержит сведения о структуре предложения, в принципе присущие человеку, владеющему языком. Она показывает, как в идеальном случае, оставляя в стороне ограничения памяти, внимания и т.п., этот человек понимает какое-либо предложение (если допустить, что процессы, связанные с «пониманием», могут быть описаны в пределах синтаксиса). Действительно, такие предложения, как пример 11 из предыдущей главы, совершенно невозможно понять с первого прослушивания, но это не имеет никакого отношения к вопросу, порождаются ли эти предложения усвоенной грамматикой; точно так же неспособность человека умножить в уме 18 674 на 26 521 никак не означает, что он не владеет правилами умножения. В каждом из этих случаев искусственное увеличение памяти, времени, внимания и т. п. скорее всего приведет его к единственному правильному ответу. В обоих случаях имеются задачи, которые настолько превышают возможности памяти и внимания решающего субъекта, что правильный ответ никогда не будет достигнут, и в обоих случаях остается единственная возможность — предположить, что рекурсивные правила, позволяющие получить правильное решение, как-то представлены в мозгу решающего, несмотря на то, что (по совершенно посторонним причинам) это решение не может быть достигнуто никакими реальными действиями. .
В своей работе [57], которая заложила основы современного подхода к изучению языка и открыла новую эпоху в истории языкознания, Фердинанд де Соссюр проводит фундаментальное различие между тем, что он называет языком и речью (langue et parole). Первый есть грамматическая и семантическая система, содержащаяся в мозгу говорящего; вторая есть тот реальный акустический сигнал, который исходит из его органов речи и входит в его органы слуха. Соссюр выдвинул аналогию между языком и речью, с одной стороны, и некоторой симфонией и отдельным исполнением 8*
этой симфонии —с другой, и заметил, что ошибки или индивидуальные особенности отдельного исполнения ничего не говорят о подлинной сущности исполняемой симфонии. Язык, система, представленная в мозгу, является озновным объектом психологических и лингвистических исследований, хотя мы можем судить о его природе и свойствах лишь на основе изучения речи, и точно так же человек может построить для себя эту систему только путем наблюдений над образцами речи. Врожденная способность ребенка обучаться языку (faculte de langage) дает ему возможность почувствовать и развить лингвистическую систему (язык) с помощью разнообразных наблюдений над актуальным речевым поведением (речью). Изучение других аспектов языка может быть серьезно предпринято только на базе адекватных знаний о лингвистической интуиции говорящего, т. е. на базе описания его языка.
Этот общий подход лежит в основе нашей работы. Иногда он критикуется — если не отбрасывается —как «менталистский»1). Однако аргументы, выдвигаемые против основной концепции Соссюра, не представляются нам достаточно убедительными. В этой работе мы не можем вдаваться в специальное обсуждение, но, по-видимо- му, подобные «антименталистские» аргументы, если бы они были верны, могли бы быть выдвинуты точно так же против любой попытки построения теорий, объясняющих наблюдаемые явления. Они просто полностью отрицают науку как интеллектуально значимое явление. Отдельные «менталистские» теории могут быть бесполезны или бессодержательны (так же, впрочем, как и «бихевиористские» или «механистические» теории), но вовсе не потому, что они имеют дело с «менталистскими» понятиями, не ассоциированными ни с каким необходимым и достаточным операционным или «бихевиористским» критерием. Факты поведения (например, образцы речи, отдельные арифметические подсчеты) могут оказаться достаточными для доказательства правильности некоторой теории интеллектуальных способностей индивидуума (например, его языка, его врожденной способности обучаться языку, его знания арифметики); точно так же наблюдаемое изменение цвета лакмусовой бумажки подтверждает предположение о химической структуре вещества или показания измерительных приборов приводят нас к принятию или отбрасыванию какой-либо физической теории. В каждом из этих случаев основная сущность теории (т.е. врожденные
!) Автор противопоставляет здесь «менталистский» (mentalistic от mental— умственный, психический) подход «бихевиористскому» (behavioraj от behavior — поведение). Ср. с определением бихевиоризма в «Философско.й энциклопедии» (т. I, М., 1960, стр. 170): «Бихевиоризм — господствующее направление в американской психологии XX века, отрицающее сознание как предмет психологии и считающее таковым поведение, под которым понимаются телесные реакции на стимулы».— Прим, перев.
или приобретенные лингвистические знания, арифметические способности или знание арифметики, природа физического мира) не должна смешиваться с явлениями, свидетельствующими в ее пользу или против нее. Название «наука о поведении» так же подходит для общего обозначения психологии, как «наука об измерениях»— для физики.
* Мы отходим от строго соссюровской концепции в двух направлениях. Во-первых, мы совершенно не упоминаем о семантической стороне языка. Те немногие замечания, которые могут быть сделаны по этому вопросу, лежат за пределами настоящего обзора. Во-вторых, наша концепция языка отличается от соссюровской в следующем: мы считаем, что язык должен быть представлен как порождающий процесс, основанный на рекурсивных правилах. Соссюр, по-видимому, рассматривал язык в основном как хранилище знаков (слов, готовых предложений и т. п.) и их грамматических свойств, включая, возможно, некоторые «типы синтагм» (phrase types). Ввиду этого он не был в состоянии сколько-нибудь серьезно заниматься вопросами структуры предложения и был вынужден прийти к заключению, что формирование предложений есть в основном явление речи, а не языка, т. е. порождение скорее свободного творчества индивидуума, чем систематических правил. Этого по меньшей мере странного заключения можно избежать, только придя к пониманию того, что бесконечное множество элементов, отличающихся определенными типами внутренней структуры (таких, как, в частности, предложения естественного языка с их структурными описаниями), может быть охарактеризовано при помощи конечного рекурсивного порождающего процесса. Этот подход был почти неизвестен в то время, когда Соссюр читал свои лекции. Но если только сформулировать понятие языка в этих терминах, то сразу же появляется надежда включить в описание языка полное определение синтаксической структуры. Далее, даже существенно конечные разделы лингвистической теории, например фонология, получат теперь несколько другую формулировку, как мы коротко отметили в разд. 6 предыдущей главы. В связи с этим возникают также новые и важные вопросы семантического характера. Так, можно спросить, как носитель языка использует эти рекурсивные механизмы, определяющие предложения и их структурные описания, на различных уровнях языка для того, чтобы с их помощью понимать предъявленные ему предложения, строить новые необходимые ему предложения, использовать отклонения от нормативной грамматической структуры в целях экспрессии или стиля и т. д. [29]. Не выдерживает серьезной критики широко распространенная точка зрения, согласно которой наше владение языком заключается в знании фиксированного числа грамматических образцов, каждому из которых придано определенное значение, и множества знача-
щих единиц, которые можно в них подставлять, так что значение получившегося предложения просто некоторым образом составлено из значений его компонентов.
С этим видоизменением концепция Соссюра дает возможность исследования трех видов моделей, показанных на рис. 1.
Устройство А — это грамматика, порождающая предложения и их структурные описания, иначе говоря, А представляет лингвистическую интуицию говорящего, его знания о языке, его язык. Если мы хотим представить А в виде устройства со входом и выходом, то
Предложение е,структурное описание 5
Предложение sПредложение sСтруктурное описание SСтруктурное описание S
Предложение s
Предложение s
Структурное описание S
Структурное описание S
Лингвистические данныеЛингвистические данныеГрамматикаГрамматика
Лингвистические данные
Лингвистические данные
Грамматика
Грамматика
Рис. 1. Три типа психолингвистических моделей, основанныхна соссюровской концепции языка.
на вход могут подаваться натуральные числа и А может рассматриваться как устройство, перечисляющее (в некотором порядке, который сейчас для нас несуществен) бесконечное множество предложений с их структурными описаниями. Здесь будет использоваться как этот подход, так и вышеописанный взгляд на А как на теорию языка.
Устройство В представляет процесс восприятия, состоящий в определении структуры предложения. На входе имеется предложение s, воспринятое органами чувств, и слушатель, представленный моделью В, строит внутреннее представление — перцепт, которое мы называем структурным описанием s. Итак, устройство В представляет собой модель процесса понимания предложения, если (что вовсе нетривиально) свести этот процесс к определению его грамматической структуры.
Устройство С представляет способность обучаться языку, иначе говоря, врожденные способности, дающие возможность индивидууму построить для себя механизм типа А, используя знакомство на опыте с конечной совокупностью высказываний, а также, несомненно, информацию каких-то иных видов.
Устройство, обратное к В, могло бы считаться моделью говорящего; действительно, еще Соссюр предложил понимать говорящего как устройство, имеющее на входе последовательность понятий и выдающего на выходе физическое сообщение. Но это положение не выдерживает критики. При современном состоянии наших знаний задача представления говорящего моделью со входами и выходами, по-видимому, не может быть четко сформулирована.
Из трех только что описанных задач о построении моделей первая должна быть и логически первой. Устройство типа А появляется на выходе устройства типа С, т. е. является основным результатом процесса обучения. Можно также полагать, что наиболее перспективный подход к проблеме построения устройства С заключается в исследовании лингвистических универсалий, структурных свойств, общих для всех порождающих грамматик. Чтобы сделать возможным овладение языком, необходимы, по-видимому, какие-то начальные ограничения на класс возможных систем, к которым по предположению принадлежат наблюдаемые явления; организм должен быть заранее настроен на то, чтобы искать и идентифицировать определенные виды структурных закономерностей. Универсальные свойства грамматики дают возможность сделать некоторые предположения о том, какую форму могут принимать эти начальные ограничения. Далее, кажется очевидным, что каждая интересная реализация устройства В, достаточно естественная и не построенная полностью ad hoc, должна включать устройство А как основной компонент; иначе говоря, процесс восприятия должен естественно основываться на знаниях воспринимающего о структуре совокупности единиц, из которых построен воспринимаемый объект. Все эти соображения приводят нас к необходимости в первую очередь заняться изучением природы грамматик — устройств типа А, что и будет сделано в данной главе. Заметим еще раз, что логическая первичность языка (т.е. устройства Д) есть одно из основных положений Соссюра.
Основная цель теоретической лингвистики состоит в том, чтобы определить такие общие свойства устройств типов Д, В и С, которые окажутся эмпирически адекватными и смогут служить объяснительными теориями для различных частных случаев. Устройства В и С, моделирующие реальное поведение, должны непременно быть строго конечными, но Д, которое моделирует знания носителя языка, может порождать настолько сложный и «запутанный» комплекс объектов, что никакой строго конечный механизм не смог бы
распознать или воспроизвести все его элементы. Другими словами, мы не можем на основании того факта, что содержащиеся в мозгу правила грамматики конечны, заключить, что множество порождаемых грамматических структур должно иметь тот специальный вид, с которым может иметь дело строго конечный механизм. Действительно, если А есть грамматика естественного языка L, то очевидно, что не обязательно существует строго конечный механизм типа В, дающий на выходе правильное структурное описание тогда и только тогда, когда на вход было подано предложение языка L. В этом нет ничего удивительного или парадоксального; это не обязательно следует из бесконечности языка L, но скорее из определенных структурных свойств порождающего механизма А.
С этой точки зрения отдельные довольно важные положения лингвистической теории могут, по крайней мере в принципе, считаться входящими в общую теорию (абстрактных) автоматов. Эта достаточно широко разработанная теория (обзор современного состояния см. у Мак-Нотона [45]) пока не обратила на себя должного внимания в литературе по психологии и не очень доступна для большинства психологов. Поэтому мы считаем вполне уместным дать здесь обзор некоторых общеизвестных понятий и результатов (вместе с некоторыми новыми материалами) в качестве основы для более специального исследования механизмов для порождения предложений, приводимого в разд. 2—5.
Строго конечные автоматы
Простейшим видом автомата является строго конечный автомат. Мы можем описать его как механизм, состоящий из блока управления, считывающей головки и ленты. Блок управления содержит конечное число частей, которые могут быть установлены конечным числом различных способов. Каждая такая установка называется внутренним состоянием автомата. Лента разделена на клетки; можно считать, что она простирается неограниченно далеко как влево, так и вправо (т.е. что она бесконечна в обе стороны). Считывающая головка в каждый момент времени находится против одной определенной клетки на ленте и может распознавать символы aQ, а^...^^ составляющие конечный алфавит Л (я0 играет роль единичного элемента). Предполагается, что лента может двигаться только в одном направлении, скажем справа налево. Выделяется одно из состояний автомата, которое называется его начальным состоянием и обозначается So. Состояния автомата обозначаются So, ...,Sn <п>0\
Можно описать работу автомата следующим образом. Последовательность символов яр р ..., ярд (0<C₽i^O) из алфавита А. записана в подряд идущих клетках ленты, по одному символу в каждой клетке. Предполагается, что символ #, не принадлежащий алфа-
виту Л, занимает все клетки налево от а^ и все клетки направо от a^fe. Блок управления установлен в состоянии So. Считывающая головка установлена против клетки, содержащей символ а^ . Эта начальная конфигурация машины-ленты показана на рис. 2.
Рис. 2. Начальная конфигурация машины-ленты.
Блок управления работает так, что если он находится в некотором состоянии, а считывающая головка стоит против определенного символа/ то он переходит в новое состояние, в то время как лента продвигается на одну клетку влево. Так, на рис. 2 блок управления переходит в новое состояние Sz, в то время когда лента сдвигается так, что считывающая головка оказывается против клетки с символом ар2. Это вторая конфигурация машины-ленты. Машина продолжает работать таким образом до тех пор, пока она не будет блокирована (т.е. пока не появится такая конфигурация, для которой она не имеет дальнейшей команды) или пока она не возвратится в начальное состояние. В последнем случае, если считывающая головка окажется против клетки справа от tz^ (в этом случае, впрочем, машина будет блокирована, поскольку в этой клетке стоит символ # £ Л), мы говорим, что автомат допускает (или, что эквивалентно, порождает) цепочку ^^...tz^#. Множество цепочек, допускаемых автоматом, есть язык, допускаемый (порождаемый) этим автоматом.
Итак, поведение автомата описывается конечным множеством троек (f, /, k), O^i^D, &Q,k ^п, где тройка (z, /, к) интерпретируется как правило, говорящее, что если блок управления находится в состоянии Sy и считывающая головка стоит против символа аь то блок управления может перейти в состояние SA. Общая картина поведения автомата может быть представлена с помощью диаграммы состояний, состоящей из узлов, помеченных обозначениями, состояний, и ориентированных путей (стрелок), соединяю-
щих узлы; пути помечены символами из алфавита А. В этом графе узел, помеченный Sy, соединен стрелкой, помеченной аь с узлом, помеченным Sk, в том и только том случае, если (i, /, й) есть одна из троек, описывающих поведение автомата. Пример такого графа показан на рис. 3. (Когда мы интерпретируем такие системы как грамматики, тройки играют роль грамматических правил.) Таким образом, конечный автомат может быть представлен произвольным
«9
Р и с. 3. Граф для диаграммы состояний автомата. Поведение автомата описывается тройками (0,6,0), (1,0,1), (2,1,6), (3,2,1), (4,1,4), (5,1,4), (6,4,3),(7,4,5), (8,5,4), (9,5,5), (9,5,6). Состояние So является начальным и конечным состоянием: состояния S2 и S3 могли бы быть опущены (и обычно опускаются), так как они не играют никакой роли в порождении предложений.
конечным ориентированным графом, ребра которого помечены символами из А. Идя вдоль графа от50до первого возвращения в So по разрешенным путям, мы порождаем предложение #х#, где х— цепочка, состоящая из последовательных символов, помечающих стрелки, пройденные нами в этом пути.
Для наших целей несущественно представление автомата как источника, порождающего предложение символ за символом при движении от состояния к состоянию, или как читающего устройства,
переходящего из состояния в состояние, когда оно воспринимает каждый последовательный символ допускаемого им предложения. Это зависит просто от интерпретации обозначений. В любом из этих двух случаев для вышеописанных систем справедливо следующее определение предложения.
Определение 1. Цепочка символов х есть предложение, порождаемое конечным автоматом F, тогда и только тогда, когда существует последовательность символов ^х,..., а$г) в алфавите автомата F и последовательность состояний (ST1,..., Sir+i) автомата F, такая, что: 1) n^Tr+i =0; 2) yf ^0 для 1</<г+1; 3)(PZ, Ъ T*+i) является правилом F для каждого i (1^Л</); 4) х=^а^... а^г #.
Любое множество предложений, порождаемое конечным автоматом, будем называть регулярным языком. Термин, более принятый в литературе для этих множеств,— это регулярные события (см. работы [30, 531; эквивалентность различных формулировок была доказана в работах [5, 141).
Заметим, что механизм М движется влево при каждом переходе из состояния в состояние, что единичный символ я0 может занимать клетку на ленте и что команда (t, /, &) применима к М тогда и только тогда, когда он находится в состоянии Sj и читает символ ак Эквивалентно можно было бы условиться, что а0 не может занимать клетку на ленте, что команда (I, j, &) применима, когда М находится в состоянии Sy и когда либо / = 0, либо М читает символ аь и что лента движется влево только тогда, когда применяется команда (t, /, А), где f=AO. В этом случае команда (0, /, й) может быть истолкована как позволяющая переход из Sy в Sk независимо от входного символа и без движения влево входной ленты. Отметим, что при такой формулировке механизм М будет блокирован, только если он находится в состоянии Sy и наблюдает символ аь для которых он не имеет команды (i, j, й), и если он, кроме того, не имеет команды (0, j, k\
Приводя предложения, порожденные этими или другими видами автоматов, мы обычно будем опускать граничный символ #.
Два конечных автомата эквивалентны, если они порождают один и тот же язык. Автомат называется детерминированным, если не существует двух команд (/, /, К) и (t, j, Г), где k+l, и не существует команды (0, /, kY где кфО (т.е. пустой переход возможен только при возвращении в So). Состояние детерминированного автомата однозначно определяется (за исключением возможного возврата в So) цепочкой символов, воспринятой им на входе, и состоянием, с которого он начал свою работу. Имеется много результатов, относящихся к этим автоматам. Приведем без доказательства две теоремы, которые понадобятся нам в дальнейшем [13, 53].
Теорема!. По заданным конечным автоматам Рг, F^ можно построить конечные автоматы Gv, G^ G3, такие, что GT есть детерминированный автомат, эквивалентный Рг, G^ допускает те и только те цепочки, которые отбрасывает (т. е. не допускает) Рх, a G3 допускает в точности те цепочки, которые допускает Рг илиР2.
Следовательно, множество всех регулярных языков в заданном алфавите Л образует булеву алгебру. Заметим к случаю, что для детерминированных автоматов можно было бы вообще избежать появления «пустого» перехода, переформулировав «допустимость цепочки х» в терминах прихода устройства в одно из множества выделенных конечных состояний вместо возвращения в начальное состояние. Эти два определения остаются эквивалентными, если только допустить любое число конечных состояний.
. Самый важный результат, касающийся регулярных языков,— это теорема Клини о структурной характеризации [301. Эта теорема утверждает, что все (и только) регулярные языки могут быть получены из конечных языков с помощью нескольких простых теоретико-множественных операций. Теорема, таким образом, дает простой и естественный способ представления любого регулярного языка [13, 461.
Приведем эту теорему в несколько отличной формулировке.
Для заданного алфавита А определим рекурсивно понятие представляющего выражения следующим образом.
Определение 2. 1) Каждая конечная цепочка в алфавите А есть представляющее выражение. 2) Если Хг и Х2— представляющие выражения, то ХхХ2— представляющее выражение. 3) Если Хь где 1^ i^n, суть представляющие выражения, тогда и (ХЪ...,Х^*— представляющее выражение.
Это определение задает нам 1) некоторые представляющие выражения, соответствующие цепочкам в Л, и позволяет нам образовывать другие представляющие выражения путем 2) соединения их друг с другом и 3) разделения их запятой и заключения в скобки, помеченные звездочкой.
Теперь мы должны сказать, что же именно представляют эти представляющие выражения.
Определение 3. 1) Конечная цепочка в А представляет самое себя (точнее, единичный класс, содержании! только эту цепочку). 2) Если Хг представляет множество цепочек Еь а Х2— множество цепочек Е2, то ХуХ^ представляет множество всевозможных цепочек вида VW, где V££p a W £ Е2. 3) Если Xt, Y^i^n, представляют множества цепочек Lb то (Х^-.^Х^* представляет множество всех цепочек Vp-.V^, таких, что для каждого \<ф<Дп существует k (Y^k^n), такое, что V,^^к.
Заметим, что, согласно условию 3, представляющее выражение (Х^.-Д^* задает не порядок, в котором встречаются элементы Vp но только п множеств, из которых они выбраны. Разобраться в смысле определения 3 лучше всего можно, рассмотрев диаграммы
Рис. 4. Примеры использования представляющих выражений.Слева — представляющие выражения, справа — диаграммы состояний.Рис. 4. Примеры использования представляющих выражений.Слева — представляющие выражения, справа — диаграммы состояний.аа}
Рис. 4. Примеры использования представляющих выражений.
Слева — представляющие выражения, справа — диаграммы состояний.
Рис. 4. Примеры использования представляющих выражений.
Слева — представляющие выражения, справа — диаграммы состояний.
состояний или части диаграмм состояний, порождающие представляемые множества цепочек. На рис. 4 случаи бив иллюстрируют образование соединения и операции «звездочка» (т.е. образо-
вание выражения ^Хх,...,Х^*. Случай г показывает сочетание этих операций. Автомат порождает аха3, ата2а3, a^a^... . Случай д показывает еще более сложный элемент и т.д.
Теперь уже может быть сформулирована следующая теорема.
Теорема 2. Язык L является регулярным языком тогда и только тогда, когда существуют такие представляющие выражения Хь где \^.i^n, что L есть объединение множеств Lb представленных соответственно выражениями Xlv..,Xn [13].
Доказательство теоремы основано на том, что для любой диаграммы состояний автомата F можно построить эквивалентную ей диаграмму состояний, представляющую собой сочетание элементов, таких, как на рис. 4; из этой новой диаграммы непосредственно может быть получено представляющее выражение для языка автомата F. Разумеется, в общем случае при этом получается недетерминированный автомат.
Специальный интересный класс конечных автоматов состоит из автоматов, обладающих тем свойством, что состояние автомата однозначно определяется последними к символами входного предложения. Автомат, для которого существует такое фиксированное к, называется к-ограниченным автоматом, а язык, который он порождает,— к-ограниченным языком.
Допустим, что М есть ^-ограниченный автомат со словарем V, состоящим из D символов. Можно задать его поведение матрицей D^xD, в которой каждый столбец соответствует элементу W £ V, а каждая строка — цепочке ср длины к, состоящей из элементов V. Соответствующий элемент матрицы будет равен нулю или единице в зависимости от того, допускает ли автомат элемент W, если он уже допустил цепочку у. Каждая такая цепочка у определяет состояние автомата.
Это понятие (^-ограниченного автомата) известно в лингвистике в несколько модифицированном виде. Предположим, что элементами определяющей матрицы являются числа между нулем и единицей и каждый элемент представляет собой частоту, с которой в некотором тексте встречается слово, соответствующее заданному столбцу матрицы, при условии что перед этим встретились к слов, определяющие заданную строку матрицы. Эта матрица интерпретируется как описание вероятностного ^-ограниченного автомата, порождающего цепочки в соответствии с заданным множеством вероятностей перехода, т.е. если автомат находится в состоянии, определенном f-й строкой матрицы, что соответствует порожденной последовательности символов Wlv..Wlk , то элемент, стоящий в клетке (/, /), дает вероятность того, что следующее порождаемое слово будет Wj. После того как порождено слово Wj, автомат переходит в состояние, определяемое цепочкой WV-.Wlk Wj. При £>1 такое
устройство порождает так называемое приближение (&4-1)-го порядка к тому тексту, из которого были взяты вероятности (см. работы [72, 43]). Мы еще вернемся к этому понятию в разд. 1.2 следующей главы1).
Р и с. 5. Конечный автомат, не являющийся ^-ограниченным ни при каком к.
Очевидно, не каждый конечный автомат ^-ограничен. Например, автомат с тремя состояниями, схема которого показана на рис. 5, не является ^-ограниченным ни для какого к. Однако для каждого регулярного языка L существует 1-ограниченный язык L* и гомоморфизм /, такой, что L=f(L*) [61 ]. Действительно, пусть L допускается детерминированным автоматом М, в котором нет правила (i, /, 0) при г=^=0 (ясно, что такой М всегда существует). Пусть М* имеет входной алфавит, состоящий из символов (ab Sj), и внутренние состояния \ab Sy ], где сц есть символ из алфавита М, a Sy есть состояние М, при этом [я0, So] есть начальное состояние. Переходы автомата М* определяются переходами М по следующему принципу: если (/, /, й) есть правило автомата М, то М* может переходить из состояния lab S71 (при любом /) в состояние [az,SA], если он наблюдает символ (a^S^. Пусть теперь L*—язык, допускаемый автоматом М*. Пусть /—гомоморфизм, отображающий (ab Sy) на at для всех ц /. Тогда L=f(L*) и L* есть 1-ограниченный язык.
Предположим теперь, что мы сняли требование, чтобы лента всегда двигалась влево при переходе из состояния в состояние.
г) См. сноску 2 на стр. 121. — Прим. ред.
Вместо этого допустим, что направление движения ленты определяется, так же как и следующее состояние, текущим состоянием и считываемым символом. Поведение такого автомата можно описать множеством четверок (/, /, к, I), где i, j, к суть, как и раньше, индексы соответствующей буквы, одного состояния и другого состояния, а / есть одно из ( + 1, 0, —1}. Следуя Рабину и Скотту [53], можно интерпретировать эти четверки следующим образом.
Определение 4. Пусть (i, j, к, I) — одно из правил, определяющих работу автомата М. Если его блок управления находится в состоянии Sj, а его считывающая головка стоит против клетки, содержащей символ аь то блок управления может перейти в состояние Sk, в то время как лента продвигается на I клеток влево. Такое устройство называется двусторонним автоматом.
Будем рассматривать продвижение на —1 клетку влево как продвижение на одну клетку вправо.
Можно снова сказать, что подобный механизм допускает (порождает) цепочку, точно так же как это делает конечный автомат. А именно он допускает цепочку х только при следующем условии. Пусть цепочка х записана в подряд идущих клетках ленты, а остальные клетки заняты символом #. Пусть блок управления находится в состоянии So, а считывающая головка стоит против самой левой клетки, не содержащей #. Предположим, что работа автомата продолжается до первого возврата в So, и в этот момент считывающая головка стоит против клетки с символом #. В этом случае считается, что автомат допускает цепочку х.
Можно было бы ожидать, что, ослабив требования, которым должен удовлетворять конечный автомат, мы увеличили его порождающую способность. Однако дело обстоит не так, и мы имеем следующую теорему [53,73].
Т е о р е м а 3. Множества, порождаемые двусторонними автоматами, также являются регулярными языками. '
Основная идея доказательства состоит в том, что автомат может избавить себя от необходимости возвращаться второй раз на любой данный участок ленты, если он, до того как покинуть этот участок, «подумает» обо всех вопросах, которые могут быть заданы в дальнейшем (их число должно быть конечно), чут же «ответит» на эти вопросы и «унесет» с собой таблицу вопросов и ответов, двигаясь вперед вдоль ленты и изменяя ответы, если это понадобится. Этот способ дает возможность построения эквивалентного одностороннего автомата, хотя и ценой увеличения числа внутренних состояний блока управления.
Линейно-ограниченные автоматы
Предположим, что двустороннему автомату разрешается писать символы на ленте при переходах из состояния в состояние. Символы, написанные на ленте, принадлежат выходному алфавиту А о ^\a^,...,ap,...,aq\ (#£Д0), где А1=\а^...др\ является входным алфавитом. Чтобы описать работу автомата, нам теперь понадобится множество пятерок (/, /, k, I, т), где четверка (ц /, к, Г) определяет двусторонний автомат, а рассматриваемый символ а1 заменяется на ат (который, разумеется, может и совпадать с а^ когда автомат переходит из состояния Sy в состояние S^. Следуя в основных чертах Майхиллу [44], имеем следующее определение.
Определение 5. Пусть (i, j, к, I, т) — одно из правил, определяющих работу автомата М. Если его блок управления находится в состоянии Sj, а его считывающая головка стоит против клетки, содержащей символ аь то блок управления может перейти в состояние Sk, в то время как лента продвигается на I клеток влево, а рассматриваемый символ aL заменяется на ат. Такое устройство называется линейно-ограниченным автоматом. л
Допустимость цепочки определяется так же, как и выше. В линейно-ограниченном автомате лента используется не только в качестве входа, но и в качестве памяти. Действительно, если такой автомат Л4 имеет на входе заданную цепочку х, то в его распоряжении имеется память, объем которой определен числом cX^ + q, где q— заданная память блока управления, с — константа (зависящая от мощности выходного алфавита), а Х(х) — длина цепочки х. Следовательно, он является простым потенциально бесконечным автоматом и, как мы увидим далее, может порождать и нерегулярные языки.
При изучении поведения автомата иногда оказывается удобным в целях наглядности приписать ему некоторую дополнительную более сложную структуру. Так, можно рассматривать какое-либо устройство как состоящее из отдельных частей, воплощающих различные аспекты его поведения. В частности, можно считать, что линейно-ограниченный автомат имеет две отдельные бесконечные ленты, одну исключительно для входа, другую — рабочую, причем на второй ленте имеется ровно столько клеток, доступных для записи, сколько занято символами входного алфавита (но не символом #) на входной ленте. Можно также считать, что имеется несколько независимых рабочих лент этого вида. Эти модификации требуют соответственного изменения списания работы блока управления, но их нетрудно описать таким образом, чтобы порождающая способность рассматриваемого класса автоматов осталась прежней.
Автомат с магазинным накопителем (устройство PDS)
Рассмотрим следующий специальный класс линейно-ограниченных автоматов, представляющий особый интерес. Пусть автомат М имеет две ленты, одну — входную, другую — ленту памяти. Блок управления может считывать символы с входной ленты и с ленты памяти и записывать символы на ленте памяти. Входная лента может двигаться только в одном направлении, скажем, справа налево. Лента памяти может двигаться в обоих направлениях. Символы входного алфавита Ai могут появляться на входной ленте, символы выходного алфавита А о могут считываться или записываться на ленте памяти; алфавиты Ai и Ао такие же, как выше. Мы предполагаем, что А о содержит выделенный символ c^Ai , который будет использоваться только в начале и в конце работы устройства; каким способом, будет явно определено ниже. В разд. 1.4 — 1.6 единичный элемент алфавитов Ао и Ai обозначается через е вместо я0. Другие символы Ао мы продолжаем обозначать а^.-.д^ Алфавиты Ai и Ао рассматриваются как «универсальные алфавиты», независимые от конкретной машины.
Мы определяем ситуацию машины как тройку (a, Sb b), где а — символ, считываемый с входной ленты, St— состояние блока управления, а b — символ, считываемый с ленты памяти. Каждый шаг работы зависит в общем случае от всей ситуации машины.
При начальной конфигурации ленты-машины входная лента содержит символы а^ ,...д^ (где теперь уже pz=^0); они записаны в подряд идущих клетках ленты и ограничены с обеих сторон символами #; блок управления находится в состоянии So и наблюдает самый левый символ а^ цепочки х=а^г ...а^к (как на рис. 2). Рассматриваемая клетка ленты памяти содержит о, а все остальные ее клетки содержат #. Таким образом, в начальной конфигурации автомат находится в ситуации (a^So, #). Автомат продолжает свою работу способом, описанным ниже, до первого возвращения в So. Входная цепочка х допускается автоматом, если в момент возвращения как на входной ленте, так и на ленте памяти наблюдается символ #, т.е. если автомат находится в заключительной ситуации (#, So,#).
Специальное свойство этих устройств, отличающее их от линейно-ограниченных автоматов общего вида, заключается в следующем. Когда лента памяти движется на одну клетку вправо, предыдущий рассмотренный символ как бы «стирается». Когда лента памяти движется на к клеток влево, открывая к новых клеток, то в этих клетках записываются последовательно к символов из Ао, все отличные от е. Когда лента не движется, нйчто не записывается и ничто не стирается. Поэтому на каждом шаге работы машины только самый правый символ ленты памяти доступен для рассмотрения. Символ, записанный на ленту последним, считывается с нее первым.
Следовательно, лента памяти обязательно будет совершенно пуста [blank] (т.е. будет содержать только #), если достигнута заключительная ситуация (#, So,#).
Устройство М, которое ведет себя описанным выше образом, мы будем, следуя Ньюэллу, Шоу и Саймону [47 ], называть автоматом с магазинной памятью или автоматом PDS (pushdown storage automaton). Эта система памяти нашла широкое применение в программировании; в частности, многие авторы отмечают, что она весьма полезна при машинном синтаксическом анализе языка. Причины этой полезности, так же как и ограничения, присущие теории таких автоматов, станут вполне ясны, когда мы увидим, что она представляет собой, в сущности, другой вариант теории бесконтекстных грамматик (ср. разд. 4 предыдущей главы). Отметим, что автомат PDS, возможное недетерминированным блоком управления, есть тот самый механизм, который выполняет «предсказуемостный анализ» в смысле И. Роудес (см. работу [48]). Следовательно, и эта теория также является в основном вариантом теории бесконтекстных грамматик.
Перейдем теперь к явному определению работы автомата PDS. Мы предполагаем, выбирая одну из двух эквивалентных формулировок, приведенных выше (стр. 127), что е не может появляться ни в клетках входной ленты, ни в клетках ленты памяти. Тогда мы расширяем определение «ситуации» так, чтобы были допустимы тройки (е, Sb b), (a, S^ е) и (в, Sh е\ и говорим, что, когда автомат находится в ситуации (a, Sh b), он одновременно находится в ситуации (е, Sb b), (a, Sh е) и (в, Sb е), т.е. любая команда, применимая в ситуациях (г, Sh 6), (a, S; , е) и (г, Sb в), будет применима, когда устройство находится в состоянии Sz и рассматривает символ а на входной ленте и символ b на ленте памяти. Входная лента действительно продвигается влево только тогда, когда применяется команда, содержащая в качестве символа на входной ленте некоторое tz^. .
Определим функцию Х(х) (читай: «длина х») для некоторых цепочек х следующим образом: Х(о) =—1; Х(е)—0; Х(г^)—Х(г) + 1, где zat есть цепочка в алфавите Ао— {с}, (1<д<^).
Каждая команда автомата PDS может теперь быть задана в стандартной форме
(a, Sp 6) (S,. х), (1) где a^Ai , 6^ Ло, х^з или х есть цепочка в алфавите Ао—{о}, а /=^0 тогда и только тогда, когда Ь = а=х. Команда вида (1) применима, когда механизм находится в ситуации (tz, Sb 6), и ее применение дает следующий результат: блок управления переходит в состояние Sy-; входная лента движется на X (о) клеток влево; символы х печатаются последовательно в клетках, находящихся вправо
от клетки, рассматривавшейся в предыдущий момент на ленте памяти (в частности, если х^а^.-.а^ то ajk помещается в й-й клетке справа от клетки, рассматривавшейся в предыдущий момент, замещая содержимое этой клетки), в то время как лента памяти движется на Х(х) клеток влево. Таким образом, если х+^ то теперь устройство будет стоять (на ленте памяти) против самого правого символа цепочки х; если х=е, то оно останется против Ь; если x = cs, то оно будет стоять против клетки слева от Ь. Далее, мы полагаем, что содержимое каждой клетки ленты памяти правее рассматриваемой клетки автоматически «стирается» (т.е. заменяется на #). В каждый данный момент мы определяем содержимое ленты памяти как цепочку, стоящую влево от рассматриваемого символа (включая и его), и говорим, что лента памяти содержит эту цепочку. Точнее, если цепочка # a^t ...а^п записана в подряд идущих клетках ленты памяти, причем а^п занимает рассматриваемую клетку, то цепочка а^...а^п есть содержимое ленты памяти. Если рассматриваемый символ ленты памяти есть #, мы говорим, что лента содержит цепочку е (ее содержимое есть е) или лента пуста.
Отметим, что когда автомат М применяет команду (1), входная лента движется на одну клетку влево, если аЦ=е, и не движется, если а=е. Далее, если М наблюдает # на входной ленте, команда (1) применима, только если а^е. Из условия «/=0 тогда и только тогда, когда Ь = а =х» вытекает, что если М начинает работу из начальной конфигурации, то при первом возвращении в So оно непременно окажется в ситуации (a. So,#) при некотором а. Если а=#, автомат М находится в заключительной ситуации, наблюдая # на входной ленте и на ленте памяти, и, следовательно, допускает цепочку, записанную на входной ленте при начальной конфигурации.
В действительности может еще встретиться работа «вхолостую», если имеется команда вида (1) а=е=Ь и Ь=0, но это не повлияет на порождающую способность устройства. Мы можем считать, что устройство блокировано, когда оно достигает заключительной ситуации. Его лента памяти будет пуста на этом и только на этом шаге работы.
Можно дать более простую характеристику семейства языков, допускаемых автоматами PDS, не ссылаясь явно на манипуляции с лентами и т.п. Если заданы алфавиты Ai и Ао и символы а, определим автомат PDS М как конечное множество команд вида (1). Для каждого i пусть будет а-а^е, т.е. а является «правым обратным» элементом для каждого элемента. Конфигурация автомата М есть тройка К^х, S^ у), где Sz — состояние, х— цепочка в Aj и у — цепочка в Ао. Примем за х еще не прочитанную часть входной ленты (т.е. цепочку вправо от читаемого символа, включая и
его), за у — содержимое ленты памяти, a St пусть будет состояние в настоящий момент. Если I есть правило вида (1), мы говорим,что конфигурация К2 следует из конфигурации Ki по правилу /, если Кх=(ау, Sb zb) и К^^у, Sj, zbx). Автомат М допускает цепочку w, если существует последовательность конфигураций ^...Дт, такая, что
So, а), Кт=(е, So, е)
и для каждого Кт имеется правило I, такое, что Км следует из К[ по /. Автомат М допускает (порождает) язык L тогда и только тогда, когда L есть множество всех цепочек, допускаемых автоматом М.
Память устройства PDS может быть представлена в терминах множества цепочек над внутренним алфавитом; при этом переход от одной внутренней конфигурации к другой будет соответствовать прибавлению и убавлению букв на правом конце цепочки, сопоставленной данной внутренней конфигурации. Таким образом, из состояния, представленного цепочкой ера, возможен переход только в состояния, представленные цепочками ср или сраЗ. Поучительно сопоставить устройство PDS, которое при этой интерпретации имеет бесконечное количество возможных состояний, с ^-ограниченным автоматом. Как было показано выше, память ^-ограниченного автомата также может быть представлена в терминах множества цепочек над внутренним алфавитом (который в данном случае совпадает с входным алфавитом). Смена состояний ^-ограниченного автомата соответствует прибавлению буквы справа к цепочке, представляющей состояние, и одновременно стиранию одной буквы на левом конце цепочки. Поэтому все множество возможных состояний конечно.
Устройство PDS представляет собой специальный тип линейно-ограниченного автомата. Для него легко доступны многие задачи, недоступные для конечного автомата, несмотря на то что оно только один раз просматривает входные данные (поскольку входная лента движется только в одном направлении). Рассмотрим, например, задачу порождения языка L\, состоящего из всех цепочек вида #хсх*#, где х — непустая цепочка из а и Ь, а х*— зеркальное отражение цепочки х, т.е. цепочка х, записанная в обратном порядке — справа налево (ср. с языком L^ в предыдущей главе, разд. 3, стр. 246). Очевидно, что эта задача лежит за пределами возможностей конечного автомата, так как число необходимых для работы состояний возрастает по экспоненте, когда устройство просматривает и допускает последовательно символы из первой половины цепочки. Наряду с этим рассмотрим автомат PDS М с входным алфавитом {а, Ь,с\, с внутренними состояниями So, 5г и S2 и следующими правилами, где а принимает значения в множестве (a, by
(а)
(a, So, eV
» ($„ а),
(б)
(а, Su е)-
>(Sn а).
(в)
(с, S„ е)-
> (S2, е),
(2)
(г)
(а, S2, а) -
* (S2, о),
(д)
(р, S2, а) -
> (So, =).
Блок управления имеет диаграмму состояний, показанную на рис. 6, где тройка (г, s, /) помечает стрелку, ведущую от состояния Sz к состоянию Sj тогда и только тогда, когда имеется правило (г, Sz, s)-^(Sy, /). Очевидно, что это устройство допускает цепочку тогда и только тогда, когда она принадлежит языку L\. Например, последовательные шаги работы при порождении цепочки ^abcba н показаны на рис. 7.
Очевидно, устройство PDS очень хорошо подходит для порождения таких языков, как L^, которые в каком-то смысле имеют единицы (фразы), вложенные друг в друга, т.е. что-то вроде рекурсивного свойства, названного нами в предыдущей главе (разд. 3) самовставлением. В разд. 4.2 и 4.6 мы увидим, что основное свойство бесконтекстных грамматик (ср. с предыдущей главой, разд. 4), отличающее их от конечных автоматов, состоит в том, что они допускают самовставление и симметрии в порождаемых цепочках. Следовательно, можно ожидать, что устройства с магазинной памятью будут полезны при построении языков с грамматиками такого типа. Этот класс, очевидно, содержит многие известные искусственные языки (например, язык исчисления высказываний и, возможно, также многие языки программирования — см. разд. 4.8). Действительно, весьма нетрудно построить автомат PDS, который будет распознавать или порождать предложения в таких системах. Эттингер [48] указывает, что если оборудовать устройство PDS дополнительной выходной лентой и переделать его команды так, чтобы оно могло отображать входную цепочку на соответственную выходную (используя при работе свою магазинную память), то можно заставить его, например, переводить формулы из обычной скобочной записи в бесскобочную запись Лукасевича и обратно. В некотором приближении бесконтекстные грамматики непосредственных составляющих частично адекватны естественным языкам; вложенные фразы (самовставление) и симметрии составляют одно из основных свойств естественного языка. Поэтому такие устройства, как PDS, будут полезны при решении различных задач автоматической обработки текстов на естественных языках.
Устройство PDS с правилами (2) является детерминированным. В случае конечных автоматов мы видим (теорема 1), что для каждого конечного автомата существует эквивалентный ему детерминиро-
(е, б,б)
Рис. 6. Диаграмма состояний для М.
Рис. 7. Порождение цепочки ^abcba^ устройством PDS,
ванный автомат. Однако для автоматов PDS это не имеет места. Так, не существует детерминированного автомата PDS, который допускал бы язык L^\xx*\x* есть зеркальное отражение х} (т.е. L2 состоит из цепочек, которые получаются, если выбросить средний элемент с из цепочек языка L2 ), поскольку он никак не сможет узнать, когда достигается середина входной цепочки; однако L2 порождается недетерминированным автоматом PDS, отличающимся от устройства (2) для IV заменой правила (в) правилом
(a, SD e)^(S2,a). (3)
Это сводится к выбрасыванию стрелки (с, е, е) на рис. 6 и соединению состояний ST и S2 двумя стрелками, одна из которых помечена (а, е, я), а другая — (6, е, 6). Устройство применяет команду (3) тогда, когда оно «делает предположение» о том, что достигнута середина цепочки. Если это предположение не оправдывается, то работа устройства нс может закончиться допущением цепочки (точно так же, как если бы входная цепочка не принадлежала языку L.J; если предположение оправдывается и входная цепочка принадлежит языку L2, то работа устройства закончится допущением цепочки. ■
Мы допустили здесь, что следующий шаг работы устройства частично определяется символом, считываемым с ленты памяти. Интересно изучить вопрос о том, насколько контроль со стороны ленты памяти существен для устройства PDS. Рассмотрим два подкласса автоматов PDS, заданные следующими условиями: М есть автомат PDS без контроля, если каждое правило его имеет вид (a, Sb е)-Ц5у; х); М есть автомат PDS с ограниченным контролем, если каждое его правило имеет либо вид (a, Sh е)-Д5;;х), x=V, либо вид (a, Si, b)-+(Sj, о). Иначе говоря, в автоматах с ограниченным контролем символ, считываемый с ленты памяти, играет роль только при определении тех шагов, при которых происходит стирание с ленты памяти. Мы видим, что устройство на рис. 6 имеет ограниченный контроль. В случае устройства PDS без контроля лента памяти работает лишь как счетчик. Без ограничения общности можно полагать, что ее алфавит содержит лишь один символ. Рассматривая эти семейства автоматов, мы приходим к следующей теореме.
Т е о р е м а 4. (а) Семейство автоматов PDS без контроля имеет порождающую способность существенно большую, чем семейство конечных автоматов, но существенно меньшую, чем все семейство устройств PDS. (б) Для каждого устройства PDS существует эквивалентное ему устройство PDS с ограниченным контролем.
Что касается раздела (а) теоремы, то очевидно, что автомат без контроля допускает язык Ьг= {апЬп} (ср. с разд. 3 предыдущей ‘
главы), но не допускает ни языка Л2, ни языка L^. Действительно, эти языки находятся за пределами возможностей любого устройства с конечным числом бесконечных счетчиков, показания которых независимы и изменяются фиксированным образом при переходах устройства из состояния в состояние (например, счетчик может показывать, сколько раз устройство прошло через данное состояние или произвело данный символ), причем решение о допущении или недопущении входной цепочки зависит от элементарных свойств показаний счетчиков (равны ли их показания; стоят ли они на нуле, как в случае магазинной памяти, и т.п.). Хотя устройство с q счетчиками и к состояниями имеет потенциально бесконечную память, за р шагов оно может достигнуть только kpq различных конфигураций состояния и показаний счетчиков, а при прохождении предложений языка L^ имеющих длину 2р, необходимо, чтобы за р переходов можно было достигнуть 2^ различных конфигураций (возможность пустых переходов не влияет на это замечание). Точную формулировку вышеописанных рассуждений и описание счетчиковых устройств можно найти у Шюценберже [60].
Раздел (б) теоремы 4 есть следствие некоторых результатов, которые будут установлены ниже (разд. 1.6, теорема 6).
Конечные преобразователи
Допустим, что имеется устройство PDS М, удовлетворяющее дополнительному условию, что его лента памяти никогда не движется вправо, т.е. каждое правило М имеет вид (a, Sb Ь)-Ц8;-, х), где хфа. Начиная с начальной конфигурации, когда входная лента содержит последовательно символы #, а^,...д^ , #, устройство работает в соответствии со своей программой, двигая ленту памяти влево каждый раз, когда оно печатает на этой ленте цепочку х. Предположим, что работа устройства продолжается до тех пор, пока оно не достигнет ситуации (#,SZ, Oj ) для каких-то I, j, т.е. что оно блокируется точно в тот момент, как прочтет всю входную последовательность. На заключительном этапе лента памяти содержит некоторую цепочкуy^waj ,и мы говорим, что устройство М преобразует цепочку а^ ,...д^п в цепочку у. Будем называть устройство М преобразователем, который отображает входные цепочки на выходные и соответственно входные языки на выходные. Обозначим через М(Ц множество таких цепочек у, что для некоторого х ^L М преобразует х в у. Заметим, что преобразователь никогда не достигает конфигурации, при которой он видел бы # на ленте памяти. Следовательно, он никогда не может «допустить» входную цепочку в ранее определенном смысле. В случае преобразователя лента памяти должна рассматриваться как выходная лента.
В случае преобразователя ограничения на формулу правил автомата PDS, касающиеся возврата в So, очевидно, не понадобятся. V2 11 Заказ № 563
В самом деле, можно допустить, что правило / преобразователя имеет вид (я, Sz, b^OSp х) [как в (1) ], где a^Ai ,Ь ^-Аои х есть цепочка в алфавите До— (о) , опуская дальнейшие ограничения.
Очевидно, что лента памяти преобразователя М не оказывает существенного влияния на течение его работы; и действительно, можно построить устройство Т. которое выполняло бы то же самое преобразование, что и М, и при этом удовлетворяло бы дополнительному ограничению, что следующее состояние определяется только входным символом и настоящим состоянием. Состояния Т записываются в виде (Sz, а^ v^Sl —состояние М, а афе— символ его выходного алфавита. Начальное состояние Т есть (So, а). Если М имело команду ^a,Sb Ь^-фф , х), Т будет иметь команду
[tz, (Sz, b1), b]->[(Sj, с), х], (4)
где либо х^ус, либо х^е и с=Ь. Поведение Т, очевидно, ничем не отличается от поведения М, но у Т следующий шаг работы зависит только от входного символа и настоящего состояния, т.е. Т представляет собой устройство PDS без контроля. Выбрасывая ненужное указание на символ, считываемый с ленты памяти, можно придать правилам Т вид
(a, х), (5)
указывающий, что когда Т находится в состоянии Ez и наблюдает символ а (если афе) или не наблюдает никакого символа (если я=е) на входной ленте, оно может перейти в состояние Еу, продвинуть входную ленту на X (я) клеток влево, а ленту памяти на Х(х) клеток влево, записывая х на вновь открывшихся клетках ленты (если они имеются). Каждый преобразователь можно полностью описать диаграммой состояний, на которой узлы представляют состояния, а стрелка с надписью (а, х) ведет из состояния Е. в Еу тогда и только тогда, когда правило (5) есть одно из правил работы устройства.
Предположим, что на диаграмме состояний, представляющей преобразователь М, невозможно пройти по замкнутому пути, начиная и кончая фиксированным узлом, если идти только по стрелкам с пометкой (е, х) для некоторого х. Точнее говоря, пусть не существует такой последовательности состояний (Sai,...,Sa/J) устройства М, что ат=а^, и для каждого 1<к существует хь такая, что (е, Sa.)->(Sa.+i, xz) есть правило М. Если это условие выполнено, то число выходных цепочек, в которые может быть преобразована данная входная цепочка, ограничено, и такое М называется ограниченным преобразователем.
Отображение, осуществляемое преобразователем, назовем Оконечным^ преобразованием. Преобразование есть отображение цепочек на цепочки (и, следовательно, языков на языки) такого рода, что оно может быть выполнено строго конечным устройством.
Если дан ограниченный преобразователь Т, то можно, очевидно, отбросить сколько угодно команд вида (е, Sz)->(Sy, %), не изменяя осуществляемого преобразования, а просто позволив устройству при переходах из состояния в состояние печатать более длинные цепочки. И наоборот, добавив достаточное количество нигде более не употребляемых состояний и достаточно команд вида (5) с а^е, можно для каждого (не обязательно ограниченного) преобразователя Т построить преобразователь Т', осуществляющий то же отображение, что и Т. но имеющий команды только вида ^а, S^ -> (Sy,6), где Ь^-Ао.
Заметим, что из существования такого преобразователя Т немедленно вытекает возможность построения «обратного» преобразователя Т*, который отображает цепочку у на цепочку х тогда и только тогда, когда Т отображает хнаг/. Для построения Т* достаточно просто поменять местами входные и выходные символы в командах Т\ если, например, в команде вида (5) х есть символ из Ао, то надо поменять местами а и х. Это сводится к замене каждой надписи (а, 6) на стрелке диаграммы состояний надписью (6, а\ Итак, для любого преобразователя Т может быть построен обратный ему преобразователь Т*, который отображает цепочку у на х тогда и только тогда, когда Т отображает х на у, и который отображает язык L на множество всех таких цепочек х, что Т отображает х на y^L. Если Т—ограниченный преобразователь, то Т* может и не быть ограниченным. Если обратный преобразователь Т* также ограничен, то Т называется преобразователем без потери информации. Общее исследование вопросов, относящихся к различным видам преобразователей, см. у Шюценберже и Хомского ([61,69]).
Эффект применения преобразователей к бесконтекстным языкам будет рассмотрен в разд. 4.5. Здесь отметим только, что если Т преобразует язык L в L' и L есть регулярный язык, то L' также будет регулярным языком. Известно также, что для каждого регулярного языка L существует преобразователь TV, отображающий L на фиксированный язык U (а также такой, который отображает U на L), где U — множество всех цепочек в выходном алфавите (в обратном случае — во входном алфавите, причем если входной алфавит состоит только из одного символа е, то преобразователь по определению будет не ограниченным; в противном случае он всегда может быть сделан ограниченным). Эти и некоторые другие связанные с этими факты становятся очевидными просто из рассмотрения диаграммы состояний. '
Преобразование и автоматы PDS
Мы описали преобразователь в виде устройства PDS, которое никогда не сдвигает свою ленту памяти вправо, т.е. никогда нс стирает — ни на каком шаге вычислений. Оно переводит входную Ч2 Н*
цепочку х в выходную цепочку//. С другой стороны общего вида устройство PDS использует свою ленту памяти для того, чтобы определить свои дальнейшие шаги, в частности окончательный допуск входной цепочки х. Оно заканчивает вычисление допущением х только тогда, когда при окончании содержание ленты памяти равно просто е, т.е. лента памяти пуста. Следовательно, мы можем представить себе общего вида устройство PDS преобразующим цепочки, которые оно получает, в пустую цепочку е, которая находится на ленте памяти, когда вычисление заканчивается допущением входной цепочки. (Устройство по существу представляет характеристическую функцию некоторого множества цепочек.) Мы намереваемся показать, как можно с каждым устройством PDS М связать преобразователь Т, построенный таким образом, что тогда и только тогда. когда М допускает х (т.е. преобразует ее в е), Т преобразует х в цепочку //, которая, в том смысле, как это мы определим, сводится к е1).
Предположим, что М есть устройство PDS с входным алфавитом Ai и выходным алфавитом Ао = {е, av...,aq }.
Построим новое устройство М' с входным алфавитом Ai и выходным алфавитом Ао, содержащим 2^+1 символов, где Ао = =Ао U {а' 1,...,^'}- Будем трактовать каждый элемент а/ в основном как «правый обратный» для av Более формально будем говорить, что цепочка х сводится к у в случае, когда имеется последовательность цепочек zXv..,zm (пг^Х), такая, что z^x, zm=y, и для каждого 1<т имеются цепочки wb wt и а^ ^Ао, такие, что zL= =wt а^ а ^ wi и 2i+1=wiwl . Другими словами, х сводится к у, если х—у или если у может быть образована из х последовательным стиранием подцепочек а5а/.
Мы говорим, что цепочка х блокирована, если x^yaza/w, где z сводится к г и либо уа сводится к е, либо а £ А о— ^,аД. Если х блокирована, то для всех о, ха она блокирована и не сводится к е. Мы говорим, что лента памяти блокирована, если цепочка, которую она содержит, блокирована.
Новое устройство М' представляет собой автомат PDS, который никогда не сдвигает вправо свою ленту памяти. Оно будет построено таким образом, что если М не допускает х, то М' с х на входе заканчивает работу либо прежде чем прочтет х, либо с блокированной лентой памяти; если же М допускает х, то М' будет работать так, что когда оно прочтет всю цепочку х, лента памяти не будет блокирована, т.е. ее содержание будет сводиться к е.
Состояния М/ будут обозначаться теми же символами, что и со
х) Результаты этого раздела и разд. 4.2 получены во время совместной работы с М. П. Шюценберже. Краткое изложение см. [И]. Обобщения и относящиеся к ним результаты см. в работах [64, 65, 67].
ответствующие состояния М, и So снова будет начальным состоянием.
Предположим, что К и К'— конфигурации машины-ленты для М w М' соответственно, удовлетворяющие следующим условиям: К достижимо из начальной конфигурации М. Цепочка ш, содержащаяся на ленте памяти устройства Л4' в К', сводится к цепочке у, содержащейся на ленте памяти устройства М в К. Кроме того, если уфе, то w^za^ для некоторого к (т.е. она имеет нештрихованный символ на правом конце). Устройства М в NV наблюдают одну и ту же клетку идентичных входных лент и находятся в одном и том же внутреннем состоянии. В этом случае мы говорим, что К и К' согласованы. Заметим, что когда К и К' согласованы, тогда либо М закончило работу с пустой лентой памяти в (этом случае содержимое ленты памяти М' есть za^ \ которое сводится к е), либо М и NV находятся в одной и той же ситуации.
Правила в Мг определяются правилами в М следующим способом. Пусть
(6, S;,х)(6)
есть правило в М. Если х^а, то ЛГ также имеет правило (6). Предположим, что х=а. Тогда, если аь = а (в этом случае /=0), то М' будет иметь правило (7), а если а^ =а, то ЛГ будет иметь правило (8) для каждого г (1^г^);
(6, Sp с) (So, o'),(7)
(6, Sp a^-^Sj, a\a'rary(8)
Предположим теперь, что Ку и К2— конфигурации М, a Ку— конфигурация Мг, которая согласована с Ку. Конфигурация Ку не является заключительной, и правило (6) в М переводит его из конфигурации Ку в К^- Ясно, что если х=^а в правиле (6), то правило в М\ соответствующее (6), будет переводить ЛГ из Ку в конфигурацию KVi которая согласована с К^.
Предположим теперь, что х=а в правиле (6). Так как Ку по предположению не является заключительной конфигурацией, то М в Ку должно содержать на ленте памяти цепочку уак для некоторого к. Либо у=е, либо y=zar для некоторого г.
Предположим, что у^е. Тогда должно быть ак а и / = 0 в правиле (6). Следовательно, Мг имеет соответствующее правило (7), которое переводит его из Ку' в конфигурацию К^. Но Ку согласована с /С], и, таким образом, содержимое ленты памяти КГ в Ку должно быть U, где / сводится к е. Применением правила (7) Мг переводится в К'^ где содержимое ленты памяти равно tea', которое сводится к е. Следовательно, К^' согласуется с К^
Предположим, что y=zar Тогда правило (6) переводит М в
10 Заказ № 563.
Кг» в котором лента памяти содержит zar Так как KV согласована с К^ то содержимое ленты памяти Мг в KV должно равняться цепочке tar uak, где t сводится к 2, а и к е. По построению М/ имеет правило (8), соответствующее правилу (6); оно переводит М* в Кг » которое идентично Кг в отношении входной ленты и внутреннего состояния и в котором лента памяти содержит tar иак ar'ar> что сводится к zar=y и К2 согласована с Кг-
В каждом случае мы видим, что если правило (6) переводит М из Кг в /С2, то М' имеет правила, переводящие его из К/ (согласованной с К^ в Кг (согласованную с /С2).
Предположим, что Кг—снова конфигурация М, не являющаяся заключительной, К/—согласованная конфигурация М, что правило Г в М' переводит М' в конфигурацию Кг и что нет правила в Л4, переводящего его в конфигурацию /С2, которая согласована с Кг • Ясно, что Г не было выведено (с помощью ранее данной конструкции) из некоторого правила М, имеющего такой же вид, как правило (6), где хфа. Таким образом, мы можем предположить, что Г есть правило вида (7) или (8) и что Г было получено описанным способом из правила /: (6, S^ ак^-Ц8^ о). В любом случае, так как Кг и К/ согласованы и ни одно из них не является заключительной конфигурацией, лента памяти М в Ki должна содержать цепочку уаь где у=е или y=zas для некоторого s, и лента памяти М' в К/ должна содержать цепочку шь где у сводится к у.
Предположим, что Г— правило (7). Тогда ак=а и содержимое ленты памяти М/ в Кг есть Уаа' • Устройство М' заканчивает работу в состоянии So с лентой памяти, содержащей цепочку, которая сводится к у; но так как с^а^ не может быть напечатана на ленте памяти ни на каком шаге М и так как содержимое ленты памяти М в /Ci есть уа, обязательно у=е. Итак, / переводит Л1 из К^ в конфигурацию Кг» которая согласуется с Кг' вопреки предположению.
Остается предположить, что Г есть правило (8). Тогда содержание ленты памяти М' в К^' есть шка'к а2'а21 что сводится к уака'ка'гаг и в свою очередь к уаг'аг. Если у=е, то лента памяти М' блокирована в Кг • Предположим, что y=zas. Тогда / переводит М в конфигурацию Кг» в которой лента памяти содержит zas. Предположим, что s=r. Тогда содержание ленты памяти М' в Кг » которое сводится к ya/ar=zasa' гаг, сводится далее к zar=zas. Но в этом случае Кг и Кг согласованы вопреки предположению. Следовательно, r^s. Но в этом случае лента памяти М' в Кг снова блокирована. Следовательно, в любом случае, если Г есть правило (8), она блокирована.
Как мы видели, если лента памяти в какой-то момент блокируется, то она остается блокированной в течение всей работы устройства. Следовательно, если Г применено, то устройство М' нс может достичь конфигурации, в которой лента памяти сводится к е
Коротко говоря, М' делает предположение, что после «стирания» акфс, перейдя в конфигурацию К^ устройство М будет наблюдать на ленте памяти символ аг. Исходя из этого, оно пишет a'ka' гаг на своей ленте памяти, так что оно теперь тоже наблюдает на ленте памяти ап «стерев» при этом и ак (знаком а' ^, и аг (знаком afrY Если предположение было правильным, то новая конфигурация М' согласована с /С2; если оно было неверно, то лента памяти М' блокирована и работа М никогда не закончится с лентой памяти, содержащей цепочку, которая сводится к е.
Но М и ЛГ имеют идентичные начальные конфигурации, если они имеют идентичные входные ленты. Следовательно, если М допускает х, то возможно, что М' будет работать, начиная из своей начальной конфигурации с входом х, и закончит работу в ситуации (#, So, s') с цепочкой у на ленте памяти, которая сводится к е. А если М не допускает х, то никакой возможный процесс работы ЛГ из его начальной конфигурации с цепочкой х на входной ленте не может закончиться в ситуации (#, Sy, а) для некоторого а с цепочкой, сводящейся кбв качестве содержимого ленты памяти. (Заметим, что содержимое ленты памяти в М' может быть сведено к е тогда и только тогда, когда М' напечатало а' и вернулось в So по правилу, аналогичному 7.)
Заметим также, что М/ есть устройство PDS, которое никогда не сдвигает свою ленту памяти вправо (никогда не «стирает»). Мы уже показали в разд. 1.5, как в соответствии с каждым устройством такого рода мы можем построить эквивалентный преобразователь, который работает независимо от содержимого своей ленты памяти. Пусть Т — преобразователь, построенный из М' таким способом, как это описано в разд. 1.5. Тогда М допускаете тогда и только тогда, когда Т преобразует х в цепочку у, которая сводится к е.
Таким образом, мы имеем следующий общий результат.
Теорема 5. Если задано устройство PDS М, то можно построить преобразователь Т, такой, что М допускает х тогда и только тогда, когда Т преобразует х в цепочку у, сводящуюся к е.
Предположим теперь, что L (7И) — язык, допускаемый устройством PDS, обозначенным через М; Т — соответствующий преобразователь, существование которого гарантируется теоремой 5; К — множество цепочек в выходном алфавите Т, которые сводятся к е; UI— множество всех цепочек в выходном алфавите Т и Т'— обратный преобразователь, который отображает х на у в случае, если Т отображает у на х. Тогда ЦМ^Т'^К [\T(Ui)). Но Ui — регулярный язык и, как мы заметили в разд. 1.5, из этого следует, чтоТ (Ui) тоже регулярный язык. Легко также показать, что К— бесконтекстный язык (см. разд. 4 предыдущей главы).
В разд. 4.6 мы покажем, что пересечение бесконтекстного языка и регулярного языка является бесконтекстным языком и что конечный преобразователь переводит бесконтекстный язык в другой бесконтекстный язык. Поэтому £(Л4) есть бесконтекстный язык.
В теореме 17 разд. 4.2 мы увидим, что для каждого бесконтекстного языка существует порождающее его устройство PDS с ограниченным контролем (см. разд. 1.4). Из этих результатов мы можем заключить следующее.
Теорема 6. Следующие три положения эквивалентны.
L допускается некоторым устройством PDS;
L допускается некоторым устройством PDS с ограниченным контролем [см. теорему 4 (б)];
L —бесконтекстный язык.
Другие виды ограниченно-бесконечных автоматов
Область ограниченно-бесконечных автоматов имеет огромный потенциальный интерес не только для теории порождающих процессов, но также, по-видимому, и для психологии, так как релевантные психологические модели, представляющие знание и способности организма, как можно ожидать, не будут ни строго конечными, ни неограниченно-бесконечными в смысле устройств, изучением которых мы займемся в разд. 1.8. Однако исследование этой области было предпринято совсем недавно, и известны пока лишь немногие начальные результаты. Ритчи [54] исследовал иерархию устройств, обладающих следующим общим свойством: на нижнем уровне иерархии находятся конечные автоматы, а на каждом следующем уровне объем памяти, находящийся в распоряжении устройства, является функцией длины входа, причем эта функция может быть вычислена устройством предыдущего уровня. Ямада [78] изучал случай автоматов «реального времени», которые подчинены условию, что допустимое число шагов работы определяется длиной входа (обзор некоторых его результатов см. в работе [45]).
Шюценберже [65, 68] развил теорию конечных автоматов, снабженных множеством счетчиков, которые могут изменять состояния в соответствии с простыми арифметическими условиями на каждом шаге работы. Он [63] также связал некоторые из этих результатов с общей теорией бесконтекстных грамматик (см. разд. 4.7). Устройства, рассмотренные в разд. 2 и 3, являются ограниченно-бесконечными автоматами, и представляется разумным предсказать, что именно в этой форме математическое изучение грамматик, наконец, найдет свою естественную форму.
Машины Тьюринга
Каждое устройство М рассмотренного вида характеризуется тем свойством, что объем времени и пространства, которые оно исполь-
зует для решения какой-либо отдельной задачи (например, при допущении или отбрасывании определенных входов) является в некотором смысле заранее заданным. В действительности, наиболее глубокие и наиболее далеко идущие математические исследования в теории автоматов касаются устройств, которые не обладают этим свойством. Такие устройства, называемые машинами Тьюринга, мы теперь коротко рассмотрим.
Мы получим машину Тьюринга, если возьмем линейно-ограниченный автомат, заданный в определении 5, и добавим к его правилам пятерки (#, /, к, /, /и), где /=/=0, имеющие свойства, описанные в определении 5. Эти правила позволяют устройству использовать не ограниченные заранее куски ленты влево и вправо в процессе вычислений, так как символ # может быть заменен теперь на символ алфавита. Обычно также требуют, чтобы эти устройства были детерминированными в том смысле, что для заданной конфигурации машины-ленты имеется лишь один возможный ход; если (/, /, к, Ijt^ и (г, /, к', Г, т'^ являются правилами, то k=k’, /=/' и m^m’. Можно сказать, что машина Тьюринга допускает (порождает) цепочку при условиях, в основном аналогичных поставленным выше. А именно мы пишем на ленте символы цепочки у в подряд идущих клетках, а остальную часть бесконечной ленты считаем заполненной символом #. Мы устанавливаем блок управления в состояние So со считывающей головкой, стоящей против самого левого символа а^= #. Если устройство проработало до первого возвращения в So, то мы говорим, что машина допускает (порождает) у. Кроме того, последовательность символов, которые теперь стоят на ленте между символами #, образует цепочку ф, которую можно назвать выходом машины. Мы можем, иначе говоря, рассматривать это устройство как частичную функцию, которая переводит ^ в ф при поставленных условиях.
Полученные таким способом устройства своим поведением полностью отличаются от автоматов, рассмотренных в разд. 1.2—1.7. Так, например, не существует общего способа определить по заданному входу, остановится ли устройство или же будет работать до бесконечности. Далее, не существует общего способа определить путем систематического исследования правил устройства, как долго оно будет работать, если оно допускает входную цепочку, или какой кусок ленты будет использован, прежде чем будет получен ответ. Не существует единого и систематического способа определения по изучению правил машины Тьюринга, даст ли она вообще когда-нибудь выходной символ, будет ли ее выход (или множество, которое она допускает) конечным или бесконечным; также невозможно в общем случае определить при помощи некоторого практического приема, будут ли два таких устройства выдавать когда-либо одинаковый выход или же допускать одно и то же мно-
жество. Тем не менее важно отметить, что машина Тьюринга задается конечным числом правил и в каждый момент работы она использует только конечный кусок ленты (т.е. только конечное число клеток имеется между окаймляющими цепочками из символа #). Кроме того, если она допускает заданный вход, то этот факт может быть установлен после конечного числа операций. Однако если она не допускает некоторый вход, то этот факт может никогда не быть установлен. (Если после определенного числа шагов она еще не вернулась в So, мы не знаем, произошло ли это от того, что она недостаточно долго работала, или от того, что она никогда не достигнет этого конечного состояния, и можем никогда этого не узнать.) Изучение машин Тьюринга является базисом быстро развивающейся ветви математики (теории рекурсивных функций). Обзор этой области приводится у Дэвиса [17] и у Роджерса [55].
Алгоритмы и разрешимость
Интересно отметить, что существуют машины Тьюринга, которые универсальны в том смысле, что они могут моделировать поведение произвольной машины Тьюринга. Предположим, действительно, что среди цепочек, образованных из алфавита Д, который мы считаем общим для всех машин Тьюринга, мы выбираем бесконечное число для представления целых чисел; например, положим 6Zi = l и рассмотрим цепочку 1...1, состоящую из п последовательных единиц и представляющую число п. (Будем в дальнейшем использовать обозначение хп для цепочки, состоящей из п последовательных вхождений цепочки х.)
Предположим теперь, что мы имеем нумерацию Mv М^... для всего бесконечного множества машин Тьюринга. Эта нумерация может быть задана совершенно явно и непосредственно. Тогда существует универсальная машина Тьюринга Ми, обладающая следующим свойством: Мп допускает вход Wx и при получении этого входа выдает выход у в том случае, если Мп допускает х и при получении этого входа выдает выход у (а — некоторый нигде более не используемый символ). Мы можем считать, что входная лента Mw содержит в памяти программу 1”, которая предписывает Mtt действовать так же, как машина Тьюринга с номером п, когда на ее ленте записан любой вход х. Каждая машина Тьюринга, таким образом, может рассматриваться как одна из программ для универсальной машины М^. Обычная цифровая вычислительная машина в действительности является универсальной машиной Тьюринга, такой, как Ми, если мы сделаем предположение, что память может расти (например, могут добавляться новые куски ленты) по мере надобности неограниченно в процессе каждого отдельного вычисления. Программа, запоминаемая машиной, указывает, поведение какой из машин Тьюринга она должна моделировать.
Если задано множество Е цепочек, то часто нас интересует, принадлежит ли некоторая заданная цепочка этому множеству. Кроме того, часто нас интересует, существует ли эффективный метод , с помощью которого за конечный промежуток времени можно определить, принадлежит ли произвольная цепочка х множеству S. Если такая процедура существует, то мы говорим, что множество Е разрешимо [decidable или computable], или что существует алгоритм для определения принадлежности к Е, или что проблема разрешения для Е (алгоритмически) разрешима (все эти выражения эквивалентны). Алгоритм, определяющий принадлежность произвольного элемента х множеству S, может рассматриваться как программа вычислительной машины, обладающая следующим свойством. Вычислительная машина, запоминающая эту программу, при входе х непременно закончит работу с ответом да (если х£ Е) или нет (если х^\ Мы должны здесь предположить, что память у машины неограничена, т. е. что мы имеем дело с идеальной вычислительной машиной—универсальной машиной Тьюринга.
Предположим, что мы теперь расширили наше определение машины Тьюринга следующим образом: добавили в блоке управления определенное состояние S* и говорим, что для заданного входа х устройство допускает х, если оно, как и раньше, возвращается в 50, и что оно запрещает х, если оно приходит в S*. Будем называть такое устройство машиной Тьюринга с двумя выходами. Если заданы машины Тьюринга МТ и Л12, которые допускают непересе- кающиеся множества Ет и Е2 соответственно, то всегда возможно построить машину М3 с двумя выходами, которая будет допускать Ет и запрещать £2.
Сделав такое изменение, снова рассмотрим вопрос разрешимости. Множество Е разрешимо, если существует программа вычислительной машины, которая гарантирует окончание вычисления для произвольного входа х, принадлежащего множеству Е, за конечное число t{x) шагов. Можно теперь переформулировать понятие разрешимости следующим образом: множество разрешимо, если существует машина Тьюринга с двумя выходами, которая допускает все элементы этого множества и запрещает элементы, не принадлежащие ему.
Множество называется рекурсивно-перечислимым в том случае, когда существует машина Тьюринга, которая допускает все (и только) цепочки из этого множества. Говорят, что эта машина рекурсивно перечисляет {порождает) заданное множество. Множество называется рекурсивным, если и оно, и его дополнение рекурсивно перечислимы1)., Ясно, что множество рекурсивно в том и только том слу-
х) Более употребительные термины для этих множеств — «перечислимое» и «разрешимое».— Прим, перев.
чае, когда оно разрешимо в только что определенном смысле, так как если Е рекурсивно, то существует машина Тьюринга Мь которая допускает Е, и машина Тьюринга Ж, которая допускает его дополнение. Следовательно, как было отмечено ранее, мы можем построить машину М3 с двумя выходами, которая будет допускать множество Е, перечисляемое машиной УИ^ и запрещать множество Е (т.е. дополнение Е), перечисляемое машиной М2. Чтобы определить, принадлежит ли цепочка к множеству Е, мы должны записать х на входной ленте и заставить 7И3 работать. Это значит, что обе машины Мх и М2 начинают синхронно работать с входом х. После некоторого конечного отрезка времени одна из машин остановится, получив х; следовательно, после конечного отрезка времени М3 либо допустит, либо запретит х, и мы будем знать, принадлежит ли х множеству Е или его дополнению. С другой стороны, если Е разрешимо, то оно рекурсивно, так как устройство с двумя выходами, которое допускает все его элементы и запрещает элементы, не принадлежащие ему, легко может быть разделено на две машины Тьюринга, одна из которых допускает все элементы множества, а другая допускает все элементы, не принадлежащие этому множеству.
Классический результат теории машин Тьюринга состоит в том, что существуют рекурсивно-перечислимые множества, которые не рекурсивны. Действительно, некоторые хорошо известные множества обладают этим свойством. Так, множество общезначимых формул элементарной логики, т.е. теории («и», «или», «не», «существует», «для всякого»), называемой исчислением предикатов первой ступени или узким исчислением предикатов, рекурсивно, если мы ограничимся одноместными предикатами, но не рекурсивно (хотя рекурсивно-перечислимо), если мы разрешим двуместные предикаты, т.е. отношения.
Рассмотрим формализованный язык обычной арифметики. Если он удовлетворяет обычным условиям адекватности для аксиоматических систем, то известно, что множество теорем будет хотя и рекурсивно-перечислимо, но не рекурсивно. Действительно, формальная арифметика обладает следующим свойством: существует механическая процедура/, такая, что если Mi представляет собой какую-либо машину Тьюринга с двумя выходами, которая допускает все теоремы, выводимые из некоторого непротиворечивого множества аксиом этой теории, и запрещает отрицания всех этих теорем, то /(f) есть формула (даже истинная формула) формальной арифметики, которая не допускается и не отвергается машиной Alz. Поэтому не существует машины с двумя выходами, которая допускала бы множество Е и запрещала бы его дополнение Е, если Е содержит все теоремы этой системы и не содержит их отрицаний. Кроме того, существуют совершенно разумные множества, которые не
являются рекурсивно-перечислимыми; например, множество истинных утверждений формальной арифметики или множество всех выполнимых формул теории кванторов.
Понятия разрешимости и существования алгоритма могут быть легко обобщены и распространены за пределы тех частных вопросов, которые только что обсуждались. Определим проблему как класс вопросов, каждый из которых получает ответ «да» или «нет». Проблема называется рекурсивно-разрешимой или разрешимой, если существует механическая процедура, применяя которую к любому вопросу из этого класса, мы получим через конечный промежуток времени ответ либо «да», либо «нет». Разрешимость проблемы может в общем случае быть сформулирована так же, как это показано выше. В качестве примера рассмотрим случай, к которому мы еще вернемся, и предположим, что нам задано множество порождающих грамматик GT, G2,... определенного рода (заметим, что слова нам задано множество в этом контексте означают, что задано устройство, которое рекурсивно его перечисляет) и что нас интересует, разрешима ли рекурсивно проблема эквивалентности. Эта проблема состоит в том, чтобы для произвольной пары грамматик Gb Gj определить, порождают ли они один и тот же язык. Мы можем поставить вопрос следующим образом: существует ли машина Тьюринга с двумя выходами, которая допускает цепочку VaV, если G^ и Gy порождают один и тот же язык, и запрещает цепочку \la Р, если Gt и Gy порождают различные языки? Проблема эквивалентности множеств Gb G2,... рекурсивно разрешима тогда и только тогда, когда такое устройство существует. Или же рассмотрим проблему определения для любой грамматики Gb порождает ли она конечное множество. Эта проблема рекурсивно разрешима в том случае, если существует машина Тьюринга с двумя выходами, которая допускает цепочку Р, если Gt порождает конечный язык, и запрещает ее, если Gt порождает бесконечный язык. Аналогично этому, другие проблемы разрешимости могут быть сформулированы таким же образом, как и проблемы эквивалентности и порождения конечного множества, которые, как мы видели, неразрешимы для машин Тьюринга.
Машины Тьюринга (и вычислительные машины) обычно рассматриваются как устройства для вычисления функций, а не для порождения множеств цепочек, как мы их описывали. Эти две точки зрения, однако, полностью эквивалентны. Таким образом, как было раньше указано, мы можем рассматривать машины Тьюринга представляющими (частичную) функцию, которая отображает х в у всякий раз, когда, имея на входе х, она работает, пока не допустит х (т.е. в первый раз возвратится в So), и в этот момент ее лента содержит в точности у (окаймленную символами #). Или, что равносильно, мы можем к алфавиту добавить новый символ а и
считать, что машина Тьюринга представляет отношение, имеющее место между х и у тогда и только тогда, когда она допускает цепочку хау, или что она представляет функцию, отображающую х в у, если это отношение является функцией. При обоих способах представимо одно и то же множество функций. Машина Тьюринга с двумя выходами может рассматриваться, например, как вычислимая частичная функция, которая переводит множество 2, которое она допускает, в число 1 и множество E*czE, которое она запрещает, в число 2. Специфические термины, в которых мы описали машины Тьюринга и другие автоматы, хотя и эквивалентны обычным терминам, специально приспособлены для целей настоящей главы.
Общие системы подстановок
Мы намереваемся теперь исследовать взаимосвязь теории грамматик (см. разд. 3—6 предыдущей главы) и теории автоматических устройств (разд. 1) и изучить мощность и формальные свойства различного рода грамматик. К сожалению, этот обзор должен ограничиться рассмотрением грамматик непосредственных составляющих, а не трансформационных грамматик и (за исключением разд. 4.6) вопросами перечисления множеств предложений, а не множеств структурных описаний. Как было замечено ранее, причина состоит просто в том, что известно очень мало значительных результатов, касающихся этих более интересных, но гораздо более трудных вопросов.
В разд. 3 предыдущей главы мы ввели класс грамматик, основанных на правилах подстановки [rewriting rules] ср->ф, где ср и 4 — цепочки символов конечного словаря У. В этом разделе мы будем рассматривать только такие системы, заранее предполагая известными понятия, введенные в разд. 4 предыдущей главы, и следуя соглашениям об обозначениях, установленным там. В частности, мы полагаем, что задан универсальный терминальный словарь Vt и универсальный нетерминальный словарь Ун, непересе- кающийся с V т, где У^Ут U Ун *).
Если на вид правил подстановки, имеющихся в нашем распоряжении, никаких дополнительных ограничений не налагается, то грамматики, определенные в разд. 4 предыдущей главы, могут быть названы общими системами подстановок. Вопрос об отношениях этих общих систем с теорией автоматических устройств, как было подчеркнуто в разд. 1, весьма прост. Действительно, любая машина Тьюринга может быть представлена непосредственно как общая
х) Напоминаем это соглашение: греческие буквы употребляются для обозначения цепочек в V; прописные латинские — для цепочек в Ун, строчные— для цепочек в Ут, первые буквы алфавита — для отдельных символов, последние — для цепочек.— Прим, перев.
система подстановок, и обратно. Мы можем выразить этот факт следующим образом.
Теорема?. L есть терминальный язык, порождаемый системой подстановок, тогда и только тогда, когда L есть рекурсивно-перечислимое множество цепочек (#х1#, #х2#,...), где х{ не содержит ни одного вхождения символа #.
Доказательство этого результата, принадлежащее Посту, см. у Дэвиса ([17], гл. 6, разд. 2). Основная идея этого доказательства состоит в том, что последовательные конфигурации машины Тьюринга могут быть определены с помощью правил подстановки <р->ф. Предположим, например, что машина Тьюринга М имеет правило ^i, j, к—1, т), указывающее, что, когда она находится в состоянии Sy и наблюдает символ аь она заменяет aL на ат и переходит в состояние Sk , в то время как лента сдвигается вправо на один шаг. В первый момент машина будет иметь такой вид, как это показано
Рис 8. Последовательные конфигурации машины-ленты для машины Тьюринга.Рис 8. Последовательные конфигурации машины-ленты для машины Тьюринга.
Рис 8. Последовательные конфигурации машины-ленты для машины Тьюринга.
Рис 8. Последовательные конфигурации машины-ленты для машины Тьюринга.
на рис. 8, а, а в следующий — такой, как показано на рис. 8,6,
теперь словарь V, состоящий из алфавита А машины Тьюринга МТ символа #, символа S и символов, обозначающих состояния М. В приведенном примере конфигурация, изображенная на рис. 8,6/, может быть представлена в этом словаре цепочкой символов (9), а конфигурация, изображенная на рис. 8,6,— цепочкой (10), в ко-
торых символ состояния стоит слева от символа, наблюдаемого машиной в данный момент.
• • • аз а2 ai Sj а^ Pi р2 Рз • • • ,(9)
. . . а3 а2 Sk а! ат рх р2 Рз • • • •(Ю)
Переход машины Тьюринга М от цепочки (9) к цепочке (10) может совершаться при помощи следующего правила подстановки:
а^а^З^с^.(11)
Можно доказать, что поведение машины М полностью и однозначно определяется конечным числом таких правил подстановки.
В разд. 1.8 мы описали поведение машины Тьюринга следующим образом: на ее ленте появляется конечная цепочка у символов из ее алфавита А (не содержащего символа #) с бесконечной цепочкой символов # слева и справа от ср. Она начинает работать в состоянии So, наблюдая самый левый символ из ср, и продолжает работать до тех пор, пока она либо блокируется, либо возвращается в So. В последнем случае мы говорим, что она допускает (порождает) цепочку #9# (конечно, она может продолжать работать бесконечно).
Предположим, что мы теперь изменили описание следующим образом. Если машина Тьюринга М должна вернуться в состояние So, она вместо этого двигает ленту до тех пор, пока считывающая головка не окажется против самой правой клетки, не содержащей #. В этом квадрате она печатает # и двигает ленту вправо, снова печатая # и двигая ленту вправо и т.д., пока она не достигнет последнего квадрата, не содержащего #, где она напечатает символ S и блокируется в указанном конечном состоянии. Эта последняя программа легко может быть построена. При этом изменении множество порождаемых языков и характер правил остаются неизменными. Машина допускает (порождает) #9# в том и только том случае, когда при заданном входе с? она работает до тех пор, пока не блокируется с лентой, содержащей все символы #, кроме единственного вхождения S. Кроме того, на каждом шаге вычислений на ленте имеется цепочка ср, не содержащая вхождений символа # и окаймленная с обеих сторон бесконечными цепочками из #.
Этим способом мы можем полностью описать поведение такой машины Тьюринга М с помощью особого множества Е правил подстановки, которые преобразуют цепочку #S0 ? # в #S# в том и только том случае, когда М допускает #?#• В силу детерминированного характера М множество Е моногенно\ это означает, что для заданной цепочки / существует не более одной цепочки ф, которая может быть результатом применения Е к /. Теперь рассмотрим множество правил Е', содержащее ф->х в том случае, когда х-^ принадлежит Е, и содержащее также терминальное правило #S0->#.
Это множество 2' правил образует общую систему подстановок. (#5#)-вывод в этой системе будет заканчиваться цепочкой #<р# в том и только том случае, когда М допускает #<?#.
Из теоремы 7 мы видим, что общие системы подстановок универсальны. Если язык вообще может порождаться тем, что в интуитивном смысле является строго определенной процедурой с конечным числом состояний, то он может порождаться грамматикой такого типа. Однако такие системы не представляют большого интереса для наших целей в настоящий момент. В частности, не существует естественного и единообразного метода связать с каждым законченным выводом некоторый С-маркер желаемого вида для его терминальной цепочки. В этом смысле можно сказать, что произвольная машина Тьюринга, или общая система подстановок, слишком неограниченна, чтобы служить грамматикой.
При наложении дополнительных ограничений на правила грамматики мы придем к системе, которая представляет больший лингвистический интерес, но обладает меньшей порождающей способностью. Как было отмечено в разд. 1.8, отдельная машина Тьюринга может рассматриваться не более и не менее как программа совершенно произвольного вида для цифровой вычислительной машины с потенциально бесконечной памятью. Очевидно, что программа вычислительной машины, которая способна порождать предложения некоторого языка, сама по себе не представляет никакого научного интереса, если только она не проливает некоторый свет на характер структурных свойств, которые отличают язык от произвольного рекурсивно-перечислимого множества. Если все, что мы можем сказать о грамматике естественного языка, заключено в утверждении, что она является общей системой подстановок, то это значит, что мы не сказали ничего, представляющего интерес. (Дальнейшее обсуждение см. в работах [10, 12].)
Наиболее строгое из налагаемых нами условий будет сводить грамматики к устройствам с порождающей способностью строго конечных автоматов. Мы увидим, что эти устройства принципиально не могут служить в качестве грамматик для естественных языков. Следовательно, прежде всего нас интересуют устройства с большей порождающей способностью, чем у конечных автоматов, но обладающие большей степенью «структурности» (и, предположительно, меньшей порождающей способностью), чем произвольные машины Тьюринга. Другими словами, мы будем заниматься устройствами, относящимися к общей области ограниченно-бесконечных автоматов.
Контекстные грамматики " "
Пусть имеется система G, удовлетворяющая всем условиям, задающим общую систему подстановок. Наложим на нее следующее дополнительное ограничение.
Условие 1. Если <р->ф есть правило G, то существуют ненулевые символы аг,...дт, Ь^..., Ьп,где т^п, такие, что ^^av.> ••■ат “ ^=bv..bn.
Иначе, условие 1 предполагает, что если ср->ф есть правило G„ то ф не короче ср. Грамматика, удовлетворяющая условию 1, называется грамматикой типа 1.
В дальнейшем для каждого условия i, которое будет выдвигаться, мы будем называть грамматику, удовлетворяющую этому условию, грамматикой типа i, язык, порождаемый грамматикой типа iT мы будем называть языком типа i. Самые общие системы подстановок считаются грамматиками типа 0. Условия, которые мы будем рассматривать, расположены в порядке возрастающей строгости,т.е. для каждого i грамматика типа г+1 всегда будет удовлетворять условию для грамматики типа i, но будет такая грамматикам типа i, которая не будет удовлетворять условию типа t‘+L
Условие 1 налагает существенное ограничение на порождающую» способность грамматики. Поскольку для вывода в грамматике типа I верно, что каждая строка имеет по меньшей мере такую же длину,, как и предыдущая, очевидна следующая теорема.
Теорема 8. Каждый язык типа 1 представляет собой рекурсивное множество.
Действительно, если задана G — грамматика типа 1 и цепочка х, то лишь конечное число выводов (тех, последние строки которых, не длиннее х) должно быть просмотрено, прежде чем мы решим, порождается ли х грамматикой G. Однако не все рекурсивные языки порождаются грамматиками типа 1, как непосредственно показывает рассуждение диагональным методом1).
Хотя грамматики типа 1 порождают только рекурсивные множества, в некотором смысле они близки к тому, чтобы порождать любые рекурсивно-перечислимые множества. Для простоты рассуждений ограничимся множествами целых положительных чисел (беа потери общности), поскольку любое множество конечных цепочек может быть эффективно закодировано множеством целых положительных чисел.
Обратимся снова к описанию машины Тьюринга, данному в; разд. 1.8. Рассмотрим машину Тьюринга с алфавитом {1, е), где- е — единичный элемент (т.е. клетка, содержащая е, рассматривается как пустая, а замена 1 на е рассматривается как стирание).. Можно предположить, что каждая отдельная машина NV работает следующим образом: на входе имеется последовательность 1\ ц>1 (т.е. i последовательных вхождений 1, окаймленных с обоих сторон бесконечными цепочками символов #). Машина М начинает
х) См. прим. 2 к стр. 285 русского перевода работы [8].— Прим, переев
работу в начальном состоянии So, находясь против самого левого вхождения 1 на ленте, и продолжает до тех пор, пока не закончит ее в выделенном заключительном состоянии Sf . К этому моменту на ленте содержится цепочка ср, окаймленная символами #, причем ср содержит j вхождений символа 1 и к вхождений символа е. Можно перестроить М так, что она не приде! в состояние Sf , пока не будет /^L и без потери общности можно предположить, что, когда М пришла в состояние Sf , она находится против самого левого символа, отличного от #, и что все вхождения 1 предшествуют всем вхождениям е (проще говоря, мы всегда можем добавить к любой машине М добавочный компонент, который автоматически переведет ее в эту заключительную конфигурацию, после того как. она закончит свою работу). Тогда выходом М, если только М достигает состояния Sf , начиная с выхода Р, будет цепочка Р ^(/>1 „ А^О). Мы уже видели (разд. 1.2), что для некоторых (а может быть,, и для всех) входов УИ никогда не закончит свою работу и что невозможен алгоритм, определяющий по правилам УИ, закончит ли она работу при заданном входе и даже есть ли такой вход, при котором она закончит работу. Если УИ кончает работу при входе Р с выходом Ре\ то мы говорим, что УИ отображает число i в число /. Это описание носит самый общий характер, и любая машина Тьюринга, представляющая частичную функцию (т.е. функцию,которая может не быть определена для некоторых элементов области задания этой функции), отображающую целые положительные числа, на целые положительные числа, может быть описана таким образом. Хорошо известно, что область определения так описанной машины Тьюринга есть рекурсивно-перечислимое множество и что каждое рекурсивно-перечислимое множество является областью определения для некоторой машины Тьюринга.
Заметим, что такая машина Тьюринга никогда не пишет символа #, хотя она может читать и стирать этот символ (расширяя тем самым кусок ленты, доступный для вычислений). Следовательно,, если М при входе Р кончает работу с выходом Ve\ то j+^^l Далее, непосредственно видно, что если, подобно тому как описано в разд. 2, мы построим множество правил подстановки, точно отражающее поведение УИ, то эти правила будут составлять моногенную грамматику G типа 1. Условие 1 будет выполнено в силу того, что кусок ленты, используемой к данному моменту, никогда не уменьшается. Если М получает выход \jek при входе Р , то G выдаст (#50Р#)-вывод, заканчивающийся цепочкой #SfP^#, и обратно. Хотя М может перечислять любое рекурсивно-перечислимое множество (как область определения представляемой ею функции),, множество выходов, которые она порождает, рекурсивно.
Предположим теперь, что мы выбираем машину Тьюринга и сопоставляем ей грамматику G только что описанным способом.
Допустим далее, что мы строим грамматику G*, которая содержит все правила G, и еще следующие четыре правила для порождения «начальных цепочек», необходимых для G:
S->SO1,Sa ->SO1, Sa ->sal.
Эти правила позволяют дать законченный (#5#)-вывод каждой цепочки вида #SO1Z#, где £>1, и только таких цепочек. Следовательно, полная грамматика G* будет давать законченный (#5# )-вы- вод цепочки #ср# тогда и только тогда, когда ^=Sp\jek (/>1), и для некоторого I, М при заданном входе Р заканчивает работу с выходом \jek. Итак, для произвольной машины Тьюринга, перечисляющей рекурсивно-перечислимое множество Е в качестве своей области определения, мы можем построить грамматику типа 1, которая порождает те и только те цепочки вида #Sf?^#, для которых ср^Е, а ф есть цепочка символов е (длина которой, впрочем, определяется цепочкой ср, где ср £ Е). Известно, что проблема распознавания для произвольной машины Тьюринга, является ли ее область определения пустой, конечной или бесконечной, алгоритмически неразрешима. Следовательно, соответствующие проблемы для грамматик типа 1 также алгоритмически неразрешимы.
Теорема 9. Невозможен алгоритм, распознающий по произвольной грамматике типа 1, порождает ли она пустое множество, порождает ли она конечное множество или бесконечное множество цепочек [581.
По этой же самой причине невозможен алгоритм, определяющий, появляется ли данная цепочка как собственная часть строки (д5#)-вывода в G. Далее, поскольку грамматика не дает никаких законченных (#5#)-выводов тогда, когда она эквивалентна грамматике Gnull с единственным правилом S-HS1 т), то по теореме 9 невозможно определить, эквивалентна ли грамматика G грамматике Gnulb а значит, и в общем случае.
Теорема 10. Невозможен алгоритм, определяющий эквивалентны ли заданные две грамматики типа 1 [581.
Впрочем, для любой алгоритмически неразрешимой проблемы машины Тьюринга можно найти аналогичную неразрешимую проблему, касающуюся грамматик типа 1. Другими словами, мало что можно узнать о свойствах языка, порождаемого грамматикой типа 1 (кроме того, что этот язык непременно рекурсивен), путем систематического исследования правил этой грамматики.
Э Достаточно было бы S->S1.— Прим, персе.
Условие 1 недостаточно сильно, чтобы позволить установить единообразный метод приписывания С-маркеров порождаемым предложениям, как это было бы желательно. Чтобы обеспечить эту возможность, мы, как было замечено в разд. 4 предыдущей главы, должны потребовать, чтобы на каждом шаге заменялся только один символ (вместе с некоторыми другими ограничениями, которые, как отмечено, не влияют на порождающую способность). Эти соображения приводят нас к рассмотрению более строго ограничивающего условия.
Условие 2. Если ср->ф есть правило, то существуют цепочки Xi, /2, А, со (где А — отдельный символ и со непуста}, такие, что ф=хИХ2 и ^Хт^Хг-
В грамматике типа 2 каждое правило <р->ф (т.е. хИХг”^ "^Xi ^Xz) может рассматриваться как утверждающее, что А может быть заменен на со в контексте Xi—Х2, гДе> разумеется, Xi или Х2 могут быть пусты. Мы будем говорить о грамматиках, удовлетворяющих этому условию, как о контекстных грамматиках. Правила этого вида весьма обычны в существующих грамматических описаниях. Они могут использоваться для указания контекстуальных ограничений на выбор определенных элементов или категорий, как об этом говорилось в предыдущей главе. Для контекстной грамматики можно определить класс Va нетерминальных символов как содержащий все (и только) такие элементы А, для которых G содержит правило Х^Хг^Х^Хг- В дальнейшем будем предполагать, что это условие всегда выполняется.
Из определения ясно, что каждая грамматика типа 2 является грамматикой типа 1, но не наоборот. Тем не менее условие 2 нс ограничивает порождающую способность грамматики.
Теорема 11. Если G есть грамматика типа 1, то существует грамматика G' типа 2, слабо эквивалентная G.
Прямое доказательство этого факта см. в работе [8].
Поскольку соответствие, указанное в теореме 11, эффективно, то сразу видно, что неразрешимые проблемы, касающиеся грамматик типа 1, остаются неразрешимыми, если ограничиться контекстными грамматиками.
Теорема 12. Не существует алгоритма, определяющего по двум заданным контекстным грамматикам, являются ли эти грамматики эквивалентными, порождает ли какая-либо из них пустое, конечное или бесконечное множество цепочек, появляется ли некоторая произвольно выбранная цепочка как часть строки (^S ^-вывода в какой-либо грамматике или как часть предложения порождаемого ею языка.
Здесь, как и прежде, мы находим, что мало что можно узнать путем систематического изучения правил подобных систем.
Теорема 12 имеет важные последствия для теории грамматик непосредственных составляющих. Любая теория грамматик должна давать общий метод приписывания предложениям их структурных описаний заданной грамматикой, а в случае грамматик непосредственных составляющих это может быть сделано естественным образом лишь в том случае, если каждая грамматика удовлетворяет условию С, гласящему, что не существует символов Л, В и цепочки со, таких, что срЛ5ф и срЛ<о5ф являются последовательными строчками вывода терминальной цепочки (ср. сноску 3 к разд. 4 предыдущей главы). Поэтому разумно было бы потребовать от правильно построенной грамматики непосредственных составляющих в дополнение к уже наложенным ограничениям, чтобы она удовлетворяла условию С. Тогда из теоремы 12 непосредственно следует, что правильная построенность является неразрешимым свойством грамматик непосредственных составляющих. Этого уже достаточно, чтобы отвергнуть теорию грамматик непосредственных составляющих в ее настоящем виде как возможную теорию грамматик. Ясно, что общая теория грамматик должна давать рекурсивный класс правильно построенных грамматик как возможных кандидатов на роль грамматик каких-либо естественных языков; другими словами, обязательно должен существовать алгоритм, определяющий, составляет ли данное множество правил правильно построенную грамматику в соответствии с этой теорией. Теория контекстных грамматик в ее современной форме не удовлетворяет этому требованию (хотя она может быть модифицирована так, чтобы ему удовлетворять, см. вышеуказанную сноску). Заметим, что теория трансформационных грамматик не вызывает этого затруднения, если, как предполагается в разд. 5 предыдущей главы, ее НС-компонент порождает лишь конечное множество цепочек (аналогично, если он порождает бесконечное множество достаточно ограниченногоХвида; это ограничение может оказаться достаточным, если механизм трансформаций будет в достаточной мере усиливать эту порождающую способность).
В разд. 3 предыдущей главы мы использовали для примеров три искусственных языка Lv L^ и L^ все со словарем \сцЬ}, и доказали, что LT и L3 обладают грамматиками, которые сейчас мы называем контекстными. (В действительности они обладают грамматиками, удовлетворяющими условию 2 с пустыми хг и /2-) Однако для L3 была построена простая грамматика, которая вообще не является (общей) системой подстановок. Мы знаем, конечно, что грамматика типа общей системы подстановок должна существовать для языка L3, поскольку он, очевидно, представляет собой рекурсивно-перечислимое и даже рекурсивное множество. Инте-
ресно увидеть, однако, что L3, в самом деле, порождается контекстной грамматикой, хотя и гораздо более сложной, чем требуется для Lx или L2.
Это следует из одного общего свойства контекстных грамматик, к рассмотрению которого мы сейчас обратимся. Рассмотрим следующее множество правил (общей системы подстановок):
R 1 : CD А СЕЛА; CDB СЕВВ,
R2: СЕАНСЕ; СЕВ ВСЕ,
R3 : Еа1^ -^Еа,(13)
R4 :£а#->£а #,
R 5 : aD Da,
R6: А — А; В-^В.
В этих правилах переменные а и р принимают значения из |Д,5,£}. Так, например, правило R5 в действительности должно рассматриваться как множество из трех правил: AD->DA; BD-^DB; FD-^DF.'
К заданной цепочке CD^F^, где ф — любая цепочка из А и В, правила (13) будут применимы в однозначно определенном порядке (за исключением лишь некоторой свободы в применении правил R6) и в конечном счете дадут цепочку
t^CDF^^(14)
к которой уже ни одно из этих правил не применимо. Короче говоря, правила (13) описывают копирующее устройство. Имея такое копирующее устройство, уже нетрудно использовать его как основу для построения грамматики, порождающей! L3.
Больше того, поскольку все эти правила удовлетворяют условию 1, это будет грамматика типа 1. Из теоремы И, следовательно, вытекает следующая теорема.
Теорема 13. Существует контекстная грамматика, порождающая L^ [81.
Эта грамматика будет значительно более сложной, чем грамматика (12), предложенная в разд. 3 предыдущей главы, в частности потому, что она должна включать множество правил, действующих как копирующее устройство правил (13). Грамматика (12) из разд. 3 предыдущей главы легко может быть переформулирована как трансформационная грамматика. Таким образом, мы имеем здесь простой искусственный пример того, какие упрощения часто могут быть получены расширением области грамматической теории на трансформационные грамматики, описанные в разд. 5 предыдущей главы.
Важно отметить, что способность контекстной грамматики порождать язык L3 представляет скорее ее недостаток, чем достоинство. Для объяснения этого факта рассмотрим реальное функционирование контекстного копирующего устройства. Его характерное свойство заключается в том, что оно позволяет получить перестановку типа АВ-^ВА в условиях контекстной грамматики; но если при помощи последовательного применения контекстных правил мы осуществим замену А В на В А, то оказывается, что соответствующий С-маркер символа В в цепочке В А получил тип А (т.е. прослеживается вверх до Л в соответствующем дереве вывода), а символ А в цепочке В А получил тип В. Например, если бы мы захотели использовать подобные правила для преобразования цепочки John will arrive (Джон придет) в цепочку will John arrive (придет ли Джон), мы были бы вынуждены поставить в соответствие цепочке will John arrive С-маркер, содержащий структурную информацию о том, что will в этом предложении является группой существительного (поскольку оно прослеживается вверх к символу NP, доминирующему слово John), a John является вспомогательным глаголом, что никак не соответствует нашим намерениям. Если бы мы пытались строить контекстную грамматику для английского языка, то никаким простым и естественным способом нам не удалось бы избежать этих совершенно неприемлемых последствий. (Заметим, что если will John arrive выводится из John will arrive при помощи грамматической трансформации вида, описанного в разд. 5 предыдущей главы, то это положение, противоречащее нашим интуитивным представлениям, не возникает.) Это замечание предполагает, что было бы важно выдвинуть дальнейшие ограничения для контекстных грамматик, которые исключили бы перестановки и в то же время позволили бы использовать правила, ограничивающие замену некоторых символов наличием определенного контекста. Весьма естественное ограничение, дающее этот эффект, предложил Парих [491.
Условие 3. G есть грамматика типа 2, не содержащая правил вида хИХг^Хг^Х-г» г^е со есть отдельный нетерминальный символ (т.е. ^^VnY
В грамматике типа 3 никакой символ не может быть заменен отдельным нетерминальным символом ни в каком контексте. При этом ограничении невозможно построить последовательность правил, имеющих результатом простую перестановку АВ->ВА. Следовательно, копирующее устройство, описанное правилами (13), не может быть построено, и нежелательные последствия не возникнут. Предположительно, L3 не может порождаться грамматикой типа 3. Несомненно, он не может ею порождаться тем способом, который описан выше.
Условие 3, как оно сформулировано, слишком строго, чтобы выполняться для реальных грамматик естественных языков, но оно может быть слегка изменено так, что, не уменьшая порождающей способности, оно, возможно, окажется небесполезным при построении грамматик для систем, подобных языку. Предположим, что грамматика G содержит правила вида хИХг^Х^Хг только тогда, когда либо а — терминальный символ (как в условии 3), либо а доминирует лишь над конечным числом цепочек во всем множестве выводов (и, значит, С-маркеров), возможных в G. В основном это сводится к требованию, чтобы если категория разделяется на подкатегории, то эти подкатегории являлись бы не типами синтагм [phrase types], а словами или классами морфем. Если считать, что системы обсуждаемого здесь вида вообще сколько-нибудь полезны для грамматических описаний, то, по-видимому, именно класс, удовлетворяющий этому ограничению, будет действительно подходящим.
Известно лишь одно нетривиальное свойство грамматик типа 3, именно то, которое устанавливается в теореме 14. Тем не менее этот класс грамматик заслуживает более пристального изучения. Похоже на то, что условие 3 дает адекватную в разумных пределах формализацию для набора лингвистических понятий, содержащегося в наиболее развитых вариантах метода непосредственных составляющих.
Бесконтекстные грамматики
Рассмотрим теперь класс грамматик, удовлетворяющих следующему условию.
Условие 4. Если ср-^Ф есть правило грамматики, то ср есть отдельная (нетерминальная) буква, а ф непуста.
Таким образом, каждое правило грамматики утверждает, что определенный нетерминальный символ может быть заменен цепочкой символов независимо от контекста, в котором он встречается. Назовем грамматику, удовлетворяющую уловию4, бесконтекстной грамматикой. Язык, порождаемый бесконтекстной грамматикой, назовем бесконтекстным языком. Отметим, что, хотя правила бесконтекстной грамматики применяются безотносительно к контексту, между элементами терминальной цепочки могут быть — и обычно бывают — довольно строгие ограничения совместной встречаемости. О бесконтекстных грамматиках уже известно довольно много. Мы даем здесь краткий набросок основных результатов, отсылая читателя при случае к более подробным исследованиям, описанным в других работах, за доказательствами и дальнейшим обсуждением.
Непосредственно очевидно, что если в условии 4 отбросить требование, чтобы с? была непуста, то порождающая способность бес-
13 Заказ № 563
контекстных грамматик останется неизменной (за исключением того, что будет порождаться «пустой» язык (е)). Доказательство см. в работе [4]. Мы можем также, не уменьшая порождающей способности, потребовать, чтобы грамматика не содержала правила вида А^В [81, так что бесконтекстные грамматики также удовлетворяют условию 3.
Хотя все бесконтекстные языки (языки типа 4) являются языками типа 3, обратное неверно.
Теорема 14. Язык, ^acnPV4n dnb^ есть язык типа 3, не порождаемый бесконтекстной грамматикой.
Доказательство принадлежит Париху [49]. Гораздо легче найти примеры языков типа 2 (языков, порождаемых классом общих контекстных грамматик), которые не могут порождаться бесконтекстной грамматикой. В частности, среди языков Lv L^ и L3, рассмотренных в предыдущем разделе, хотя Ьг и L2 являются бесконтекстными языками, L3, конечно, таковым не является (ср. разд. 3 предыдущей главы).
Т е о р е м а 15. Язык L^ и язык \апЬпап\ являются языками типа 2, для которых не существует порождающей их бесконтекстной грамматики [8, 59, 4].
Можно получить С-маркер (ср. с разд. 3 предыдущей главы) для цепочки, порождаемой бесконтекстной грамматикой G, непосредственно путем построения новой бесконтекстной грамматики G' со словарем, состоящим из словаря грамматики Си дополнительных терминальных символов: 1 и [д для любого нетерминального А грамматики G. Если G имела правило А-^> то G' будет иметь правило Л->[дср]. Грамматика G' порождает цепочку х, содержащую скобки, задающие структуру составляющих соответствующей цепочки у, порождаемой грамматикой С, причем у может быть получена из х опусканием скобок. При некоторых специфических условиях скобка 1 может быть опущена без появления неоднозначности, давая своего рода бесскобочную систему записи. Разумеется, система скобок, налагаемая грамматикой G' на терминальную цепочку G, в точности соответствует системе, определяемой из деревьев, введенных в предыдущей главе. Итак, мы можем рассматривать структурное описание цепочки х как цепочку ср в словаре V*, содержащем Vt и новые символы ] и [д для каждого А £ Vn.
Тем же самым методом можно получить С-маркер в контекстной грамматике, если она удовлетворяет условию С, стр. 166. Если контекстная грамматика удовлетворяет условию С, мы говорим, что она правильно построена. Таким образом, контекстная грамматика G правильно построена тогда и только тогда, когда она обладает
следующим свойством: если ср, ф суть две последовательные строки законченного (#5#)-вывода в G, то существуют единственные цепочки а £ Vn и хь /2, о), такие, что ^ТлЧл и Ф^Х^Хг- Расширив словарь V так, чтобы он содержал скобки, как это было сделано выше, определим d(^ (читай: «ср без скобок» или «дебракетизация Ф») для любой цепочки ср в этом расширенном словаре,, как цепочку, полученную опусканием всех вхождений скобок (вместе с их пометками) в цепочке ср. Теперь можно определить сильный у-вывод ф как последовательность «Рь-..,^, в которой <Pi=ф, <рп = ф и для каждого 1>п существуют цепочки ^1,w2,(d3,o)4,(d5 и символ а, такие, что <Pi = a)iC02a(D3(D4;cp^^ ^W ^(о)5) = о5 и ф)2асо3)-></ (о)2 отправило грамматики G. Если D—сильный (#5#)-вывод ф в G, а ^(ф) есть цепочка в Vt, то d(^ есть терминальная цепочка, порождаемая грамматикой G, и ф может считаться С-маркером, единственным образом сопоставленным этой цепочке при помощи вывода D', каждая строка которого есть дебракетизация соответствующей строки вывода/). Далее, для каждого (#5#)-вывода D цепочки хв G существует соответствующий сильный (#5#)-вывод, оканчивающийся цепочкой, которую можно принять за С-маркер, единственным образом сопоставленный выводом D цепочке х. Таким образом, для правильно построенных контекстных грамматик мы имеем точное определение порождения сильных С-маркеров.
Как было замечено выше, правильная построенность, определенная выше, не является разрешимым свойством для контекстных грамматик. Мы можем определить разрешимое свойство правильной построенности для этих грамматик следующим образом: грамматика G правильно построена, если она не имеет правила вида <рД5ф^фДа)Вф. В этом случае сильный вывод не обязательно однозначно определяется слабым выводом (как это будет в случае выполненного прежнего определения правильной построенности), но по-прежнему будет однозначно определяться слабым выводом в совокупности с последовательностью правил, использовавшихся при этом выводе (причем в общем случае нельзя обойтись ни без того, ни без другого). В действительности, как мы отметили в разд. 4 предыдущей главы, нетрудно выдвинуть эффективные ограничения, которые исключат подобную неопределенность, не влияя при этом на слабую порождающую способность (и влияя на сильную порождающую способность только введением некоторой добавочной и нигде более не употребляемой категоризации). Однако эти последние условия недостаточно обоснованы.
Специальные классы бесконтекстных грамматик
В этом разделе будут рассмотрены различные подклассы бесконтекстных грамматик, заданные дополнительными условиями на
множество правил. Напоминаем, что каждое правило имеет вид А->^, где А — отдельный нетерминальный символ, а ср — непустая цепочка. Мы продолжаем следовать принятому ранее соглашению об обозначениях разд. 4 предыдущей главы. Напомним также, что Ф=^ф тогда и только тогда, когда существует ср-вывод ф. Кроме того, нетерминальный словарь Vn состоите точности из тех символов А, которые появляются в левой части правила грамматики А-^.
Правило называется линейным, если оно имеет вид А-^хВу. Оно право-линейное, если имеет вид А-^хВ, лево-линейное, если имеет вид А-^Вх. Заключительным правилом называется правило вида А->х. В терминах этих понятий мы сейчас определим некоторые виды грамматик.
Определение 6. Грамматика G является
линейной, если каждое ее незаключительное правило линейно*, в частности, если оно лево-линейно или право-линейно;
односторонней линейной, если каждое ее незаключительное правило право-линейно или каждое ее незаключительное правило лево-линейно;
м е т а-л инейной, если все ее незаключительные правила либо линейны, либо имеют вид S-^^, и если, кроме того, в ней нет правила вида Л-^срЗф ни для каких А, ср, ф;
нормальной, если все ее незаключительные правила имеют вид А->ВС, а все заключительные правила — вид А-^а;
последовательной, если ее нетерминальный словарь может быть упорядочен как Ах,...,Ап таким образом, что для всех i, j из A^^Aj^ следует, что j^i.
В случае линейной грамматики, если ср есть строка некоторого (#5#)-вывода, то ср содержит не более одного нетерминального символа. Другими словами, имеется лишь одна точка, в которой вывод может ветвиться на каждом шаге. При первом же применении заключительного правила вывод заканчивается терминальной цепочг кой. В мета-линейной грамматике имеется ограниченное число (не более п) точек, в которых вывод может разветвляться. Верхняя граница определяется самым длинным правилом, в котором появляется S, т.е. максимальным числом появляющихся нетерминальных символов. Если применены п заключительных правил, вывод заканчивается терминальной цепочкой.
Односторонняя линейная грамматика представляет собой просто конечный автомат в смысле разд. 1.2 (см. работу [7]). Это совершенно ясно в случае односторонней линейной грамматики, все правила которой право-линейные (либо заключительные). Без потери общности можно предположить, что каждое линейное правило G имеет вид А->аВ, где В — неначальный символ G, и что каждое заключительное правило G имеет вид А->а. Пусть А1,...,Ап— нетер-
минальные символы G, причем Ат— начальный символ. Мы можем поставить в соответствие грамматике G конечный автомат F с тем же нетерминальным словарем, что и G, и с состояниями Av...,An, где Ат—начальное состояние. Правила F образуются следующим путем. Если A^aAj — правило G, то тройка ^a,Ab Aj ) есть правило F (понимаемое как команда F перейти из состояния Л-в состояние Ду, когда он считывает с ленты символ а\
Если А^а есть правило G, то тройка (а, Л^Л^есть правило F. Тогда G и F кончают работу, породив одну и ту же терминальную цепочку. Точно так же и обратно, правила конечного автомата непосредственно задают грамматику с только право-линейными или заключительными правилами.
Поскольку, если L — регулярный язык, то L*, состоящий из зеркально отраженных цепочек языка L (т.е. содержащий цепочку я^...^ для каждой av...an ^L), также является регулярным языком,, очевидно, что каждая односторонняя линейная грамматика представляет конечный автомат и что каждый конечный автомат может быть представлен как односторонняя линейная грамматика.
Нормальная грамматика — это грамматика, обычно имеющаяся в виду при обсуждении метода анализа по непосредственным составляющим, принятого в лингвистике. Заключительные правила А->а, составляющие лексикон языка, резко отделены от множества грамматических правил А-^ВС, каждое из которых задает разложение на две составляющие.
Введение понятия последовательной грамматики мотивировано той легкостью, с которой порождение в этой грамматике может быть осуществлено при помощи технического устройства. После того как правила разложения некоторого нетерминального символа А были применены и таким образом уничтожены все вхождения А в последнюю строку строящегося вывода, можно быть уверенным, что А не встретится ни в какой дальнейшей строке вывода. Ограничения этого рода (хотя для более общего случая, включающего трансформационные правила) были предложены и изучены в приложении к лингвистическому материалу в работе [40].
Определение 7. Введем обозначения*. х Х ЦЬ \ L порождается линейной грамматикой^, Хг = \Ь | L порождается односторонней линейной грамматикой^, Xm=[L | L порождается мета-линейной грамматикой^, v={L \ L порождается нормальной грамматикой^, a={L \ L порождается последовательной грамматикой^, 7 = {L j L порождается бесконтекстной грамматикой^.
Таким образом, Хь например, является множеством регулярных языков, как мы только что видели. С точки зрения порождающей
способности эти системы соотносятся друг с другом следующим образом1) .
Теорема 16. а) Хс_Х [7, 69];
б) v = y [8]; в)[20].
Языки Lx и L2 порождаются линейными грамматиками, но, как мы уже видели в разд. 1.1, не порождаются конечными автоматами (односторонними линейными грамматиками). Произведение языков Lx и L2 из X принадлежит 1т , но в общем случае не принадлежит X. Л^ножество правильно построенных формул исчисления высказываний в бесскобочной записи является примером языка, который не имеет мета-линейной грамматики, но порождается бесконтекстной грамматикой
S^CSS, S-^NS, S->K, V->VZ, V-^p,(15)
где p, p',p",...— пропозициональные переменные, С — знак импликации, N — знак отрицания.
Языки LT(=^anbn^ и L2(=(xx*|% есть цепочка в алфавите {^, 6} и х*— зеркальное отражение %}) принадлежат а, но не принадлежат Xv Примером языка из у, не принадлежащего □ , является язык со словарем \а, b, с, d}, содержащий предложение
а^-1 d... db^2 da"4 саПх db11-2 d. . . bn2k-2dan2k-x (16)
(симметричное относительно с) для каждой последовательности (&, пА,...,пк_^ целых положительных чисел. Этот язык порождается грамматикой с правилами
S -> adAda, S aSa, S аса,
A^bAb, А bdSdb(17)
(которые, впрочем, линейны), но не порождается последовательной грамматикой.
Так как нормальные грамматики могут порождать любой бесконтекстный язык, общее условие, сводящее грамматику к разложению на бинарные составляющие и, отдельно, к лексикону, не ограничивает порождающей способности более, чем ее ограничивает общий класс бесконтекстных грамматик (хотя, конечно, это условие весьма ограничивает системы порождаемых структурных описаний, т. е. ограничивает сильную порождающую способность).
9 Знак г- понимается здесь как строгое включение, исключающее случай равенства.— Прим, перев.
Бесконтекстные грамматики и ограниченно-бесконечные автоматы
Мы видели, что бесконтекстные и контекстные грамматики различного вида, рассматривавшиеся нами, по своей порождающей! способности превосходят конечные автоматы, но не достигают возможностей общих систем подстановок (машин Тьюринга). В частности, мы нашли языки, которые не регулярны, но порождаются линейными бесконтекстными грамматиками (даже с одним нетерминальным символом). С другой сюроны, мы заметили, что даже контекстные грамматики могут порождать лишь рекурсивные множества и то не все. Грамматики того вида, который мы сейчас рассматриваем, принадлежат к категории ограниченно-бесконечных автоматов (разд. 1.3— 1.7). В случае бесконтекстных языков мы видим, что каждый из них допускается линейно-ограниченным автоматом специального вида, использующим магазинную память (PDS) (ср. с разд. 1.4—1.6), и что такими устройствами могут допускаться только бесконтекстные языки.
Чтобы показать это, ограничимся рассмотрением нормальных грамматик, это не приведет к потере общности [ср. теорема 16 (6)1. Можно также без потери общности допустить, что если А^ВС есть правило грамматики, то ВЦ=С. Если задана такая нормальная грамматика G, мы можем построить автомат PDS М, который будет допускать язык L(G), следующим образом. Для каждого нетерминального символа А из G блок управления М будет иметь два состояния Д; и Аг Для каждого правила А-^а из G автомат Л4 будет иметь команду
(а, Аь е) (Л„ су(18)
Для каждого правила А ВС из G автомат М будет иметь команды:
И, Аь е) ф^ Л),
И Вр е) -> (С„ су(19)
(е, Сг, Л)^ (Ап оу
где с — единичный элемент. Следовательно, в общем случае М будет недетерминированным автоматом PDS. Его начальное состояние мы обозначим символом Е, не вгтречающимся в G. Устройство имеет команды (s, Е, a)->(Sz,e) и (е, Sr, о) -> (Е, о), где S — начальный символ G, позволяющие ему переходить из Е в Sz и из Sr в Е, стирая о и заканчивая работу.
Автомат zM допускает цепочку х, порождаемую грамматикой G, систематически обходя кругом дерево, представляющее диаг-
рамму вывода х в G, сверху вниз и слева ьаправо. Для иллюстрации рассмотрим грамматику G с правилами
S^CB, C-^AS, А->а, Вb, Sс,(20)
порождающую языкпорождающую языкa" cb"a" cb"(21)(21)
порождающую язык
порождающую язык
a" cb"
a" cb"
(21)
(21)
Рис. 9. Типичный вывод предложения в языке (21).Рис. 9. Типичный вывод предложения в языке (21).
Рис. 9. Типичный вывод предложения в языке (21).
Рис. 9. Типичный вывод предложения в языке (21).
при помощи таких примерно выводов, как тот, который показан на рис. 9 для цепочки aacbb. Соответствующее устройство PDS М будет иметь команды (22), соответствующие виду (18), и команды (23), соответствующие виду (19):
(а, Аь e^lA^ <0,
(6, Вь е) фг, е),(22)
(с,Sbе)(S,,е),
(е,Sz,е) -(CbS),
(е,Сг,е)фье),
(е,Br,SH(Sr,о),(23)
(е,Cbе) ->(AbС),
(е,Ат,е) ->(Sz,eV
(е, Sr, С)^(СГ, а).
При допущении цепочки aacbb с выводом, показанным на рис. 9, М будет последовательно совершать следующие шаги, где первая колонка представляет входную ленту с рассматриваемым символом, выделенным жирным шрифтом, вторая указывает состояние блока управления, а третья представляет содержимое ленты памяти.
Вход Блок управления Память (PDS)
aacbbSа
aacbbS,а
3. aacbb
Cl
aS
4. aacbb
At
aSC
5. aacbb
Ar
aSC
6. aacbb
St
aSC
7. aacbb
Ct
aSCS
8. aacbb
Ai
aSCSC
9. aacbb
Ar
aSCSC
10. aacbb
s.
aSCSC
11. aacbb
Sr
aSCSC(24)
12. aacbb
Cr
aSCS
13. aacbb
Bl
aSCS
14. aacbb
Br
aSCS
15. aacbb
Sr
aSC
16. aacbb
Cr
aS
17. aacbb
Bl
aS
18. aacbb^
Br
aS
19. aacbb
Sr
a
20. aacbbU
S
e
Очевидно, что устройство допускает все
(и только) цепочки, по-
рождаемые G, используя свою ленту памяти для запоминания той части вывода порождаемой цепочки х, которая понадобится на следующем шаге работы, в то время как оно последовательно воспринимает цепочку х на своей входной ленте. Кроме того, ясно, что эта конструкция является совершенно общей и может быть использована для любой нормальной грамматики. Отметим также, что автомат PDS, определяемый этой конструкцией в терминах разд. 1.4, является устройством PDS с ограниченным контролем. Отсюда мы заключаем следующее.
Теорема 17. Для любого заданного бесконтекстного языка L можно построить автомат PDS с ограниченным контролем, допускающий L.
Как показал Мэтьюз [41, 42], этот результат частично распространяется на контекстные грамматики. Если задана контекстная 12 Заказ № 563
грамматика G, мы определяем прямой вывод (a left-to-right derivation) [соответственно обратный вывод (a right-to-left derivation)]KaK вывод, удовлетворяющий следующему условию: если (ф,ф)—последовательные строки этого вывода, то ф^хЛо и ф^х/^ (соответственно Ф^юЛх и ф^^оух). Таким образом, заменяется всегда самый левый (соответственно самый правый) нетерминальный символ. Мэтьюз показывает, что можно построить автомат PDS М l-r, который будет допускать цепочку х тогда и только тогда, когда в G существует прямой вывод цепочки х, и автомат PDS Mr-ь который будет допускать цепочку х тогда и только тогда, когда в G существует обратный вывод цепочки х. По теореме 6 разд. 1.6 отсюда следует, что языки, допускаемые устройствами Ml-rh. Mr_l, являются бесконтекстными. Следовательно, будет бесконтекстным и их объединение (теорема 20, разд. 4.3). Таким образом, если в контекстной грамматике G имеются только прямые и обратные выводы, эта грамматика будет порождать бесконтекстный язык1). Мы говорим, что контекстная грамматика строго контекстна, если порождаемый сю язык не является бесконтекстным. Тогда мы видим, что необходимое условие того, чтобы грамматика была строго контекстной, состоит в том, что некоторые терминальные цепочки этой грамматики не имеют ни прямых, ни обратных выводов.
Нетрудно показать, что эти соображения останутся в силе, если определить прямой вывод (обратный вывод), как такой, в котором заменяемый символ в каждой строке находится не далее чем на определенном фиксированном расстоянии от самого левого (соответственно самого правого) нетерминального символа этой строки (см. Мэтьюз, в печати). Таким образом, грамматика будет строго контекстной лишь в том случае, когда некоторые из ее терминальных цепочек имеют только такие выводы, которые не являются ни прямыми, ни обратными в этом расширенном смысле.
Мы говорим, что D есть п-вставленный вывод, если п есть наибольшее число, такое, что D содержит две последовательные строчки хДсрйфСу и хАч^Ву, где из цепочек ф,ф более короткая имеет длину п. Таким образом, в /г-вставленном выводе имеется строка, в которой заменяемый символ стоит на расстоянии п символов либо от самого левого, либо от самого правого нетерминального символа этой строки. Отсюда можно заключить, что для того, чтобы грамматика была строго контекстной, необходимо, чтобы для любого п она могла бы порождать некоторое предложение только при помощи m-вставленных выводов, где т^п. Заметим, в частности, что в вы-
х) Предложенное Мэтьюзом [41 ] построение эквивалентного автомата PDS не приводит к цели; однако утверждение, сформулированное в этом предложении, верно, как показал А. В. Гладкий (см. его реферат на эту работу в РЖ Математика, 1965, 4В427).— Прим, перев.
водах, производимых «копирующим устройством», описанным в примере (13), имеются строки, в которых заменяемый символ отстоит сколь угодно далеко и от самого правого, и от самого левого нетерминального символа. -
При рассмотрении этих вопросов важно не терять из виду того, что вопрос, является ли данная контекстная грамматика строго контекстной, является неразрешимым, как указал Шамир [71 ].
В разд. 1.6 мы показали, что для каждого автомата PDS М существует преобразователь Т, обладающий следующим свойством: Т преобразует вход х в цепочку у, которая сводится к е тогда и только тогда, когда М допускает х. Теперь мы видим, что, следовательно, для любой бесконтекстной грамматики G существует преобразователь Т, который преобразует х в цепочку у, сводящуюся к в тогда и только тогда, когда G порождает х. Однако можно получить несколько более сильный результат, проведя построение Т непосредственно из G.
Определим модифицированную нормальную грамматику как нормальную грамматику, в которой нет пары правил вида А->ВС, D-^CE ни для каких нетерминальных А, В, С, D, Е; т.е. в модифицированной нормальной грамматике для каждого нетерминального символа можно однозначно определить, появляется ли он в левой или в правой ветви вывода (никакой нетерминальный символ не появляется и в левой, и в правой ветви). Очевидно, существует модифицированная нормальная грамматика, эквивалентная любой нормальной грамматике, а значит, и любой бесконтекстной грамматике.
Допустим, что мы теперь хотим применить конструкцию, аналогичную построению команд (18) и (19), к модифицированной нормальной грамматике G и получить преобразователь Т. Для каждого нетерминального символа А из G преобразователь Т будет иметь два состояния At и Аг. Кроме них, Т имеет начальное состояние В и команды (i,E)->(Sz, е) и (е, Sr)->(E,a'), где S — начальный символ G. Входным алфавитом Т является терминальный словарь Vj грамматики G. Его выходной алфавит содержит, кроме того, символ а' для каждого a^V?, пару символов А, А' для каждого нетерминального А из G и пару а,а'. Если А-^а (a^Vr) естьправило Gv то Т будет иметь команду
(а, А^ -> (Лг, Аааг А'\ (25) если А-^ВС есть правило G, то Т будет иметь команды
(., А^(ВЬ А),
(е, Br) - (Ct, е\ (26)
(е, Сг) (Лг, А').
Так построенный преобразователь Т будет обладать всеми основными свойствами преобразователя, сопоставленного устройству PDS при помощи построения, приведенного в разд. 1.6, а именно G порождает х тогда и только тогда, когда Т преобразует х в цепочку у, сводящуюся к е последовательным выбрасыванием пар а а'. Например, если G такова, как в примере (20), и Т имеет на входе цепочку ^aacbb^ (с выводом как на рис. 9), Т будет работать в основном так же, как М из (24), и закончит работу цепочкой
aSGAaa' A' SCAaa' A' Sec' S' С' Bbb' В' S' С' Bbb' В' S' о', (27) сводящейся к е, на ленте памяти.
Расширим теперь понятие «сводимости» и определим К как класс цепочек в выходном алфавите Ао , которые сводятся к е последовательным сокращением пар аа'или а'ш(а, а' £ Ао). То есть мы теперь рассматриваем аа' просто как обратные элементы в свободной группе G с образующими а£ Ао . Поскольку грамматика G, исходя из которой был построен Т, была модифицированной нормальной грамматикой, выходная цепочка Т в действительности никогда не будет содержать подцепочек вида a'xi, гдех сводится к е. Поэтому это расширение понятия «свэдимости» не приведет ни к каким осложнениям, и при этом преобразователь Т сохраняет то свойство, что G тогда и только тогда порождает х, когда Т преобразует х в цепочку у, сводящуюся к е.
При этом изложении мы все время предполагали, как это и естественно (ср. с разд. 4 предыдущей главы), что словарь V, в котором строятся все бесконтекстные грамматики, есть фиксированное конечное множество символов, так что К представляет собой некоторый фиксированный язык в словаре V', состоящем из всех символов V, пары а, а' и символа а' для каждого а £ V. Пусть ср — гомоморфизм (т. е. преобразование, осуществляемое с одним состоянием), такой, что ср(а)->а для всех а^ VT и ф(л)=е для g£Vt . Пусть U — множество всех цепочек в V. Заметим теперь, что если G и Т таковы, как было описано выше, a L(G) — язык, порождаемый G, мы имеем, в частности, что L^G^^VK Q T(U) ].
Это непосредственно приводит к построению автомата PDS, допускающего К; следовательно, по теореме 6 разд. 1.6 К есть бесконтекстный язык. Как было отмечено в разд. 1.6, Т([7) есть регулярный язык. Ниже будет явно показано, что пересечение бесконтекстного языка с регулярным языком является бесконтекстным языком и что преобразование переводит бесконтекстный язык в бесконтекстный (разд. 4.6). Если К и ф таковы, как в предыдущем абзаце, определим Ф(£) для любого языка L как Ф(£)=(/(и Ц. Подведя итог всему сказанному, мы имеем следующий результат.
Теорема18. Для каждого регулярного языка R гомоморфизм <р(Я) дает бесконтекстный язык; для каждого бесконтекстного языка L существует такой регулярный язык R, что L—^(Ry
Таким образом, бесконтекстный язык однозначно определяется выбором некоторого регулярного языка (т.е. конечного автомата), и каждый такой выбор дает нам некоторый бесконтекстный язык при фиксированных К, ср. Это позволяет определить простые алгебраические характеристики бесконтекстных языков.
Из теоремы 18 немедленно следует тот результат, что каждый бесконтекстный язык L является гомоморфным образом пересечения К с некоторым 1-ограниченным языком D. (Напомним, что, как было показано в разд. 1.2, каждый регулярный язык есть гомоморфный образ некоторого 1-ограниченного языка.) Далее, различные категории бесконтекстных языков, которые были определены выше, легко определяются простыми условиями, налагаемыми на D (подробнее см. в работе [69]). Из разд. 1.2 известно, что регулярные языки состоят из цепочек в основном с периодической структурой. '
Из той роли, которую играет К в описании бесконтекстных языков, мы видим, что в некотором смысле структурная симметрия составляет фундаментальное формальное свойство цепочек бесконтекстного языка (и подцепочек, из которых они составлены). Можно сказать, правда, довольно расплывчато, что в той мере, в какой характер некоторого аспекта упорядоченного поведения определяется условиями, налагаемыми на соседние части (например, ассоциативные связи), естественно рассматривать организм, имеющий это поведение, в основных чертах как ограниченный автомат; в той мере, в какой это поведение обладает периодической и ритмической структурой (как в случае примеров, приводимых Лэшли [39] в связи с его критикой теории «ассоциативных цепей»), организм ведет себя подобно строго конечному автомату; в той мере, в какой это поведение проявляет иерархическую организацию и симметрию, организм ведет себя подобно устройству, внутренние свойства которого выражаются бесконтекстной грамматикой.
Естественно, эта слишком краткая (и неточная) классификация не исчерпывает всех возможностей для комплексных, упорядоченных или сгруппированных актов поведения, и можно только надеяться, что по мере того, как будет развиваться теория более богатых порождающих систем (в частности, для языка, теория трансформационных грамматик), будут обнаруживаться и объясняться все более глубокие и далеко идущие формальные свойства такого поведения.
Отметим, что цепочка (27) представляет собой структурное описание входной цепочки t^aacbb^ в соответствии с выводом на рис.9.
Точнее говоря, цепочка (27) превращается в структурное описание вида, описанного на стр. 170, следующим гомоморфным преобразованием: для а £ Vt , /(а)=а и /(а')=е; для cl^Vn, К^ = [а И Да')= ]. Это сводится к замене Т с командами (25) и (26) преобразователем Т, отличающимся от Т лишь тем, что он не печатает а' для а £ VT и печатает 1 вместо а' для каждого а £ Vn- Как непосредственное следствие теоремы 17, имеем теорему.
Теорема 19. Если задан бесконтекстный язык L, то можно построить модифицированную нормальную грамматику G, порождающую L, и преобразователь Т, обладающие следующим свойством; если G порождает х со структурным описанием ср, то Т преобразует х в ср; если Т преобразует х в ср и ср сводится к е последовательными сокращениями подцепочек вида [а а], еде а£УТ) то G порождает х со структурным описанием ср.
Преобразователь Т, о котором говорит теорема 19, представляет собой, таким образом, «алгоритм распознавания» (т.е. модель восприятия), который приписывает любому предложению его структурное описание относительно G. Однако это не есть строго конечный метод распознавания в силу условия, что выходная цепочка должна сводиться к е. Мы еще вернемся (разд. 4.6) к проблеме построения оптимальной строго конечной процедуры распознавания для бесконтекстных грамматик. В силу результатов, установленных в этом разделе, существует технический прием построения алгоритма распознавания с помощью автомата PDS для каждой нормальной бесконтекстной грамматики, а следовательно, для каждого бесконтекстного языка по крайней мере в одном из его грамматических представлений (а также, как можно предполагать, и во всех).
Итак, мы имеем следующие результаты. Существует фиксированный гомоморфизм Д такой, что для любого регулярного языка R можно найти такой 1-ограниченный язык L, что R=f(L). Существуют фиксированные гомоморфизмы gv g^ такие, что для каждой данной бесконтекстной грамматики G', порождающей язык ЦО^, существует модифицированная нормальная грамматика G, порождающая язык L(G)=L(G') и порождающая множество структурных описаний L(G), и существует 1-ограниченный язык L, такой, что L(G)=g"i(/(n L) и ^(G^g^/Cf) L\ где К — фиксированный бесконтекстный язык, определенный выше. Таким образом, слабая порождающая способность любой бесконтекстной грамматики и сильная порождающая способность любой модифицированной нормальной грамматики однозначно определяются этим способом путем выбора определенного 1-ограниченного языка.
Мы уже знакомы с различными свойствами трех искусственных языков, введенных в разд. 3 предыдущей главы. Все три языка
находятся за пределами возможностей конечных автоматов. L^ может порождаться контекстной грамматикой, но не ^ожет порождаться бесконтекстной. L^ может порождаться бесконтекстной и даже линейной грамматикой, но не может порождаться никакой системой счетчиков (ср. с разд. 1.4). Lx может порождаться системой счетчиков. Кроме того, язык порождается некоторой бесконтекстной грамматикой тогда и только тогда, когда он допускается некоторым автоматом PDS.
Как мы видели в разд. 3 предыдущей главы, основное свойство L2 (а именно, что он содержит вложенные зависимости) присуще и естественным языкам. Не мешает отметить, что множество зависимостей такого рода, как в Л3, также появляется в естественных языках. Постал [51] нашел развитую систему этого рода в языке могаук (Mohawk), в котором из последовательности существительных произвольной длины может быть образован глагол, причем порядок элементов этой последовательности соответствует порядку последовательности существительных вне глагола. Язык, обладающий таким множеством зависимостей, выходит за пределы возможностей бесконтекстной грамматики или устройства PDS безотносительно к любым условиям, налагаемым на структурные описания (ср. разд. 5.1 предыдущей главы) и сильную порождающую способность. Такие подсистемы есть ив английском языке, хотя там они играют менее существенную роль. Так, Соломонов (1959, личное сообщение), а также Бар-Хиллел и Шамир [5 ] указывают, что слово respectively (соответственно) дает возможность получить множества зависимостей типа L3 (например, John and Mary wrote to his and her parents, respectively — Джон и Мэри написали его и ее родителям соответственно). Аналогично из эллиптического предложения John saw the play and so did Bill (Джон смотрел пьесу и Билл тоже) можно получить John saw the play and so did Bill see the play (Джон смотрел пьесу и Билл тоже смотрел пьесу), но,, не John saw the play and so did Bill read the book (Джон смотрел пьесу и Билл тоже читал книгу), и т. д.
В связи с этим можно заметить, что язык также будет находиться вне области действия бесконтекстных грамматик или автоматов PDS, если он будет обладать основным формальным свойством дополнения к L3, т.е. если он будет содержать бесконечное множество частей предложения (синтагм) xv х^... и все предложения вида ах^хд, в которых I отлично от / (в то время как язык типа L3 содержит все предложения, в которых I совпадает с /, как в упомянутом примере языка могаук). Но такого рода ограничения весьма распространены (см., например, работу [27 ] разд. 3.1). Так, в сравнительных предложениях мы можем иметь конструкцию: That one is wider than this one is DEEP (с сильным ударением на слове DEEP) [буквально: та (вещь) более широка, чем эта — глубока],
но не конструкцию: *That one is wider than this one is WIDE [буквально: та (вещь) более широкая, чем эта— широка], так как последняя в обязательном порядке заменяется конструкцией: That one is wider than this one is [та (вещь) более широка, чем эта]. Таким образом, для этих конструкций характерно, что повторяющийся элемент выбрасывается, а неповторяющийся получает сильное ударение. Неограниченную систему этого рода мы находим при введении групп существительного, как это видно на примере таких сравнительных предложений, как: John is more successful as a painter than Bill is as a SCULPTOR (Джон больше преуспел как художник, чем Билл как скульптор), но не: *Jo. n is more succe sfui as a painter than Bill is as a PAINTER (Джон больше преуспел как художник, чем Билл как художник), которое при помощи обязательной трансформации выбрасывания сворачивается в предложение: John is moie successful as a painter than Bill is (Джон больше преуспел как художник, чем Билл). Как и в случае наличия подсистем типа L3, эти конструкции показывают, что естественные языки превышают возможности бесконечных автоматов или устройств PDS безотносительно к любым замечаниям, касающимся сильной порождающей способности.
Как показывают рассмотрения этого рода, для того чтобы обогатить лингвистическую теорию и преодолеть слабые места грамматики непосредственных составляющих (ср. с разд. 5 предыдущей главы; впрочем, отмеченные там недостатки касаются только сильной порождающей способности), необходимо развивать теорию систем, пригодных для изучения бесконечных множеств цепочек, не входящих в область действия слабой порождающей способности теории бесконтекстных грамматик. В этих примерах, как и в примерах предыдущей главы, было бы легко установить требуемые правила в форме грамматических трансформаций и таким образом охватить лингвистические явления, выходящие за пределы теории грамматик непосредственных составляющих.
Мы уже почти полностью закончили доказательство теоремы 6 из разд. 1.6, которая утверждает, что с точки зрения слабой порождающей способности бесконтекстные грамматики точно соответствуют недетерминированным автоматам PDS. В разд. 2 мы указали, что общие системы подстановок точно соответствуют машинам Тьюринга, а в разд. 4.1, что односторонние линейные грамматики имеют точно такую же слабую порождающую способность, что и конечный автомат. Как для конечных автоматов, так и для машин Тьюринга недетерминированность не увеличивает (слабой) порождающей способности. Недавно было показано, что любой язык, допускаемый детерминированным линейно-ограниченным автоматом, является контекстным языком [36]. Курода отметил, что это доказательство распространяется и на недетерминированные ли-
нейно-ограниченные автоматы, и, кроме того, доказал, что каждый контекстный язык допускается некоторым недетерминированным линейно-ограниченным автоматом. Было также указано в работе [4], что двуленточные автоматы, введенные Рабином и Скоттом [53], соответствуют линейным грамматикам в следующем смысле. Пусть у*—отражение у, а а — заданный символ словаря VT . Тогда если Т — двуленточный автомат, допускающий множество пар j(x , уУ (гдел^, yL — цепочки в словаре VT—{а}), то существует линейная грамматика G, порождающая язык \х1ау*\; и обратно, если G есть линейная грамматика, порождающая язык \хау*\ (х , yt — цепочки в VT—{а}), то существует двуленточный автомат, который допускает в точности множество пар {(хр у$*у.
Подводя итог всему сказанному, мы видим, что с точки зрения слабой порождающей способности имеется довольно близкое соответствие между иерархией различных видов грамматик непосредственных составляющих и некоторой иерархией автоматов, а именно общие системы подстановок соответствуют машинам Тьюринга, контекстные грамматики — недетерминированным линейноограниченным автоматам, бесконтекстные грамматики — недетерминированным автоматам PDS, линейные грамматики — двуленточным автоматам и односторонние линейные грамматики — конечным автоматам.
Курода также показал, что дополнение (по отношению к фиксированному словарю) языка, допускаемого детерминированным линейно-ограниченным автоматом, есть контекстный язык и что каждый бесконтекстный язык допускается некоторым детерминированным линейно-ограниченным автоматом. Отсюда следует, что дополнение бесконтекстного языка есть контекстный язык. Мы увидим ниже (разд. 4.3), что дополнение к бесконтекстному языку не обязательно является бесконтекстным языком и (разд. 4.4) что не существует алгоритма, определяющего, является ли оно бесконтекстным языком или нет.
Свойства замкнутости относительно операций
Регулярные языки замкнуты относительно булевых операций (т.е. объединения, пересечения и дополнения по отношению к фиксированному алфавиту), а также относительно отражения (т.е. преобразования каждой цепочки а^.л^ в цепочку а1...а1У произведения (т. е. образования языка LvL^=\xx=yz, у £ L^ г£L2! и бесконечного замыкания (т. е. образования языка U nLn, где Ln^ ^L-L- ... L, п раз). (См. разд. 1.2.) Однако это наблюдение лишь частично оправдывается в случае бесконтекстных языков.
Теорема 20. Множество бесконтекстных языков замкнуто относительно операции отражения, произведения, бесконечного замыкания и теоретико-множественного объединения [4].
Но пересечение двух бесконтекстных языков уже не обязательно является бесконтекстным языком, а следовательно, и дополнение бесконтекстного языка относительно множества цепочек в фиксированном алфавите не обязательно будет бесконтекстным языком.
Теорема 21. Множество бесконтекстных языков не замкнуто относительно операций теоретика-множественного пересечения и дополнения (относительно фиксированного словаря V) [59,4].
Шейнберг [59] приводит в качестве контрпримера языки Lx= = {апЬпа^] и L^^^a4^ каждый из которых есть бесконтекстный язык, но пересечение которых есть множество цепочек \ачЬпап\, не являющееся бесконтекстным языком (пример, приведенный у Бар-Хиллела, Перлса и Шамира [4], в основных чертах совпадает с этим). Пересечение двух множеств может, конечно, быть представлено в терминах объединения и дополнения. Поэтому отсюда следует, что дополнение бесконтекстного языка не обязательно будет бесконтекстным языком, поскольку объединение бесконтекстных языков бес контекстно.
Отметим, что языки Lx и L2, определенные в предыдущем абзаце, являются мета-линейными и последовательными языками. Объединение мета-линейных языков мета-линейно; объединение последовательных языков есть последовательный язык. Следовательно, этот пример в действительности показывает, что множества Хт и о из определения 7 не замкнуты относительно операций пересечения и дополнения, точно так же как и все множество ^, и, кроме того, пересечение двух языков из \т или двух языков из а не обязательно принадлежит у.
Шюценберже установил (личное сообщение), что этот результат может быть усилен до линейных грамматик (грамматик класса X по определению 7). Рассмотрим грамматику GT с правилами
S -> аа Sc, S -> bSc, S be (28) pi грамматику G2 с правилами
S aScc, S aSb, S -> ab. (29)
Пересечение языков, порождаемых грамматиками Gx и С2, есть множество цепочек \а2пЬпа2п^, которое не является бесконтекстным языком; но грамматики Gx и С2 линейны. Более того, это грамматики простейшего типа выше уровня конечных автоматов, а именно линейные с единственным нетерминальным символом. Теперь мы видим, что даже в этом простейшем случае пересечение порождаемых языков может не быть бесконтекстным, а класс X также не зам-
кнут относительно пересечения или дополнения (он замкнут относительно объединения).
Свойства дополнения, вытекающие из предыдущих рассуждений о пересечении, не переносятся непосредственно на подтипы множества y бесконтекстных языков; хотя из сказанного выше следует, что дополнение языка из X (или \т , или о) не обязательно принадле- нсит X (соответственно \т или а), но из этого не следует, что оно не принадлежит у. Однако вполне резонно предположить, что установленный результат распространяется и на эти подсемейства. Очевидно, вопрос о том, является ли дополнение линейного языка с единственным нетерминальным символом (и с единственным заключительным правилом S-^c, где с не появляется нигде в остальных правилах) бесконтекстным языком — это очень важный вопрос остающийся пока открытым.
Как мы знаем, класс Хт регулярных языков замкнут относительно пересечения и дополнения (теорема 1, разд. 1.2). Итак, в итоге мы имеем следующее: все типы бесконтекстных языков, установленные в определении 7 разд. 4.1, замкнуты относительно операции объединения, но только Хт замкнут относительно пересечения и дополнения. Далее, пересечение языков типов X, \ти а не обязательно вообще будет бесконтекстным (т.е. вообще будет в у).
Интересно отметить, что эти свойства не переносятся на контекстные языки. В частности, пересечение двух контекстных языков является контекстным языком [36]. Но вопрос о дополнении контекстного языка остается открытым.
Неразрешимые свойства бесконтекстных грамматик
В разд. 3 мы показали, что многие проблемы, связанные с контекстными грамматиками, оказываются алгоритмически неразрешимыми. Некоторые, но не все, из этих проблем являются неразрешимыми также и в случае бесконтекстных грамматик — в действительности даже простейшего вида, выходящего за пределы конечных автоматов.
Прежде всего приведем теорему.
Теорема 22. Если задана бесконтекстная грамматика G, то существует алгоритм, определяющий, является ли язык, порождаемый грамматикой G, пустым, конечным или бесконечным [4].
Отсюда следует, что систематическое изучение правил дает больше сведений о свойствах бесконтекстной грамматики, нежели контекстной грамматики. Однако во многих других отношениях мы сталкиваемся с сильными ограничениями, наложенными на то, что может быть определено этим способом. В обзоре, касающемся неразрешимости, мы будем в основном следовать Бар-Хиллелу, Перлсу и Шамиру [4].
Известные неразрешимые свойства бесконтекстных грамматик следуют из сведения к проблеме алгоритмическая неразрешимость которой была доказана Постом [50]), называемой проблемой соответствия. Это может быть сформулировано следующим образом. Предположим, что нам задано множество Е из п пар цепочек в алфавите из по меньшей мере двух букв. Тогда
s = !(*i> УхУ • • •, (л^ //„)).
Последовательность целых чисел
I = (iv,. . ., i„Y 1
мы назовем последовательностью индексов для Е. Мы говорим, что последовательность индексов / удовлетворяет Е только в том случае, если
.Ч . xlm = у^ ■ ..у 1т.(30)
Проблема соответствия состоит в том, что если задано множество Е, то требуется определить, существует ли последовательность индексов /, удовлетворяющая множеству L. Пост показал, что эта проблема алгоритмически неразрешима, т. е. не существует алгоритма, определяющего по заданной последовательности Е пар цепочек, существует ли последовательность индексов, удовлетворяющая Е. Заметим, что если / удовлетворяет Е, то 11^(1^...J^i^... ..., im) также удовлетворяет Е. Следовательно, либо не существует последовательности индексов, удовлетворяющей Е, либо существует бесконечно много последовательностей индексов, удовлетворяющих Е, и в силу этого вопрос, существует ли бесконечное множество удовлетворяющих последовательностей, также алгоритмически неразрешим. Этот факт играет важную роль в последующих рассуждениях.
Ограничимся на некоторое время рассмотрением языков в алфавите fa, b, с}. Обозначим через L(G) язык, порождаемый грамматикой G; через L — дополнение к языку L (относительно алфавита fa, b, с}; через LTc L^— пересечение Lx и L^ через L1ljL2— объединение и L2 и через х*— отражение цепочки х.
Допустим, что нам задано произвольное множество Е,
S = !(*v(*й, //Л)Ь(31)
где для каждого i х( и y-t представляют собой цепочки в алфавите (а, Ь\. Пусть G(E) — множество правил подстановки
S-^c, S^xSy* (l<.i<n),(32)
порождающих язык L[G(E)]. Тогда G(E) есть линейная бесконтекстная грамматика с единственным нетерминальным элементом. Рассмотрим теперь вопрос, порождает ли G(E) цепочку zcz*. Ясно, что это верно лишь в том случае, когда существует последовательность индексов ^...JJ для множества Е, такая, что
z =... х, = у .у, •(33)
Таким образом, проблема определения, порождает ли произвольная линейная грамматика G (с одним нетерминальным символом) цепочку вида zcz* для некоторого 2, есть в точности проблема соответствия Поста (см. работу [63]). Следовательно, не существует общего метода определения, порождает ли заданная бесконтекстная грамматика G (которая может быть даже линейной с одним нетерминальным символом) некоторую цепочку zcz*, а следовательно, и бесконечное множество таких цепочек (как это было выше замечено), или же она не порождает ни одной такой цепочки.
Но пусть теперь Gm есть грамматика
S-^c, S~>aSa, S-^bSb,(34)
порождающая «зеркальный» язык L^G^^^zcz*^. Пусть 6(E) задано равенством (3 J. Рассмотрим вопрос:
какова мощность множества L (Gm) (\L\G (Е)] ?(35)
Но это есть в точности вопрос: сколько цепочек вида zcz* порождает грамматика G(E)? Мы знаем, что ответ на этот вопрос таков: либо ни одной, либо бесконечное множество, и мы только что обнаружили, tfro не существует алгоритма, определяющего, который из двух случаев имеет место. Следовательно, не существует алгоритма, определяющего для заданного множества Е, является ли L(Gm) р L[G(E) ] пустым или бесконечным.
Отметим далее, что никакое бесконечное подмножество языка ЦО^ не является регулярным языком. Поэтому пересечение ЦОт) р L[G(E) ] регулярно только в том случае, если оно конечно, т. с. пусто. Так как не существует алгоритма, обнаруживающего этот факт, то не существует алгоритма, определяющего для произвольного Е, является ли ЦС^ р L[G(E) ] регулярным языком.-
Теорема 23. Не существует алгоритма, определяющего для заданных бесконтекстных грамматик Gx и G^, является ли язык L(G1)pL(G2) пустым, бесконечным или регулярным [4].
В действительности, это верно даже в том случае, когда Gx фиксирована и задана соотношением (34), a G2— линейна с единствен-
ным нетерминальным символом (так же, как и GT). Линейные грамматики с одним нетерминальным символом представляют собой в рамках наших исследований простейшие системы выше уровня конечных автоматов; а хорошо известно, что существует алгоритм, определяющий, является ли пересечение двух регулярных языков пустым или бесконечным (оно всегда регулярно).
Мы описали грамматику Gm в соотношении (34) как грамматику, порождающую «зеркальный» язык с заданной средней точкой. Пусть Gm2— грамматика, состоящая из правил (34) и ' правила
Si -> ScS. (36)
Пусть Si— начальный символ в G^. Тогда ЦО^ состоит из всех цепочек вида хсх*сусу*, гдах и у— цепочки в алфавите {а, Ь\.
Пусть опять Е задано соотношением (31); определим G/n(E) как грамматику, содержащую правила (32) грамматики G(E) и, кроме того, правила
8^ a S^ 8г Ь8гЬ, 8г с8с. (37)
где Si— начальный символ. Грамматика Gm^ вкладывает язык L[G(E)1, заданный правилами (32), в «зеркальный» язык. Это значит, что LIG^E) ] состоит в точности из тех цепочек вида хсусхсх*, в которых усг порождается грамматикой G(E); Gm (Е) является своего рода «слиянием» грамматик Gm и G(E).
Рассмотрим теперь пересечение языков, порождаемых грамматиками Gm2 и G^E) [так же как раньше мы рассматривали пересечение Ц0т^ и L[G(E)]}. Это есть множество ЦО^^Ь (G^E)], состоящее в точности из тех цепочек х, которые удовлетворяют следующим условиям:
х = хгсх2сх3сх4 {xL—цепочка в алфавите \а, 6}),
(И) хг = Х2 и х3 = xf (так как x^L(G2m))
хг = Х4 и x^cx3^L [G (Е)] (так как х £ L \Gm (Е)]). (38) Тогда, в частности, х1=х3, x2=x4 и х^х3 . Следовательно, ЦО^) A lAGm^L) 1 пусто, лишь когда не существует последовательности индексов, удовлетворяющей Е, и бесконечно в противном случае, в точности так же, как и раньше (потому что, как мы уже заметили, вопрос о том, существует ли цепочка х2сх3^ L[G(E) 1, где х2=х3* , есть в точности проблема соответствия для Е). Следовательно, не может существовать алгоритм, определяющий, является ли L(G,„2) А ТЛС^Е) ] пустым или бесконечным (имеются только эти две возможности).
Каждая цепочка в ЦОт^ П LVG^) ] имеет вид хсх* схсх* , и легко показать, что никакое бесконечное множество таких цепочек не образует бесконтекстного языка. Следовательно, множество
L (Gm) QL[Gm (S)] "
представляет собой бесконтекстную грамматику лишь в случае, когда оно конечно, т. е. пусто, и так как вопрос о непустоте, как было отмечено, неразрешим, то и вопрос, является ли
Л(б^ПА[От(Е)]
бесконтекстным языком, также неразрешим.
Теорема 24. Не существует алгоритма, определяющего по заданным бесконтекстным грамматикам Сг и G<2,, является ли ЦО^ п L(G2) бесконтекстным языком [4].
В действительности, это верно даже в том случае, когда GT фиксирована в виде G^ и G2— мета-линейна (заметим, что G^2 также мета-линейна). Теорема 23, впрочем, следует из рассуждений, доказывающих теорему 24.
Мы рассмотрели языки в алфавите \а, Ь, с), но при соответствующем кодировании мы легко можем распространить эти результаты о неразрешимости на языки в алфавитах из двух или более символов (см. работу [4]).
В работе [4] доказательство теорем 23 и 24 состоит в основном в следующем. Рассмотрим множество Е, заданное соотношением (31). Пусть Lx— язык, состоящий из всех цепочек
al)k . .. ab4 сх-ч .. . xik cy$l... у^ cbua ... Ь^а, (39) где (н,...^ и (ji,...,//) — последовательности индексов для Е- Легко показать, что Ls является бесконтекстным языком, порождаемым грамматикой Gv . Так определенная грамматика Ga будет играть ту роль, которую играла грамматика Gm^ в кратко описанном выше доказательстве.
Рассмотрим теперь язык LM, состоящий из цепочек
ХгСХ2СХ2 ОС*, (40) где хг и х2— цепочки в алфавите {а, Ь^. Язык LM также представляет собой бесконтекстный язык, порождаемый грамматикой GM; эта грамматика будет играть роль грамматики G^2 в доказательстве, приведенном выше.
Заметим теперь, что LM fl L^ является множеством всех цепочек
alh ... ab^cx.^ ...xLcylk ...у^сЬи^ ...Ь^а, (41) где xix ...х^^у^.щ^ т. е. где ix,...,ik есть последовательность индексов, удовлетворяющая множеству Е. Следовательно, в силу
рассуждений, приведенных выше, если существует последовательность индексов, удовлетворяющая Е, то LMoL^ бесконечно и не является ни регулярным языком, ни бесконтекстным языком; если не существует последовательности индексов, удовлетворяющей Е, то LM П ^s пусто (и, следовательно, тривиально, является регулярным языком и бесконтекстным языком). Отсюда следует, что неразрешимость проблемы соответствия Поста влечет неразрешимость проблемы определения, является ли LM П Ls для произвольного множества S пустым, конечным, регулярным языком или же бесконтекстным языком (теоремы 23 и 24).
С помощью конструкции, слишком сложной, чтобы приводить ее здесь, в работе [4] показано, что для каждого Е дополнение Lv языка Ls представляет собой бесконтекстный язык. Легко показать, что дополнение LM языка LM есть бесконтекстный язык. Объединение двух бесконтекстных языков есть бесконтекстный язык. Следовательно, для каждого множества Е язык LM Ч LM=LM П Л х представляет собой бесконтекстный язык. Дополнение этого языка равно LM f) Ls , а мы уже отметили, что не существует алгоритма, определяющего, является ли это множество пустым, конечным, регулярным или бесконтекстным. Каждый шаг конструктивен. Следовательно, мы имеем результат в форме теоремы.
Т е о р е м а 25. Не существует алгоритма, определяющего по заданной бесконтекстной грамматике G, является ли язык L(G) (дополнение языка, порождаемого грамматикой G, относительно алфавита [a, b, С)) пустым, конечным, регулярным или бесконтекстным [4].
В частности, не существует алгоритма, определяющего, порождает ли произвольная бесконтекстная грамматика все цепочки в своем терминальном словаре, т. е. является ли она универсальной, и не существует алгоритма, определяющего, порождает ли произвольная бесконтекстная грамматика регулярный язык (так как это верно лишь в том случае, когда дополнение языка, порождаемого этой грамматикой, является регулярным языком).
В конце разд. 4.3 мы заметили, что неизвестно, является ли дополнение языка, порождаемого линейной грамматикой с одним нетерминальным элементом (простейший тип нерегулярного языка), бесконтекстным языком. Если ответ на этот вопрос положителен, то дополнение языка L[G(E)], порожденного грамматикой G(E), заданной соотношением (32), является бесконтекстным языком. Легко показать, что д пэлнение языка L(GJ, порождаемого Gn из (34), есть бесконтекстный язык. Следовательно, приведенным рассуждением мы можем показать, что не существует алгоритма, определяющего, является ли дополнение
бесконтекстного языка (именно объединение дополнений этих линейных языков) пустым, конечным или регулярным. Более того, дополнение языка LVG^A (см. правило 36) есть бесконтекстный язык и дополнение языка L[GW(^)] есть бесконтекстный язык, если дополнение языка L[G(E)] есть бесконтекстный язык. Отсюда следует, что мы могли бы полностью доказать теорему 25, не принимая во внимание язык Ls , заданный соотношением (39), а также конструкцию, которая дает его дополнение, при условии, что дополнение языка, порождаемого линейной грамматикой с одним нетерминальным элементом, есть бесконтекстный язык. Однако этот вопрос, очевидно, не прост.
Построение дополнения языка Lv , данное Бар-Хиллелом, Перл- сом и Шамиром, приводит к доказательству факта, что для определенного типа линейных грамматик с одним нетерминальным элементом дополнение является линейным. В работе [69] доказано, что для более общего класса линейных грамматик с определенными центральными символами и одним нетерминальным (именно тем, для которого цепочка, расположенная вправо от центрального символа в порождаемой грамматике, однозначно определяется по цепочке, стоящей слева) дополнение является линейным. Но общий вопрос остается открытым даже для линейных грамматик с единственным нетерминальным символом и указанным центральным символом. Из теоремы 25 немедленно следует теорема.
Теорема 26. Не существует алгоритма, определяющего по заданным бесконтекстным грамматикам Gx и G^, имеет ли место равенство ЦО^^ЦО^ [4].
Если бы такой алгоритм существовал, то можно было бы в об' щем случае определить, является ли ЦО^ универсальным языком в противоречие с теоремой 25. Немедленно также следует, что проблема определения, имеет ли место включение L^G^aL^G^, алгоритмически неразрешима [это, впрочем, следует также из теоремы 23, так как ЦО^ есть бесконтекстный язык и L[G(E)] включается, в него лишь в том случае, когда его пересечение с L^G^ пусто}.
Заслуживает упоминания еще одно непосредственное следствие этих результатов о неразрешимости. Мы уже заметили (последний' абзац разд. 1.5), что язык L регулярен тогда и только тогда, когда существует преобразователь Т, такой, что T(U)—L, где U есть множество всех цепочек в VT . Как мы видели, из теоремы 25 следует,, что не существует алгоритма, определяющего, является ли произвольный бесконтекстный язык регулярным, т. е. существует ли преобразователь Т, такой, что T(Uy^L. Так как U есть бесконтекстный (даже регулярный) язык, то мы имеем следующую теорему.
Теорема 27. Не существует алгоритма, определяющего по заданным бесконтекстным языкам LYu Ц, существует ли конец-
ный преобразователь Т, такой, что T(L1)=L2 (С. Гинзбург, личное сообщение).
Структурная неоднозначность
Мы говорим, что бесконтекстная грамматика G неоднозначна, если она порождает цепочку х двумя существенно различными способами, т. е. если она ставит в соответствие цепочке х два различных структурных описания (см. стр. 170). Вопрос о структурной неоднозначности важен с многих точек зрения, и хотя он до сих пор очень мало исследован, все же имеются некоторые результаты в этом отношении.
Рассмотрим сначала такой вопрос. Существует ли алгоритм, определяющий неоднозначность бесконтекстной грамматики? Отрицательный ответ прямо следует из неразрешимости проблемы соответствия. Действительно, предположим, что L^^x^y^l^i^n^, где х( и yi — цепочки в некотором алфавите, скажем, в алфавите ,а, Ь]. Выберем п новых символов di,...,dn и построим две грамматики Gx и Gx следующим образом:
Gx : Sx с. Sx dtSxx* (1 < f < /г),
.<42)
Gy;Sy-*c, S^djS^i (l<t<«).
Ясно, что Gx и G^ однозначны, но заметим, что последовательность индексов ^v-dm^ такая, что xit -^х1т=уи -.лу^ существует тогда и только тогда, когда Gx и Gx обе порождают цепочку г, где
z = d,- . . . d: ex* . . . х* = d[ . . . df су- . . . у; .(43)
Ч lm 1 inч Чп уЧпJ их 1
Таким образом, проблема соответствия для Е имеет положительное решение тогда и только тогда, когда существует цепочка г, которую порождают одновременно обе грамматики Gx и Gy, т. е. если неоднозначна грамматика G , которая содержит правила грамматики Gx, правила грамматики Gy и, кроме того, правила S->SV, S-^SV где S является начальным символом грамматики Gxx. Следовательно, не существует алгоритма, определяющего по произвольному множеству Е, будет ли грамматика Gxy, построенная указанным способом, неоднозначной.
Т е о р е м а 28. Не существует алгоритма, определяющего, является ли бесконтекстная грамматика неоднозначной (Шюценбер- же, личное сообщение).■
Заметим, что грамматика Gx^ принадлежит классу грамматик G, удовлетворяющих следующему условию:
G — линейная грамматика, обладающая но крайней мере тремя нетерминальными символами, все заключительные правила (44) которой имеют вид а-^с, где с — символ, не встречающийся ни в одном нетерминальном правиле G.
Таким образом, мы видим, что проблема неоднозначности неразрешима уже для грамматик, удовлетворяющих этому условию.
Недавно было показано посредством обобщения проблемы соответствия, что условие (44) может быть ослаблено для случая одного нетерминального символа, и при этом неразрешимость проблемы неоднозначности остается в силе. Действительно, это обобщение позволяет отождествить S, Sx и Sy в грамматике G [23]. Таким образом, теорема 28 имеет место для класса минимальных линейных грамматик G, удовлетворяющих условию:
G — линейная грамматика с единственным нетерминальным символом S и единственным терминальным правилом S-^c, где с (45) не встречается ни в одном из нетерминальных правил G.■
Предположим, что G — минимальная линейная грамматика с нетерминальным правилом S-^xtSy*, 1</<^щ связанным с множеством пар
S = i(^> tP\ 1 <*<«}•
G неоднозначна тогда и только тогда, когда существуют две последовательности индексов I и J
I = (iv..., tp, J = (/р... jp, l=f= J, \.<im,jm<n,(46)
такие, что xli...xlpcyi^...yi* ^хи...х^су^...у;*. Это в свою очередь верно тогда и только тогда, когда
О Xtv...xi
(47)
(и) УU --УС^ Ун '' ' У к'
Но рассмотрим вопрос:
Если задано множество Е, то существуют ли последовательности индексов I и J, заданные соотношениями (46), которые удовлетво- (48) ряют условию (47)?
Из теоремы 28, распространенной на минимальные линейные грамматики, следует, что этот вопрос, касающийся однозначной дешифровки, неразрешим.
В разд. 1.2 мы отметили, что для каждого конечного автомата мы можем построить эквивалентный ему детерминированный конечный автомат (и, конечно, вопрос об эквивалентности двух конечных автоматов разрешим). Другими словами, если задана односторонняя линейная грамматика G, то мы можем найти эквивалентную однозначную одностороннюю линейную грамматику. Очевидный вопрос состоит в том, верно ли это также для бесконтекстных грамматик в целом. Парих [49 ] показал, что это неверно.
Теорема 29. Существуют бесконтекстные языки, которые не порождаются никакой однозначной бесконтекстной грамматикой^
Парих показал, что язык
L = \х j х = ап Ьтап Ьт или х = ап bmanbm ,
п, п', т, nV > 1},(49)
не может порождаться никакой однозначной бесконтекстной грамматикой, хотя он порождается множеством правил
SАВ,S-^DC,
АаЛа,А аВа,
СЬСЬ,С bDb,(50)
В -> Ь,В^ЬВ,
Da, D^aD.
В действительности существует линейная грамматика, эквивалентная грамматике (50). Степень неоднозначности, которой обладают цепочки в этой грамматике, равна 2. Другим примером такого языка является множество \апЬтар\п=т или п=р\. Интересная проблема, остающаяся пока открытой, состоит в том, чтобы найти языки более высокой (быть может, неограниченной) степени неустранимой неоднозначности. Много важных и нерешенных вопросов можно сразу поставить в связи с вопросом о неустранимой неоднозначности, например ее масштаб, ее соотношения с разрешимостью проблемы неоднозначности, насколько богаты те грамматики, где она: возникает (например, существуют ли минимальные линейные языки, которые неустранимо неоднозначны или существует ли неустранимая неоднозначность на уровне контекстных грамматик?) и т. д.
Из теоремы 29 возникают некоторые предположения. Очень интересен вопрос, почему естественные языки обладают именно такой
структурной неоднозначностью, а не другой. Мы можем надеяться получить ответ на этот вопрос в следующем виде.
Грамматики естественных языков принадлежат некоторому классу Г порождающих процессов.
Язык L обладает достаточно богатыми выразительными средствами, чтобы содержать множество грамматических аппаратов А, но не А' (например, класс предложений Е, но не Е').
Грамматика О^Г, которая выражает А, но не А' (которая порождает Е, но не Е'), должна быть неоднозначной, т. е. язык, который она порождает, неустранимо неоднозначен относительно Г.
Если бы удалось получить некоторое рассуждение такого рода, то оно было бы важным не только как «оправдание» существования структурной неоднозначности в L, но также и как поразительное свидетельство независимого (и потому особенно интересного) характера в пользу той общей лингвистической теории, которая претендует на выполнение условия (1). Вряд ли нужно подчеркивать, что мы далеки от возможности привести подобное рассуждение для -естественного языка, но теорема 29 может представлять собой первый шаг в этом направлении.
6. Бесконтекстные грамматики и конечные автоматы
Мы видели, что конечный автомат может быть представлен как односторонняя линейная грамматика и что у такого устройства гораздо более ограниченная порождающая способность, чем это может быть у бесконтекстной или даже у линейной грамматики. Мы видели также, что такие элементарные формальные свойства естественных языков, как рекурсивное вложение зависимостей, делают невозможным порождение их конечным автоматом, хотя эти свойства не исключают их из класса бесконтекстных (даже линейных) языков. Из этих замечаний мы должны заключить, что способности носителя языка не могут быть охарактеризованы конечным автоматом. Грамматика, хранимая в мозгу, не может быть односторонней линейной грамматикой, что вовсе не удивительно; однако поведение говорящего или слушающего должно быть представимо конечным автоматом некоторого вида. Говорящий-слушающий имеет лишь конечную память, часть которой он использует для хранения правил имеющейся у него грамматики (множество правил для устройства с неограниченной памятью), а часть—использует для вычисления, фактически производя предложение или «воспринимая» его структуру и понимая его.
Приведенных соображений достаточно, чтобы показать, как важно достигнуть более полного понимания источника и объема избыточной порождающей способности бесконтекстных грамматик по сравнению с конечными автоматами (хотя бесконтекстные грамма-тики, как может быть доказано, не полностью адекватны граммати-
ческому описанию естественных языков). Обратимся теперь к исследованию этой проблемы.
Посмотрим сначала, какие вопросы касаются связи бесконтекстных грамматик и ограниченно-бесконечных и конечных автоматов, В разд. 1.6 и 4.2 мы получили некоторые результаты (основанные частично на результатах, которые еще будут доказаны в данном разделе), относящиеся к этим вопросам. В частности, мы показали, что бесконтекстные языки представляют собой множества,, которые допускаются классом ограниченно-бесконечных автоматов,, названных нами автоматами PDS. Как было нами показано, из этого факта следует, что существует чрезвычайно тесная связь между регулярными (односторонними линейными) языками и бесконтекстными языками. Именно расширим словарь V, из которого построены все бесконтекстные языки, до словаря V', содержащего Киа' для каждого а£ V. Определим К как множество всех цепочек над К', которые сводятся к е последовательным сокращением аа' и а'а (т. е. обращаясь саиа' как с взаимно обратными элементами). Положим ф(а)=а для а^ VT , cs(a)=^ для а^Ут • Для любого языка L определим ф(£) = ср(К П Ц. Тогда для каждого регулярного языка L ф(£) является бесконтекстным языком, и каждый бесконтекстный язык определяется как ф(£) при некотором1 выборе регулярного языка L. Следовательно, семейство Хх регулярных языков преобразуется в семейство у бесконтекстных языков преобразованием Ф.
Продолжая исследование соотношений между бесконтекстными и регулярными языками, заметим сначала, что существуют бесконтекстные языки, которые в некотором смысле гораздо «большее чем любой регулярный язык.
Т е о р с м а 30. Существует бесконтекстная грамматика Gy порождающая ЦО) и обладающая следующим свойством*, если задан конечный автомат Лп порождающий L(Ai)czL(G), то мы можем построить конечный автомат Л2, порождающий ЦА^, такойТ что*, а) ЦЛ^сЦЛ^сЦб) и б) ЦА^ содержит бесконечно много цепочек, не принадлежащих ЦА-^ [49].
Парих показывает, что этот результат имеет место для бесконтекстной грамматики, которая дает соотношения
S^AnBmAn, A=^cekc, B=^dfkd (т, п, ^>1). (51)
[В действительности, это также верно для более простой грамматики G, порождающей только ЦС) = \апЬгпапА т, /i^l} (С. Гинзбург, личное сообщение). ] Из теоремы 30 мы видим, что в общем случае мы не можем получить бесконтекстный язык L в качестве
предела возрастающей последовательности регулярных языков, каждый из которых содержит бесконечное число предложений, не входящих в предыдущий член последовательности, и которые все содержатся в L.
Предположим теперь, что мы имеем бесконтекстную грамматику G, порождающую L(G), и конечный преобразователь Т с начальным состоянием So. Мы построим новую бесконтекстную грамматику G\ которая порождает T[L(G)L Предположим сначала, что Т ограничен. Тогда мы можем допустить, что он не содержит правил вида ^S^S^ х\
Будем строить новую бесконтекстную грамматику G' с выходным словарем преобразователя Т в качестве ее терминального словаря и с нетерминальными символами, представленными тройками (Sz, a, SjY где Sz, S,— состояния Т и а £ У1).
Начальным символом в G' является S'. Правила в G' определяются по следующему принципу:
S' -> (SO,S,SZ) есть правило в G' для всех i;
если А -> аг. . . ак есть правило в G, то для всех i, j, р1$... ,^_: грамматика G' содержит правило
(SP1,a2!S3J...
если (a.S^ (Sy,а;) есть правило в Т, то G' содержит правило (Sz, a, S;) -> х.(52)
Чтобы сохранить условие, что нетерминальные символы суть те и только те, которые появляются в левой части правила а-хр, мы можем потребовать также, чтобы G' содержала правило
(Sz, a, SZ)->(SZ, a, Sj)a(53)
для всех a, i, j, не включенных в пункт в).
Терминальные правила в G' представляют собой правила,, заданные в пункте в) конструкции (52).
Продолжая вывод из G' до тех пор, пока мы можем обойтись без применения любого терминального правила, мы получим в качестве последней строчки цепочку
х) Нижеследующее построение принадлежит Бар-Хиллелу, Перлсу и Шамиру [4], которые использовали его только для доказательства факта, который здесь мы приводим в качестве теоремы 32. Наша теорема 31 доказывается по существу тем же способом у Гинзбурга и Роуза [21 ]. Это построение тесно связано с представлением преобразователей посредством матриц у Шюценберже [61 ].
(S/o, ^v Szjfs^, а2’ $U * * * (^’^’ ^^^
где io=O, ау^ Vt для всех / и G порождает av..ak. Кроме того, еС' ли G порождает ар., ^(ау^ Vt), то для всех Ц..Цк цепочка (54) представляет собой строчку вывода в О'. Но выводы с цепочкой (54) в качестве последней строчки будут оканчиваться терминальной цепочкой 2 тогда и только тогда, когда существуют цепочки хг,...,хк, такие, что xv..xk=z и для всех j (ay, St ^(S^Xj) есть предписание в Т, т. е. тогда и только тогда, когда Т преобразует входную цепочку а^.а^ в 2, проходя в процессе этого преобразования через состояния So, S/p..., Si . Таким образом, G порождает язык P[L(G)L Заметим, что О' может иметь правила вида а->е (гдех=е в пункте б) конструкции (52)). Однако, как мы видели в разд. 4,правила такого рода не допускают порождения языков, не являющихся бесконтекстными (кроме языка {е}). Следовательно, мы имеем следующий результат, где Т — ограниченный преобразователь.
Теорема 31. Если L — бесконтекстная грамматика и Т— (ограниченный) преобразователь, то ТЩ — бесконтекстный язык (или T(L) = \e\).
Предположим, что R — регулярный язык, допускаемый автоматом F с начальным состоянием So. Строим преобразователь Т, имеющий команду (ab Sj)~>(Sk, at) всякий раз, как F имеет предписание (г, /, &), т. е. всякий раз, когда F переходит из состояния Sy в состоя) ие Sk, прочитав вход at. Мы мо^кем предположить, не ограничив; я общности, что F является детерминированным (см. теорему 1) и что Т ограничен. Пусть G — бесконтекстная грамматика, порождающая ЦО). Построим О' при помощи вышеописанной конструкции, но вместо пункта а) в (52) мы имеем единственное правило S'->(S0, S, So). Теперь легко показать, используя теорему 31, что О' порождает пересечение R с ЦО).
Т е о р е м а 32. Если R — регулярный язык, a L — бесконтекстный язык, то пересечение L[\R есть бесконтекстный язык.
Чтобы избавиться от требования ограниченности преобразователя Т в теореме 31, приведем следующую конструкцию. Если задана бесконтекстная грамматика О, порождающая ЦО), заменим сначала каждое правило A-^av..ak правилом A^q^q^q.-.q^ q, где q — некоторый новый символ. Теперь применим конструкции (52) и (53), как прежде, чтобы получить О'. Определим теперь язык Qtj следующим образом:
Qu =| для некоторого 10,, . . , Ц, xv . . . , хт,
z — хх. . . и для ведх к, \ ^к <^т, Т имеет правило ^е, S^ (Sz^, хку где i0 = i и Ц = /}.(55)
Очевидно, что Qtj регулярен. Следовательно, мы можем к О' добавить правила, которые дают соотношения
(S/, q, S^e и (Sp q, S^x(56)
для всех i, j и всех х^ Qtj. Расширенная таким образом грамматика G' порождает язык ТуЦО^А. Следовательно, теорема 31 верна без ограничения, наложенного на Т.
Другие результаты, касающиеся эффекта применения различных операций к бесконтекстным языкам и относящимся к ним системам, см. в работах [21, 69].
Будем теперь рассматривать правила только следующих видов:
А-^ВС,
А -^ аВ (право-линейное), в) А-^Ва (лево-линейное).(57)
А -> а.
Напомним, что нормальная грамматика содержит только правила типа а) и г); линейная грамматика без ограничения общности может быть описана как грамматика, содержащая только правила вида б), в) и г); конечный автомат содержит только правила вида б), г) или только правила вида в) и г). Напомним также, что нормальная грамматика может порождать любой бесконтекстный язык и что линейная грамматика, хотя и с более ограниченной порождающей способностью, может порождать языки, лежащие за пределами возможностей конечных автоматов (теорема 16). Таким образом, мы получаем порождающую способность, большую, чем у конечных автоматов, разрешая лево- и право-линейные правила, и еще большую, разрешая появление нелинейных правил в грамматике. Конечно, некоторые линейные грамматики могут порождать только регулярные языки, хотя ни в том, ни в другом случае не существует алгоритма, определяющего, когда это верно (теорема 25). Остается решить вопрос, при каких условиях нормальная или линейная грамматика богаче, чем любой конечный автомат, в отношении порождающей способности.
Чтобы изучить этот вопрос, полезно снова рассмотреть классификацию рекурсивных элементов, данную в разд. 3 предыдущей главы. Конечный автомат содержит либо все право-рекурсивные, либо все лево-рекурсивные элементы. Линейная грамматика может содержать одновременно лево-рекурсивные и право-рекурсивные элементы. Кроме того, и линейные, и нормальные грамматики могут содержать самовставляемые элементы. Оказывается, что последнее свойство влияет на увеличение порождающей способности по сравнению с конечными автоматами.
15 Заказ № 563
Определение 8. Грамматика называется грамматикой с самовставлением, если она содержит нетерминальный символ А, такой, что для некоторых непустых цепочек Ф, ф, Д-^срЛф.
Другими словами, грамматика с самовставлением содержит са- мовставляемые элементы. Теперь можно показать, что:
Если G — бесконтекстная грамматика без самовставления, порождающая ЦО), то существует конечный автомат, который порождает ЦО).(58)
Отсюда мы немедленно получаем следующий результат.
Т е о р е м а 33. Язык L не является регулярным тогда и только тогда, когда все его бесконтекстные грамматики являются грамматиками с самовставлением [4, 8, 9].
Таким образом, L является регулярным языком только в том случае, если он обладает грамматикой без самовставления.
Ясно, что существует алгоритм, определяющий, содержит ли бесконтекстная грамматика самовставляемые элементы (аналогично содержит ли она право-рекурсивные и лево-рекурсивные элементы). Если мы испытаем грамматику О и обнаружим, что она не имеет самовставляемых символов, то мы можем заключить, что О имеет «мощность» конечного автомата (хотя она может содержать и лево-рекурсивные, и право-рекурсивные символы).
Если, с другой стороны, мы обнаружим, что О имеет самовставляемые символы, мы не будем знать, обладает ли она мощностью конечного автомата. Это зависит от ответа на вопрос, существует ли грамматика О', которая порождает тот же язык, что и О, но не имеет самовставляемых символов.
Как мы видели, не существует механической процедуры, с помощью которой это может быть установлено для произвольной грамматики О. Таким образом, хотя теорема 33 дает эффективнее достаточное условие эквивалентности бесконтекстной грамматики конечному автомату в отношении порождающей способности (и более того, условие, которому удовлетворяет некоторая грамматика каждого регулярного языка), мы знаем, что оно не может быть усилено до эффективного критерия, т. е. эффективного необходимого и достаточного условия.
Утверждение (58) непосредственно следует из элементарных свойств конечного автомата. Предположим, что G является грамматикой без самовставления, порождающей ЦО), а нетерминальные элементы О суть А1г..Лп- Назовем О сильно связной, если для каждых i, j существуют цепочки ф и Ф, такие, что А^фАуф. Предполо-
жим, что G — сильно связная грамматика. Если существуют ij, k, I, такие, что А^^А^ и Л^^Л,^, где ф^^^, тогда немедленно получаем вопреки предположению, что G обладает свойством самовставления. Следовательно, таких С /, к, / не существует, и, таким образом, либо каждое нетерминальное правило в G право-линейно, либо каждое правило лево-линейно. В любом случае G порождает регулярный язык.
Предположим теперь, что п=Л. Тогда либо ЦО) конечен (и регулярен), либо G сильно связна и порождает регулярный язык, как только что было показано.
Допустим, что утверждение (58) верно для всех грамматик, содержащих менее чем п нетерминальных символов. Предположим, что Л л есть начальный символ в G, которая имеет нетерминальные символы А^.-.^Ап. Мы можем допустить, что G не содержит лишних символов и не является сильно связной. Таким образом, для некоторого / не существует ср, ф, таких, что Лу^фЛлф. Предположим, что /=^1. Образуем G' вычеркиванием из G каждого правила Ду-^ф и заменой Ду во всех правилах на новый символ а. По индуктивному предположению язык L', порождаемый грамматикой G\ является регулярным, так же как и множество К= [х | А^ х). Очевидно, что если Ц и Ц регулярны и L3 состоит из всех цепочек, образованных изх££л заменой каждого символа а (если он встречается) в х некоторой цепочкой из Л2, тогда L3— регулярный язык. L(G) построен таким способом из L' и К и в силу этого регулярен.
Предположим, что /^1. Пусть фл,..., фг — такие цепочки, что Л^фр Пусть Kt = {х|ф^х} для каждого I. Предположим, что фг=осл ... ат. По индуктивному предположению множество Lj^\x\a.J=^x\ регулярно. Из теоремы 2 следует, что Kls а следовательно и L, также регулярно. Этим доказано утверждение (58). Кроме того, утверждение непосредственно следует из более сильного результата, который будет получен ниже.
Мы исследовали так подробно только вопрос слабой эквивалентности грамматик, т. е. вопрос о том, порождают ли они один и тот же язык. Мы определили также понятие сильной эквивалентности двух грамматик, которые не только порождают один и тот же язык, но также одно и то же множество структурных описаний (см. разд. 5.1 предыдущей главы). О сильной эквивалентности известно мало, однако важно отметить, что мы можем расширить утверждение (58) таким образом, что если задана грамматика без самовставления G, то мы можем построить конечный преобразователь Т, такой, что он, в том смысле как это будет уточнено, сильно эквивалентен G. Мы можем также усилить этот результат до любой конечной степени самовставляемости. К отдельным следствиям из этих положений мы вернемся в следующей главе (см. также работу [101).
Для уточнения сказанного рассмотрим более подробно класс конечных преобразователей. Мы можем предположить, что входной алфавит каждого преобразователя Т есть подмножество V т (фиксированного и универсального множества терминальных символов для всех бесконтекстных грамматик). Мы предполагаем, что выходной алфавит каждого преобразователя есть подмножество некоторого фиксированного множества Ао. Если задан Т, мы говорим, что Т допускает х и ставит ему в соотвепствие структурное описание у [или коротко: Т порождает (х, у) ] только в том случае, когда Т начинает работу в состоянии So с пустой лентой памяти, считывая самый левый символ цепочки х# на входной ленте, и заканчивает работу при первом возвращении в So, считывая # на входной ленте, имея у в качестве содержимого ленты памяти1). Таким образом, если Т порождает (х, у^ то он допускает х как конечный автомат, не имеющий выхода (см. разд. 1.2), и преобразует его в у как преобразователь.
Чтобы сравнить порождающую способность преобразователей, понимаемых таким образом, с порождающей способностью бесконтекстных грамматик, допустим, что нам задано эффективное взаимно однозначное соответствие Ф, отображающее множество структурных описаний, порождаемых бесконтекстными грамматиками (задаваемых, скажем, цепочками с системами отмеченных скобок, см. стр. 170) в множество цепочек в Ао. Мы можем теперь определить строгую эквивалентность как отношение между бесконтекстными грамматиками и конечными преобразователями.
Определение 9. Если задана бесконтекстная грамматика G и конечный преобразователь Т, то G и Т сильноэквива- л е н т н ы тогда и только тогда, когда выполнено следующее условие*. Т порождает (х,Ф(//)) в том и только в том случае, когда G порождает х со структурным описанием у.
Таким образом, если Т строго эквивалентно G, то Т допускает только цепочки, порождаемые G, и преобразует каждую такую цепочку в каждое структурное описание, сопоставленное ей грамматикой G, и ни во что другое.
Мы можем теперь дать точную формулировку обобщения утверждения (58).
Т е о р е м а 34. Существует эффективная процедура Ф, такая, что если задана нормальная бесконтекстная грамматика без само- вставления G, то Ф(6) есть конечный преобразователь, сильно эквивалентный G [81.
х) Более точно, в соответствии с описанием преобразователей, данным в разд. 1.5, мы будем говорить, что Т начинает работу, наблюдая а на (в остальном) пустой ленте памяти, и заканчивает работу с ау в качестве содержимого ленты памяти.
Как было ранее отмечено, эта процедура легко может быть обобщена на случай любой конечной степени самовставляемости способом, который мы опишем более тщательно. Очевидно, что утверждение (58) и теорема 33 следуют из теоремы 34.
Теорема 34 фактически доказана только для нормальных грамматик, удовлетворяющих дополнительному условию, что если Л-> ->ВС есть правило, то ВЦ^С, и если А->^В^ и А-^хВ^ суть правила, то и ф^со-
Нетрудно показать, что эти дополнительные условия не влияют на порождающую способность. Кроме того, только от деталей доказательства зависит вопрос об отбрасывании этих ограничений (и даже многих, если не всех ограничений, которые обусловливают нормальность). -
Доказательство теоремы 34 слишком сложно, чтобы излагать его здесь, но мы опишем процедуру Т и проиллюстрируем ее на примере. Посмотрим сначала, чем теорема 34 отличается от теоремы 19 в разд. 4.2, которая утверждает, что если задана модифицированная нормальная грамматика G, то существует конечный преобразователь Т, обладающий следующим свойством: Т преобразует х в цепочку 2, которая сводится к е тогда и только тогда, когда 2 есть структурное описание, поставленное в соответствие цепочке х грамматикой G. В этом случае Ф есть тождественное преобразование, т. е. выход преобразователя Т имеет в точности вид структурного описания, определяемого грамматикой G. Кроме того, здесь мы не ограничены только грамматиками без самовставления.
Однако преобразователь, существование которого гарантируется теоремой 19, не является сильно эквивалентным G в смысле определения 9. Таким образом, Т, имея на входе х, может возвращаться в So и закончить работу с цепочкой у налейте памяти, которая не сводится к е (и не является структурным описанием, поставленным в соответствие х грамматикой G).
В действительности, причина, по которой преобразователь Т, сопоставленный с бесконтекстной грамматикой в теореме 19, представляется на первый взгляд более мощным, чем преобразователь Г', сопоставленный с бесконтекстной грамматикой в теореме 33, состоит в том, что Т, но не Т' эффективно использует потенциально бесконечную память при решении вопроса о допущении цепочки с заданным структурным описанием, так как это решение требует анализа сводимости к е (неограниченной) цепочки на ленте памяти. Из теоремы 33 мы знаем, что теорема 34 является самым сильным возможным результатом, касающимся сильной эквивалентности бесконтекстных грамматик и устройств со строго ограниченной памятью.
Чтобы проиллюстрировать теорему 34, предположим, что G — нормальная грамматика без самовставления, удовлетворяющая
дополнительному условию, приведенному сразу после теоремы 34. Пусть К — множество последовательностей {(Л15. . . ,Л/Й)}, удовлетворяющих следующему условию: для каждой пары I, ]\ такой, что 1<г</^т, имеет место ?lz->^/+1(p и At^ Aje Теперь мы можем построить грамматику С* с нетерминальными символами, представленными в виде [Вг. . . BJZ (г =1,2), где Bj — нетерминальные символы G, следующим образом 9.
Пусть ^...ЗпКК.
Если Вп а, то [Вг . . . Вп\г-> а\Вг. . . Вп]2.
Если Вп ->► CD, где C^B^D (t ^ «), то
а) [Вг. . . BJi [Bi. . . В^, б) [В,. . . ВпС\2 [В,... BnDK, в) [6,. . . BDA, ^\Вг... Вп]2.
Если Вп CD, где Bt = D для некоторого I ^ п, то (59)
a) [В1...ВЛ]1->[В1...ВЛС]1,
б) [В, . . . ВпС\2 -> [В,.. . В^.
Если Вп CD, где Bz = С для некоторого i ^' п, то
а) [В1...Вг]2^[В1...В„О]1,
б) VBy...BnDy2^VB1...BnV
Теперь мы можем доказать, что в G существует S-вывод цепочки z тогда и только тогда, когда в G* существует [S li-вывод цепочки z[S]2 (теорема 10 в работе 181), гдеЗ—начальный символ в G.
Правила в G все имеют вид А-^аВ, где а=е, если они не являются правилами, полученными по пункту 1) конструкции (59). Следовательно, мы можем рассматривать G* как конечный автомат. Предположим теперь, что мы снабдили автомат новым состоянием 80 и дополнительными правилами
So-^lSh, [S2]->S0.So-^lSh, [S2]->S0.(60)(60)
So-^lSh, [S2]->S0.
So-^lSh, [S2]->S0.
(60)
(60)
Если So считать начальным состоянием, то устройство становится
х) Мы можем использовать символ-* одинаково для грамматики G и G*, так как вид их нетерминальных символов различен.
слабо эквивалентным G. Чтобы превратить это устройство в преобразователь, мы должны снабдить его правилами выдачи выходного символа при переходе из состояния Qt в состояние Qj и считывании символа ак. Мы считаем, что выходной алфавит состоит из множества нетерминальных символов G* (т. е. множества символов вида lBv..BnAb которые теперь означают состояния автомата). Мы будем говорить, что когда устройство переходит в состояние Q, оно печатает выходной символ Q. Этим завершается конструкция Ф, требуемая теоремой 34, которая связывает конечный преобразователь Т с грамматикой без самовставления G. Если G порождает х, то Т преобразует входную цепочку х в выходную цепочку а, где а есть запись последовательных состояний, через которые Т проходит, допуская (порождая) х.
Эта последовательность о в действительности содержит полную информацию о структурном описании, сопоставленном х грамматикой G, и обратно, для каждого структурного описания, сопоставленного цепочке х грамматикой G, существует последовательность состояний а, в которую Т преобразует х и которая точно представляет строение этого структурного описания. Дело в том, что названия состояний в действительности содержат информацию о некотором поддереве размеченного дерева, сопоставленного цепочке х грамматикой G; из данной последовательности состояний это размеченное дерево может быть полностью восстановлено. Можно построить процедуру Ф такого типа, как это описано в определении 9, которая будет превращать выход Т в структурное описание (скажем в структуру помеченных скобок) его входа и обратно. Такое построение подробно описано у Лангендоена [3711). Следовательно, преобразователь Т, построенный при помощи процедуры Ф из конструкций (59) и (60), сильно эквивалентен G.
Свойства конструкции Ф можно объяснить на примере. Рассмотрим грамматику (61), которая удовлетворяет условиям конструкции Ф и теоремы 34:
S->AB, A->SC, B^DB,
(61) А-> а, В->Ь, С->с, Dd.
Эга грамматика порождает язык, состоящий из всех цепочек a(dlbcy dk b, и ставит им в соответствие структурное описание такого вида, как показано на рис. 10 (для случая г=/ = 1, 6=2). Заме-
х) Лангендоен, в действительности, строит процедуру Ф, которая работает в реальном масштабе времени; т. е. скобочная структура цепочки х, порождаемой грамматикой G, выводится процедурой Ф из выхода преобразователя Т, сопоставленного с G, во время работы Т над х.
Рис. 10. Структурное описание предложения, порождаемого грамматикой (61).Рис. 10. Структурное описание предложения, порождаемого грамматикой (61).тим, что G содержит как леворекурсивные, так и право-рекурсивные элементы, хотя она не содержит самовставляемых элементов, и что в данном случае лево-рекурсивный элемент Л доминирует над право-рекурсивным элементом В. Этот пример иллюстрирует положение (часто опускаемое или недопонимаемое), что, хотя конечный преобразователь Т, который интерпретирует предложения так же, как грамматика G, конечно, читает эти предложения слева направо при одном прохождении, отсюда не следует, что должна быть какая-либо лево-правая
Рис. 10. Структурное описание предложения, порождаемого грамматикой (61).
Рис. 10. Структурное описание предложения, порождаемого грамматикой (61).
асимметрия в структурном описании этих предложений.
Класс К последовательностей, построенных из грамматики G (61), содержит последовательности (S), (S, Л), (S, В), (S,A,C) и (8, B,D\
Конструкция Ф производит следующие правила:
[ЗЛЬ-^^ [SS]2»[S]2[ЗЛЬ-^^ [SS]2»[S]2(шагом 2 конструкции (59))
[ЗЛЬ-^^ [SS]2»[S]2
[ЗЛЬ-^^ [SS]2»[S]2
[SЛ]х -> а [8Л]2 (шагом 1 конструкции (59))
/1 I (шагом 4 конструкции (59))(62)
I [8ЛС]2-Ч8Л]2 )
[SB^ ~> b [SB]2 (шагом 1 конструкции (59))
[ \SBL -> \SBDk 1 , о
/11 (шагом 3 конструкции (59))
( \SBD^ [8ВК J
/ [8ЛС^ с [8ЛС]2 I /Шагом 1 конструкции (59))
I ISBD^ d \SBD^ j
Эти правила образуют грамматику G*, определяемую при помощи Ф. В соответствии с рис. 10 имеем вывод
[Sh
adbc[SA]2
[5ЛК
а [5Л]2
adbc [SB]X adbcYSBD"^
a [SB]X
adbcd VSBD^
a [SBDJn
adbcd [SB]X
ad [SBZ)]2
adbcd [SBD^(63)
ad [SB]X
adbcdd [SBO]2
adb [SB]2
adbcdd [SB]X
adb [S]2
adbcddb [SB]2
adb [5ЛС]Х
adbc [5ЛС]2
adbcddb [S]2
Ясно, что последовательность нетерминальных символов, полученных в этом выводе, позволяет нам однозначно восстановить структурное описание, показанное на рис. 10. Действительно, автомат с правилами из примера (62) порождает предложение adbcddb, систематически обходя размеченное дерево рис. 10. Этот пример типичен; он показывает, каким образом устройство с конечной памятью может сопоставлять с каждой цепочкой х, порождаемой нормальной грамматикой без самовставления G, структурное описание, которое грамматика G ставит в соответствие х, причем это структурное описание может иметь произвольную сложность.
Предположим теперь, что нам нужно применить эту конструкцию к нормальной грамматике G с самовставлением. Будем говорить, что преобразователь Т порождает (х, у) подобно грамматике G, если Т порождает (х, у) в том смысле, как это было определено выше (т.е. преобразует х в у, допуская х как конечный автомат), причем Ф-1(^/) есть структурное описание, которое грамматика G ставит в соответствие х. Тогда преобразователь 47(G), построенный, согласно конструкциям (59) и (60), будет, действительно, порождать (х, у) подобно грамматике G для каждой пары (х, у), такой, что у есть структурное описание, которое грамматика G ставит в соответствие х, и такой, что у не включает никакого самовставления. Кроме того, увеличивая память преобразователя Т (по-видимому, самый простой способ здесь состоит в присоединении ограничен- 14 Заказ № 563
ного устройства PDS), мы позволим ему переименовать самовстав- ляемые символы вплоть до получения любой ограниченной степени самовставляемости pi далее работать, как прежде. В этом случае Т может порождать (х, у) подобно G для всех таких пар (х, у), что у есть структурное описание, которое грамматика G ставит в соответствие х и которое может содержать только ограниченные степени самовставления. Как мы знаем из теоремы 33, это самое большее, чего мы можем достичь при помощи конечного устройства. Из результатов разд. 1.6 и 4.2 следует, что если мы разрешим преобразователю использовать неограниченную память PDS, то он может быть сделан строго эквивалентным любой нормальной грамматике G; заметим, в частности, что конструкции (18) и (19) из разд. 4.2 на самом деле являются лишь тривиальными частными случаями конструкции (59), содержащими только разделы (1) и (2).
Приведенные рассмотрения четко ограничивают объем, в котором предложения, порождаемые бесконтекстной грамматикой, могут обрабатываться (т.е. допускаться или интерпретироваться) устройством с конечной памятью или человеком, не имеющим (или имеющим весьма ограниченные) вспомогательных средств для работы. Мы снова вернемся к этим вопросам в следующей главе.
Определимость языков системами уравнений
Пусть G — бесконтекстная грамматика; ее нетерминальные символы обозначим по порядку Аъ...,Ап) где Аг— выделенный, начальный символ. Каждому At соответствует множество Ez терминальных цепочек, доминируемых символом^; т. е. £z={x^z=>x} в наших обычных обозначениях. Сопоставим грамматике G последовательность множеств (^...^н), состоящих из терминальных цепочек, где Sx— терминальный язык, порождаемый грамматикой G. Мы скажем, что данная последовательность множеств удовлетворяет грамматике G при данном порядке нетерминальных символов. Очевидно, каждый член удовлетворяющей последовательности будет терминальным языком, порождаемым некоторой бесконтекстной грамматикой, а именно грамматикой, отличающейся от G только выбором начального символа.
Предположим теперь, что мы рассматриваем нетерминальные символы G как переменные, значениями которых являются множества цепочек в терминальном словаре. Мы определяем полиномиальное выражение над переменными А!,...,Ап как выражение вида
?i + • • • + ?й> (64)
где каждая ^ есть цепочка в V, а единственные нетерминальные символы, встречающиеся в выражении (64), суть Ах....,Ап* С помощью такого полиномиального выражения, как выражение (64), можно задать функцию /, отображающую последовательность мно-
жеств цепочек в Vt на множество цепочек в Vt следующим образом. Если дана последовательность ^v...^^, где Ez есть множество цепочек в Vt, то пусть f^lv..^^ будет множеством цепочек, которое получится, если в выражении (64) заменить каждое вхождение At знаком Ez, обозначающим множество Е., и затем интерпретировать знак + как теоретико-множественное объединение, а соединение (конкатенацию) — как теоретико-множественное (прямое) произведение (т.е. если А и В — два множества, то АВ = \yz\y £ А, 2^5); хА = }ху\у £А}; Ах={ух\у £А]). Например, функция /(Л, В), заданная полиномиальным выражением
а + А а + В аА.(65)
отображает пару множеств \х.у}. (2, до) на множество \a.xa.ya, zax, zay, wax. way}.
Если дана бесконтекстная грамматика G с нетерминальными Д!,...^, сопоставим каждому Лz полиномиальное выражение фл-^- +••• + ?£, где Af-^iv,At->^k суть все правила G, в которых At встречается в левой части. Рассмотрим теперь систему уравнений
*(66)
Ап = fn (А > • • • , Ап\
где /z—функция, заданная полиномиальным выражением, сопоставленным символу At. Известно, что такая система уравнений имеет единственное минимальное решение; иначе говоря, существует единственная последовательность множеств L1....)Ln. удовлетворяющая этой системе уравнений (в качестве значений для Дл,... ...,Ап соответственно), и такая, что если Е'л,...,2'л есть другое решение этой системы, то L^L^ для каждого I. Далее, ясно, что последовательность множеств, являющаяся минимальным решением для уравнений (66) (в дальнейшем мы будем называть се просто решением [the solution]), есть та самая последовательность множеств, которая удовлетворяет грамматике G в смысле первого абзаца этого раздела, а Ел есть терминальный язык, порождаемый грамматикой G.
Несколько иначе сформулировав это замечание, мы можем рассматривать уравнения (66) как задающие функцию /, такую, что
f(At,..., A^V^,..., А^,..., ГДА.,.,,, A„^. (67)
Неподвижной точкой функции / называется такая последовательность (Ep.^EJ, что К^.,.^^1^...;^ Тогда у функции / существует единственная минимальная неподвижная точка, совпаг 14*
дающая с решением уравнений (66); т.е. это последовательность множеств, удовлетворяющая грамматике G.
Для нахождения решения уравнений (66) можно определить следующий рекурсивный процесс. Будем строить последовательность а0, ар..., каждый член которой представляет собой кортеж п множеств, следующим способом: а0 есть кортеж (0,...,0), где 0 есть пустое множество. Для каждого С>0 положим а/+1 =/(az). Если теперьопределим а так: аЛ1ш <^(аг---,<^),
гдеа^^^1)- Эта последовательность а и будет решением урав
нений (66). Она будет также неподвижной точкой для функций / из (67) и последовательностью множеств, удовлетворяющей грамматике G, а □“ будет терминальным языком, порождаемым G. Будем говорить, что каждое а^ определимо из уравнений (66): определи
мый язык есть множество, определимое подобной системой уравнений. Очевидно, что определимые языки суть в точности бескон
текстные языки.
Кратко обрисованная здесь схема рассмотрена подробнее Гинзбургом и Райсом [201 и служит основой для исследований, проведенных в этой работе и продолженных в статьях [21, 221. Эта работа первоначально выросла из исследований по языкам вычислительных машин (в частности, по АЛГОЛу) и привела к некоторым интересным результатам, касающимся этих систем; к ним мы вернемся в разд. 4.8.
Этот подход к бесконтекстным языкам был обобщен Шюценбер- же (см., в частности, работы [63, 65, 691). Пусть имеется отображение /, сопоставляющее каждой цепочке х в Vt неотрицательное целое число f(x\ Можно представить / формальным степенным рядом г*.
(68)
над элементами а^ Vt , гдеобщий коэффициент < г, х > =KXV Мы скажем, что формальный степенной ряд г — характеристический, если < г,х > для каждого а: равно 0 или 1, т.е. если < г, х > представляет собой характеристическую функцию. Определим основание (support) формального степенного ряда г [ = sup (г) 1 как множество тех цепочек, для которых < г, лх) =^0. То есть основание можно получить, если рассматривать знак + как обычное теоретико-множественное объединение, а пх, где п — коэффициент при х, как х4-...+х п раз (что сводится к отождествлению пх с х при п^=0).
х) Под суммой здесь имеется в виду теоретико-множественное объединение.— Прим, перев. -
Заметим, что формальный степенной ряд становится обычным степенным рядом над переменными а^ Иг,если считать их коммутативными, т.е. если отождествлять цепочки, которые могут быть получены друг из друга перестановкой элементов.
Множество формальных степенных рядов замкнуто (среди прочих) относительно следующих операций:
Умножение на целое число: коэффициент < пг, х > при х равен п < г,х > .
Сложение: коэффициент < гА-г\х > при
х в ряде г+г' равен < г, х > + < г', х > .(69)
Умножение: коэффициент (rr\x)
при х в ряде rr' получается разложением х во всевозможные произведения yz^x и суммированием всех членов < г,у > <r\z> , т.е. < гг',х > -V < г,у ) (r^z) по всем yz. таким, что yz=x.
Отметим, что сложение аналогично теоретико-множественному объединению, а умножение — образованию прямого произведения. Таким образом, мы имеем
sup (г + У) -^ sup (г) U sup (/), sup (г г^ sup (г) • sup (г7).(70)
Можно также определить операцию, аналогичную пересечению множеств, как операцию 0, такую, что г^г' есть степенной ряд с коэффициентом г0г' прих, равным < г,х > < г',х ) . Так же легко определяются операции, соответствующие замыканию и — для некоторых случаев — дополнению.
Если дана грамматика G с нетерминальными Alv..,An, то пусть ft М — число структурных описаний, приписываемых цепочке х грамматикой Gb которая получится, если в G принять At за начальный символ (мы можем для определенности считать, что структурные описания представляют собой системы помеченных скобок, порождаемых грамматикой так, как это описано на стр. 170; в этом случае /z0 равно числу цепочек, порождаемых грамматикой Gb которые при опускании скобок дают цепочку xY Пусть rt —формальный степенной ряд, который каждой цепочке х сопоставляет коэффициент < rbx > —f^xY Тогда [sup(r1),...,sup(rAZ) ] есть последовательность множеств, которая удовлетворяет грамматике G в вышеописанном смысле; sup^J есть терминальный язык L(GY порождаемый грамматикой G; < гъх > = 0 тогда и только тогда, когда х^ЦОу, < rvx > =п тогда и только тогда, когда G дает п неэквивалентных выводов и, значит, п различных структурных описаний для х. Мы говорим, что последовательность (г^.../^ удовлетворяет грамматике G. Данное выше определение удовлетворяющей последовательности является частным случаем этого определения, при
котором рассматриваются те формальные степенные ряды, которые получаются из определенных здесь рядов отождествлением всех неравных нулю коэффициентов.
Последовательность (г^.../^, удовлетворяющая грамматике G, может быть получена, точно так же как и раньше, методом итераций. Рассматривая G в виде системы уравнений вида (66), мы строим бесконечную последовательность о0>о1,..., где oz = (г^,...,^), а flj есть формальный степенной ряд (в действительности имеющий лишь конечное число членов; иначе говоря, rlj будет полиномиальным выражением над нетерминальными символами G). Как и прежде, считаем, что уравнения (66) определяют функцию /, которая в этом случае отображает последовательность Vv-W^ на последовательность [/Kr!,...,^,),...,^^!,...,^) ]. Функция /z задана, как и прежде, полиномиальным выражением фт+.-. + фь где A-^j (1<J<^) суть все правила G, имеющие А в левой части. Операции + и соединение интерпретируются теперь не как объединение и произведение, но как соответствующие им операции над степенными рядами (см. определение (69)). Определим о0 как последовательность (г0!,...,/^), где каждый r°z есть «пустой» степенной ряд, у которого все коэффициенты равны нулю. Примем ^z+1=/(az). Как и прежде, возьмем з = lim sz ^ (r^,...,r^), где г/0 определен сле-
/ > ОО дующим образом.
Пусть х — цепочка длины к, а ф как и выше,— /-й член последовательности ак. Тогда коэффициент при х в степенном ряде г^ определяется следующим условием:
< ^, X > = < Г^ , X > . (71)
В самом деле, нетрудно показать, что в последовательности о0, □i,... коэффициенты при цепочках длины к не изменяются после ак. Следовательно, а действительно является пределом этой последовательности; г^ есть формальный степенной ряд, порождаемый грамматикой G, если Аг есть начальный символ G, а его основание, sup^), есть язык, порождаемый G в ранее определенном смысле; г", кроме этого, ставит в соответствие каждой цепочке х, принадлежащей sup(r^), ее коэффициент < г^ , х > , который представляет собой меру степени неоднозначности, приписываемой грамматикой G цепочке х. В дальнейшем, когда мы будэм говорить о степенном ряде, удовлетворяющем G, будет иметься в виду ряд г^.
Пусть, например, имеется грамматика G с правилами
А^АА, А-±а, А-^Ь; (72)
ей соответствует система уравнений, состоящая из одного следующего уравнения:
■ А = а + b +Л2.(73)
В этом простейшем случае имеем ^=(/"‘1), где
r\"- а + b + 02 = «+ b ,
a ^Ь + (г!)2 = а + Ь + (а + 6)2-
= а + b + а2 + ab + Ьа + № ,
г!- а 4- b + ( г?)2 ^E^i,*)*, где(74)
< г? , х > = 1 для каждой цепочки длины 1, 2 и 4,< г? ,х> =2 для каждой цепочки длины 3,
А = а + b + ( г?)2 и т. д.
Коэффициенты при каждой цепочке длины 3 остаются равными 2 в любом г/1(г>3),при цепочках большей длины коэффициенты увеличиваются. Таким образом, в этой грамматике имеется только один
Рис. 11. С-маркеры, иллюстрирующие неоднозначность грамматики (72).
способ порождения для каждой цепочки длины 2, ровно два способа порождения цепочки длины 3, пять способов порождения цепочки длины 4 и т.д., как можно видеть из примеров, приведенных на рис. 11. Ряд гъ являющийся пределом так определенных г^, будет
решением уравнений (73). Его основание есть терминальный язык ЦО), порождаемый грамматикой О.
В этом случае ЦО) есть множество всех цепочек в алфавите {а,&}, и мы знаем, что существует эквивалентная грамматика 0\ имеющая в качестве решения характеристический степенной ряд (т.е. коэффициенты которого равны 0 либо 1 — в данном случае все равны 1, за исключением коэффициента при е) с основанием ЦО). Примером может служить грамматика О*, заданная уравнением
А = а + Ь + аА + ЬА.(75)
Как было отмечено выше (разд. 1.2, теорема 1), для каждого конечного автомата существует соответствующий ему детерминированный автомат. Говоря в терминах этого раздела, каждый регулярный язык порождается грамматикой О, которой удовлетворяет некоторый характеристический формальный степенной ряд. Язык, порождаемый грамматикой из примера (72), регулярен; мы можем это видеть из того факта, что он порождается односторонней линейной грамматикой (75). Однако, как утверждает теорема 29 из разд. 4.5, существуют бесконтекстные языки, которые нельзя представить таким способом при помощи характеристического ряда; именно теорема 29 утверждает существование языка L, являющегося основанием ряда г, который удовлетворяет бесконтекстной грамматике, но не являющегося основанием никакого характеристического ряда, удовлетворяющего бесконтекстной грамматике.
В качестве еще одного примера для иллюстрации этих понятий рассмотрим следующие грамматики:
S->a + bSS,(76)
S-^a + SbS.(77)
Интерпретируя b как знак импликации и а как переменную, мы видим, что грамматика (76) порождает множество правильно построенных формул импликативного исчисления с одной свободной переменной в бесскобочной записи Лукасевича и соответственно имеет характеристическое решение. Грамматика (77) порождает множество цепочек, получающихся из формул этого исчисления в обычной записи опусканием скобок, и ее решением является степенной ряд, в котором коэффициент при данной цепочке равен числу различных способов расстановки скобок, превращающих эту цепочку в правильно построенную формулу.
Введенное Шюценберже понятие представляющих множеств, перечисляемых порождающим процессом в терминах формальных степенных рядов, обусловлено потребностями изучения языка. Как подчеркивалось не раз, мы в конечном счете заинтересованы в
изучении процессов, порождающих системы структурных описаний, больше, чем процессов, порождающих множества цепочек, т.е. в сильной, а не в слабой порождающей способности. Кратко описанный здесь подход является первым шагом в этом направлении, поскольку он учитывает число структурных описаний, приписываемых цепочке (хотя и не сами эти структурные описания). Он также дает нам вполне естественный подход к изучению недетерминированных преобразователей.
Напомним, что преобразователь, вообще говоря, может обладать двумя различными видами недетерминированности. Находясь в состоянии SL и считывая символ а, он может иметь право выбрать переход в то или иное состояние. Выбрав переход в состояние Sy, он может, далее, иметь право напечатать ту или иную цепочку на выходной ленте. Мы скажем, что цепочка x—bv..brn (где bt— символ входного алфавита) переводит преобразователь Т из состояния Sz в состояние Sy с выходом x=xv..xm, если Т имеет правила
si6 Wsi6+1’ х^ Для некоторых ti,...,im+i (ii=i; im^ =b и для каждого k<^m. Тогда цепочка х может переводить Т из Sz в S/ со многими различными выходами, и она может переводить Т из Sz в Sy с выходом х многими различными путями (с различным разложением х).
Естественно поэтому попытаться представить результат действия входной цепочки х на преобразователь Т при переводе его из Sz в Sj при помощи полиномиального выражения т^х, i, j) =У < тг(х, I, j), z ) z, где коэффициент < ^х, I, j), z ) представляет собой число различных путей, переводящих Т из Si в S;, при которых z получается на выходе. Тогда можно представить преобразователь Т, имеющий п состояний, при помощи гомоморфизма [л, отображающего VT в кольцо квадратных матриц /г-го порядка, элементы которых есть полиномиальные выражения над выходным алфавитом Т.
Матрица [лх с элементами (pix)Zy =тг(х, /, /) представляет поведение преобразователя Т при его переходе из состояния Sz в состояние Sy под действием цепочки х. Многие задачи теории преобразований сводятся при этом к проблемам оперирования с матрицами, что позволяет применить хорошо разработанную технику [61, 66]. Более того, при этом общем подходе возникают некоторые новые проблемы. Так, в этом изложении мы ограничились лишь положительными степенными рядами, т.е. рядами с неотрицательными коэффициентами. Обобщая этот подход, можно рассматривать алгебраические элементы (элементы кольца степенных рядов), имеющие как положительные, так и отрицательные коэффициенты и удовлетворяющие системам уравнений, которые могут иметь и отрицательные коэффициенты в полиномиальных выражениях.
Степенной ряд г с положительными и отрицательными коэффициентами можно представить в виде разности двух положительных степенных рядов г' и г". Коэффициент при цепочке х в ряде г будет при этом равен разности между числом способов, которыми грамматика, соответствующая ряду г', порождает цепочку х, и числом способов, которыми порождает эту же цепочку грамматика, соответствующая ряду г4. Основание ряда г есть множество тех цепочек, которые порождаются этими двумя грамматиками неодинаковым числом способов.
Шюценберже исследовал семейство формальных степенных рядов г—г'— г', где г' и г" удовлетворяют односторонней линейной грамматике и, следовательно, основаниями их являются регулярные языки ( эти формальные степенные ряды соответствуют рациональным функциям, если отождествить цепочки, получаемые друг из друга перестановкой их элементов), и охарактеризовал основания этих формальных рядов в терминах допустимости некоторым классом ограниченно-бесконечных автоматов [61 ]. Он показал также, что подобный ряд г может иметь в качестве основания язык, не являющийся бесконтекстным, и, с другой стороны, что существуют бесконтекстные языки, не являющиеся основанием какого-либо подобного степенного ряда [66]. Дальнейшее обсуждение этих и связанных с этими вопросов можно найти в вышеприведенных работах и в работе Шюценберже и Хомского [69].
Чтобы показать на примере использование введенных выше понятий, приведем следующий общий результат, относящийся к регулярным языкам и связанный с вопросами неоднозначности бесконтекстных языков, обсуждавшихся в разд. 4.5.
Теорема 35. Пусть G — односторонняя линейная грамматика, которой удовлетворяет формальный степенной ряд г и которая порождает язык L(G)=sup(r). Пусть Lk = \x\{r, x}^k\. Тогда при каждом к Lk есть регулярный язык (Шюценберже, личное сообщение).
Пусть N — множество натуральных чисел, к — фиксированное целое число, a NM— полукольцо квадратных матриц порядка М с элементами из N. Доказано [66], что если G и г удовлетворяют условиям теоремы 35, a U — множество всех цепочек в VT (т.е. свободная полугруппа с образующими а^Ут^ то
существует такое Л4 < со и такой гомоморфизм [л: U в Мм, что < г, х > =(^^)1}М- (78)
Пусть K^^O^i^k^ и р: N-^K, определенное условиями
Р (п) = п для п^к; $(ri} = k для п> к. (79)
Определим сложение и умножение на множестве К, положив i^i = WA-iY i®i = H4Y(80)
К есть полукольцо и легко показать, что р есть гомоморфизм, отображающий N на К. Пусть Км будет множеством (даже полукольцом) матриц порядка М с элементами из К. Тогда р естественным образом распространяется в гомоморфизм р: Nm->Km.
Определим фМ^ЯДх) ], где у. удовлетворяет условиям предложения (78). Тогда ф(х) принадлежит Км для x^U. Очевидно, что
(у А м = < г, х > , если < г, х> <Ь, h\ А(81)
(ср х^ м = к, если < г, х > > к.
Но Км есть мультипликативная полугруппа конечного порядка, и для к' <к
U- = {х! < г, х > <£'} =
И (Mi,л/ <Л = И?(*) 6 QB
здесь первый знак равенства имеет место по определению, а второй — в силу предложения (78); Q есть подмножество множества ф(^), содержащее ф(х) в том и только в том случае, когда (фХ^л^/Л Хорошо известно, что если Ф — гомоморфизм, отображающий подмножество множества U на конечную полугруппу Н, то множество *у~ЧН) — \х'Мх)^Н\ является регулярным языком. Следовательно, Lk- также есть регулярный язык.
Из того, что при каждом к Lk есть регулярный язык, в силу основных свойств регулярных множеств, следует (см. теорему 1), что для каждого к множество цепочек х, для которых < г,х > ^к, и множество цепочек, для которых < г, х > >&, будут регулярными языками. В частности, множество тех цепочек х. для которых < г,х > >-2, также есть регулярный язык. Это—множество цепочек, неоднозначных относительно G в смысле разд. 4.5.
Возьмем, в частности, два множества цепочек Х = {xp.^xj и Y—^y-^.-.^y^. Определим Lx как множество всех цепочек г=хк1... «.^(kX^Y т.е. всех цепочек, разлагающихся в соединение элементов множества X; в терминах разд. 1.2 множество Lx было бы обозначено ^...рс,)*. Аналогично определим Ly . Назовем Lx кодом (ср. с разд. 2 предыдущей главы), если каждая цепочка Lx однозначным образом разлагается (дешифруется) на элемента! из X (аналогично для У). Рассмотрим теперь грамматику Gx с правилами S-^S и грамматику Gy с правилами S^yLS (и правилом S->e). По теореме 35 множество цепочек, неоднозначных относительно Gx (как и относительно Gy), регулярно, и, значит, существует алгоритм для определения того, пусто оно или нет. Следовательно, существу-
ет алгоритм, позволяющий определить, образует ли данное множество цепочек код или нет (см. работу [56]). Однако мы не можем узнать, одинаково ли не являются кодами данные два множества (ср. с разд. 4.5).
Пусть теперь G и г удовлетворяют условиям теоремы 35, a Gr другая односторонняя линейная грамматика, которой удовлетворяет ряд г*. Из теоремы Маркова и предложения (78) следует, что невозможен алгоритм, определяющий для произвольного случая этого рода, существует ли цепочка х, для которой < г,х > = < г', х > . Из теоремы 35 следует, что при любом фиксированном к существует алгоритм, определяющий, когда непусто пересечение LkV\L'k, где Lk ={х| < г, х )<.к\, Lk=\x\ < г', х > <С^Ь Отсюда видно, что невозможен алгоритм, определяющий, существует ли такое к, для которого LuV\Lkr непусто (Шюценберже, личное сообщение).
Языки программирования
Программа цифровой вычислительной машины может рассматриваться как цепочка символов в некотором фиксированном алфавите. Язык программирования может рассматриваться как бесконечное множество цепочек, каждая из которых есть программа. Он имеет грамматику, точно определяющую алфавит, и множество правил построения программ. Гинзбург и Райс указывают, что язык АЛГОЛ имеет бесконтекстную грамматику, хотя и нс одностороннюю линейную и не последовательную. Это наблюдение показывает, что интересно попытаться интерпретировать результаты, полученные в общей теории бесконтекстных языков, считая, что они составляют класс потенциальных языков программирования для решения задач.
Заметим, в частности, что язык программирования должен иметь однозначную грамматику в смысле, определенном выше в разд. 4.5. Если множество правил, применяющихся при построении программ, составляет неоднозначную грамматику, то может получиться что программист составит программу, которую машина должна интерпретировать определенным образом, а машина интерпретирует ее совершенно иначе. Мы, однако, видели, что некоторые бесконтекстные языки существенно неоднозначны относительно класса бесконтекстных грамматик (разд. 4.5, теорема 29). Поэтому имеется хотя бы абстрактная возможность того, что некоторое бесконечное множество «программ» нельзя будет охарактеризовать при помощи однозначной грамматики, если ограничиться теми методами построения программ, которые выразимы в пределах теории бесконтекстных грамматик. Кроме того, мы видели, что невозможен алгоритм, распознающий по заданной бесконтекстной грамматике, является ли она однозначной (разд. 4.5, теорема 28). Следовательно, в отдельных случаях задача распознавания однозначности
грамматики (т.е, удовлетворяет ли предлагаемый язык программирования минимальным требованиям адекватности) может оказаться весьма нелегкой.
Возьмем теперь проблему перевода с одного языка программирования Ьг на другой L2 (например, машинный код или другой язык программирования более высокого порядка). Мы можем рассматривать ее как проблему построения конечного преобразователя («компилятора») Т, такого, что T(L1)=L2. В общем случае нет причин предполагать, что такой преобразователь существует. Более того, мы знаем, что общая проблема распознавания по двум бесконтекстным языкам Ег и L2 существует ли такой преобразователь Т, что T(L1)=L2, алгоритмически неразрешима (разд. 4.4, теорема 27). Отсюда вытекает, что при решении проблемы перевода произвольных систем этого рода, по-видимому, смогут возникнуть весьма сложные вопросы (Гинзбург, личное сообщение).
5. Категориальные грамматики
Основное содержание традиционного грамматического анализа составляет расчленение предложения на все более и более мелкие составляющие его части-синтагмы вплоть до категорий отдельных слов; при этом имеется лишь конечное число типов, к которым принадлежат эти синтагмы (именная группа, глагольная группа, имя существительное и т.п.). За последние двадцать лет в дескриптивной лингвистике появились различные попытки более четко и ясно сформулировать этот традиционный подход. Здесь можно прежде всего назвать Харриса (работа [25], переработанная затем в гл. 16 работы [26]), затем Уэллса [76] и недавние работы Пайка и его коллег по тагмемике (in Tagmemics) (см., например, работу [18]). Порождающие системы, рассмотренные в разд. 3 и 4, дают один возможный метод точного выражения некоторых из этих идей. Но были и другие, более или менее связанные с этим подходы, которые здесь лишь бегло упомянуты.
Были сделаны некоторые попытки развить систематический метод, ведущий от множества цепочек к разбиению подцепочек на типы составляющих (см., например, работы [6, 25, 26, 32]). Эти подходы, несомненно, связаны друг с другом и с рассматриваемыми здесь системами, но точная природа этой связи еще не исследована. Несколько отличный подход к систематической категоризации типов составляющих можно найти у Хиза [28].
Другой подход вытекает из теории семантических категорий Лес- невского, которая была развита для нужд изучения формализованных языков. Некоторая модификация этой теории, основанная на формулировке Айдукевича [1], была предложена Бар-Хиллелом [2 ] в качестве точного аналога метода анализа по непосредственным
составляющим, разрабатываемого в современной лингвистике» Лам- бек [33—35] также построил несколько систем в общем того же типа, но с некоторыми дополнительными изменениями и исследовал вопрос об их применимости к лингвистическому материалу. Схожие подходы также имеются в работах [15, 16, 74, 77]. Здесь мы следуем изложению Бар-Хиллела, Гайфмана и Шамира [3].
Система категорий может быть установлена следующим путем. Выберем конечное число простых категорий (например, категория s для предложений и категория п для имен и именных групп; это единственные простые категории, рассматривавшиеся в системе Айдукевича). Простые категории суть категории. Если аир — категории, то [а/р ] (читается: «а над р») и П\р] (читается: «ос под р») также будут категориями — назовем их производными категориями. Таким образом получаются категории, такие, как k/s], [s/[n/s]] или [ [n\n]\\sjn ] ]. Других категорий нет. Каждому элементу терминального словаря Vt присваивается одна или несколько категорий. Множество категорий, сопоставленных элементам Vt , вместе со списками членов этих категорий составляет грамматику G. Имеется два правила сведения*.
последовательность двух символов, обозначающих категории, вида [а/p], р сводится к а,(82)
последовательность двух символов, обозначающих категории, вида а, [а\р] сводится к р.
Эти правила напоминают правила сокращения дробей в арифметике, чем и были вызваны такие обозначения.
Если теперь дана цепочка х элементов Vt , заменим каждый символ из Vt в этой цепочке символом, обозначающим категорию, к которой он принадлежит, и таким образом получим последовательность символов категорий. Поскольку каждый член цепочки может принадлежать к нескольким категориям, каждой цепочке ставится в соответствие несколько последовательностей символов категорий. Обозначим эти последовательности Сг^х\...,СДх\ Последовательно применяя правила сведения к некоторой С (х), мы получим, что либо С^ в конце концов сведется к s, либо она в конце концов сведется к некоторой последовательности одного или более символов, отличной от s. Если для некоторого г С (х) сводится к s> мы говорим, что грамматика G порождает х\ если такого i нет, G не порождает х. Множество цепочек, порождаемых грамматикой G, есть язык, порождаемый G. Так же как и для других ранее обсуждавшихся порождающих грамматик, считать, что G порождает предложения, или считать, что она получает на вход цепочки и решает, являются ли они предложениями (т.е. как распознающий ме-
ханизм),— это просто вопрос терминологии. Обычно для только что описанных категориальных грамматик употребляется второй из этих оборотов речи.
Функционирование такой грамматики можно пояснить на примере. Пусть наша грамматика содержит простые категории п и sv слова John, Mary, loves, died, is, old, very (Джон, Мэри, любит, умер, есть, старый, очень) и следующее распределение слов по категориям: John, Магу — в п\ died — в k\s]; loves — в [zz\s] r/> old — в Yn/nV, very — в [nln P [nln ]; is — в [n\sVViln ]. Таким образом, непереходный глагол (такой, как died) рассматривается как «оператор», который «превращает» имя существительное, стоящее слева от него, в предложение; переходный глагол (loves) рассматривается как оператор, превращающий имя существительное, стоящее справа от него, в непереходный глагол; прилагательное рассматривается как оператор, превращающий существительное, стоящее справа от него, в существительное; наречие very рассматривается как оператор, превращающий прилагательное, стоящее справа от него, в прилагательное; связка is рассматривается как оператор, превращающий прилагательное, стоящее справа от него, в непереходный глагол. Цепочки, показанные ниже, сводятся к s следующим образом:
John diedп [n\s]
John loves Mary/г, И\§]//г, п["V]
8
John is very old(83)
n, ["Vl/l^Mb 1^/^J/M/^l, [^Ml
л, [/i\s]
8
Грамматика описанного типа называется двунаправленной категориальной грамматикой. Если все производные категории грамматики имеют вид Ь\ф 1 или все имеют вид Ьф 1, эта система называется однонаправленной категориальной грамматикой. Айдукевич рассматривал только второй вид категорий, поскольку он вначале занимался системами бесскобочной записи, где функторы предшествуют аргументам.
Разумеется, можно рассматривать однонаправленные и двунаправленные категориальные системы как порождающие грамматики. Встает вопрос об их связях и отношениях друг с другом и с
выше рассмотренными системами. Бар-Хиллел, Гайфман и Шамир [3] показали следующее.
Теорема 36. Семейства, однонаправленных категориальных грамматик, двунаправленных категориальных грамматик и бесконтекстных грамматик слабо эквивалентны друг другу.
Если G — двунаправленная категориальная грамматика, то существует бесконтекстная грамматика, порождающая тот же язык, что и G, и если G есть бесконтекстная грамматика, то существует однонаправленная категориальная грамматика, порождающая тот же язык, что и G. Несколько неожиданным следствием этого результата является тот факт, что класс однонаправленных категориальных грамматик эквивалентен по своей порождающей способности полному классу двунаправленных категориальных грамматик.
Шамир указал недавно (личное сообщение), что для теоремы 36 существует доказательство, весьма похожее на доказательство эквивалентности бесконтекстных грамматик и автоматов PDS.
Необходимо подчеркнуть, что отношение, о котором идет речь в теореме 36,— это отношение слабой эквивалентности. Из него не следует, что для любой заданной грамматики одного из этих видов всегда найдется грамматика другого вида, дающая распределение по категориям, сравнимое по сложности или естественности, или дающая такую же систему помеченных скобок (структуру составляющих) для подцепочек. По-видимому, как раз для тех частей реальных языков, которые легкой естественно могут быть описаны при помощи бесконтекстных грамматик, соответствующее описание в терминах двунаправленной категориальной грамматики очень быстро чересчур усложняется, а об естественном описании с помощью однонаправленной категориальной грамматики, конечно, не может быть и речи.
Системы, предложенные Ламбеком, в некоторых отношениях отличаются от только что описанной; в частности, они позволяют большую свободу в приписывании категорий. Так, его правила сведения утверждают, например, что категория а одновременно является и категорией р/П\р], так что этим или иным путем сложность и длина последовательности символов категорий, сопоставленных цепочке, может возрастать при применении правил приведения. Поэтому непосредственно не очевидно, как это было в ранее рассмотренных системах, что порождаемый язык представляет собой рекурсивное множество. Однако Ламбек показал, что изучаемые им системы в действительности являются разрешимыми. Не известно, как связаны системы Ламбека с двунаправленными категориальными грамматиками или с бесконтекстными грамматиками, хотя можно ожидать, что эта связь окажется довольно тесной, возможно даже слабой эквивалентностью.
Привлекательность различных видов категориальных грамматик состоит в том, что они не имеют почти никаких грамматических правил, не включенных в словарь, т.е. если грамматика Сдает распределение слов из конечного словаря VT по конечному числу категорий, простых или производных, то для каждой цепочки х в словаре Vt возможно определить, верно ли, что G порождает х, при помощи вычислительного процесса, использующего правила приведения, которые одинаковы для всех грамматик заданного типа и поэтому не должны входить в состав грамматики G. Действительно, существует традиционная точка зрения, которая отождествляет грамматику с множеством грамматических свойств слов или морфем (ср. [57 ], стр. 149), и целесообразно будет подчеркнуть, что вышеописанный подход дает точное выражение этих понятий.
В последнее время Мэтьюз [42] исследовал обобщение теории грамматик непосредственных составляющих, при котором допускаются некоторые типы прерванных составляющих. Продолжая следовать обозначениям, принятым в разд. 4 предыдущей главы, рассмотрим правила вида Л-><р1[п]ф2, где п>0. Мы интерпретируем такое правило как в применении к цепочке фЛа1ФФ. оседающее цепочку фт!«!... а^фз/ (где а^^),и в применении к цепочке фЛаР.Ф ... 0Lm(m<n\ дающее цепочку фф^^... а/лф2. При этих условиях бесконтекстная грамматика может рассматриваться как грамматика, имеющая только правила вида Л —^срт[0 ]ср2. Мэтьюз также естественным образом обобщил это понятие на случай разрывных контекстных правил. Для любой грамматики определим теперь прямой вывод, явно определенный в разд. 4.2, стр. 178, и прямую разрывную грамматику как грамматику с правилами только что описанного вида (или более общего контекстного разрывного типа) и с ограничением на применение правил, разрешающим только прямые выводы (ср. с разд. 4.2). Мэтьюз показал, что прямые разрывные грамматики могут порождать только бесконтекстные языки, так что это обобщение не увеличивает порождающей способности. Очевидно, то же самое верно и для обратных разрывных грамматик, которые разрешают вывод так, как это описано на стр. 178 (на каждом шаге заменяется самый правый нетерминальный символ), и в которых правило вида Л-^Jzi ]ф2 понимается так, что нужно поставить срт на п символов влево (или на левый конец) при замене символа Л, вместо того чтобы ставить ее на п символов вправо (или на правый конец), как в случае прямой разрывной грамматики (аналогично для контекстных разрывных правил). Мэтьюз распространил этот результат на правила со многими разрывами и указал, что даже допущение двусторонних разрывных правил не увеличивает порождающей способности контекстных грамматик.
Были предложены и различные другие модели лингвистической структуры, но постольку, поскольку они могут быть интерпрети-
рованы как специальный вид порождающих грамматик (т.е. поскольку они определяют грамматики, в явном виде выдающие информацию о структуре предложения), они, по-видимому, большей частью попадают в область теории грамматик непосредственных составляющих и даже почти всегда в область теории бесконтекстных грамматик. Обсуждение этих вопросов см. в работах [24, 52].
Этим заканчивается наш обзор, посвященный формальным свойствам грамматик. Вряд ли нужно специально отмечать предварительный характер большей части наших рассмотрений. Как явствует из приложенного списка литературы, исследование этих вопросов началось, собственно говоря, всего пять или шесть лет назад, и многие из упомянутых здесь работ еще продолжаются.
Важно снова подчеркнуть, что рассмотренные системы, которые так хорошо доказали свою пригодность для абстрактно-математиче- скйх исследований, несомненно, недостаточны, чтобы представить исчерпывающим образом всю сложность и богатство синтаксических механизмов, используемых в естественных языках, в особенности из-за того, что, ограничившись системами подстановок, мы не включили в рассмотрение грамматических трансформаций, подобных обсуждавшимся в разд. 5 предыдущей главы. В то же время эти системы, по-видимому, достаточно широки, чтобы охватить теории грамматической структуры, предложенные в традиционной и современной лингвистике, равно как и в недавних новых работах по автоматическому синтаксическому анализу, так же как и неявно содержащиеся в традиционных или современных описательных работах, за исключением рассмотрения трансформаций. Некоторые характерные черты естественных языков (например, расстановка скобок в запутанных фразах, категоризация лексических типов и типов составляющих, вставленные друг в друга зависимости) появляются в системах рассмотренного вида. Поэтому изучение таких систем непосредственно связано с изучением природы естественного языка.
Далее, очевидно, что плодотворное изучение абстрактных свойств столь богатых и сложных систем, как естественные языки, или организмов, достаточно мощных, чтобы овладевать и пользоваться такими системами, потребует более разнообразных средств и более глубокого проникновения в сущность формальных систем, чем то, которым мы располагаем в настоящее время, а это может быть достигнуто только путем изучения систем, подобных языку, но более простых, чем имеющиеся естественные языки.
Но будут ли эти более мощные системы служить объектом для серьезных формальных исследований — это, конечно, вопрос, над разрешением которого мы в настоящее время можем только гадать.
ЛИТЕРАТУРА
Ajdukiewicz К., Die syntaktische Konnexitat, Stadia Philoso- phica, 1 (1935), 1—27.
В a r-H i 1 1 e 1 Y., A quasi-arithmetical notation for syntactic descropti- on, Language, 29 (1953), 47—58.
В a r-H i 1 1 e 1 Y., G a i f m a n C., Shamir E., On categorial and phrase structure grammars, Bull. Res. Council of Israel, SF (1960), 1 —16.
В a r-H i 1 1 e 1 Y., Perles M., Shamir E., On formal properties of simple phrase structure grammars, Tech. Rept. № 4, Office of Naval Research, Information Systems Branch, 1960; Zeitschrift fur Phonetik, Sprachwissenschaft und Rommunikationsforschung, 14 (1961), 143—172.
В a r-H i 1 1 e 1 Y., Shamir E., Finite state languages: formal representation and adequacy problems, Bull. Res. Council of Israel, 8F (1960), 155—166.
Chomsky N., Systems of syntactic analysis, J. Symbolic Logic, 18 (1953), 242—256.•
Chomsky N., Three models for the desctiption of language, IRE Trans, on Inform. Theory, IT-2 (1956), 113—124. (Русский перевод: Хомский H., Три модели для описания языка, Кибернетический сборник, вып. 2, ИЛ, 1961, 237—266.)'
Chomsky N., On certain formal properties of grammars, Information and Control, 2 (1959), 137—167. (Русский перевод: Хомский H., О некоторых формальных свойствах грамматик, Кибернетический сборник, вып. 5, ИЛ, 1962, 279—312.)
Chomsky N., A note on phrase structure grammars, Information and Control, 2 (1959), 393—395. (Русский перевод: Хомский H., Заметка о грамматиках непосредственных составляющих, Кибернетический сборник, вып. 5, ИЛ, 1962, 312—315.)
С h о m s к у N., On the notion «Rule of grammar», в сб. J akobsonR. (Ed.), Structure od language and its mathematical aspects, Proc. 12th Sympos. in Appl. Math. Providence, American Mathematical Society, 1961; см. также К a t z J., F о d о r J. (Eds.), Readings in the Philosophy of Language, New York, Prentice-Hall, 1963. (Русский перевод: Хомский H., О понятии «правило грамматики», в сб. «Новое в лингвистике», вып. 4, изд-во «Прогресс», 1965, 34—65).
Chomsky N., Context-free grammars and pushodown storage RLE, Quart. Prog. Rept. № 65, Cambridge, Mass., M. I. T., March, 1962.
Chomsky N., The logical basis for linguistic theory, Proc. IXth Int. Cong, of Linguists, 1962; см. также К a t z J., F о d о r J. (Eds.), Readings in the Philosophy of Language, New York, Prentice-Hall, 1963. (Русский перевод: Хомский H., Логические основы лингвистической теории, в сб. «Новое в лингвистике», вып. 4, изд-во «Прогресс», 1965, 465—575.) 13. Chomsky N., М i 1 1 е г G. A., Finite state languages, Information and Control, 1 (1958), 91 —112. (Русский перевод: Хомский H.,Ми л- л е р Д., Языки с конечным числом состояний, Кибернетический сборник, вып. 4, ИЛ, 1962, 231—255.)
СйНк К., Some notes on finite state languages and events represented by finite automata using labelled graphs, Casopis pro pestocani matematiky (Prague), 86 (1961), 43—55.
С и г г у H., Some logical aspects of grammatical structure, в сб. Jakob- son R. (Ed.), Structure of language and its mathematical aspects, Proc. 12th Sympos. in Appl. Math., Providence, American Mathematical Society, 1961. (Русский перевод: Карри Г., Некоторые логические аспекты грамматической структуры, в сб. «Новое в лингвистике», вып. 4, изд-во «Прогресс», 1965, 97—116.)
Curry Н., Feys R.,Combinatory logic, Amsterdam, North-Holland, 1958.
Davis M., Computability and unsolvability, New York, McGraw-Hill, 1958.
E 1 s о n В., P i с к e t t V. B., Beginning morphology-syntax, Summer Institute of Linguistics, Santa Ana, Calif., 1960.
F 1 о у d R. W., Mathematical induction on phrase structure grammars. Information and Control, 4 (1961), 353—358.
GinsburgS., R i с e H. G., Two families of languages related to ALGOL, J. Assoc. Computing. Machinery, 10 (1962), 350—371.
GinsburgS., R о s e G. F., Some recursively unsolvable problems in ALGOL-like languages, J. Assoc. Computing Mach., 10 (1963), 29—47.
G i n s b u r g S., R о s e G. F., Operations wich preserve definability in languages, J. Assoc. Computing Mach., 10 (1963), 175—195.
G r e i b a c h S., Undecidability of the ambiguity problem for minimal linear grammars, Information and Control, 6 (1963), 119—125.
Gross M., On the equivalence of models of languages used in the fields of mechanical translation and information retrieval, Mimeographed, Cambridge, M. I. T., 1962.
H a r r i s Z. S., From morpheme to utterance, Language, 22 (1946), 161 — 183.
H a r r i s Z. S., Methods in structural linguistics, Chicago, Univ, of Chicago Press, 1951.
H a r r i s Z. S., Co-occurence and transformation in linguistic structure, Language, 33 (1957), 283—340. (Русский перевод: X э p p и с 3., Совместная встречаемость и трансформация в языковой структуре, в сб. «Новое в лингвистике», вып. II, 1962, 528—636.)
Н i z Н., Congrammaticality, в сб. Jacobson R. (Ed.), Structure of 12th Sympos. in Appl. Math., Providence, American Mathematical Society, 1961.
К a t z J., F о d о r J., The structure of a semantic theory (печатается в журнале Language. Перепечатано в сб. Katz J., Fodor J. (Eds.), Readings in the Philosophy of Language, New York, Prentice-Hall, 1963).
К 1 e e n e S. C., Representation of events in nerve nets and finite automata, в сб. Shannon С. E., M с C a r t h у J. (Eds.), Automata Studies, Princeton, Princeton Univ. Press. (Русский перевод: К л и н и С.К., Представление событий в нервных сетях и конечных автоматах, в сб. «Автоматы», FIJI, 1956, 15—67.)
К б 1 е г W., The place of value in a world of fact, New York, Liveright, 1938.
К у л а г и н а О. С., Об одном способе определения грамматических понятий на базе теории множеств, в сб. «Проблемы кибернетики», вып.
Физматгиз, 1958, 203—214.
L a m b е k J., The mathematics of sentence structure, Amer. Math. Monthly, 65 (1958), 154—170. (Русский перевод: Дамбек И., Математическое исследование структуры предложений, в сб. «Математическая лингвистика», изд-во «Мир», 1964, 47—68.)
Lambek J., Contributions to a mathematical analysis of the English verb phrase, /., Canadian Linguistic Assoc., 5 (1959), 83—89.
L a m b e к J., On the calculus of syntactic types, в сб. J akobsonR. (Ed.), Structure of language and its mathematical aspects, Proc. 12th Symp. in Appl. Math., Providence, American Mathematical Society, 1961.
Landweber P. S., Three theorems on phrase structures grammars of type 1, Information and Control, 6 (1963), 131—136.
LangendpenT., Structural descriptions for sentences generated by non-self-embedding constituent grammars, Thesis, M. I. T., 1961.
Lashley K. S., Learning: I. Nervous mechanisms of learning, в сб. Murchison C. (Ed.), The foundations of experimental psychology, Worcester, Mas., Clark Uni ver. Press, 1929.
Lashley K. S., The problem of serial order in behavior, в сб. J e f- f r e s s L. A. (Ed.), Cerebral mechanisms in behavior, New York, Wiley, 1951.
MattewsG. H., Hidatsa syntax, Mimeographed, Cambridge, M. I.T., 1962.
Mat tews G. H, Discontinuity and asymmetry in phrase structure grammars, Information and, Control, 6 (1963), 137—146. (Русский перевод: M э т ь ю з Д. Г., Разрывность и асимметрия в грамматиках непосредственных составляющих, в сб. «Математическая лингвистика», изд-во «Мир», 1964, 150—159.)
MattewsG. Н., A note on asymmetry of phrase structure grammars, Information and Control, 7 (1964), 360—365.
M i 1 1 e r G. A., S e 1 f r i d g e J. A., Verbal context and the recall of meaningful material, Amer. J. Psychol., 63 (1950), 176—185.
Myhill J., Linear bounded automata, WADD Technical note 60—165. Wright Air Development Division, Wright-Patterson, Air Force Base, Ohio, 1960.
McNaughton R., The theory of automata: a survey, в сб. Alt F. L. (Ed.), Advances in computers, vol. 2, New York, Academic Press, 1961.
McNaughton R., Yamada H., Regular expressions and state graphs for automata, IRE Trans, on Electronic Computers, EC-9 (1960), 39—47.
N e w e 1 1 A., S h a w J. C., S i m о n H. A., Report on a general problemsolving program, в сб. Information Processing, Proc. International Conference on Information Processing, UNESCO, Paris, 1959.
О e t t i n g e r A., Automatic syntactic analisis and the pushdown store в сб. J a k о b s о n R. (Ed.), Structure of Language and its mathematical aspects, Proc. 12th Sympos. in Appl. Math., Providence, American Mathematical Society, 1961.
Parikh R., Language-generating devices, RLE Quart. Progr. Rept., № 60, Cambridge, Mass., M. I. T., 1961, 199—212.
P о s t E., A variant of a recursively unsolvable problem, Bull. Amer. Math. Soc., 52 (1946), 264—268.
Postal P., On the limitations of context-free phrase structure description, RLE Quart. Prog. Rept., № 64, Cambridge, Mass., M. I. T., 1962.
P d s t a 1 P., Constituent analysis, приложение к журналу Int. J. Amer. Linguistics (в печати)..
Rabin M., Scott D., Finite automata and their decision problems, IBM J. Res. Develop., 3 (1959), 114—125. (Русский перевод: Рабин M. О., С к о т т Д., Конечные автоматы и задачи их разрешения, Кибернетический сборник, вып. 4, ИЛ, 1962, 58—91.)
R i t с h i е R. W., Classes of recursive functions of predictable complexity, Doctoral dissertation, Dept. Math., Princeton Univ., 1960.
Rogers H., Recursive fuction and effective computability, Mimeographed, Dept. Math. M. I. T., 1961.
S a r d i n a s A. A., Patterson G. W., A necessary and sufficient condition for unique decipherability of coded messages, IRE Convention Record, 8 (1953), 104—108. (Русский перевод: СардинасА. А., Паттерсон Дж., Необходимое и достаточное условие однозначного разложения закодированных сообщений, Кибернетический сборник, вып. 3, ИЛ, 1961, 93 — 102.)
S a u s s u г е F. de, Cours de linguistique generale, Paris, 1916. (Русский перевод: де Соссюр Ф., Курс общей лингвистики, М., Соцэкгиз, 1933.)
ScheinbergS., Some properties of constituent structure grammars. Неопубликованная заметка, 1960.
ScheinbergS., Note on the Boolean properties of contextfree languages, Information and Control, 3 (1960), 372—375.
Schii t ze nber ger M. P., Un probleme de la theorie des automates, Seminaire Dubreil-Pisot, Paris, 1959.
Sc hii t ze nber ger M. P., A remark on finite transducers, Information and Control, 4 (1961), 185—196.
S c h ii t z e n b e r g e r M. P., On the definition of a family of automata, Information and Control, 4 (1961), 245—270.
SchiitzenbergerM. P., Some remarks on Chomsky's contextfree languages, RLE Quart. Prog. Rept. № 63, Cambridge, Mass., M. I. T., 1961, 155—170.
SchiitzenbergerM. P.,Ona family of formal power series, Mimeographed, 1962.
SchiitzenbergerM. P., Certain families of elementary automata and their decision problems, Proc. Sympos. on Math. Theory Automata, Vol. XII, MRI Symposia Series, 1962.
Schiitzenberger M. P., On a theorem on J ungen, Proc. Amer. Math. Soc., 13 (1962), 885—890.
SchiitzenbergerM. P., On context-free languages and push-down automata, Research paper RC-793 of IBM Res. Lab., Yorktown Heights, New York, 1962.
Schiitzenberger M. P., Finite counting automata, Information and Control, 5 (1962), 91 —107.
SchiitzenbergerM. P., Chomsky N., The algebraic theory of context-free languages, в сб. Computer programming and formal systems, Amsterdam, North-Holland, 1963.
S h a m i r E., On sequential languages, Tech. Rept. № 7, Office of Naval Research, Information Systems Branch, 1961.
Shamir E., A remark on discovery algorithms for grammars. Information and Control, 5 (1962), 246—251.
Shannon С. E., Weaver W., The mathematical theory of communication, Urbana, Univ, of Illinois Press, 1949. (Русский перевод: Математическая теория связи, в кн. Шеннон К-, «Работы по теории информации и кибернетике», ИЛ, 1963, 243—332.)
ShepherdsonJ. С., The reduction of two-way automata, IBM J. Res. Develop., 3 (1959), 198—200. (Русский перевод: Шепердсон Дж. К-, Сведение двусторонних автоматов к односторонним автоматам, Кибернетический сборник, вып. 4, ИЛ, 1962, 92—98.)
Suszko R., Syntactic Structure and semantical reference. 1, Studio Logica, 8 (1958), 213-244,
T о 1 m a n E. C., Purposive behavior in animals and men, New York, Appleton-Century-Crofts, 1932.
Wells R., Immediate constituents, Language, 23 (1947), 81 — 117.
Wundheiler L., Wundheiler A., Some logical concepts for syntax, в сб. L о c k e W. N., В о о t h A. D. (Eds.), Machine translation of languages, Cambridge; Technology Press and Wiley, 1955.
Y a m a d a H., Counting by a class of growing automata, Doctoral dissertation, Univer. of Pennsylvania, Philadelphia, 1960.
СОДЕРЖАНИЕ
Математические вопросы
Точные верхние границы длин минимальных экспериментов, определяющих заключительное состояние, для двух классов последовательностных машин. Т. Н. Хиббард. Перевод А. А. Мучника 7
Разрешимость машинных отображений регулярных множеств в регулярные множества. С. Гинзбург, Т. Н. Хиббард. Перевод В. Л. Мурского 24
О реализуемости множества целых чисел степенями вершин графа I.
С. Л. Хакими. Перевод В. Я. Ветухновского 40
Динамическое программирование. С. Дрейфус. Перевод В. А.
Евстигнеева 54
Оптимальное управление нелинейными процессами. Е. Ли, Л. Маркус. Перевод В. М. Яковлева и М. В. Яковлевой 86
Математическая лингвистика
Формальные свойства грамматик.//. Хомский. Перевод М. В. Ломковской 121
Кибернетическийсборник
НОВАЯ СЕРИЯВЫПУСК 2
Редактор Б. А. КушнерХудожник Н. К. СапожниковХудожественный редактор В. И. ШаповаловТехнический редактор Л. М. Харьковская
Сдано в производство 20/VII 1965 г. Подписано к печати 18/III 1966 г. Бумага 60X90716= 7,25 бум. л., 13,44 печ. л.
Уч.-изд. л. 14,50. Изд. № 1/3465. Цена1 р. 22 к. Зак. 563
ИЗДАТЕЛЬСТВО «МИР». Москва, 1-й Риж-ский пер., 2
Ярославский полиграфкомбинат «Главполи-графпрома» Комитета по печати.при Совете Министров СССР.Ярославль, ул. Свободы, 97.
2) В [1] и [2 ] эксперимент обозначает последовательность входов, но с тех пор в общепринятом употреблении его заменил термин «лента».
2) Из условия (ii) следует, что ^ di >^п — 3, и поскольку в левой час-
п
ти этого неравенства должно стоять четное число, то ^ d^ > ^п—2. —
^Рим. перев.'
Кибернетическийсборник
НОВАЯ СЕРИЯ
ВЫПУСК
2
Сборник переводов
Под редакцией
А. А. ЛЯПУНОВА и О. Б. ЛУПАНОВА
М И Р“М И Р“ИЗДАТЕЛЬСТВО „
М И Р“
М И Р“
Москва 1966
УДК 519.95УДК 519.95НАУЧНЫЙ СОВЕТ ПО КИБЕРНЕТИКЕ АКАДЕМИИ НАУК СССР
УДК 519.95
УДК 519.95
Второй выпуск новой серии кибернетических сборников (продолжение серии, выпускавшейся Издательством иностранной литературы в 1960—1963 гг. и издательством «Мир» в 1964 г.) состоит из двух разделов: математические вопросы и математическая лингвистика. Первый из них содержит статьи, посвященные некоторым вопросам теории последовательностных автоматов, теории графов и динамического программирования. Раздел «Математическая лингвистика» включает работу Н. Хомского о формальных свойствах грамматик.
Сборник рассчитан на научных работников, инженеров, аспирантов и студентов различных специальностей, интересующихся кибернетикой в ее математическом аспекте.
Редакция литературы по математическим наукам
Математические вопросы
ТОЧНЫЕ ВЕРХНИЕ ГРАНИЦЫ ДЛИНМИНИМАЛЬНЫХ ЭКСПЕРИМЕНТОВ,ОПРЕДЕЛЯЮЩИХ ЗАКЛЮЧИТЕЛЬНОЕСОСТОЯНИЕ, ДЛЯ ДВУХ КЛАССОВПОСЛЕДОВАТЕЛЬНОСТНЫХ МАШИН)
Т. Н. Хиббард