линейная организация ячеек всех видов памяти фиксированного размера;
одноуровневая адресация ячеек памяти, стирающая различия между всеми типами информации;
внутренний машинный язык низкого уровня, при котором команды содержат элементарные операции преобразования простых операндов;
последовательное централизованное управление вычислениями;
достаточно примитивные возможности устройств ввода-вывода.
Недостатки классических структур:
плохо развитые средства обработки нечисловых данных (структуры, символы, предложения, графические образы, звук, очень большие массивы данных и др.);
несоответствие машинных операций операторам языков высокого уровня;
примитивная организация памяти ЭВМ;
низкая эффективность ЭВМ при решении задач, допускающих параллельную обработку.
Исчерпаны структурные методы производительности ЭВМ.
В ЭВМ будущих поколений, с использованием в них “встроенного искусственного интеллекта”, предполагается дальнейшее усложнение структуры.
Определение и назначение экспертной системы, ее состав. Система продукций. Этапы проектирования и участники процесса проектирования экспертной системы
Экспертные системы – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие эти знания для консультаций менее квалифицированных пользователей.
Цель исследований по ЭС состоит в разработке программ, которые при решении задач, трудных для эксперта-человека, получают результаты, не уступающие по качеству и эффективности решениям, получаемым экспертом.
Важность экспертных систем состоит в следующем:
технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на компьютерах, решение которых приносит значительный экономический эффект;
технология ЭС является важнейшим средством в решении глобальных проблем традиционного программирования: длительность и, следовательно, высокая стоимость разработки сложных приложений;
высокая стоимость сопровождения сложных систем, которая часто в несколько раз превосходит стоимость их разработки; низкий уровень повторной используемости программ и т.п.;
объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей "прозрачности" приложения (например, знания хранятся на ограниченном ЕЯ, что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия.
По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение:
ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;
технология ЭС, получившая коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.
ЭС предназначены для так называемых неформализованных задач, т.е. ЭС не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач.
Неформализованные задачи обычно обладают следующими особенностями:
ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;
ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;
большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;
динамически изменяющимися данными и знаниями.
Следует подчеркнуть, что неформализованные задачи представляют большой и очень важный класс задач. Многие специалисты считают, что эти задачи являются наиболее массовым классом задач, решаемых ЭВМ.
Экспертные системы и системы искусственного интеллекта отличаются от систем обработки данных тем, что в них в основном используются символьный (а не числовой) способ представления, символьный вывод и эвристический поиск решения (а не исполнение известного алгоритма).
в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление) в самых разнообразных проблемных областях, таких, как финансы, нефтяная и газовая промышленность, энергетика, транспорт, фармацевтическое производство, космос, металлургия, горное дело, химия, образование, целлюлозно-бумажная промышленность, телекоммуникации и связь и др.
Обобщенная структура состав
Обобщенная структура экспертной системы представлена на рис. 2.4.
Обычно она состоит из следующих взаимосвязанных между собой модулей:
База знаний – ядро экспертной системы, совокупность знаний предметной области, записанная на машинном носителе в форме, понятной эксперту и пользователю.
Интеллектуальный редактор базы знаний – программа, представляющая инженеру-когнитологу и программисту возможность создавать базу знаний в диалоговом режиме. Включает в себя системы вложенных меню, шаблонов языка представления знаний, подсказок (help – режим) и других сервисных средств, облегчающих работу с базой знаний.
Интерфейс пользователя – комплекс программ, реализующих диалог пользователя с экспертной системой на стадии как ввода информации, так и получения результатов.
Решатель – программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в базе знаний. Существуют синонимы: дедуктивная машина, блок логического вывода.
Подсистема объяснений – программа, позволяющая пользователю получать ответы на вопросы: «Как была получена та или иная рекомендация ?» и «Почему система приняла такое решение ?» Ответ на вопрос «как ?» – это трассировка всего процесса получения решения с указанием исполняющих фрагментов базы знаний, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему ?» – ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.
В коллектив разработчиков экспертной системы входит: эксперт; инженер-когнитолог; программист; пользователь.
Возглавляет коллектив инженер-когнитолог. Это ключевая фигура при разработке систем, основанных на знаниях. Обычно это руководитель проекта, в задачу которого входит организация всего процесса создания экспертной системы. С одной стороны, он должен быть специалистом в области искусственного интеллекта, а с другой – разбираться в предметной области, общаться с экспертом, извлекая и формализуя его знания, передавать их программисту, кодирующему и помещающему их в базу знаний экспертной системы. Процесс обучения экспертной системы может производиться автоматически с помощью обучающего алгоритма либо путем вмешательства инженера-когнитолога, выполняющего роль учителя.
Экспертная система работает в двух режимах: приобретения знаний и решения задач или консультаций.
В режиме приобретения знаний происходит формирование базы знаний.
В режиме решения задач общение с экспертной системой осуществляет конечный пользователь.
Системы продукций - это набор правил, используемый как база знаний, поэтому его еще называют базой правил. В Стэндфордской теории фактор уверенности CF (certainty factor) принимает значения от +1 (максимум доверия к гипотезе) до -1 (минимум доверия). Продукционная система - способ представления знаний в виде:
- неупорядоченной совокупности продукционных правил;
- рабочей памяти; и
- механизма логического вывода
Этапы и технология разработки
В процессе разработки экспертные системы проходят определенные стадии, в результате которых создаются различные версии, называемые прототипами:
Демонстрационный прототип – экспертная система, которая решает часть требуемых задач, демонстрируя жизнеспособность метода инженерии знаний. Демонстрационный прототип работает имея в базе знаний всего 50 – 100 правил. Время разработки такой экспертной системы – от 1 месяца до 1 года.
Исследовательский прототип – экспертная система, которая решает все требуемые задачи, но неустойчива в работе и не полностью проверена. База знаний содержит 200 – 500 правил. Разработка занимает 3 – 6 месяцев.
Действующий прототип – надежно решает все задачи, но для решения сложных задач может потребоваться много времени и памяти. Количество правил – 500 – 1000. Время разработки этапа – 6 – 12 месяцев.
Промышленная экспертная система обеспечивает высокое качество решения всех задач при минимуме времени и памяти, что достигается переписыванием программ с использованием более совершенных инструментальных средств и языков низкого уровня. База знаний содержит 1000 – 1500 правил. Время разработки – 1-1,5 года.
Коммерческая экспертная система отличается от промышленной тем, что помимо собственного использования она может продаваться различным потребителям. База знаний содержит 1500 – 3000 правил. Время разработки – 1,5 – 3 года. Стоимость – 0,3 – 5 млн. дол.
В настоящее время уже сложилась определенная технология разработки экспертных систем, которая состоит из следующих этапов, схематически изображенных на рис. 2.5:
1. Идентификация (постановка задачи). На этапе устанавливаются задачи, которые подлежат решению, выявляются цели разработки, требования к экспертной системе, ресурсы, используемые понятия и их взаимосвязи, определяются методы решения задач. Цель этапа – сформулировать задачу и охарактеризовать поддерживающую ее базу знаний и таким образом обеспечить начальный импульс для развития базы знаний.
2. Концептуализация. Проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.