11.4. Сопровождение

11.4. Сопровождение

Расширение функциональных возможностей

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

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

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

Посмотрим, какие классы нам понадобятся. Прежде всего, введем класс Action, регистрирующий действия источников знаний и контроллера:

class Action { public:

Action(KnowledgeSource* who, BlackboardObject* what, char* why); Action(Controller* who, KnowledgeSource* what, char* why);

};

Экземпляр данного класса создается, например, при активизации контроллером какого-либо источника знаний. При этом в аргумент who (кто) заносится указатель на контроллер, в аргумент what (что) - активный источник знаний, а в аргумент why (почему) - какое-либо пояснение (например, приоритет предположения).

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

• методы, которые выдвигают предположения;

• методы, которые откатывают предположения;

• методы, которые активизируют источники знаний;

• методы, которые выполняют правила;

• методы, которые регистрируют высказывания от источников знаний.

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

Для полноты нам остается только создать объект, отвечающий на вопросы пользователя системы: кто? что? когда? почему?. Спроектировать такой объект несложно, поскольку вся нужная для его работы информация может быть получена от экземпляров класса Actions.

Изменение технических требований

Если принятые проектные решения были реализованы правильно, то новые технические требования к системе могут быть удовлетворены при минимальных изменениях проекта. Допустим, что предъявлены три новые требования к данной системе:

• возможность дешифровки с иностранных языков;

• возможность дешифровки перестановочного и простого подстановочного шифра, использующего (одну) подстановку и перестановку;

• способность к самообучению.

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

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

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Звуковое сопровождение презентации

Из книги Microsoft Office автора Леонтьев Виталий Петрович

Звуковое сопровождение презентации Звук, как и видео, графика и текст, может стать неотъемлемым (и очень важным!) элементом вашей презентации. Причем, говоря «звук», мы на самом деле подразумеваем несколько совершенно разных видов оформления.? Звук из файла формата WAV или


5.18 СОПРОВОЖДЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

5.18 СОПРОВОЖДЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ Ядро поддерживает целостность системы в своей обычной работе. Тем не менее, такие чрезвычайные обстоятельства, как отказ питания, могут привести к фатальному сбою системы, в результате которого содержимое системы утрачивает свою


6.1.4 Сопровождение

Из книги Процессы жизненного цикла программных средств автора Автор неизвестен


5.5. Сопровождение программного обеспечения

Из книги Видеосамоучитель монтажа домашнего видео в Adobe Premiere Pro CS3 автора Днепров Александр Г

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


Глава 7 Звуковое сопровождение

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Глава 7 Звуковое сопровождение • Удаление звуковых клипов со звуковых дорожек• Добавление звукового клипа в последовательность• Микширование звука• Добавление звуковых эффектов• Запись звука средствами Premiere Pro• Особенности создания звукового сопровождения


Создание и сопровождение учетных записей пользователей

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

Создание и сопровождение учетных записей пользователей Для надежной и гибкой системы безопасности требуется создать систему идентификации каждого пользователя. В SQL Server система идентификации пользователей основана на учетных записях пользователей. Учетной записью


8.4. Сопровождение

Из книги MySQL: руководство профессионала автора Паутов Алексей В

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


9.4. Сопровождение

Из книги Технологии программирования автора Камаев В А

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


10.4. Сопровождение

Из книги Самоучитель работы на Macintosh автора Скрылина Софья

10.4. Сопровождение Системы клиент/сервер редко бывают окончательно завершенными. Не то чтоб мы никогда не могли сказать про систему, что она уже стабильна. Просто систем должна развиваться вместе с бизнесом, чтобы оставаться полезной. Можно указать некоторые направления


11.4. Сопровождение

Из книги Социальные сети [Источники новых клиентов для бизнеса] автора Парабеллум Андрей Алексеевич

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


3.3.3. Сопровождение разделов

Из книги автора

3.3.3. Сопровождение разделов Ряд задач сопровождения выделения разделов может быть выполнен в MySQL 5.1. MySQL не поддерживает команды CHECK TABLE, OPTIMIZE TABLE, ANALYZE TABLE или REPAIR TABLE для разбитых на разделы таблиц. Вместо этого Вы можете использовать ряд расширений ALTER TABLE, которые были


12.14. СОПРОВОЖДЕНИЕ ПРОГРАММ

Из книги автора

12.14. СОПРОВОЖДЕНИЕ ПРОГРАММ Сопровождение программ — "ложка дегтя" для каждого программиста. Это всегда помеха при начале разработки какого-либо нового проекта, заставляющая отвлекаться от разработки проекта и возвращаться к старым программам и старым проблемам. Ничто


6.3.1. Подготавливаем звуковое сопровождение

Из книги автора

6.3.1. Подготавливаем звуковое сопровождение Для выполнения заданий нам понадобится материал разд. 4.11.1. В папке Документы создать новую папку с помощью команды Файл (File) ? Новая папка (New Folder) и назвать ее голос.2. Запустить программу GarageBand. В появившемся окне выбрать пункт


Сопровождение клиентов

Из книги автора

Сопровождение клиентов Сопровождение клиентов, или Account Management, – это то, как вы работаете с вашими клиентами, которые уже стали покупателями К этой работе относится, во-первых, техническая поддержка и обслуживание клиентской базы, при котором возникающие у людей вопросы