И.И. Данилина
Экспертные системы (ЭС) — яркое и быстро развивающееся направление исследований в области искусственного интеллекта. Отличительная их черта — способность накапливать знания и опыт квалифицированных специалистов (экспертов) в какой-либо области. Затем, пользуясь этими знаниями, пользователи ЭС, не имеющие необходимой квалификации, могут решать свои задачи почти столь же успешно, как это делают эксперты. Такой эффект достигается за счет того, что система в своей работе воспроизводит примерно ту же цепочку рассуждений, что и человек-эксперт.
Экспертные системы используются в самых различных сферах человеческой деятельности — медицине, геологоразведке, экономике и многих других. Существуют как узкоспециализированные ЭС, так и "оболочки", пользуясь которыми, можно, не будучи программистом, создавать свои ЭС.
Школьная информатика сегодня уже не должна обходить эту тему молчанием, причем простого рассказа тут недостаточно. Желательно, чтобы ученики поработали с "настоящей" экспертной системой, посмотрели, как она устроена, и сделали что-то подобное сами. Для этого предлагаем использовать демонстрационную версию оболочки RuleBook. Она, конечно, не обладает всеми возможностями рабочей версии, но для первого знакомства вполне подходит.
Найти эту оболочку (вместе с образцами простейших ЭС) можно на нашем сервере в разделе "Архив программ".
Система обладает удобным и понятным (хотя и "англоязычным") интерфейсом, и освоить простейшие приемы работы с ней достаточно легко. "Заинтересованные" ученики могут самостоятельно освоить и некоторые дополнительные приемы.
Рассмотрим задачу, иллюстрирующую основные принципы разработки ЭС. Создадим систему, которая будет помогать ученику (или изучающему русский язык иностранцу) правильно писать такие слова, как КАСАТЬСЯ и КОСНУТЬСЯ, БЛЕСТЕТЬ и БЛИСТАТЬ, и т.п. где мы имеем дело с чередованием гласных "А" и "О" или "Е" и "И" в корнях слов.
А начнем с того, что сами разберемся в этом непростом вопросе.
Чаще всего знания эксперта можно представить в виде системы правил и набора фактов, на основании которых выбирается тот или иной вариант решения проблемы.
Вот что сказано в учебнике русского языка:
1) В корнях БЕР- - БИР-;
ДЁР- - ДИР-;
МЕР- - МИР-;
ПЕР- - ПИР-;
БЛЕСТ- - БЛИСТ-;
ЖЕГ--ЖИГ-;
СТЕЛ- - СТИЛ-;
ЧЕТ- - ЧИТ-
пишется И, если за корнем следует суффикс -А-.
В других случаях пишется Е.
Исключения: сочетать, сочетание, чета.
2) ГАР- - ГОР- -
под ударением пишется А, без ударения — О.
Исключение: пригарь..
3) ЗАР- - ЗОР- -
под ударением пишется та буква, которая
слышится, без ударения — буква А.
Исключения: зорянка, зоревать.
4)КАС--КОС—
пишется А, если за корнем следует суффикс -А-. В других случаях пишется О.
5) ЛАГ- - ЛОЖ- -
перед Г пишется А, перед Ж— О.
6) PACT- - РАЩ- - РОСТ-
-А пишется перед СТ и Щ.
Исключения: росток, ростовщик, отрасль.
7) МАК- (в значении "погружать во что-то")
— МОК- (в значении "пропускать влагу").
8) КЛАН- - КЛОН-
под ударением пишется та буква, которая слышится, без ударения — О.
9) ТВОР- - ТВАР- -
под ударением пишется та буква, которая
слышится, без ударения — буква О.
Исключение: утварь.
Это и есть те знания, которыми должна обладать экспертная система по интересующему нас вопросу.
Для создания ЭС нужно подготовить вопросы, которые система будет задавать пользователю, и варианты ответов. Кроме того, нужно установить порядок следования вопросов (зависящих, конечно же, от полученных ответов), то есть определить ход рассуждений эксперта. Ну и, разумеется, нужны варианты решений, которые ЭС предлагает пользователю.
Для нашего примера варианты решений перечислить нетрудно:
1) пишется Е,
2) пишется О,
3) пишется А,
4) пишется И или А (их целесообразно объединить),
5) пишется так, как слышится (правило 3).
Для удобства предусмотрен еще один вариант,
позволяющий объединить все исключения в одном
вопросе:
6) ответ ясен из вопроса.
Вопросы, которые будет задавать система, можно формулировать по-разному. Например, так.
1. К какой группе относится корень слова?
Варианты ответов:
1.1. БЕР - БИР, ДЁР - ДИР, МЕР - МИР,
ПЕР - ПИР, БЛЕСТ - БЛИСТ, ЖЕГ - ЖИГ, СТЕЛ - СТИЛ, ЧЕТ -
ЧИТ, КАС - КОС.
1.2. ГАР - ГОР, КЛАН - КЛОН, ТВОР - ТВАР.
1.3. ЗАР - ЗОР.
2. Гласная в корне ударная или безударная?
Варианты ответов:
2.1. Ударная
2.2. Безударная
3. Является ли слово одним из слов-исключений:
СОЧЕТАТЬ, СОЧЕТАНИЕ, ЧЕТА, ЗОРЯНКА, ЗОРЕВАТЬ,
РОСТОК, РОСТОВЩИК, ОТРАСЛЬ, УТВАРЬ?
Варианты ответов:
3.1. Да
3.2. Нет
4. Следует ли за корнем суффикс -A-?
Варианты ответов:
4.1. Да
4.2. Нет
5. Корень оканчивается на -Г- или на -Ж"?
Варианты ответов:
5.1. На -Г-
5.2. На -Ж-
6. Корень оканчивается на -СТ-, на -Щ- или на -С-
Варианты ответов:
6.1. На -СТ-
6.2. На -Щ-
6.3. На -С-
7. Что означает слово?
Варианты ответов:
7.1. Погружать что-то (обмакнуть в сметану)
7.2. Пропускать влагу (ноги промокают)
Ну и, наконец, опишем (представим на схеме) ход рассуждений:
Именно эта задача реализована в прилагаемом к системе образце (файл PRAVILO.RB1).
Если вы скопировали систему RuleBook и хотите увидеть ее в действии, то запустите программу на выполнение (файл RB_DEMO.EXE) и откройте файл с примером (PRAVILO.RB1). Выберите в верхнем меню сначала пункт Options, а затем Run (выполнение). Система начнет задавать вопросы, а вам нужно отвечать на них, выбирая подходящий вариант ответа.
Похожим образом действовал бы и специалист — человек, желающий помочь вам. В какой-то момент "электронный консультант" сочтет, что располагает достаточной информацией, чтобы дать вам дельный совет. Тогда этот совет появится на экране.Теперь посмотрим, как все устроено внутри. Для этого "пролистаем" некоторые страницы (на экране система RuleBook выглядит как блокнот). На странице CHOICE (выбор) записаны все возможные варианты решений. Когда система дает ответ, она выбирает его именно из этих вариантов.
На странице FACTORS записаны вопросы, которые система должна задавать человеку, вместе с возможными вариантами ответов.
И, наконец, на странице TREES (деревья) все элементы системы связаны воедино. Эта связь носит название дерево, поскольку с каждым вопросом путь поиска решения разветвляется подобно дереву на столько ветвей, сколько вариантов ответа на вопрос предусмотрено.
Иногда эксперт не на сто процентов уверен в правильности выбранного варианта. Для учета такого обстоятельства в ЭС вводится коэффициент уверенности. В системе RuleBook он называется Confidence и указывается вместе с каждым ответом системы.
Следует иметь в виду, что демонстрационная версия позволяет создавать не более трех деревьев, у каждого из которых может быть не более 14 ветвей.
И в заключение несколько заданий для самостоятельной работы.
Задача 1. Советы по выбору профессии
Беседа со специалистами по профориентации позволила сформулировать ряд правил для выбора сферы деятельности (на основании информации, касающейся успехов в области различных школьных дисциплин).
1. Если вы успешно занимаетесь искусствами и неплохо успеваете по математике, то вам можно попробовать себя в архитектуре.
2. Если математика у вас "выше среднего" и вам хорошо дается экономика, то вы — прирожденный бухгалтер.
3. Если вас увлекает биология, да и все точные науки даются неплохо, то, возможно, ваше призвание — медицина.
4. Если вы хорошо владеете родным языком, "выше среднего" — математикой, да и другие точные науки даются вам неплохо, то вам можно порекомендовать посвятить себя юриспруденции.
5. Если же вы блестяще владеете родным языком и хоть немножко разбираетесь в гуманитарных науках, то вам стоит попробовать себя в литературе.
6. Если вы можете похвастаться успехами в родном языке и экономике, а математика вам не дается — попробуйте себя в политике.
7. И, наконец, успехи хотя бы в каких-нибудь (точных или гуманитарных) науках и в математике дают хороший шанс преуспеть в администрировании.
Создайте на основании этих правил экспертную систему — консультанта для школьников и абитуриентов, выбирающих для себя профессию.
Задача № 2. Консультант по инвестициям
В одной американской книге, изданной в 1987 году, описывается стратегия поведения на финансовом рынке. Автор опирается на модель циклической смены подъемов и спадов деловой активности. Следует отметить, что со времен второй мировой войны такой цикл повторился уже 10 раз, то есть модель можно считать пригодной для описания реальной ситуации.
Каждый деловой цикл состоит из четырех этапов. Это — рост, пик, снижение и кризис. Каждому этапу соответствует своя стратегия поведения на рынке. Продолжительность этапов различна и меняется от цикла к циклу, а потому определить, на каком этапе мы находимся, непросто.
Возрастание краткосрочных процентных ставок дает основание ожидать скорого пика. А если, кроме того, краткосрочные ставки выше долгосрочных, то более вероятен спад.
О приближающемся пике скорее всего свидетельствует рост цен в течение нескольких месяцев на фоне положительного общественного мнения.
Если же общественное мнение скорее отрицательное, чем положительное, да еще деловая активность снизилась, то, по-видимому, близок кризис.|
Если величина совокупного национального продукта уменьшается уже в течение двух кварталов, то пять шансов из десяти за то, что мы на пороге кризиса.
А вот если процентные ставки падают уже несколько месяцев, то надо ожидать роста. Приближающиеся выборы президента тоже позволяют ожидать роста.
Определив, на какой стадии мы находимся, можно давать рекомендации о том, как действовать, куда вложить средства.
В ожидании пика имеет смысл покупать акции или ценные бумаги. Если курс доллара упал по отношению к другим валютам, вероятно, следует попробовать купить акции. В преддверии кризиса можно с большей уверенностью советовать покупать акции. А если к кризису добавляется значительный прирост населения в районе, то лучше покупать землю.
Перед кризисом или началом подъема можно с большой долей уверенности порекомендовать не продавать землю и акции. А в обратной ситуации — на пике и перед началом спада — лучше придержать ценные бумаги.
Основываясь на этих принципах, довольно легко создать примитивную ЭС "Консультант по инвестициям" и попытаться давать советы инвесторам. Реальные экспертные системы такого типа успешно используются на финансовом рынке. Разумеется, они значительно больше нашей и содержат несколько сотен правил.
Примечание: эта задача потребует "двухступенчатого" принятия решения, то есть двух деревьев в системе RuleBook. Пример такого рода представлен в файле CHAPCEX.RB1.
Задача 3. Определитель растений
Создайте ЭС, помогающую определить, к какому семейству принадлежит найденное вами в лесу растение.
Задача 4. Как сделать выбор?
Создайте ЭС, помогающую выбрать наилучшую для вас (соответствующую вашим возможностям и потребностям) конфигурацию домашнего, .компьютера. (Варианты: выбрать магнитофон, автомобиль, платье, спутника жизни и т.п.)
Задания могут быть разными, в зависимости от интересов учеников. При этом желательно предлагать задания в такой последовательности:
1) четко поставленные задачи, где от учащихся требуется лишь "переложить" сформулированные правила на компьютер;
2) задачи, где учащиеся должны сами сформулировать правила на основании описания;
3) задачи, где очерчен лишь круг вопросов, на которые должна отвечать создаваемая ЭС, правила же создаются учащимися, использующими для этого свои знания в данной предметной области или жизненный опыт.