Главная arrow Предыстория arrow Системы, основанные на знаниях
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

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

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

Как известно, чтобы решить достаточно сложную задачу, необходимо уже почти полностью знать ответ. Одним из первых примеров реализации такого подхода была программа Dendral. Она была разработана в Станфордском университете группой ученых, в которую вошли Эд Фейгенбаум (бывший студент Герберта Саймона), Брюс Бьюкенен (философ, который сменил специальность и стал заниматься компьютерными науками) и Джошуа Ледерберг (лауреат Нобелевской премии в области генетики).

Эта группа занималась решением проблемы определения структуры молекул на основе информации, полученной от масс-спектрометра. Вход этой программы состоял из
химической формулы соединения (например, C6H13NO2) и спектра масс, позволяющего определять массы различных фрагментов молекулы, который формировался при бомбардировке молекулы потоком электронов. Например, спектр масс может содержать пик в точке m = 15, соответствующий массе метилового фрагмента (СН3).

Первая, примитивная версия этой программы предусматривала выработку всех возможных структур, совместимых с данной формулой, после чего предсказывала, какой спектр масс должен наблюдаться для каждой из этих структур, сравнивая его с фактическим спектром. Вполне можно ожидать, что такая задача применительно к молекулам более крупных размеров становится неразрешимой. Поэтому разработчики программы Dendral проконсультировались с химиками-аналитиками и пришли к выводу, что следует попытаться организовать работу по принципу поиска широко известных картин расположения пиков в спектре, которые указывают на наличие общих подструктур в молекуле. Например, для распознавания кетоновых подгрупп (С = 0) с атомными весами 28 может использоваться приведенное ниже правило.

if имеются два пика в точках x1 и х2, такие, что:
  • а) x1 + х2 = M + 28 (где M—масса всей молекулы);
  • б) в точке x1 - 28 — высокий пик;
  • в) в точке х2 - 28 — высокий пик;
  • г) по меньшей мере в одной из точек x1 и х2 — высокий пик,
then существует кетоновая подгруппа.

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

Значение программы Dendral состояло в том, что это была первая успешно созданная экспертная система, основанная на широком использовании знаний: ее способность справляться с поставленными задачами была обусловлена применением большого количества правил специального назначения.

В более поздних системах также широко применялся основной принцип подхода, реализованного Маккарти в программе Advice Taker, — четкое отделение знаний (в форме правил) от компонента, обеспечивающего проведение рассуждений.

Руководствуясь этим опытом, Фейгенбаум и другие специалисты из Станфордского университета приступили к разработке проекта эвристического программирования (Heuristic Programming Project— НРР), целью которого было исследование того, в какой степени созданная ими новая методология экспертных систем может быть применена в других областях интеллектуальной деятельности человека.

На очередном этапе основные усилия были сосредоточены в области медицинской диагностики. Фейгенбаум, Бьюкенен и доктор Эдвард Шортлифф разработали программу Mycin для диагностики инфекционных заболеваний кровеносной системы. После ввода в нее примерно 450 правил программа Mycin приобрела способность работать на уровне некоторых экспертов, а также показала значительно более лучшие результаты по сравнению с врачами, имеющими не такой большой стаж.

Она также обладала двумя важными отличительными особенностями по сравнению с программой Dendral. Во-первых, в отличие от правил Dendral не существовала общая теоретическая модель, на основании которой мог бы осуществляться логический вывод правил Mycin. Для выявления этих правил приходилось широко применять знания, полученные от экспертов, которые, в свою очередь, приобретали эти знания с помощью учебников, других экспертов и непосредственного опыта, накопленного путем изучения практических случаев. Во-вторых, в этих правилах приходилось учитывать ту степень неопределенности, которой характеризуются знания в области медицины. В программе Mycin применялось исчисление неопределенностей на основе так называемых коэффициентов уверенности, которое (в то время) казалось вполне соответствующим тому, как врачи оценивают влияние объективных данных на диагноз.

Важность использования знаний в проблемной области стала также очевидной и для специалистов, которые занимались проблемами понимания естественного языка. Хотя система понимания естественного языка Shrdlu, разработанная Тэрри Виноградом, стала в свое время предметом всеобщего восхищения, ее зависимость от результатов синтаксического анализа вызвала появление примерно таких же проблем, которые обнаружились в ранних работах по машинному переводу. Эта система была способна преодолеть неоднозначность и правильно понимала ссылки, выраженные с помощью местоимений, но это в основном было связано с тем, что она специально предназначалась только для одной области — для мира блоков.

Некоторые исследователи, включая Юджина Чарняка, коллегу и аспиранта Винограда в Массачусетсском технологическом институте, указывали, что для обеспечения надежного понимания языка потребуются общие знания о мире и общий метод использования этих знаний.

Работавший в Йельском университете Роджер Шенк, лингвист, ставший исследователем в области искусственного интеллекта, еще более ярко выразил эту мысль, заявив, что «такого понятия, как синтаксис, не существует». Это заявление вызвало возмущение многих лингвистов, но послужило началом полезной дискуссии. Шенк со своими студентами создал ряд интересных программ. Задача всех этих программ состояла в обеспечении понимания естественного языка. Но в них основной акцент был сделан в меньшей степени на языке как таковом и в большей степени на проблемах представления и формирования рассуждений с помощью знаний, требуемых для понимания языка. В число рассматриваемых проблем входило представление стереотипных ситуаций, описание организации человеческой памяти, а также понимание планов и целей.

В связи с широким ростом количества приложений, предназначенных для решения проблем реального мира, столь же широко возрастали потребности в создании работоспособных схем представления знаний. Было разработано большое количество различных языков для представления знаний и проведения рассуждений. Некоторые из них были основаны на логике, например, в Европе получил распространение язык Prolog, а в Соединенных Штатах широко применялось семейство языков Planner. В других языках, основанных на выдвинутой Минским идее фреймов, был принят более структурированный подход, предусматривающий сбор фактов о конкретных типах объектов и событий, а также упорядочение этих типов в виде крупной таксономической иерархии, аналогичной биологической таксономии.