![]() |
![]() |
ЭС занимает небольшое, но важное место среди ПО в целом. Для того чтобы понять, что представляют собой ЭС, необходимо определить их место в программировании.
Программирование ЭС является частью области программирования систем ИИ. Обе эти области значительно отличаются от традиционного программирования.
Большинство программ ИИ имеют сходные элементы. Для этих программ характерно то, что они имеют дело со сложными проблемами, которые недостаточно хорошо понимаются, для которых не существует четко заданных алгоритмических решений либо которые могут быть исследованы с помощью того или иного механизма символических рассуждений.
Значительные различия имеются также и во внутренних механизмах машинных языков, используемых для решения указанных выше проблем. В процедурном программировании акцент делается на применении оператора присваивания (=, :=) для перемещения данных в или из фиксированных предопределенных поименованных мест их нахождения в памяти. Эти поименованные места являются переменными программы. Процедурное программирование также зависит от характерной группы команд, которые управляют работой машины.
if – then – else переход
do – while вызовы процедур
repeat – until последовательное выполнение
Программы ИИ обычно пишутся на языках типа ЛИСПА или ПРОЛОГа. Переменные такой программы существуют скорее виртуально в стеке компьютера, а не в фиксированных местах в памяти. Управление данными осуществляется посредством сравнения с образцом и построения списков. Технология построения весьма проста и на ее основе может быть организована почти любая структура данных. Далее при объяснении работы с ПРОЛОГом будут рассмотрены многочисленные примеры создания списков. Программы ИИ, кроме того, используют отличный от традиционных программ набор операторов:
вызовы процедуры;
последовательное выполнение;
рекурсия.
Более подробно рассмотрим взаимоотношения между программами ИИ и экспертными системами.
Граница между ними не так уж четко очерчена. Для пояснения различий между программами ИИ и ЭС ниже приводится список известных программ ИИ, которые не являются ЭС:
программа, которая может просмотреть, а затем выдать в перефразированной форме текст рассказа ребенка и даже дать ответ на некоторые вопросы по тексту. Программа должна в какой-то степени понимать язык и причинно-следственные отношения в повседневной жизни;
программа для печати с голоса;
программы, которые демонстрируют и моделируют человеческий интеллект, например, способность решать задачи по нахождению аналогии в геометрических фигурах (такие задачи обычно включают в интеллектуальные тесты);
программы, решающие задачи скорее символьной, чем числовой математики. Программа выдает решение задачи, интегрированное не в форме числа, а в форме математической функции;
программы, которые доказывают или даже открывают математические теоремы автоматически;
программы, которые могут проводить анализ изображения, снятого телевизионной камерой, выбирать и классифицировать его объекты.
Конечно, для понимания рассказа ребенка требуется большой опыт и высокий уровень интеллекта. Если мы сможем заставить машину делать это эффективно, мы несомненно многое узнаем о том, что такое интеллект. Однако такие задачи (понимание рассказа и т.п.) не имеет смысла ставить перед экспертом или ЭС, потому что с ними легко справится любой человек.
ЭС отличаются от других программ ИИ своей целью и построением. Под целью мы понимаем задачи, которые подходят для человека-эксперта, а под построением – создание не просто механической, а интеллектуальной программы. Критериями оценки ЭС являются следующие:
отражает ли внутренне функционирование программы подход к проблеме со стороны человека;
может ли программа объяснять свои действия способом, понятным человеку;
может ли программа взаимодействовать с оператором посредством гибкого диалога подобного диалогу на естественном языке.
![]() |
![]() |