2. Размытые языки, грамматики, алгоритмы
В последние годы большое развитие получила общая теория формаль-|иых языков и грамматик как средство, описания искусственных машинных Цязыков программирования, а также в связи с изучением структуры есте-Цсгвенных языков. В связи с тем, что по теории формальных языков и грам-Циатик был опубликован ряд обзорных работ (см., например, [33, 34]), |< настоящем обзоре предполагается, что с основными понятиями и пробле-|<иатикой в этой области читатель знаком.
| Известно, что математическая точность формальных языков сильно от-Цяичается от неточности, нечеткости естественных языков. Чтобы умень-рпить разрыв между ними, естественно ввести в структуру формальных |яаыаков случайность (стохастические языки) либо размытость. Исследова-|йию языков, грамматик, алгоритмов на основе теории размытых—вножеств \посвящены работы [4,7,40,13,ЛВ, 28, 35-41 ].
, В работе [36] размытый-язык Ь пттпедйляатдя как множество дедочек^ В_ад конечным алфавитом Ут, каждой из'которых приписана стедянь ттто^ рйддежности у1ь(х), т. е. ь ==\\х. и.1.[х])}, х е Ут'. Уазмытый языкЬ яв-ается^ТйД^ЙЫМ сЯуЧ&йЦ 1г1змытого множества! и, следовательно^ к размы-дм языкам^ можно дрименить любую из операций над размытыми множе-'' ами1 тГ^е. можно рассматривать йоъедиаение, пересечение, дополнение ЙЯх языков и т. и. Кроме того, вводятся специальные операшю, ана-
логичные операциям произведения (конкатенации) и итерации для неразмытых языков.
Произведение 8 = Ь^г двух размытых языков ^^ \ и Ьг определяется
следующим образом:
(2.1) 8=={(х,^(х))}, где х = иу, и е Ь^ у «= Ь^ а Ць^, (ж) =
=шахтт(|Аы(г»), Иы(17))-
Таким образом, в отличие от алгебраического произведения множеств, где функция принадлежности определяется как произведение функций принадлежностей сомножителей (см. (1.8)), для произведения языков используетсягг.пйттиДшттйская тгля теории р^^ту ^пятг-вр тг птнлтпр.итг
операция тахтш. Содержательно она означает следующее: нужно просмотреть все варианты порождения слова х как результата приписывания — ^--—._ .. „ „„„^^.„ „ „т,д тгатттлгл ряТ^^Т^Г^ДТРат^минимальную из
эта минимальная величина максимальна^
Итерация ьопределяетсяпоаналогии с итерацией для неразмытых
языков
V = ь и ьь и ыа и....
(2.2)
Как известно (см., например, [42]), для обычных формальных языков решением уравнения
(2.3) Ь == АЬ и В,
где А -а В — некоторые заданные языки, а Ь — искомый язык, является язык Ь=А'В. В [10] этот результат обобщается для размытых языков;
показано, что решение уравнения (2.3) имеет тот же вид Ь == А'В, где А и В — уже заданные размытые языки, а итерация и произведение определяются выражениями (2.1) и (2.2).
В работах [36, 37] вводятся понятия размытых грамматик^ порождаю-
--—— И-"———»., ^.^„„гп.тгоп I, пттгттавту.Я ПТ ППЫЧНОЙ (не-
лих
атики тем. что,
(рорме ц\е
пень принадлежности может быть записана в
ре [0.1] или. более кратко. «-" &.
степень принадлежности цепочки х, порожденной грамматикой <?, определяется следующим образом. Пусть 8 -»- 011 -»-...-»- (Хп -^ х есть вывод цепочки х (см. [34]). В соответствии с тем, какое из правил применялось на каждом из шагов вывода, над каждой из стрелок может быть написана соответствующая степень принадлежности р,
Р1 vi рп ^"+1 /
(2.4) б'—-»].-^-... —>ап—-^х.
ода выбирается минимальной аттахтйттид ^гй-гем из величин п.. выЯирайтся мяксимальная
В
кности
до всем~выводам ^.т._д^--ц^1-^А^а^^=^з^1йдь.^*»—-ь--^_-^-1^• —-^-., -- -и принимается за степеньпри5^^ежности ц*Т5Уцепочки а:" языку ^ (Сг) у
дорожденному размытои^рамматякои^Г^^^^™^" ———*| _ РазмыТаЛ грамматика Сг называется рекурсивной, если имеется эффек» тивная процедура, позволяющая вычислить (ао (.с) для любого х е Т/(О). • Размытая грамматика' О называется размытой грамматикой типа •» (г == 0,1, 2, 3 по классификации Хомского, см. [33, 34]), если соответствующая ей неразмытая грамматика является грамматикой типа г. В [36, 37)*
72 " ,
доказано, что размытые языки, порождаемые размытыми грамматиками типов 1, 2 и 3, рекурсивны.
Известно (см. [33, 34]), что любая грамматика типа 2 может быть приведена к нормальным формам. В [36] эти результаты обобщаются для размытых грамматик.
Очевидным следствием соотношения (1.13) является соотношение
где О), обозначает неразмытую уровневую грамматику того же типа, что и-грамматика О.
В [10] показано, что размытый язык Ь{С) можно разложить но формуле декомпозиции
(2.6) т.((;)==и^(^),
\
где Ь{Сг) обозначает язык, генерируемый грамматикой (?, а О и С,. — соответственно размытая и неразмытая уровневая грамматики одного и того же типа.
В [18, 28, 43] рассматривается некоторый класс грамматик, назваэ-ный классом псевдограмматик. В псевдограмматике каждому правилу ставится в соответствие положительное число \л^[0,1/}, называемое весом этого правила. Цепочке вывода соответствует тогда последовательность весов. Принимая различные варианты определения весов каждого из правил и различные способы вычисления веса конечной терминальной цепочки по-последовательности весов, соответствующей выводу, авторы строят различные типы грамматик, в том числе стохастические, ^-размытые грамматики. различных видов и т. д.
В [7, 10] вводятся размытые предикаты и при помощи рассмотрения:
размытого языка как размытого отношения делается попытка построения количественной размытой семантики, т. е. количественного определения такого по своей сути размытого понятия, как «значение» слова.
Понятие размытого алгоритма (см. [4]) является обобщением понятия алгоритма на случай, когда алгоритм включает нечеткие размытые инструкции, т. е. инструкции, в формулировке которых содержатся нечеткие указания.
Например, размытые алгоритмы могут включать инструкции типа:
а) установить х примерно равным 10;
б) если х велико, увеличить у на несколько единиц;
в) выбрать х в интервале [9,9—10,1], если у в интервале [4,9—5,1];
г) передвинуться на несколько шагов вперед.
Выделенные курсивом слова инструкций и представляют собой нечеткие указания.
При помощи аппарата теории размытых множеств РазмыIздминструк-цияммрн{е1_6Ы'1^ ЦрЯдЯнаТочнаяматем^ГтйчеСТГая фо^ма, хотй''^'5е^дий?-ствашыж^^Ызом,,ас^испрдьзованием субъективн^.оценд^^ в инструкции типа «г» слову «несколько» можно поставить в соответствие-' размытое множество А, для которого может быть выбрана функция принадлежности цд, принимающая значения (см. [4]):
(1л(0)=М1)=М2)=ИА(3)
=0, ^(5) =^(6) =ЦА(7) =1, ^(8) =0,7, ^{х)
=0 при х
5?9.
Понятие размытого'алгоритма может быть использовано также и в тех случаях, когда сложность ситуации исключает на практике возможность выполнения четких «неразмытых» инструкций и достижения точно опре-
деленной цели и приводит к необходимости замены их'размытыми инструкциями и размытыми локальными целями (например, при игре в шахматы и т. п.). При этом следует отметить, что обращение к размытым инструкциям отличается от^детодов эвристического программирования. Эвристическая программа является одной из возможных аппроксимаций размытой инструкции, но сформулирована она без привлечения размытых понятий, так как она передается на ЭВМ, которые (в отличие от людей) в настоящее время еще не могут оперировать размытыми понятиями *.
В отличие от обычного алгоритма, который однозначно ведет от исходных данных к результату, размытый алгоритм, как это чувствуется интуитивно, должен вести от исходных данных к некоторому множеству решений, каждое из которых имеет определенную степень принадлежности. Поэтому в работах по размытым алгоритмам нет доказательств сходимости и утверждается даже, что для теории размытых множеств Такая постановка вопроса не имеет смысла по существу **.
В [13] изучается одна из таких конструкций—размытый марковский алгоритм. Если обычный марковский алгоритм есть функция из X* в X*, где как обычно, X" обозначает множество всех слов, составленных из букв -алфавита X, то размытый марковский алгоритм может быть рассмотрен как удовлетворяющая определенным условиям функция из X* в Р(Х"), где Р"(Х*) — множество всех размытых подмйожеств X". Если продукции обычного марковского алгоритма (см. [45]) имеют вид а-*-р, то продукции размытого марковского алгоритма имеют вид а -*• Ь, где Ь — некоторое размытое множество.
Например,
«значительно
превосход! размытое множество, а (
является размытой сисч описана
уравнениями
(3.1) ^ =/(?', ж')
Каждое размытое
I Принадлежности, поэтом &в выражениях
(3.1) явл |^торых многомерных про »-—
ра^тт»^ пу,^»
(•
Цуизующихся
функцией р
рп
ДГ""0"™
^"Т Ш Г $дци
которых уравнения ] гсать
в вида программ д и
Понятие размытого к ^тых систем. Примером
] цгистем, «близких к линей | В случае,
если систем ?©Транстае XX
У, то фуя ТЬдассу ^ может ассоции Йтепень
принадлежности размытым классом в про
|еети для всего прострав ''Эвеющейся
информации @го числа вход-выходнь
дасснфикации изображу ' В случае же,
когда с
этих уравнений
моя я
Л» изменяющимся в и |вм характеризуется
ка1
,\
причем степень прэ ВЕвется степенью
прина;
0,6
0,3. 0,8
аса,, ЬЬ,
ас-
В [13] предложен способ применения размытых продукций, в результате чего при применении размытого марковского алгоритма к заданному слову получается некоторое размытое множество слов (размытый язык).
Так же как обычному неразмздтому алгоритму может быть поставлена в соответствие машина Тьюринга, так и размытому алгоритму может быть доставлена в соответствие размытая машина Тьюринга ***. »
Размытая машина Тьюринга представляет собой систему
(2.9) Т = <0, X, ^>,
где 0 == {д», ?1,..., От} — множество состояний, Х ^ {ху, ж»,..., Хга} — входы и р,р : 0 Х 0 Х Х -*• [0,1] — функция принадлежности, заданная на множестве 0 Х О Х X, ассоциирующая каждой триаде (д"4'1, д", ж") степень принадлежности размытому множеству переходов Р.
* Понятие размытого алгоритма близко к понятию недетерминированного алгоритма, приведенному в работе [44], где под недетерминированным аргоритмом понимается способ формализации систематических процедур принятия решений в ус-, ловиях, когда эти процедуры определяются не эффективно, а в зависимости от тех
результатов, к которым они могут привести.
** Цитируем [13] (стр. 12): «Будет ли алгоритм работать? Достаточно ли хорошо? — основное свойство размытых алгоритмов состоит в том, что на вопросы подобного рода нет точного ответа. Нужно довольствоваться ответом типа: алгоритм будет работать достаточно хорошо, пока степень размытости наблюдения достаточно мала и инструкции выполняются в соответствии с ожиданиями экспериментатора. Нет • нужды говорить, что такие гибкие утветиудвиия недопустимы для тех, кто ожидает, чтобы свойства сходимости алгоритма были выражены в виде доказуемой теоремы».
*** При этом имеются в виду те ситуации, при которых переменные, входящие в
ялторитм, изменяются аа счетных множествах. ;
\'
74
&.г - ., ,
•вив-"'- • • • • -
а&^&ЕйА&а ^..•^'.-ы^а-а^
В работе [46] доказывается следующее утверждение: для любого раз-Циьстого нормального алгоритма Маркова из того факта, что начальное сло-|во 1;о е X' перерабатывается этим алгоритмом в размытое множество финальных слов Ьф, следует существование размытой машины Тьюринга, Перерабатывающей это слово ^о в то же множество 1ц^. Верно и обратное "утверждение.
1 Таким образом, имеет место обобщение для размытых множеств того |<?оотношения между классом нормальных алгоритмов и классом машин |Тьюринга, которое имеет место в обычном случае (см., например, [47]). [Пока нет никаких результатов, относящихся к каким-либо общим свойствам размытых алгоритмов и размытых машин Тьюринга. ^ В работах [35, 40] рассматриваются размытые программы и устанавливается выполнимость размытых программ с использованием машин с ко-даечным числом состояний. •
В работах [48] автор использует теорию размытых алгоритмов для построения размытой иерархии рекурсивных функций, которая позволяет ртавить в соответствие нерекурсивным функциям-некоторые классы рекур-Цвивных функций с определенной степенью размытости.
