|
|
Экспертные системы. Теория построения экспертных системСодержание лист Введение 3 1. Средства построения экспертных систем 5 2. Архитектура экспертных систем 14 3. Перспективы развития экспертных систем (интеллектуальные системы) 15 Заключение 25 Список использованных источников 27 Введение Под экспертной системой понимается система, объединяющая возможности компьютера со знаниями и опытом эксперта в такой форме, что система может предложить разумный совет или осуществить разумное решение поставленной задачи. Экспертная система ? это вычислительная система, в которую включены знания специалистов о некоторой конкретной проблемной области и которая в пределах этой области способна принимать экспертные решения. Экспертные системы, пожалуй, наиболее значительное практическое достижение в области искусственного интеллекта, получили в настоящее время самую широкую известность. В отличие от других, ориентированных на практику программных комплексов искусственного интеллекта, они имеют массовое применение, так как каждая экспертная система позволяет решить неограниченное число сложных для человека задач из соответствующей предметной области. Экспертная система может быть, по-видимому, построена для любой предметной области, о чем говорит следующий перечень уже решаемых экспертными системами классов задач: диагностика, предсказание, проектирование, планирование, управление, наблюдение. В основе экспертной системы лежит определенный запас знаний о конкретной предметной области. Эти знания организуются, как некоторая совокупность правил, которые позволяют делать заключения на основе исходных данных или предположений. В данном курсовом проекте мы рассмотрим, как знания используются в экспертных системах - системах, которые вырабатывают качественные уведомления , диагнозы и рекомендации для решения реальных проблем. Экспертные системы решают реальные проблемы, которые обычно встают перед специалистом - экспертом. Поэтому для формирования экспертной системы нужно сначала извлечь подходящее знание из человека - эксперта. Такое знание по своей природе является скорее чисто эвристическим, а не абсолютным, содержанием которого являются несомненные факты. Извлечение этого знания из эксперта в таком виде, в котором оно может использоваться компьютером - вообще трудная задача. Извлечение знания и формирования базы знаний экспертной системы ? это задача Инженера по знаниям. Первая попытка в формировании экспертной системы вряд ли будет очень успешна. Это происходит частично потому, что эксперту вообще очень трудно выразить точно, какое знание и правила он использует для решения проблемы. Многое выполняется почти подсознательно или кажется настолько очевидным, что он даже не упоминает об этом. Сбор Знания для экспертных систем - большая область исследования с широко разработанными разнообразными методами. Однако при проектировании важно разработать первоначальный прототип, основанный на информации, извлеченной благодаря интервью с экспертом, а затем последовательно совершенствовать прототип, основываясь на обратной связи как с экспертом, так и с потенциальными потребителями экспертной системы. Для выполнения такой итерационной разработки прототипа важно, чтобы экспертная система была написана таким образом, что ее можно легко изменять. Система должна быть способна квалифицированно объяснять свои рассуждения (эксперту, потребителю и инженеру по знаниям) в процессе получения решения. Модифицикация системы должна включать только добавление или удаление ограниченного количества знания. Для представления знаний в экспертных системах наиболее широко используются правила (иногда в комбинации с фреймами). Если правила содержат условия применимости, то они могут не иметь вполне определенных заключений, а имеется только некоторая степень уверенности, с которой выводится заключение. Системы, основанные на правилах, легко поддаются изменению и облегчают создание подсистемы объяснений. Экспертные системы используются для решения широкого диапазона проблем в медицине, математике, проектировании, геологии, информатики, бизнеса, права, и образования. В пределах каждой области они применялись для решения различного класса проблем. Классы проблем включают обнаружение ошибок (например, повреждение каких-либо систем); проектирование (компьютерных систем, гостиниц и т.д.); и интерпретация (например, геологических данных). Методика, применяемая для решения задач, зависит от типа прикладной области. 1. Средства построения экспертных систем Средства построения экспертных систем - это системы программирования, которые упрощают проектирование экспертных систем. Диапазон возможных средств простирается от языков высокого уровня до средств поддержки низкого уровня. Разделим инструментальные средства построения экспертных систем на четыре основных категории, показанные на рис.1. В этой главе мы опишем все категории инструментальных средств и объясним вкратце, как ими пользоваться. Рис. 1. Типы средств построения экспертных систем, доступных в настоящее время. В нашем обсуждении мы будем различать языки программирования, которые применялись при разработке экспертных систем, и языки инженерии знаний, специально созданные для разработки экспертных систем1. Язык программирования - это любой искусственный (в отличие от естественного) язык, разработанный для управления работой компьютера. Одним из классов языков программирования являются языки инженерии знаний. Они специально разработаны для построения и отладки экспертных систем и содержат специальные конструкции, предназначенные для этих целей, но часто они могут быть менее гибкими, чем обычные языки программирования, в отношении способов представления знаний и манипуляции ими. Языки программирования, применяемые для работы в области экспертных систем,- это, как правило, или проблемно-ориентированные языки, такие как Фортран и Паскаль, или языки обработки текстов, такие как Лисп и Пролог. Проблемно-ориентированные языки разработаны для специального класса задач: например, Фортран удобен для выполнения алгебраических вычислений и чаще всего применяется в научных, математических и статистических исследованиях. Языки обработки текстов разработаны для прикладных областей искусственного интеллекта: например, Лисп имеет механизмы для манипулирования символами в форме списковых структур. Список является просто набором элементов, заключенных в скобки, где каждый элемент может быть или символом, или другим списком. Списковые структуры являются удобным строительным материалом для представления сложных понятий. Наиболее популярным и широко используемым языком программирования для задач искусственного интеллекта является Лисп, хотя Пролог неуклонно завоевывает популярность. Языки обработки текстов, каковыми являются последние, более удобны для работы в области искусственного интеллекта, хотя несколько систем написаны на проблемно-ориентированных языках, таких как Фортран и Паскаль. Популярность языка Лисп основывается на нескольких его свойствах: легком и гибком манипулировании символами, автоматическом управлении памятью, развитом редактировании и средствах отладки, едином подходе к представлению программ и данных, что позволяет программе на Лиспе модифицировать свой собственный код так же просто, как и данные. Последнее качество благоприятно для написания программ, которые могут вводить новые или модифицировать уже существующие в базе знаний правила. Добавим, что Лисп существует в разных версиях, которые реализованы на многих компьютерах, включая специализированные, т. е. специально разработанные, чтобы выполнять программы на этом языке быстро и эффективно. Две наиболее известных версии языка - Интерлисп и Мэклисп - имеют различные средства поддержки (редакторы и средства отладки), но одинаковый синтаксис. Такое представление информации на языке Лисп нельзя считать "правильным" или наилучшим способом представления информации; это просто один из многих других. Он одновременно и льгота, и наказание. Инженер знаний может привести лисп-программы в идеальное соответствие со своими нуждами, если только он в состоянии точно представить, в чем эти нужды состоят и какой из многочисленных способов представления и доступа информации на Лиспе лучше всего этим нуждам отвечает. Языки программирования, подобные языку Лисп, представляют максимальную гибкость разработчику экспертной системы, но никак не подсказывают ему, как представлять знания или как построить механизм доступа к базе знаний. С другой стороны, языки инженерии знаний, такие как KAS, обладают меньшей гибкостью, поскольку разработчик системы должен пользоваться схемой управления, определяемой встроенным в язык механизмом вывода. Эти языки, однако, обеспечивают некоторое руководство и готовые механизмы вывода для управления использованием базы знаний. Язык инженерии знаний является искусным инструментальным средством разработки экспертных систем, состоящим из языка построения экспертных систем, погруженным в обширное поддерживающее окружение. Языки инженерии знаний можно разделить на скелетные языки и на универсальные языки. Специалисты по искусственному интеллекту разработали эти языки специально для построения экспертных систем. Скелетный язык инженерии знаний является просто "раздетой" экспертной системой, т. е. экспертной системой без специальных предметных знаний, включающей в себя только механизм вывода и средства поддержки. Разработчики PROSPECTOR удалили из этой системы знания по геологии, чтобы превратить ее в KAS, скелетный язык для диагностики и классификации. Аналогичным образом, система MYCIN для диагностики и лечения бактериальных инфекций стала скелетной системой EMYCIN, a CASNET - консультационная система по глаукоме - стала скелетной системой EXPERT. Скелетные системы обеспечивают структуризацию знаний и готовые механизмы вывода, которые делают разработку системы легкой и быстрой. Но им не хватает общности и гибкости; они приложимы только к узкому классу проблем и сильно ограничивают возможности разработчика экспертных систем1. Универсальный язык инженерии знаний может быть применим к проблемам разного типа в различных прикладных областях. Он обеспечивает большие возможности управления поиском данных и доступом к ним, чем скелетные системы, но его может оказаться труднее использовать. Разные универсальные языки значительно варьируют в смысле общности и гибкости. Скелетные и универсальные языки, только что упомянутые, все находятся на уровне исследовательских разработок. Однако несколько компаний, специализирующихся в области искусственного интеллекта, продают версии языков инженерии знаний коммерческого уровня. Эти языки лежат где-то между скелетными системами и универсальными языками; многие из них возникли из скелетных систем и были развиты для того, чтобы стать более общими и легко применимыми. Вспомогательные средства построения системы состоят из программ, оказывающих помощь в приобретении знаний у эксперта-человека и представлении их, и программ, которые помогают разработать проекты экспертных систем. Эти программы должны выполнять очень сложные задания, из них большинство являются пока что чисто исследовательскими разработками, которые лишь начали превращаться во что-то практически полезное, хотя некоторые системы уже предлагаются как законченные коммерческие продукты. По сравнению с языками программирования и языками инженерии знании, было разработано довольно мало средств построения экспертных систем. Они распадаются на две основные категории: средства проектирования и средства приобретения знаний. Система AGE-это пример средств проектирования систем; система TEIRESIAS-хороший пример средств приобретения знаний. Среди средств поддержки можно выделить средства, облегчающие программирование, такие как отладочные средства и редакторы базы знаний, и средства, увеличивающие возможности законченной системы, например встроенные механизмы ввода/вывода и объяснения. Эти средства обычно являются частью языка инженерии знаний и спроектированы специально для работы в рамках этого языка. Поддерживающее окружение-это просто пакеты программ, которые прилагаются к средству построения экспертной системы, чтобы упростить его использование, облегчить диалог и сделать его более эффективным. На рис. 2 показаны четыре типовых компоненты поддерживающего окружения для экспертных систем1: средства отладки, средства ввода/вывода, средства объяснения, редакторы, базы знаний. Рис. 2. Компоненты поддерживающей среды для средств построения экспертных систем. Теперь кратко обсудим эти компоненты. Хотя немногие средства построения экспертных систем поддерживаются всеми перечисленными выше средствами поддержки, но все такие средства поддерживаются по крайней мере некоторыми из них. Средства отладки. Большинство языков программирования и языков инженерии знаний содержат средства трассировки и пакеты прерываний. Средства трассировки позволяют пользователю следить за действиями системы; обычно они перечисляют имена (или номера) всех выполненных правил или всех задействованных подпрограмм. Пакет прерываний позволяет пользователю заранее сообщить программе, где она должна остановиться, чтобы пользователь мог остановить выполнение программы перед некоторой повторяющейся ошибкой и проверить текущие значения переменных в базе данных. Все средства построения экспертных систем должны иметь эти основные отладочные средства. Весьма немногие средства построения экспертных систем включают также автоматическое тестирование, несколько более сложное средство отладки по сравнению с трассировкой и прерыванием. Это средство позволяет пользователю автоматически тестировать программы на большом числе пробных задач, чтобы обнаружить ошибки или несовместимости в их решениях. Например, EXPERT может запомнить и индексировать тысячи тестовых вариантов вместе с их правильными решениями и использовать их для автоматического тестирования правил в базе знаний. Для пользователя эти возможности особенно полезны в тех случаях, когда отлаживаемая экспертная система пересматривается или расширяется, так как он может быстро протестировать пересмотренную систему для того, чтобы установить, не внесли ли изменения каких-либо ошибок. Средства ввода/вывода. Различные средства связаны с вводом/выводом по-разному. Некоторые из них содержат механизм приобретения знаний в режиме выполнения, который позволяет пользователю изменять экспертную систему в процессе ее работы. Например, EMYCIN-программы запрашивают у пользователя необходимую информацию, когда не могут найти ее в базе знаний. EXPERT-программы не только запрашивают такую информацию, но и предоставляют пользователю меню, чтобы он выбрал из него, какую информацию он желает ввести, и позволяют пользователю также вводить произвольную информацию в ходе работы экспертной системы. Так как инженер знаний, строящий систему с помощью средств EMYCIN или EXPERT, избавлен от необходимости самому программировать механизм приобретения знаний в режиме выполнения, то развивать систему легче, но ее гибкость ограничена. Средства ввода/вывода приходится брать такими, как было задумано создателем средства построения системы (т. е. EMYCIN или EXPERT). Следующий протокол иллюстрирует тип автоматически порождаемого ввода/вывода в экспертной системе, написанной на EMYCIN. Этот пример взят из BLUE BOX, системы лечения пациентов, госпитализированных в связи с депрессией. Жирным шрифтом выделен ввод пользователя, курсивом - поясняющий комментарий. Средства построения экспертных систем могут также использовать другой подход к вводу/выводу, предоставляя создателю системы набор эффективных команд или процедур, с помощью которого легко написать подпрограммы ввода/вывода. Например, ROSIE имеет специальные команды, которые позволяют экспертной системе, построенной на ее основе, обращаться к локальной операционной системе в качестве пользователя этой операционной системы. Это качество доступности операционной системы позволяет экспертной системе в ходе ее работы управлять также другими действиями, например, прогонять программу моделирования, написанную на другом языке программирования, с целью получить нужную информацию. Средства объяснения. Почти все экспертные системы могут объяснить пользователям, как они достигли конкретных заключений, но не все обладают равноценными программными средствами поддержки способности к объяснению. Некоторые, такие как EMYCIN, имеют законченный встроенный механизм объяснения, так что любые экспертные системы, построенные на основе EMYCIN, автоматически приобретают этот механизм. Другие средства построения систем не имеют встроенного механизма объяснения, и инженер знании должен сам написать его при разработке экспертной системы. Наиболее распространенный тип механизма объяснения реализуется по принципу ретроспективного рассуждения; он объясняет, как система достигла конкретного состояния. Например, пользователь может пожелать узнать, почему система нуждается в ответе на вопрос, только что заданный, или как система пришла к определенному заключению. Здесь система может описать правило, которое привело к вопросу, или предъявить часть цепочки правил или всю последовательность правил, приведших к этому заключению. Механизм объяснения может также применять гипотетические рассуждения, когда система объясняет, что получилось бы иначе, если бы конкретный факт или правило были другими, и контрфактические рассуждения, когда система объясняет, почему ожидаемое заключение не получено. Следующий фрагмент иллюстрирует некий род объяснения, который экспертная система, написанная на EMYCIN, может делать автоматически. Этот пример взят из BLUE BOX и продолжает пример, приведенный для иллюстрации возможностей ввода/вывода. Опять жирным шрифтом выделен ввод пользователя, курсивом - поясняющий комментарий. Редакторы базы знаний. У большинства средств построения экспертных систем есть механизм редактирования базы знаний. В простейшем случае это стандартный текстовый редактор для модификации правил и данных вручную. Но многие инструменты содержат и другие средства поддержки. Например, EMYCIN использует автоматический журнал. Редактор EMYCIN следит за изменениями, сделанными пользователем, и записывает соответствующую информацию. Если пользователь добавляет или изменяет правило, то редактор автоматически запоминает модифицированное правило вместе с именем пользователя для дальнейших справок. Инженеры знаний находят это особенно полезным в тех случаях, когда разные специалисты модифицируют или уточняют базу знаний. Другим распространенным свойством редакторов базы знаний является синтаксический контроль; такой редактор использует знания о грамматической структуре языка экспертной системы, чтобы помочь пользователю ввести правила в нужном формате и без грамматических ошибок. Когда пользователь вводит правило или команду с грамматической ошибкой, то редактор обнаруживает их и объясняет, что неправильно. Исправление таких ошибок во время редактирования, а не в процессе тестирования системы, значительно уменьшает время ее разработки. Особенно полезное, но, как правило, недоступное свойство редактора базы знаний - это контроль по содержанию, благодаря которому система контролирует семантику или содержание правил и данных при их вводе, чтобы установить, не противоречат ли они существующим знаниям системы. Если обнаруживается противоречие, то редактор помогает пользователю разрешить конфликт, объясняя причины противоречий и описывая способы их устранения. У специалистов по искусственному интеллекту имеются трудности с контролем по содержанию, хотя средства поддержки некоторых систем исследовательского уровня (например, TEIRESIAS) и средства поддержки систем коммерческого уровня (например, TIMM) ориентированы на эту проблему. Чтобы выполнить глубокий, а не поверхностный контроль по содержанию, редактор должен понять, что на самом деле означают разнообразные формы правил и данных. Таблица 1. Новые термины экспертных систем Термин Знание Архитектура доски объявлении Способ представления и управления знанием, основанный на использовании независимых групп правил, называемых источниками знаний, которые связываются через центральную базу данных, называемую доской объявлений. Инструментальные средства инженерии знании Системы программирования, которые упрощают разработку экспертных систем. Они включают языки, программы и средства поддержки, которые помогают инженеру знаний. Пакет прерываний Механизм языка программирования или языка инженерии знаний для сообщения программе, где ей остановиться, чтобы программист мог посмотреть значения переменных в этой точке. Проблемно-ориентированные языки Компьютерный язык, разработанный для специального класса проблем, например Фортран, разработанный для эффективного выполнения алгебраических операций, Кобол, ориентированный на коммерческие задачи. Списковая структура Набор элементов, заключенных в скобках, где каждый элемент может быть или символом, или другим списком (например, BALL SHOE (Y5 BILL) 23 (CAT 7)). Средство трассировки Механизм в операционной системе или языке инженерии знаний, который может вывести на дисплей правила или выполняемые подпрограммы, включая значения используемых переменных. Универсальный язык разработки знаний Компьютерный язык, разработанный для построения экспертной системы и имеющий возможности, которые позволяют применять его в разных прикладных областях и для разного типа систем. Язык обработки текстов Компьютерный язык, разработанный специально для представления и манипулирования сложными концепциями. Примерами являются Лисп и Пролог. Продолжение табл. 1. Термин Знание Язык программирования Искусственный язык, разработанный, чтобы управлять выполнением операций в компьютере. Скелетный язык инженерии знаний Компьютерный язык, разработанный для построения экспертных систем, полученный удалением всех предметных знаний из уже существующей экспертной системы. Поскольку у редактора должны возникнуть трудности при выборе между этими возможностями, он должен попросить пользователя о помощи. Другое полезное, но, как правило, недоступное свойство редактора базы знаний - это извлечение знаний, с помощью которого редактор помогает пользователю ввести новые знания в систему. Это свойство сочетает синтаксический контроль и контроль по содержанию с искусным подсказыванием и объяснением, чтобы даже неопытные пользователи могли понять, как добавить или изменить правила. Свойство извлечения знаний в редакторе сокращает время разработки системы и обучает новых пользователей системы. Средства поддержки некоторых систем (например, TEIRESIAS, TIMM и EXPERT-EASE) используют механизм извлечения знаний. Этапы развития средств построения экспертных систем. Инструментальные средства разработки экспертных систем развиваются во времени. Средства разработки экспертных систем часто начинают разрабатывать в процессе научных исследований как экспериментальную систему, созданную для специальной задачи. Разработчик применяет эту систему к этой специальной задаче, но редко проверяет ее на других задачах систематически и исчерпывающе. Инструментальные средства, которые не были развиты далее этого первоначального этапа, обычно бывают медленными и неэффективными и используют гораздо больше машинного времени и памяти, чем это необходимо. Пользователям экспериментальных систем никогда не следует рассчитывать на помощь разработчика, когда у них что-нибудь не ладится с этими системами; разработчик редко поддерживает использование экспериментальной системы. Средство построения экспертных систем может достичь следующего этапа разработки и появиться как исследовательская система. Этот инструмент будет достаточно полно протестирован и поддерживаем разработчиком, но при этом может оказаться относительно медленным и неэффективным. Как правило, разработчикам нравится экспериментировать с новыми идеями, и поэтому исследовательские системы зачастую обладают экзотическими свойствами, известными только нескольким пользователям и почти никем не используемыми. Это приводит к медленной, неэффективной работе с ними. Все же не все исследовательские системы являются медленными и громоздкими. Лишь немногие средства построения экспертных систем достигли уровня коммерческих систем. Эти инструментальные средства являются отшлифованными, отлаженными, хорошо поддержанными и быстрыми. Они разрабатываются с учетом пожеланий пользователя и облегчают проблему взаимодействия человек-машина. Однако не все инструментальные средства, которые нашли коммерческое применение, являются одинаково отшлифованными. Существующие коммерческие языки программирования появились как большие сложные системы с изощренными встроенными приспособлениями, так что в сравнении с ними доступные в настоящее время языки инженерии знаний коммерческого уровня и средства поддержки кажутся несколько консервативными и ограниченными. Вспомогательные средства построения систем. В настоящее время на рынок вышли лишь немногие коммерческие вспомогательные средства построения экспертных систем. Инструментальные средства, такие как TIMM, RULEMASTER и EXPERT-EASE разработаны для того, чтобы оказывать помощь при приобретении знаний. Системы очень похожи - пользователь определяет проблему в терминах всевозможных решений, которые могут быть приняты, а также названий и значений факторов, которые следует учитывать при выборе решения. Система затем запрашивает у пользователя примеры, описывающие условия, приводящие к каждому решению. По примерам система строит процедуру вывода для решения проблемы. В RULE-MASTER и EXPERT-EASE этой процедурой является дерево решений; в TIMM существует набор из правил ЕСЛИ-ТО, связанных с коэффициентами уверенности. Все три системы разработаны для персональных компьютеров фирмы IBM. Языки инженерии знаний. Коммерческие языки инженерии знаний являются функционально полными средствами разработки экспертных систем, сочетающими мощные языки и хитроумные средства поддержки. Многие такие языки используют правила как основной метод представления знаний. Языки ART, KES, M.I, OPS5, OPS5e, PERSONAL CONSULTANT и SI, относятся к этой категории, хотя большинство из них поддерживают также и другие методы представления знаний. С другой стороны, в КЕЕ в качестве основных используются представления, основанные на фреймах и ориентированные на объекты, а методы, ориентированные на правила и процедуры, играют второстепенную роль. Дополнительная информация по языкам инженерии знаний содержится в каталоге средств построения экспертных систем. Примеры языков инженерии знаний. Языки инженерии знаний бывают различными по объему и структуре, а также уровню развития и возможностям. Но большинство обладает общим свойством - предопределенным готовым механизмом вывода, обрабатывающим базу знаний, организованную согласно спецификациям языка. Это обеспечивает им некоторое преимущество над языками программирования. Когда инженер знаний разрабатывает экспертную систему на языке программирования (например, Лиспе), он пытается использовать этот язык в качестве строительного материала для конструирования высокоуровневого представления знаний и механизма вывода, обеспечивающего доступ к знаниям. Это означает, что систему можно точно подогнать к решаемой проблеме, но эта подгонка сопряжена с затратой большого количества времени и усилий. Что касается языка инженерии знаний, то такая подгонка уже сделана: язык проблемно-ориентирован; трудность состоит в том, чтобы найти язык, подходящий к вашей проблеме. Четыре языка инженерии знаний заслуживают нашего особого внимания ввиду их столь широкого использования. Это языки EMYCIN, EXPERT, OPS5 и ROSIE. 2. Архитектура экспертных систем Экспертные системы, основанные на правилах, содержат следующие наиболее важные модули1. Пользователь взаимодействует с системой через интерфейс пользователя, в котором используется меню, естественный язык или любые другие методы взаимодействия. Механизм логического вывода применяется, чтобы вывести рассуждения на основе опытных знаний (извлеченных из эксперта) и данных, уникальных и специфических для решаемой проблемы. Опытное знание обычно представляется в виде набора правил импликации. Специфические уникальные данные включают в себя как данные, полученные от пользователя, так и данные, полученные благодаря частичным заключениям, основанным на этих данных. В простом выводе от фактов к цели системы, основанные на правилах, хранят уникальные данные - в рабочей памяти. Почти все экспертные системы также имеют подсистему объяснения, которая позволяет программе объяснять свои рассуждения пользователю. Некоторые системы также имеют редактор базы знаний, который помогает эксперту или инженеру по знаниям легко модифицировать и проверять базу знаний. Одной из важных особенностей экспертных систем является способ, с помощью которого они разделяют область уникальных знаний от более универсальных рассуждений и методов представления. Универсальные знания содержатся в оболочке экспертной системы. Оболочка снабжена механизмом логического вывода (и схемой представления знаний), интерфейсом пользователя, системой объяснения и иногда редактором базы знаний. Для каждого нового вида проблемы, которую требуется решить, мы можем обычно найти оболочку, которая наиболее подходит для этого вида проблемы, все, что мы должны сделать - это снабдить оболочку экспертными знаниями. Имеются многочисленные коммерческие оболочки экспертных систем, каждая из которых применима к проблемам широкого диапазона. (Экспертные системы, работающие в промышленности, включают как оболочки экспертных систем, так и экспертные системы, использующие оболочки.) Использование оболочек для написания экспертной систем приводит к уменьшению стоимости и времени разработки (по сравнению с созданием экспертной системы на пустом месте). Итак, полностью оформленная экспертная система содержит следующие компоненты1: 1. Базу знаний. 2. Модуль извлечения знаний. 3. Систему объяснения своих выводов. База знаний содержит правила (продукции), описатели предметной области и выводы. Для выработки правил в базу знаний вводятся примеры. Основное отличие базы знаний от обычной базы данных состоит в том, что база знаний обладает большими творческими возможностями. Критерии в базе данных обычно пассивны: они либо там есть, либо их нет. База знаний, же, активно пытается пополнить недостающую информацию. Правила являются предпочтительным средством отображения неформальных знаний. Модуль извлечения знаний предназначен для организации выборки из базы знаний, а система объяснения выводов предназначена для пояснения пользователю хода рассуждений экспертной системы. Модуль извлечения знаний и система объяснения выводов представляет собой компьютерную программу, написанную на языке программирования высокого уровня. 3. Перспективы развития экспертных систем (интеллектуальные системы) Для удовлетворения растущих экспоненциально запросов многих автоматизированных предприятий часто бывает недостаточно только изменений в соответствующем программном обеспечении. Сегодня информационные запросы часто уже не ограничиваются проблемами расширения функций, а многие принципиальные постановки задач требуют коренного пересмотра всего комплекса программ. При этом знания, заложенные в программы, не изменяются относительно нового запроса, а могут лишь дополняться в связи с новыми формами производства или изменением состава оборудования. Здесь, на границе возможностей применения процедурного программирования начинается совсем другая область - интеллектуальное программирование, вопросам применения которого посвящена данная статья. Интеллектуальное программирование предназначено для получения знаний в форме композиции новых фактов - "knowledgemining" вместо используемого сегодня "data mining" из технологии работы с хранилищами данных. Основные преимущества применения интеллектуального программирования: использование подмножества естественного языка или программирование без программистов; построение парадигмы отладки знаний; расширение области применения компьютеров; формирование инструментария, аналогичного, например, системе Паскаль, но без формализмов операторов1. Оперативное изменение комплекса программ обычно наталкивается на естественные ограничения самого процесса программирования2. Лозунг типа "Моя программа может все" общеизвестен; он стимулирует хорошее качество программ, однако другой лозунг "Все можно запрограммировать" можно назвать более важным и действенным, поскольку он утверждает необходимость алгоритмического знания, навсегда вошедшего в нашу жизнь. Тем не менее практика все чаще подбрасывает нам примеры существенных недостатков процедурного программирования, которые стимулировали сегодня интеллектуализацию применения компьютеров: некоторые знания "плохо формализуются" с помощью алгоритмов, не все виды знаний можно представить программой, некоторые знания или запросы не определены частично или полностью, с увеличением размеров программы теряют гибкость, программы не могут определять или доопределять понятия, программы выводят только запланированные результаты или ошибочные ситуации, альтернативные решения не предусматриваются, для конкретного применения важны объективность (ориентация на общие знания) и субъективность программ (ориентация на конкретную организацию). Решение каждой из этих проблем требует перепрограммирования, что по стоимости часто равносильно созданию новых программ. Необходим иной подход к разрешению запросов пользователя с учетом главной проблемы - использование компьютера силами самого пользователя, не обладающего знаниями в области программирования, но хорошо ориентирующегося в своих прикладных областях, и владеющего специфическими профессиональными знаниями. Перечисленные недостатки формируют требования к новому подходу, который кроме этого обязан учитывать и возможности, присущие традиционному процедурному программированию. До начала эры вычислительной техники человек приобретал знания и отвечал на любые запросы согласно накопленному опыту ? любой пробел в знаниях компенсировался получением дополнительной информации. Если человек обладает такими способностями, то почему бы подобную модель не вложить в программу, которая после этого станет уже интеллектуальной системой (ИС). Так и было сделано. Первый шаг в этом направлении ? разработка экспертных систем (ЭС), основанных на программировании правил логического вывода или последовательности продукций. В ЭС из всего арсенала программирования выделено действие (продукция) вида: если А, то В. Их последовательность позволяет рассматривать набор условий А и выполнять выбранное действие В. Пик популярности экспертных систем отошел в прошлое по следующим причинам: не все недостатки процедурного программирования были устранены, оставалась главная трудность - составление последовательности действий; отсутствовал эффективный аппарат для отладки знаний, представленных фактами и продукциями; требовалось постоянное присутствие эксперта, заменившего программиста. Вторым шагом, способствовавшим достижению пика развития ЭС, стало изобретение инструментария ? языка Пролог. Этот язык ограничен записями для поиска независимых переменных, применением дедуктивного метода, и отказ от использования естественного языка. Кроме этого появились языки представления знаний на понятийном уровне или на уровне графов для ввода отношений между понятиями. Однако, опять же, все эти средства требуют специальных знаний по программированию и информатике, а построенные на их основе ИС не удовлетворяли запросам пользователя. Существовали например весьма серьезные ограничения в технологии отладки знаний и формулировке заданий на естественном языке, в языках отсутствовали кванторы высокого порядка. Ограничения в представлении знаний, дедуктивный вывод с большими затратами времени или тупиковыми ситуациями и отсутствие альтернативных разрешений запросов только усугубляли ситуацию1. Для разработки ИС необходим язык общения специалиста с компьютером, причем естественный язык, без привлечения каких-либо знаков или формальных грамматик. Однако весь естественный язык построен на основе грамматики, а это более 200 категорий плюс обширный контекст. В результате для понимания текста человеку необходима память и сумма книг многих библиотек. Учитывая, что оперативная память компьютера всегда будет ограничена, рассмотрим пока только язык профессиональной прозы (ЯПП), представленный введенными в ИС понятиями и грамматикой из 20 категорий. Можно, конечно, поработать еще и с языком поэзии, однако он очень активно использует принцип умолчания и небрежно но красиво варьирует термины и синонимы, употребляемые вместе с альтернативными значениями в других контекстах. В основе анализа текста ЯПП лежит определение термина некоторого понятия. Допускается использование терминов, составленных из слова, знака или их сочетаний. Каждый термин должен иметь точные характеристики или быть неопределенным, тогда его характеристики могут определиться в процессе логического вывода. Весь текст ЯПП состоит из абзацев, имеющих законченный смысл. Каждый абзац- набор предложений, состоящих из последовательностей терминов. Все это напоминает естественный язык но с меньшим числом категорий, например, собраны воедино категории типов предложений. Многие термины являются стандартными - они составлены из общеупотребительных слов и знаков. В качестве терминов могут использоваться "сложение", "+", "плюс", "увеличить на", "-", "вычесть", "уменьшить на". Имеются две новые категории грамматики ЯПП: термин-операнд и термин-операция. Существительное или глагол могут быть операндами или операциями. Большинство формализаций знания рассматривает существительное как операнд, а глагол как операцию. Таким образом ЯПП является частью естественного языка, ориентированной на конкретную профессиональную деятельность. Тексту на языке профессиональной прозы должно предшествовать описание терминов. Каждый термин уникален, а содержащиеся в нем слова могут состоять из основы и конца слова. Основа слова служит для идентификации термина, а конец слова - для оформления результатов работы программы. Число категорий грамматики естественного языка в ЯПП уменьшается еще за счет исключения отношений рода, числа, падежа, суффикса, окончания и т.п. Некоторые слова могут входить в различные термины с различными основами. Значения таких слов как "красный", "красный" или "красная" в составе терминов могут быть различными (знак подчеркивания разделяет основу и конец). Совокупность терминов вместе с определениями и характеристиками соответствующих понятий называется лексиконом. Одна часть лексикона составляется из стандартных терминов, известных интеллектуальной системе из русского языка ? их около 1000, другая - из терминов пользователя1. Естественный язык использует понятие синоним, а в ЯПП понятие синонима расширено. Синоним термина в грамматике естественного языка точно не определен, а в ЯПП можно вводить синонимы для любых терминов. К примеру, некоторое предложение может быть термином, и для него можно определить один или несколько синонимов. Введение понятий термина и синонима исключает категории частей речи и предложения грамматики естественного языка. Смысл синонима, который становится термином, совпадает со смыслом основного термина. В основе информатики ИС заложена информатическая логика (ИЛ) ? новая ветвь логики, предназначенная для построения алгоритмов решения логических уравнений. До пояснения сущности этой логики рассмотрим источник такого внимания к логическим уравнениям2. Каждый человек говорит или пишет предложениями или абзацами так, чтобы передать слушателю или читателю некую смысловую идею. При этом предложение или абзац ? синтаксическая единица смысла (СЕ) ? суть истинное или ложное высказывание. Будем опираться на характеристику ? каждая СЕ является прикладной аксиомой, передающей знания. Совокупность прикладных аксиом составляет знания и используется для заполнения базы знаний. Кроме этого, в информатической логике каждая аксиома служит для определения некоторой операции, операнда или их взаимосвязи. Например, Х = Х определяет отношение операции равенства и операнда. Итак, совокупность абзацев-аксиом - Ki верны одновременно. Это значит, что базу знаний условно можно изобразить следующим образом: К1 и К2 и... и Kn = => Ki, i = 1, 2,..., n. Запрос для ИС также принимается за аксиому Q, тогда ИС должна решать следующую задачу: &Ki > Q, (1) где знак > является обозначением синтаксического (операция влечет)или семантического (из истины следует истина) следования. Эта запись является логическим уравнением (A > B то же самое, что и (A > B) = истина). Если человек передал для ИС все необходимые аксиомы и тем самым построил базу знаний, он сформировал модель своих способностей по одной конкретной специальности. Охват сразу всех специальностей немыслим как по причине огромного объема, так и в связи с различием смысла одних и тех же терминов для различных предметных областей. После заполнения базы знаний формируется запрос Q и ИС решает логическое уравнение. Здесь важно обратить внимание, что база знаний одна, а разнообразных запросов может быть сколько угодно. Одни запросы относятся к вычислению значения (если исходные данные определены),другие к выводу определения понятия и формулы (если некоторые операции не определены), третьи к построению программы (если исходные данные не заданы). Запросы пользователя могут задаваться абзацем или набором абзацев, анкетой типа А1 = да, А2 = нет, А3 = неопределено и т.д. Анкета представляет собой набор фактов и формализуется в виде: Q: = А1 = да и А2 = нет и А3 = неопределено и ... Запрос может задаваться по шаблону, который формализуется соответствующей формулой для Q. Практически достаточно трех форм запроса. Рассмотрим, как в ИС решаются проблемы процедурного программирования, требующие изменений в уже существующей или во вновь создаваемой программе. Все знания, а их семь видов: описательные, языковые, концептуальные, фактографические, теоретические, процедурные и кибернетические, формализуются, поскольку они могут излагаться на ЯПП. Запросы могут вызвать реакцию ИС, выражаемую в виде вопроса пользователю о недостающем операнде, операции или их совокупности. Для успешного разрешения запроса важно понять, где в базе знаний или в запросе имеется "тонкое место". Для учета предположений в ИС можно ввести понятия, значения которых моделируются в многозначных логиках. К примеру, запрос типа "А или В = возможны" предполагает многозначность А и В. Гибкость задания вытекает из возможности быстрого изменения запроса при фиксации базы знаний. ИС ориентирована на пользователя и каждый специалист опирается на конкретную базу знаний, пополняя ее по мере необходимости и формулируя запрос на языке профессиональной прозы. ИС определяет все альтернативные решения, например, снабженные условием "Х не равен 0". Здесь нарушено академическое правило: каждая задача должна иметь единственное решение, однако на практике невозможно заниматься сложной проблемой определения условий единственности решения конкретной задачи. Универсальность ИС состоит в том, что база знаний - это "программа" решения целого класса задач для данной специальности. Проблемы правильности программ не возникает по двум причинам: знания отлажены, а программа решения логического уравнения строится автоматически; база знаний содержит объективные знания, если она создавалась коллективно(книги, эксперты, опыты и т.п.), или содержит субъективные знания, если она формировалась одним специалистом с целью исследования новых предметов, явлений или процессов. Классически ИЛ определяется в виде следующей тройки: <ЯПП, набор базовых аксиом, набор базовых правил>, где базовые схемные аксиомы, а их около 300, определяют константы (ложь, истина), операции логики, арифметики, теории множеств и отношений, а базовые правила определяют логический вывод решения логического уравнения. В набор правил не входит правило modus ponens, которое связано с дедуктивным подходом в логическом выводе. Это правило работает по форме: если имеется А и из него следует В, то В верно. Например, А&С / not А&С&В -> А&С / С&В. Этот эквивалент правилу modus ponens применяется во избежание рассмотрения "больших и длинных" деревьев логического вывода. Кроме этого, в ИС нарушена математическая строгость путем введения правила (F(X) = F(Y))" (X = Y) вместо обратного следования. Тем не менее все альтернативы для многозначных функций будут найдены, если это позволяет база знаний и в ней содержатся знания о многозначности. В результате логического вывода в ИС формируется решение логического уравнения, которое представляется набором альтернатив совместных фактов. Фактами являются, например, А =истина, Х принадлежит М, не Х = У, Х = А + В * С и т.п. Факты представляют элементарные знания в форме <имя термина, значение> и могут присутствовать либо в базе знаний, либо в запросе. Решение логического уравнения может отсутствовать(запрос противоречит базе знаний), решение может быть единственным (академический случай), решений может быть несколько (практический случай); решением являются любые комбинации фактов (это говорит о том, что доказана теорема, представленная запросом). В результате выполнения запроса в ИС выводиться число, формула или программа для выполнения. Набор базовых аксиом определяет константы "нулей" и "единиц", 70 операций логики, арифметики, математического анализа, теорий отношений и множеств. ИС рассматривает 35 типов данных (логические, числовые, текстовые, массивы, записи, таблицы, время и даты, функции, процедуры, множества и последовательности). Набор правил является классическим ? переименование, подстановка термов и операций. Кроме этого, набор включает правила, порожденные аксиомами, поскольку поиск образов аксиом сложен, а применение правил проблем не вызывает. Применение ИС прежде всего необходимо для автоматизации аналитической работы без потери пользователем какого-либо своего знания в прикладной области и с использованием профессионального языка при формулировке запросов к базе знаний. Важность ИС вытекает также из перечня задач, при решении которых интеллектуальные системы часто оказываются незаменимы: Получение ответа Да-Нет-Не знаю при доказательстве теорем или установке истинности утверждений. Установление истинности утверждений на основе знаний важно во многих практических приложениях. Поиск условий истинности утверждения (синтез теорем или определение недостающего знания для решения конкретной задачи). Главный класс проблем связан с поиском разрешений запросов в форме альтернативных композиций новых фактов, устанавливающих истинность запроса. А * Х + В = 0 будет истинным при Х: = - В/А. Формирование понятий по базе знаний и запросу (анализ и синтез понятия, необходимого в анализе, например, требований пользователя, аналитические выкладки). Каждое определение понятия - это логическое высказывание, представленное на естественный язык, например "кто лжец". Поиск информации в хранилище данных. К примеру, запрос: "Найти зарплату Иванова по ведомости за январь" может привести к результату- "Иванов = 35 тыс. р. по ведомости 23 и Иванов = 340 тыс. р. по ведомости 47". ИС рассматривает и более сложные примеры, чем задаваемые с помощью формального языка SQL. Поиск путей логического вывода (задачи лабиринта, синтез организационных, технологических и других логических планов). Процесс получения новых фактов идентичен процессу создания новых вещей - если известен путь достижения результата, то он может иметь и техническое воплощение. Построение алгоритмов (синтез программ для прогона с конкретными исходными данными). Если исходные данные в запросе не указаны, то ИС строит последовательности формул, которые автоматически переводятся в программу на требуемом языке программирования. Если искомая величина не выражается в форме факта, то порождается цикл поиска этой величины. Информационное конструирование предметов (синтез систем на уровне знания обычных требований пользователя). Результатом работы ИС может быть сложный факт: Х принадлежит множеству {N, C}, где N - множество вершин, C - множество связей. Этот граф может навешиваться функциями или процедурами в вершинах и/или связях. В процедурном программировании на каждую задачу или тип задач составляется своя программа, в то время как ИС объединяет все задачи от A до G в единую систему. Решение того или иного класса задач определяется только содержанием базы знаний и запроса, оно может быть неожиданным, но соответствующим запросу. Поэтому в ИС нет четкого различия в классах задач - запрос может привести к анализу и решению части или всех классов задач. Проблема отладки базы знаний состоит в определении непротиворечивости, независимости и полноты знаний. При последовательном вводе знаний в базу решается логическое уравнение с учетом Q: = истина и семантической интерпретацией операции >. Логическое уравнение решается каждый раз при расширении базы > Ki дополнительным простым исходным знанием Kn. Решение уравнения > Ki = true является результатом решения задачи определения свойств базы. Практическое назначение таких задач важно и как самостоятельная проблема, возникающая в различных прикладных ситуациях. Подчас уравнение &Ki = истина является практической задачей о свойствах знаний. Отладка знаний начинается с решения уравнение &Ki & Kn = true. При этом могут обнаружиться следующие варианты: пустое решение квалифицируется как глобальное противоречие между аксиомами Kn и базы, объем базы уменьшился- частичная (локальная) противоречивость Kn имеющимся знаниям, объем базы не изменился - Kn является зависимым от уже имеющегося знания, объем базы увеличился - в базу добавилось новое знание. Глобальное противоречие приводит либо к игнорированию Kn, либо к пересмотру базы, если значимость Kn велика. Локальное противоречие приводит к переосмыслению базы и ее коррекции. Зависимое знание не должно вызывать каких-либо действий по пересмотру базы, но общее понимание причин появления зависимого знания может стать средством для оценки источника знания. Расширение базы является верным признаком положительной оценки источника нового знания. Каждая теорема не прибавляет знаний, но может научить или дать навыки пользователю, ищущему эффективные пути логического вывода. Таким образом осуществляется отладка знаний на непротиворечивость и независимость. Не следует сбрасывать со счетов и традиционные методы отладки знаний. К ним относятся синтаксическая (установление грамматической правильности фраз ЯПП), семантическая (проверка правильности использования понятий в формулировках таблиц и текстов), прагматическая отладка (контроль за точным выполнением количественных ограничений), алгоритмическая отладка формул, концептуальная отладка, в значительном объеме реализуемая на этапе создания лексикона, общесистемная отладка. Все эти виды отладки обычно поддержаны программно и реализуются автоматически. Смысловая отладка знания, а также теоретическая отладка, по существу реализуются автоматически или с участием пользователя и "знаниеведа" на этапе ввода знаний и проверки их на непротиворечивость, независимость и полноту. Полнота базы устанавливается автоматически и непосредственно зависит от запроса. Если решение задачи состоит из композиции пар, представляющих элементарное знание (новые факты), то база полна, в противном случае ее полнота не гарантируется. В последнем случае ИС сама формирует дополнительные вопросы пользователю относительно неизвестного знания. Конечно, можно условно говорить о полноте базы вне связи с запросом Q по такой же схеме проверки содержимого базы. Это имеет смысл, если уравнение &Ki = истина представляет собой конкретную задачу. В таком случае речь идет о внешней и внутренней полноте базы. Таким образом, интеллектуальная система - это человекомашинная или объектомашинная программная система, предназначение которой - находить решение уравнения по запросам в соответствии с лексиконом, базами знаний и ответами по их уточнению. Создание ИС и ее генерация включает: формирование лексикона, выбор формы запросов, конструирование меню прикладных работ, определение структуры базы знаний в зависимости от значности логики, генерацию формы или шаблона представления запросов или вопросов пользователю, настройку ИС на требуемый тип задачи, генерацию меню пользователя, учет типа логического исчисления и прикладной ИС, заполнение базы и отладку знаний. Предложенное определение ИС существенно отличается от известных определений в отношении системы знание - компьютер1. Интерфейс между пользователем и ИС поддерживается транслятором, переводящим ЯПП на формальный язык внутреннего представления логических формул. Транслятор работает на основе стандартного лексикона и лексикона пользователя, содержащего термины и их характеристики. После трансляции знания в виде логических формул Ki помещаются в базу и проверяются на непротиворечивость и независимость от уже имеющихся знаний. ИС может запрашивать дополнительные знания при формировании ответов на запросы пользователя для уточнения ответа, а также реализации пути от знания к программе, от программы к формуле, от формулы к числу. Интеллектуальное программирование не имеет прецедентов в информатике - есть лишь несколько предшественников, которые прочистили путь для нового подхода. Инструментарий интеллектуального программирования составляет самостоятельную систему, перспективы которой определяются формированием баз знаний по конкретным специальностям. В свое время был построен универсальный решатель задач Саймона, который не смог стать таковым, поскольку не учитывал конкретные прикладные знания и ориентировался на классическую логику, но явился стимулирующей работой в области интеллектуализации. Ранее были построены программы доказательства теорем в фиксированных логических исчислениях (Шанин, Ван Хао), но сущность решения задач состояла только в поиске условий, при которых утверждение становится истинным. В интеллектуальной системе важной становится деятельность "знаниеведа" - инженера по знаниям, которая сводится к работам по сбору, накоплению и систематизации данных и знаний в предметных и проблемных областях. Сбор знаний связан либо с изучением литературы, либо с общением со специалистами или экспертами, либо с личной формулировкой знаний. Отличие от работы эксперта состоит в том, что этот специалист должен проводить тестирование, верификацию, отладку и сертификацию знаний. Знаниевед один или совместно с лингвистамии системными программистами составляет терминологический словарь-лексиконимен данных предметной области. Составление словарей осуществляется в следующем порядке. 1) Прогон всего текста знаний с помощью системы составления словаря, который просматривается для уточнения или исправления синтаксических ошибок. 2) Просмотр словаря для выделения базы и конца слова, выделение собственных имен. Термины могут вводиться в интерактивном режиме. 3) Соединение стандартного словаря (в соответствии со словарным составом естественного языка) и словаря прикладной области в единый профессиональный словарь. 4) Составление терминологического словаря, содержащего полные характеристики терминов, с возможным словесным определением термина. 5) Первичный прогон транслятора знаний для обнаружения ошибок или неполноты словарей. 6) Изменения, сделанные знаниеведом в словарях могут потребовать нового прогона транслятора. 7) Генерация ИС должна производиться системным программистом совместно со знаниеведом. При генерации ИС "знаниевед" формирует схемы СУБЗ и формы представления знаний. Имея хороший обзор базы знаний он может предложить требования к способу генерации структур базы и СУБЗ. Интеллектуальное программирование является практической деятельностью в области информатики, основанной на обработке знаний, представленных для семи видов, вместе с процедурным программированием, связанным главным образом с алгоритмическим методом представления знаний. Наступило время, когда программирование надо связывать с методами приобретения и логическим выводом нового знания. Пусть это определение несколько опережает события, но крайне необходимо, чтобы оно было доведено до программистов и указало бы цели их философии и практической деятельности. К этому надо добавить, что не до конца еще ясны понятия интеллект, интеллектуальный или интеллектуализация. Может быть поведение, подобное человеческому, называют интеллектуальным? Может быть интеллектуальность - это предотвращение экспоненциального поиска необходимых сведений? К пониманию этих понятий приведет анализ следующих этапов формализации: выделение понятий предметной или проблемной областей; формирование определений понятий для человека и базы знаний; составление характеристик понятий как множества значений; построение фраз естественного языка для фиксации знаний; автоматическая отладка и кодирование знаний и данных; автоматический поиск результатов логического вывода ответа на запрос, сводящийся к решению логического уравнения. Заключение В результате выполнения данного курсового проекта, посвященного проблемам построения экспертных систем, были получены следующие выводы. Экспертные системы обладают следующими основными характеристиками: экспертная система ограничена определенной сферой экспертизы; она способна рассуждать при сомнительных данных; она способна объяснить цепочку рассуждений понятным способом; она строится так, чтобы имелась возможность постепенного наращивания системы; чаще всего она основана на использовании правил; на выходе она выдает совет - не таблицы из цифр, не красивые картинки на экране, а четкий совет; экспертная система обладает способностью самообучаться. Написание экспертных систем требует сравнительно больших трудозатрат и материальных ресурсов. Чтобы избежать дорогостоящих и безуспешных попыток необходимо определить, является ли проблема подходящей для решения с помощью экспертной системы: • Потребность в решении должна соответствовать затратам на ее разработку. Суммы затрат и полученная выгода должны быть реалистическими. • Невозможно использовать знания человека - эксперта там, где это необходимо. Если экспертные знания широко распространены, то маловероятно, что стоит разрабатывать экспертную систему. Однако, в таких областях, как разведка нефти и медицина, могут быть редкие специализированные знания, которыми можно недорого снабдить экспертную систему, и не использовать очень высоко оплачиваемого эксперта. • Проблема может быть решена с использованием символических методов рассуждения. • Проблема хорошо структурирована и не требует применения знаний, основанных на здравом смысле. Знания, основанные на здравом смысле, хорошо известны, поэтому их незачем фиксировать и представлять. • Проблема не может быть легко решена с использованием более традиционных вычислительных методов. Если имеется хорошее алгоритмическое решение проблемы, не следует использовать экспертную систему. • Существуют ли эксперты в данной проблемной области. Поскольку экспертная система проектируется для успешной работы, весьма существенно, чтобы эксперты желали помогать при ее проектировании. Кроме того, необходима поддержка администрации и потенциальных пользователей. • Проблема имеет подходящий размер и область применения. Как правило, проблема требует применения знаний высоко специализированных экспертов, но человек-эксперт должен тратить на ее решение короткое время, (максимум час). Должно быть ясно, что только малый диапазон проблем соответствует технологии экспертных системы. Однако при использовании для подходящих проблем, экспертные системы могут приносить огромные прибыли. Например, были разработаны экспертные системы, помогающие анализировать данные, полученные при разведке нефти, и для помощи в конфигурировании компьютерных систем. Обе эти системы активно используются, экономя большое количество средств. Как при проектировании большинства прикладных программ, если пользователь не доволен разработанной системой, то затрачиваются дополнительные деньги, так что разработка должна включать близкое сотрудничество с потенциальными пользователями. Базисный цикл развития должен включать быструю разработку начального прототипа и итерационного процесса испытания и изменения прототипа совместно с экспертами (чтобы проверить правильность правил) и пользователем (чтобы проверить, имеется ли вся необходимая информация, удовлетворены ли они эффективностью системы и объяснениями). Экспертная система, пусть даже с элементами искусственного интеллекта, останется лишь инструментом грамотного пользователя: инженера, изобретателя, учёного, способным многократно повысить эффективность их работы. Перспективы использования WWW-технологии, автоматизированного проектирования информационно-управляющих систем, системного моделирования предметной области, инжиниринга информационных и обучающих процессов в представляются в виде широчайшего и перспективного поля деятельности. Обращение к этим технологиям неизбежно, поскольку они призваны привести в соответствие уровень подготовки современного инженера и требований нарастающего прогресса наукоёмких технологий различных отраслях промышленности. Реализация подобных проектов представляется возможной даже в сложных условиях современной российской экономики. Список использованных источников Автоматизированное проектирование информационно-управляющих систем. Проектирование экспертных систем на основе системного моделирования: [Монография] / Науч. ред.: Куликов Г. Г. -Уфа: Уфим. гос. авиац. техн. ун-т, 1999. - 223 с. Инжиниринг информационных и деловых процессов: Сб. науч. тр. / М-во общ. и проф. образования Рос. Федерации. Моск. гос. ун-т экономики, статистики и информатики; [Редкол.: Ю. Ф. Тельнов (отв. ред.) и др.]. -М.: Моск. гос. ун-т экономики, статистики и информатики, 1998. - 137 с. Информатика: учебник / Под. ред. проф. Н.В. Макаровой. - М.: Финансы и статистика, 1997. - 768 с. Компьютерные технологии обработки информации: Учеб. пособие / С.В. Назаров, В.И. Першиков, В.А. Тафинцев и др.; Под ред. С.В. Назарова. -М.: Финансы и статистика, 1995. - 248 с. Красилов А.А. Основы информатики. Определение и концепции // Учебное пособие, МФТИ, - М., 1990. - 80 с. Красилов А.А., Горельков А.Л. Стили программирования. - М., МФТИ, 1986. - 83 с. Попов Э.В. Экспертные системы. Решение неформализованных задач в диалоге с ЭВМ. - М.: Наука, 1987. - 288 с. Справочник. Искусственный интеллект. В 3-х книгах. -М., Радио и связь, 1990. Уотермен Д. Руководство по экспертным системам: Пер. с англ. - М.: Мир, 1989. - 388с., ил. Фролов Ю.В., Никитин Ф.Н. Архитектура экспертной системы информационной поддержки технологий восстановления изношенных деталей. - В кн.: САПР и микропроцессорная техника в сварочном производстве. - М.: МДНТП, 1991. 1 Уотермен Д. Руководство по экспертным системам: Пер. с англ. - М.: Мир, 1989. 1 Уотермен Д. Руководство по экспертным системам: Пер. с англ. - М.: Мир, 1989. 1 Уотермен Д. Руководство по экспертным системам: Пер. с англ. - М.: Мир, 1989. 1 Уотермен Д. Руководство по экспертным системам: Пер. с англ. - М.: Мир, 1989. 1 Фролов Ю.В., Никитин Ф.Н. Архитектура экспертной системы информационной поддержки технологий восстановления изношенных деталей. - В кн.: САПР и микропроцессорная техника в сварочном производстве. - М.: МДНТП, 1991. 1 Инжиниринг информационных и деловых процессов: Сб. науч. тр. / М-во общ. и проф. образования Рос. Федерации. Моск. гос. ун-т экономики, статистики и информатики; [Редкол.: Ю. Ф. Тельнов (отв. ред.) и др.]. -М.: Моск. гос. ун-т экономики, статистики и информатики, 1998. 2 Красилов А.А., Горельков А.Л. Стили программирования. - М., МФТИ, 1986. 1 Справочник. Искусственный интеллект. В 3-х книгах. - М., Радио и связь, 1990. 1 Автоматизированное проектирование информационно-управляющих систем. Проектирование экспертных систем на основе системного моделирования: [Монография] / Науч. ред.: Куликов Г. Г. -Уфа: Уфим. гос. авиац. техн. ун-т, 1999. 2 Красилов А.А. Основы информатики. Определение и концепции // Учебное пособие, МФТИ, - М., 1990. 1 Справочник. Искусственный интеллект. В 3-х книгах. -М., Радио и связь, 1990. 26 Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками, графиками, приложениями и т.д., достаточно просто её СКАЧАТЬ. |
|
Copyright © refbank.ru 2005-2024
Все права на представленные на сайте материалы принадлежат refbank.ru. Перепечатка, копирование материалов без разрешения администрации сайта запрещено. |
|