Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
11
Добавлен:
26.03.2016
Размер:
458.75 Кб
Скачать

4.2 Организация повторения с использованием предиката fail

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

Рассмотрим простую БД, содержащую информацию о книгах.

clauses

book(“F_K”,“Posledniu iz mogikan”).

book(“F_K”,“Sledopyt”).

book(“Stivenson”,“Ostrov sokrovish”).

book(“F_K”,“Shpion”).

Цель: book(“F_K”,Y)

Пролог найдет все решения для переменной Y.

Посмотрим, как будет работать программа, если эту цель задать как внутреннюю в разделе goal.

goal

book(“F_K”,Y), write(Y), nl.

В этом случае получим только одно решение. Чтобы получить все решения при ответе на запрос из раздела goalможно воспользоваться предикатомfailследующим образом:

Предикат failможно рассматривать как цель, которая никогда не удовлетворяется, и, таким образом, Пролог выдает все решения. Этот метод носит название метода отката после неудачи.

Общий вид правила, использующего этот метод:

правило для повторения:-

предикаты,

fail.

4.3 Задания на лабораторную работу №3

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

Задача 7.Для произвольного ориентированного графа с взвешенными ребрами и имеющего по одной входной и выходной вершине найти и вывести все пути (в виде списков).

Задача 8.Для графа из задачи 7 определить длину всех путей и выбрать из них минимальный.

Внимание! Возможно объединение задач 7 и 8 в одну.

5. Лабораторная работа №4. «проектирование простейшей экономической советующей системы».

Данная лабораторная работа является фактически завершающей стадией индивидуального задания студента, изучающего дисциплину «Информационные системы». В рамках этого задания студентам предлагается спроектировать простейшую экономическую советующую систему ( ЭСС ) расчетно-диагностического характера.

Под экономической советующей системой будем понимать программный продукт, который отражает знания специалиста-профессионала, его опыт и навыки и служит для выдачи другим специалистам (как профессионалам, так и нет) определенных советов и реше­ний в области экономики [3].

В классификации ЭСС выделяются два больших класса:

1. Советующие системы, которые отражают осознанные мыслительные дей­ствия человека, т.е. действия, реализующие знания, опыт и навыки человека.

2. ЭСС, которые пытаются реализовать неосознанные мыслительные дейст­вия человека.

Системы первого класса делятся на 3 группы:

  1. расчетно-диагностические ЭСС;

  2. экспертные системы приближенных рассуждений;

  3. системы поддержки исполнения решений (СПИР)

В настоящей лабораторной работе студентам предлагается реализовать проект простейшей ЭСС, относящейся к первой из групп, а именно – ЭСС расчетного характера.

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

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

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

Такие ЭСС относятся к простейшему типу подобных систем. Они базируются на детерминированных зависимостях, которые формируются для достижения хорошо определенных целей. Базой подобных систем является дерево целей:

Здесь КОВi– коэффициент относительной важности той или иной подцели в отношении реализации главной цели. В рамках данной работы для упрощения задачи предлагается задать все КОВi= 1.

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

Данные системы должны позволять пополнять запас экспертных знаний, связанных с этими целями, процессами, параметрами и характеристиками;

Реализация всех перечисленных функций диктует следующую структурную схему ЭСС.

При выполнении данной лабораторной работы рекомендуется использовать приемы программирования и предикаты Пролога, применяемые в предыдущих работах и лишь в крайних случаях прибегать к методике проектирования экспертных систем, приведенной в [1] или [2], ввиду их сложности и громоздкости при выполнении данной лабораторной работы.