Искусственный разум | страница 29



Если нужна полная запись нечеткого алгоритма, то, пожалуй, не сыщешь лучше этой.

Тот, кто не знает и не знает, что он не знает,

- глупец, избегай его.

Тот, кто не знает и знает, что он не знает,

- может научиться, научи его.

Тот, кто знает и не знает, что он знает,

- спит, разбуди его.

Тот, кто знает и знает, что он знает,

- пророк, учись у него.

Придадим старинному персидскому поучению формальный вид; оно станет менее поэтичным, зато более строгим.

1. Он что-нибудь знает? Неть да! (запомнить).

2. Он знает, что ничего не знает? Нет2, да2 (запомнить).

3. Если нет1 и нет2, то "глупец, избегай его".

4. Если нет1 и да2, то "может научиться, научи его".

5. Если да1 и нет2, то "спит, разбуди его".

6. Если да1 и да2, то "пророк, учись у него".

Персидский алгоритм содержит целую гроздь размытых понятий (выделены курсивом). Он относится к числу алгоритмов распознавания, но распознаванием дело не ограничивается; перед нами еще и алгоритм действий: избегай его, научи его, разбуди его, учись у него.

Каждое действие не детализировано, названо в общем. Оно детализируется другим размытым алгоритмом. Скажем, алгоритм "Избегай его":

Прочитать эту запись легче легкого. Возможные ответы на вопросы образуют две колонки. Если ваш очередной ответ из левой колонки, переходите к следующей строке, к очередному шагу алгоритма, а если из правой колонки, указано, к какому шагу переходить.

Например, когда глупца нет поблизости, мы, минуя все шаги алгоритма, переходим к его 10-му, последнему, шагу: радуемся и вздыхаем свободно.

Совсем другой оборот принимает дело, когда глупец настигает вас (ответ "да" на шаге 9 алгоритма). Приходится возвращаться к шагу 2 - вновь прятаться, пережидать опасность. В нечетком алгоритме прорастает цикл. А за ним и второй: от шага 4 к шагу 1.

Все алгоритмы, о которых шла до сих пор речь, я бы назвал получеткими: переменные в них действительно размытые, а логика (ответы на вопросы) строгая: только "да" или "нет", "истина" или "ложь", 1 или 0.

Размывать так размывать! Размоем саму логику. Когда-то остроумный философ сравнил логику с перилами моста; она хотя и не руководит процессом мышления, но ограждает человека от ошибок. Как вам правится, читатель, размытый мост с нечеткими перилами? Сохраним обозначение 1 для полной истины и 0 для совершенной лжи. Тогда приблизительная истина будет

числом, близким к 1, а несовершенная ложь - к 0. Запишем:

да=1/1+0,8/0,9+0,7/0,8.