Тема 1: Основные понятия логики. Правильная постановка целей

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

Содержание работы: цель, дерево целей, декомпозиция целей; факты и правила; прямая и обратная цепочка рассуждений

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

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

 

Разделы и темы для самостоятельного изучения Виды и содержание самостоятельной работы
Правильная постановка целей Задания: Выделить цель, дерево целей, выполнить декомпозицию целей; определить факты и правила; прямую и обратную цепочку рассуждений в следующих задачах: 1. Как добраться на работу вовремя. 2. Как сделать салат. 3. Как узнать, хочет ли кошка есть. 4. Тест: знаете ли вы английскую грамматику? 5. Загадка: «угадай животное» (птица, зверь или рыба). 6. Как получить диплом специалиста.  

 

Методические рекомендации к выполнению:

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

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

- Определение цели

- Уточнение цели

- Декомпозиция уточненной цели, построение дерева целей системы с указанием степени достижения цели

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

Пример выполнения задания:

 «Создать компьютерную программу, которая оценит, умеет ли ребенок считать».

 

При построении дерева целей можно использовать, по крайней мере, две различные стратегии, основанные на рассуждениях вида:

1) что нужно сделать, чтобы получить заданный результат;

2) что получится, если я поступлю «вот так».

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

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

Например, получить диплом можно «экстерном» или обучаясь на протяжении 5 лет.

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

«если я подпрыгну, то, возможно, схвачу высоко висящий предмет»,

«если я встану на ящик, то точно смогу достать выше, подпрыгнув».

Перебирая такие последовательности, мы рано или поздно найдем ту, которая приводит к поставленной цели. Здесь мы идем от фактов к цели.

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

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

Дерево целей может быть получено методом «встречной волны», когда анализируются противоречия между результатами обратной и прямой волны. Такое дерево обеспечивает оптимальный путь достижения цели.

 

Контроль выполнения работы:

1. В отчете отразить последовательность разработки программы:

1) определения целей;

2) определения фактов, имеющих отношение к этим целям (важно, чтобы факты исчерпывающе соответствовали своей цели), например при проверке «знает ли ребенок правила сложения» следует проверить знание сложения с «О», с «1», без переноса разряда, с переносом разряда);

3) получение данных, соответствующих фактам, характеристик для заданной ситуации или объекта;

4) оценки данных, используя правила и механизм вывода.

 

Литература:

1. Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ. – М.: Мир, 1990. – 560с.

2. Смолин Д.В. «Введение в искусственный интеллект», М.: Изд. Академия, 2005 г.

3. Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual Prolog. – СПб.: БХВ-Петербург, 2003.

4. Девятков В.В. Системы искусственного интеллекта. - М.: Изд-во МГТУ им. Н. Э. Баумана, 2001.

5. Новицкая Ю.В. Основы логического и функционального программирования (учебное пособие). – http://ermak.cs.nstu.ru/flp/

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: