Анимация
JavaScript
|
Главная Библионтека Нечеткие компьютеры и программное обеспечение л в C-MIN Е-МАХ Схема усечения I I Рис. 6.7. Блок-схема машины нечетких выводов. Случай 1 т параллельно работающих двухвходовых схем MIN, а Е-МАХ-схема МАХ с т входами и одним выходом. Кроме того, схема усечения-это п параллельно работающих двухвходовых схем MIN. Один из двух входов каждой схемы подключен к входу а. Если ввести А, В из знания «если х есть А, то у есть В», полученного из базы знаний, а также А из фактической информаш1И «х есть А», то на вьгходе В как факт «у есть В» появятся напряжения в виде дискретной функции принадлежности. При этом выход В представлен п сигнальными шинами (или выходными контактами). На рис. 6.8 показана плата машины нечетких выводов нечеткого компьютера YFC-1, изготовленного в лабораторрш Ямакава весной 1986 г. Эта машина выполняет нечеткий вывод из знания с одной предпосылкой и одним действием, поэтому ее можно назвать базовой машиной нечетких выводов. На Рис. 6.8. Плата машины нечетких выводов. Глава б плате машины расположено 288 биполярных транзисторов, скорость вывода равна 100 не. Другими словами, возможно быстродействие 10 млн FIPS (нечетких выводов в 1 с). 6.1.4. АРХИТЕКТУРА НЕЧЕТКОГО КОМПЬЮТЕРА Для проектирования быстродействующего нечеткого компьютера на базе стандартных нечетких блоков, рассмотренных в разд. 6.1.3, необходимо использовать принцип параллелизма: для одновременного выполнения г нечетких выводов установим параллельно г машин нечетких выводов и будем вводить в них параллельно нечеткие слова. Кроме того, все нечеткие слова в каждом выводе распределим в виде напряжений по т или и (в данном случае 25) сигна;ц.ным шинам и сигналы на каждой шине будем обрабатывать независимо и параллельно. Блок МАХ на рис. 6.9 реализует связь «а также» в правиле вывода, он получает BeaS Ввод из •рийнш то Нечеткая память Механизм нечетких оывадав (МНВ)
А,В, а также Al-Bz а также Лз-В, а также а танже Аг~*Вг Четкие значении Нечеткий вывод Рис. 6.9. Базовая архитектура нечеткого компьютера. Рис. 6.10. Плата нечетких выводов нечеткого компьютера FUZ-MM1. логическую сумму результатов выводов всех машин нечетких выводов. Нечеткие выходные данные (результат вывода) В обычно сложно использовать в виде сигналов с распределенными напряжениями, поэтому с помощью блока преобразования нечетких данных выдаются достоверные значения. Блок и шина управления для синхронизации работы всего нечеткого компьютера на рис. 6.9 для простоты не показаны. На рис. 6.10 приведен фотоснимок платы нечетких выводов демонстрационного нечеткого компьютера, созданного для показа на второй конференции Международной ассоциации по нечетким системам, состоявшейся в Токио 20-25 июля 1987 г. В качестве периферийных устройств ввода-вывода были использованы существующие цифровые системы, поэтому быстродействие системы в целом определялось быстродействием цифровых систем. Между двумя посылками в здании из двух посылок и одного действия можно поставить союз И или ИЛИ. 6.1.5. БУДУЩЕЕ НЕЧЕТКИХ КОМПЬЮТЕРОВ В последние годы компьютеры все чаще применяются для логических выводов. В области искусственного интел лекта усиленно разрабатываются специальные программы и аппаратные средства для выводов. Однако если бы можно было переносить смысловое нечеткое ноу-хау, которым обладает человек-эксперт, то это не могло бы не отразиться на «твердых знаниях» простых людей. Разве «мягкие знания» позволяют так умело обращаться с нечеткой информацией, содержащейся в естественном языке? В этом смысле нечеткие компьютеры называют компьютерами шестого поколения. Прошло 24 годасо времени публикации статьи Л. А. Заде о теории нечетких множеств (1965). Сегодня, учитывая прогресс полупроводниковой техники, почти не требуется столько времени на конкретное воплощение систем. На тридцатом году после создания теории нечетких систем-в 1995 г., возможно, уже будут вьшущены на рынок прикладные нечеткие компьютеры или их симбиоз с цифровыми ко.мньюте-рами. 6.1.6. ЗАКЛЮЧЕНИЕ В данном разделе кратко рассмотрены нечеткие выводы, методы их реализации с помощью аппаратных средств и преимущества нечетких выводов. Однако из-за того, что большей частью они выполняются программно, их полезность не так очевидна. Достоинства нечеткой обработки состоят не в том, что она основана на глубоко проработанной логике, а в том, что это высокоскоростная обработка на основе поверхностной логики, следовательно, ее жизнь в быстродействии. Авторы убеждены, что достоинства нечеткой обработки не будут очевидны до тех пор, пока она не будет реализована аппаратно, а не программно. Однако во всем мире лишь в фирме «Тогай инфралоджик» и в лаборатории, в которой работают авторы, разрабатываются специальные нечеткие чипы. Сотрудники фирмы стремятся к по-вьпнению эффективности цифровых систем, а авторы имеют другую точку зрения о разработке специальных нечетких аппаратных средств, но в любом случае целью исследований является повышение быстродействия. Как только заработают быстродействующие нечеткие омпьютеры, появятся люди, их использующие, и, следова- Книга вышла в Японии в 1989 т. Прим. перев. тельно, повысятся требования. Благодаря этому нечеткие компьютеры оснастятся функциями более высокого уровня. И еще через несколько лет, по-видимому, каждый желающий будет иметь одноплатный нечеткий микрокомпьютер. 6.2. НЕЧЕТКОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 6.2.1. ВВЕДЕНИЕ Обработка нечеткостей в программах Среди многих разновидностей нечеткостей случайность уже давно является объектом вычислений в компьютерных программах на основе теории вероятности и статистики. В некотором смысле языки моделирования можно считать языками программирования для обработки случайностей. Нечеткости до сих пор изредка вводились в базы данных и отдельные программы, но формально обработка нечеткостей не была признана. Скорее, наоборот, почти во всех случаях нечеткости удалялись, примеры их сознательной обработки были редки. Но после того, как была предложена теория нечетких множеств, осознали важность нечетких понятий, теория была систематизирована, а ее эффективность подтверждена, стали разрабатываться многочисленные программы обработки нечеткостей, прежде всего в целях нечеткого управления, нечеткого математического планирования и нечеткого поиска библиографии. Вместе с тем все подобные программы были написаны на существующих языках программирования. Но если бы была возможность обрабатывать на языке программирования нечеткие множества в их явном виде, то средства пограммиро-вания, объектом которых были бы нечеткости, стали бы очень полезны. Кроме того, ожидается, что применение теории нечетких множеств к самому программированию позволит создать языки программирования, обладающие новыми возможностями по обработке нечеткостей. В данном разделе рассмотрена обработка нечетких множеств, а также языки программирования, которые основаны на теории нечетких множеств и которые назовем нечетким программным обеспечением. О специализированных языках типа языков запросов в нечеткие базы данных уже упоминалось выше Г151 поэтому объектом изучения здесь будут только универсальные языки как нечеткое программное обеспечение. Нечеткое программное обеспечение Нечеткое программное обеспечение, как уже говорилось выше, можно разделить на языки нечеткого программирования которые, как и раньше, позволяют обрабатывать нечеткие множества, и языки нечеткого программирования, которые вьшолняют управление программами с использованием теории нечетких множеств. Нечеткие множества представляются с помощью функции принадлежности, поэтому описание нечеткого множества возможно с помощью существующих языков программирования. Однако для этого необходимо для различных операций над нечеткими множествами писать сложные процедуры. Желательно в языках программирования иметь возможность легко описывать нечеткие множества и пользоваться встроенными операциями над ними. С этой целью разрабатывают языки программирования, позволяющие вести обработку нечетких множеств. Разумеется, в таких языках наряду с нечеткими множествами в качестве констант и переменных представляются и обычные четкие данные. Примеров языков в настоящее время не так много [16]. В разд. 6.2.3 мы подробно ознакомимся с языком, позволяющим обрабатывать нечеткие множества на базе языка ЛИСП. В языках нечеткого программирования, использующих теорию нечетких множеств для управления программой, конечно, можно определять и применять нечеткие множества, но главное их назначение состоит в том, чтобы либо управлять ветвлением в программах, либо получать выводы с некоторыми весами с помощью значений в [О, 1], добавляемых к каждому оператору, или нечетких множеств в [О, 1] (что можно интерпретировать как значения истинности, меру уверенности, меру достоверности, степень нечеткости и т. п.). ~ти средства почти всегда применяются в языках программирования для получения выводов, к ним относятся нечеткая продукционная система [17], нечеткий Пролог [18-20] и другие языки. В отличие от языков, в которых выполняемые операторы строго определены, в языках нечеткого програм-рования, объектом обработки которых являются нечеткие ства, каждому оператору можно приписывать нечет- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 [ 55 ] 56 57 58 59 60 |