Смекни!
smekni.com

Решение творческих задач методом блочных альтернативных сетей: объектно-ориентированные представления

МОСКОВСКИЙИНСТИТУТРАДИОТЕХНИКИ,ЭЛЕКТРОНИКИИ АВТОМАТИКИ

(ТЕХНИЧЕСКИЙУНИВЕРСИТЕТ)


ФакультетКибернетики

КафедраИнтеллектуальныхтехнологийи систем (ИТС)


Курсоваяработа


Тема: Решениетворческихзадач методомблочных альтернативныхсетей: объектно-ориентированныепредставления.


Студенты:

Группа: АИ-1-91

Руководитель: Нечаев В. В.


Москва 1996 г.


Заданиена курсовоепроектированиепо дисциплине«Основы теориитворческойдеятельности»студентамгруппы АИ-1-91.

  1. Темаисследования: решение творческихзадач методомблочных альтернативныхсетей дляобъектно-ориентированныхсистем.

  2. Исходныеданные:

    1. Теорияконцептуальногометамоделирования.

    2. Методырешения системныхзадач.

    3. Списоклитературы.

    4. Методическиеуказания ккурсовомупроектированию.

    5. Конспектлекций.

    6. Темадипломногопроекта.

  3. Переченьвопросов, подлежащихразработке:

    1. Описаниепроблемнойобласти задач,выносимой надипломныйпроект.

    2. Проведениеанализа конкретнойзадачи, выносимойна курсовуюработу.

    3. Выбори обоснованиеметода решениязадачи.

    4. Анализи описаниеметода решениязадачи.

    5. Описаниерешения задачина основевыбранногометода.

  4. Календарныйплан-графикработы:

    1. Получениезадания 21.04.96.

    2. Анализзадания, подбори изучениелитературы25.04.96.

    3. Разработкаконцептуальнойметамоделиобъекта моделирования09.05.96.

    4. Оформлениепояснительнойзаписки и сдачапроекта напроверку 21.05.96.

    5. Защитакурсовогопроекта 24.05.96.


Руководитель…………..(НечаевВ. В.)

(подп.)

Исполнители

(подп.)


Содержание


Введение

  1. Постановказадачи

    1. Концептуальноеметамодельноепредставлениезадачи

    2. Формаорганизацииучебного процессаи базовыекомпоненты предметнойобласти

      1. Аудиторныйфонд

      2. Контингентучащихся

      3. Профессорско-преподавательскийсостав

      4. Комбинированныйучебный план

      5. Расписаниезанятий

  2. Методологиярешения задачи

2.1. Модельпредставлениязнаний дляпроекта «Учебноерасписание»

2.1.1.Объектно-ориентированнаямодель представлениязнаний

2.1.2 Блочнаяальтернативнаясеть

2.1.2.1. Элементарныйблок альтернатив

2.1.2.2Структура БАС

2.2. Методыформированиярешения

2.2.1Алгоритмынавигации наБАС

2.2.2. Маршрутына БАС

2.2.3 Оценкарезультатоврешения задачина БАС

  1. РеализацияБАС на ОО системев проекте «Учебноерасписание»

3.1.Структуракласса

3.2.Правила представлениязнаний

3.3. Фрагментрешения задачи«Формированиеучебного расписания»

3.3.1.Класс«Учебный блок»

3.3.2.Класс «Блокзанятия»

3.3.3.Класс «Блокизанятий»

Списоклитературы


4

5


8

8

8

9

10

11

13


13

14

16

16

21

22

22

23

26


27

27

29


31

31

35

38

40


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

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

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

1) выборметодологиирешения задачина основеискусственного

интеллекта;

2) определениеалгоритмареализацииметода;

3) разработкапакета программ,реализующихалгоритм.

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

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

Во второмразделе представленаметодологиярешения творческихзадач на блочныхальтернативныхсетях дляобъектно-ориентирован­ныхсистем,

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

Экономическаяэффективностьрешения задачибудет оценена на основе методовфункционально-стоимостногоанализа




1. Постановказадачи

1.1. Концептуальноеметамодельноепредставлениезадачи

Концептуальноеметамодельное(КММ) представлениезадачи определимв виде кортежа:

Р= ,С,1>, (1.1)


где;

 - проблемнаяситуация, являющаясяисходным посыломдля построенияКММ задачнойсистемы;

Z- определяетцели "неудовлетвореннойпотребности",в ре­зультатекоторой порождаетсяпроблемнаяситуация;

С -определяетусловия достиженияцели;

I - определяетисходную информацию,в зависимостиот кото­ройцель порождаетразличныерешения (R).

В качествеусловий определимследующийнеобходимыйи доста­точныйнабор компонент:

- метод решения(М);

- алгоритм (А);

- программу(Р);

- оценку адекватности,релевантности(ад).

Кортеж целейтогда запишетсяв следующемвиде:


Z= , А, ад>. (1.2)


Исходная информациявключает всебя данные(D),необходимыедля решениязадачи, и знания(К) опредметнойобласти задачи:


I= ,K> (1.3)


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


I*= Z,IM,IA,IP,I>. (1.4)


Адекватностьрешения задачипредставимкак совокупностьпока­зателейкачества иэффективности:

ад = Г (Qw,Ef). (1.5)

Развитие задачи(Тр) связано сзаполнениемзадачной оболочкив форме КММконкретнымисведениями,определяемымирешением зада­чи.

Как известно,возможны следующиепостановкизадач:

1) Рутинная задача,когда кортеж(1.1) и (1.2) заданыпол­ностью(ТPR).

2) Творческаязадача уровняпрограммы(Тр-Рр), когдазадано все,кроме программнойреализации(Р) , и требуетсяопределитьР, осуществляятем самым переходк рутиннойзадаче, и результат(R).

3) Творческаязадача уровняалгоритма(ТРА), т.е.неизвес­теналгоритм (А) иего программнаяреализация.

4) Творческаязадача уровняметода решения(Тр-Рм), когдане­известныметод, алгоритми программа.

Схему решениязадачи в общемвиде представленана рис. 1.1, а логическая схема решения задачи в виде схемы алгоритмана рис. 1.2.

В качестве базовых процедуррешения выделимследующиетехно­логическиепроцедуры:

- генерациирешений;

- анализ полученныхрешений;

- формированиепарадигмырешений;

- упорядочениеальтернативныхрешений ;

- выбор удовлетворительногорезультата;

- оптимизацияпредпочтительныхрешений. Такимобразом, общаяпроцедурарешения задачиформальноопре­деляетсязаписью вида:


R = F:{(ZR/C(R/IR)}, (1.6)


т. е. решениеопределяется,исходя из заданныхцелей и условийдостиженияцелей.


Системнаязадача Р


PM

PA

PP

PR



Р

Исходнаязадача

Задачаметода

Задачаалгоритма

Задачапрограммы

Задачарезультата

нет

нет

нет

нет

нет

нет

нет

нет

да

да

да

да

да

да

да

да

ис. 1.1 Схемарешения системнойзадачи

Рис.1.2 Логическаясхема (алгоритм)решения системнойзадачи


1.2. Форма организацииучебного процессаи базовые компонентыпредметнойобласти

В соответствиис принятойсистемой правилорганизацииучебно­гопроцесса каждыйфакультет(кафедра) ВУЗасамостоятельноформи­руетсебе расписаниезанятий, согласовываяс другимифакультетами(кафедрами)вопросы совместногоиспользованияаудиторногофонда и трудапрофессорско-преподавательскогосостава.

Ниже рассмотреныбазовые объекты,входящие всистему органи­зацииучебного процесса.

1.2.1. Аудиторныйфонд


Аудиторныйфонд (АФ) - каталогпомещенийВУЗа, в которыхпла­нируетсяпроведениезанятий.

Каждое помещение (аудитория)характеризуетсядвумя основнымипараметрами:

АФ = , (1.7)

где ;

ФНА - определяетфункциональное(занятийное)назначение ау­дитории;

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

По своемуфункциональномуназначениюразличают тритипа поме­щений:

- аудиториидля проведениялекций;

- аудиториидля проведенияпрактическихзанятий (семинаров);

- аудиториидля проведениялабораторныхзанятий.


1.2.2. Контингентучащихся


Контингентучащихся (КУ)- иерархическаядревовиднаяструкту­раорганизацииучебных формирований(УФ) (рис. 1.3). В целяхми­нимизироватьвозможностьпотери общностиданных о КУ определимследующиебазовые единицы:

- курс;

- поток;

- временныйпоток;

- учебная группа.

Курс - условноеобозначениевершины дерева,в котороевключа­ютсявсё учебныегруппы, сформированныев определенныйгод.

Поток - объединениеодной или несколькихучебных групподного годаформирования.

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

Учебная группа- самостоятельнаянеделимаяучебная формация.


К

урс

Поток 1

Поток 1.1

Учебная группаI.I.I

Поток 1.2

Учебная группа1.2.1

Учебная группа1.2.2

…………………………………

Рис. 1.3. ОрганизацияКУ


1.2.3 Профессорско-преподавательскийсостав и дисциплины


Профессорско-преподавательскийсостав (ППС)объединяетлюдей (преподавателей),ответственныхза проведениезанятий.

Преподавателяхарактеризуютдве составляющие:

ППС = , (1.8)

где

З - определяетзвание (должность)преподавателя;

ТНД - определяеттематическуюнаправленностьдисциплины(Д), которую"читает"преподаватель:

Д , (1.9)

Должностьпреподавателяопределяетформальнуюсистему приори­тетов:

- профессор;

- старшийпреподаватель;

- преподаватель;

- совместитель;

- аспирант.

ТНД может иметьтакже и сложнуюструктуру,объединяя всебе набордисциплин сразными тематиками:

ТНД*= {ТНД1, ... ,ТНДN}. (1.10)


1.2.4. Комбинированныйучебный план


Комбинированныйучебный план(КУП) - таблица,в которой каж­домуучебномуформированиюпоставленыв соответствиеопределенныедисциплиныс указаниемучебной нагрузки,выраженнойв академическихчасах в неделюдля каждоговида занятия,и преподавателя,ответственногоза проведениезанятия.

КУП формируетсяиз двух составляющих:


КУП = (1.11)

где

УП – учебныйплан кафедры;

ПН – план нагрузкипреподавателейкафедры,

или

КУП = , (1.12)

где

УФ - учебноеформирование;

С - семестр;

Д - дисциплина;

КЧЛК - количественныйпоказатель,определяющийакадемические

часыв неделю длялекций;

КЧЛР - количественныйпоказатель,определяющийакадемические

часы в неделюдля лабораторныхзанятий;

КЧПР - количественныйпоказатель,определяющийакадемические

часыв неделю дляпрактическихзанятий.


Семестрхарактеризуетсяколичествомнедель:


С=. (1.13)


По значениюТНД дисциплинывыбираетсяпреподаватель.ПараметрыКЧЛК, КЧЛР, КЧПРформируютабстрактноепонятие ко­личествочасов нагрузки(КЧН).


1.2.5. Расписаниезанятий

Расписаниезанятий (РЭ) -таблица, в которойуказаны местои время проведениязанятий.

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

Формальнаяпостановказадачи составлениярасписанияпредстав­ленана рис. 1.4.

На рис. 1.5. отображенасистема отношениймежду объектамипроекта "Учебноерасписание".


Учебные формирования


Кафедра

П

Р

Е

П

О

Д

А

В

А

Т

Е

Л

И



Д

И

С

Ц

И

П

Л

И

Н

Ы





Комбинированныйучебный план

Планнагрузки

Учебныйплан

Расписание



Рис 1.4 Постановкаисходной задачисоставлениярасписания






Рис. 1.4 Ключевыеабстракции,характеризующиесловарь предметнойобласти


2. Методологиярешения задачи


2.1 Модель представлениязнаний дляпроекта «Учебноерасписание»


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

Наданном этапевведем понятиеархитектуры для обработкии представлениязнаний (АОЗ). АОЗ имеет двесоставляющих:внутрен­нююи внешнюю. Внешняясоставляющаянапрямую связана с модельюпредставления знаний, а внутренняяотождествляетсяс конкретнойаппаратной(,или программной,)архитектуройэлектроннойвычисли­тельноймашины (ЭВМ),на платформекоторой создаетсяпрограммныйпродукт. Естественно,что указанныесоставляющиедолжны иметькак можно болеепростые связи,т.е. каждомусемантическомуэлементу моделипредставлениязнаний должнабыть сопоставленаестественнаяаппаратная(программная)реализация.

В ЭВМ "неймановскоготипа" для того,чтобы выполнитьнекото­руюобработкуданных, необходимонаписать алгоритмобработки ввиде программыи ввести ее вкомпьютер. Еслипопытатьсяподобным методомразработатьсистему обработкизнаний, то неизбежновозни­каютдве проблемы.Первая связанасо слияниемзнаний с механизмомлогическоговывода. Онасостоит в том,что знания обобъекте и механизмлогическоговывода, использующийэти знания, недолжны отличатьсядруг от друга,т.е. их следуетпредставлятьв виде цельнойпроцедуры.Вторая проблемаобуславливаетсясложностьюоб­новлениязнаний, когдапополнение,уничтожениеили изменениезнаний, ломающихсяобъекта, означаетизменениепрограммы, итрудно точно определить, до какой частипрограммыраспространяетсяэто влияние.Эти проблемыможно разрешить,если разработатьсистему с модульнымпредставлениемзнаний.

Наиболее частоиспользуемыемодели представления знаний длярешения задач искусственного интеллекта (ИИ) приведены в табл. 1.1.

Таблица 1.1


Описательные формализмы Иерархия Наследование Модульность
Семантическиесети + - -
Фреймоваямодель + + -
Продукционнаямодель + - +
ООмодель + + +

Для проекта"Учебное расписание"был выбранобъектно-ориенти­рованный(ОО) формализмпредставлениязнаний, которыйможно трак­товатькак уточнениеформализмафреймов (в формализмефреймов неделается различиямежду видомотношенийкласс/подкласси видом отношенийкласс/конкретныйэкземпляр, вто время какв ОО форма­лизмеэти два видаотношенийявляютсяортогональными).

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

1. Идентификацияклассов и объектовданного уровняабстрак­ции;

2. Идентификациясемантикиклассов и объектов;

3. Идентификациясвязей междуклассами иобъектами;

4. Идентификацияклассов и объектов(программнаяреализация).


2.1.1.Объектно-ориентированнаямодель представлениязнаний


Концептуальнойосновойобъектно-ориентированногостиля представлениясистем являетсяподход, которомусоответствуютчетыре главныхэлемента:

- абстрагирование;

- ограничениедоступа;

- модульность;

- иерархия.

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

Наданном этапевведем понятиеинкапсуляциикак объединенияатрибутовобъектов ифункций управленияобъектами вединую описа­тельнуюструктуру -класс. Такимобразом, понятиекласс определяетмножествообъектов, связанныхобщностьюструктуры иповедения.

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

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

- общедоступная;

- защищенная;

- обособленная(скрытая).

К = , (2.1)


где

А – атрибутыкласса;

Ф – функции(методы) класса.


Всвою очередь:



А=А,ЗАА>, (2.2),

а

Ф = Ф, ЗФФ>, (2.3)

где

О[А,Ф] - общедоступныеэлементы класса;

З[А,Ф] - защищенныеэлементы класса;

С[А,Ф] - скрытыеэлементы класса.

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

В защищеннойчасти интерфейсакласса даютсяопределения,"ви­димые"только дляобъектов,относящихсяк подклассамданного класса.

В обособленнойчасти интерфейсакласса декларируютсяопреде­ления,"скрытые" дляобъектов всехдругих классов.

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

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

Иерархия реализуетмеханизм отношениймежду классамиобъек­тов.Отношениямежду классамимогут бытькомбинациейследующихтипов иерархий;

- наследование;

- использование;

- метаклассы.

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

Отношениеиспользования связано собъявлениемобщности(дру­жественности)классов, котораяозначает возможностьдоступа кза­щищеннымэлементамкласса объектамдругих классов.

Метакласс(абстрактныйкласс) являетсяклассом, объектыко­торого самиявляются классами.

2.1.2. Блочнаяальтернативнаясеть

2.1.2.1. Элементарныйблок альтернатив


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

Пусть существуетобъект R(R~О),который будемназывать ре­шением.При этом существуетнесколькопоказателей(атрибутов),характеризующихобъект:

П = (П1,...,П,...,ПN) (2.4)

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

П=(1,…, j,…, I),

или (2.5)

А=(1,…, j,…, I)

Схема атрибутивногопредставлениярешения сложнойзадачи приведенана рис. 2.1.

Решение сложнойзадачи в соответствиио таким представлениембудет определятьсякак прямоепроизведениеего атрибутов:

R1... А... АN). (2.6)

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

А

1= (11, …,1j,…, 1m1)

…………………………..

А = (1,…, j,…, m) (2.7)

……………………………

AN= (N1,…, Nj,…, NmN)


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

атрибут Аи набор егоальтернативныхзначений j,если сам ат­рибути его значениязаданы. Следуетотметить, чтозначения jатрибута Амогут иметьнепрерывныйили дискретныйхарактер. Этомогут бытьчисловые величиныили некоторыепонятия. Отношениеат­рибут-значениеможно представитьв виде первичногодерева иерар­хии(рис. 2.2).

Здесь атрибутАвыступает вкачестве корневойвершины, а значенияj(j=l,... ,N)определяютсякак альтернативные,так как предполагается,что в любоймомент времениатрибут Аможет при­ниматьодно и толькоодно значениеj.

Элементарныйблок альтернатив(БА) можно представитькак пои­менованную.структуруорганизацииданных, т.е. класс,определяющиймножествообъектов-альтернатив(рис. 2.3).

В подобнойструктуредолжна бытьреализованафункция выбораальтернативы(ФВА) при условиисуществованиязначения (кода)альтернативы.Обычно подобнаяфункция содержитв своем теледве составляющие:рекурсивный(R) и транзитный(Т) блоки. Рекурсивныйблок используетсятогда, когданеобходиморешить задачупоиска альтернативногозначения намассиве альтернатив,т. е. Организоватьциклическийпроцесс. Транзитныйблок используетсяв тех случаях,когда ни однаиз альтернативв общем решениине участвует,а в частномслучае можетвыступать какограничительдля рекурсивногоперебораальтернатив.


Решение- R





1

о

m



Рис. 2.1 Атрибутивноепредставлениерешения сложнойзадачи



А




Рис. 2.2 Отношениеатрибут-значениев виде первичногодерева иерархии


вход

А






R


T





якорь


выход



Рис. 2.3. Элементарныйблок альтернатив


ИнкапсулируяБА с ФБА, получимзамкнутуюсистему работыс данными попоиску и выборкеальтернатив(рис. 2.4).

Тогда входноймассив данныхАхможно интерпретироватькак набор входныхаргументовдля ФВА, а выходноймассив Аусопоста­витьс конкретнымобъектом-альтернативой,атрибутивнымописаниемкоторого являетсяАу.

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

Формальнореализациюмеханизмаэвристическогопоиска предста­вимв виде следующейпоследовательности:

Этап1. Выбор из множествавозможныхдействий некоторогодействия:

1)с учетом соответствияцели:

- уменьшениенекоторогонежелательногоразличия,

- непосредственноерешение тойили иной подзадачи;

2) сучетом опыта:

- повторениепрошлого,

-обнаружениеключевогодействия;

3) сучетом необходимыхусловий:

-решение, обусловленноеанализом ситуации,

-исключениенеосуществимоговарианта;


4) сучетом фактораслучайности:

  • предпочтениеотдаетсяразнообразию.

Этап 2. Осуществлениевыбранногодействия иизменениетекущей ситуации.

Этап3. Оценка ситуации:

1) поаналогии:

-известна самазадача,

-известна подзадача;

2) повеличине расстояниядо цели:

-расстояниемежду двумяситуациями,

-количествоусилий, затрачиваемоена поиск;

3) поматематическомукритерию:

- составлениеперечня необходимыхи/или достаточныхдля полу­ченияданного решенияхарактеристик,

-численнаяоценочнаяфункция,

- верхние и нижниеграницы,

- суммастоимостей,выбранныхподходящимспособом;

4) по ожидаемомувыигрышу (критерий,связанный спрошлым опытом):

- простота ситуации,

-коэффициентрасширенияпоиска,

- любойдругой критерий(сложностьзадачи, затрачиваемоена

ее решениевремя и т.д.).

Этап4. Исключениебесполезныхситуации.

Этап 5. Еслидостигнутаконечная цель- конец, иначевыбор новойисходной ситуациии повторитьпоиск:

1)движение тольковперед:

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

2)выполнениедействий параллельно:

- поочередноевыполнениевсех действий;

3) выбор в качествеисходной самоймногообещающейситуации:

- вотношенииоценочнойфункции,

- в отношениинезначительногочисла входящихв нее действий;

4)компромиссмежду:

-глубиной поиска,

- оценкойситуации.


2.1.2.2. СтруктурыБАС

Блок, представленныйна рис. 2.4., являетсябазовым дляпост­роениясетей, называемыхблочнымиальтернативнымисетями (БАС).Возможныеструктуры БАСопределяютсяиерархиейотношений междуклассамиобъектов-альтернатив.

Одной из возможныхконфигурацийможет бытьпоследовательнаяБАС. Пусть заданкортеж атрибутов{А: =1,N}, на основекоторого формируетсяБАС с последовательнойстратегией,вид которойпредс­тавленна рис. 2.5.

Замкнутыйаналог последовательнойБАС представленна рис. 2.6.


ФБА



ВходВыход


Рис. 2.4. ИнкапсуляцияБА и ФВА в классобъектов-альтернатив









БА1

БАN

БА



Рис. 2.5. ПоследовательнаяразомкнутаяБАС









БА1

БАN

БА




Блокобратной связи




Рис.2.6. Последовательнаязамкнутая БАС


2.2. Методыформированиярешения


2.2.1. Алгоритмынавигации наБАС


Приработе с БАСвозможны следующиеварианты навигации:

- последовательная;

- параллельная;

- смешанная.

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

1. Прохождениесети реализуется последовательно, начиная с первого a1 и кончаяпоследним аNблоками. Алгоритмобращаетсяк блоку a1,просматриваетего содержимоеи через транзитныевершины передаетрезультат. Далее переходитк следующемублоку. В итогеобразуетсянекоторыйвершинныймаршрут R1=(1j,...,j,..,Nj),который ипредставляетданные о результатерешения. Есличастные решениясовместны, тоони оцениваютсяпо критериям-адекватнос­ти. Если какое-торешение несовместно,то выявляетсяпричина не­совместимостии ищется новоерешение.


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


2.2.2. Маршруты наБАС


В БАС используетсявершинный типмаршрутов. Сточки зрениясети маршрутыподразделяютсяна внутриблоковыеи сетевые.Послед­ние,в свою очередь,формируютсяиз внутриблоковыхи межблоковых.

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

Следует отметить,что в элементарномблоке имеетместо три видавершин:

а) вершины первогоранга: вход ивыход;

б) вершины второгоранга: значенияатрибутов;

в) вспомогательныевершины: рекурсияи транзит.

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

Ациклическиймаршрут (АМ1)формируетсякак последовательность

вершин совместнос отношениеммежду вершинами:


AMi: (Ai rij uij), (2.8)

где

Аi - атрибут;

rij -определяетотношение междуатрибутом ивершиной-значе­ниемij;

ij - значениеатрибута Аi.

Полноепредставлениевнутриблоковогомаршрута посхеме ис­ток-стокбудет представлятьсобой объединение:


AMi: (Аi rijij)U (ijrji A*i), (2.9)


или в общемвиде для вершин-альтернативполучим вершинныйацикли­ческиймаршрут:

AM1:(Аi,ij,A*i). (2.10)


Аналогичнодля маршрута,проходящегочерез транзитнуюверши­ну:


АMiT:(Ai,rT,A*i), (2.11)


что эквивалентнозаписи

AMiT:(Ai,T,A*i). (2.12)


В циклическоммаршруте (ЦМi)используетвершина с индексомR:


ЦМi*:(Ai,ij,A*I) Rq, q = 1,2, …, Q (2.13)


где - определяетповтор маршрутов.

Для циклическихмаршрутоввозможно нескольковариантовреали­зации:

- поиск однойединственнойальтернативы;

- использованиедвух альтернативвместе;

- поиск с множествомальтернатив.

В первом случаеможет реализоватьсяq-кратноепрохождениепо внутриблоковомумаршруту, причемзначение qопределяетсяколи­чествомциклов, прикотором находитсятребуемоезначение оси,

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


ЦМi**:(Ai,(ij,q1),A*I)Rq, q = 1,2, …, Q (2.14)

Придальнейшемувеличенииколичестваописании альтернативgjлучим циклическиймаршрут с множествомальтернатив:

ЦМi**:(Ai,{ij},A*I) Rq, q = 1,2, …, Q (2.15)


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

МN~ MN,= U MБi, (2.16)

где

MN- сетевой маршрут;

MБi -внутриблоковыймаршрут.


При таком алгоритменавигации путемсклеиваниябудет полученмаршрут:


MN = R (R1,,…, Ri,…, RN), (2.17)


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

В другомслучае имеетместо следущаякартина, представленнаяна рис. 2.8.

Для каждогоблока альтернативопределяетсясвой алгоритмвы­бора альтернативы.Алгоритм параллельнойнавигации, всвою оче­редь,реализуетфункции координации,которые взаимодействуютс каждым блоковымалгоритмом.Работа осуществляетсяпараллельно.Алгоритм координациипередает исходныеданные (IO)в локальныеалгоритмы изапускает ихв работу. Каждыйив локальныхалгоритмовформируетвнутриблоковыймаршрут исоответствующийрезультат (R).Далее формируетсяпоследовательность(R11, ..., Ri1,..., RN1)=Rl несвязанныхмежду собойрешений. Послеэтого решаетсязадача склеиваниячастных решенийв общее. Даннаяпроцедура можетпроте­катьпо двум направлениям:

1)формированиеобщего решенияна уровнекоординирующегоал­горитма;анализ, оценка,принятие решениядля дальнейшихдейс­твий;

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

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


2.2.3. Оценка результатоврешения задачина БАС


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

NR= (m x n) => П{R} (2.18)

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

АНПС




R1RiRN

БА1

БАi

БАN



Рис. 2.7. Формированиесетевого маршрутас помощьюпоследовательногоалгоритманавигации насети


Алгоритмпараллельнойнавигации

АБ1

АБi

АБN

БА1

БАi

БАN



IO1R11IOiRi1IONRN1


Рис. 2.8. Формированиесетевого маршрутас помощьюпараллельногоалгоритманавигации насети


Если этот показательзадан, то оннепосредственноиспользуетсяпри анализеи оценке решения,если нет, тодля каждогоконкретногослучая оформляетсясвоя за­дачаопределенияпоказателя.

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

3. РеализацияБАС на 00 системев проекте "Учебноерасписание"

3.1. Структуракласса

Учитывая спецификурешаемой задачии методы, используемыедля достижениярезультатов,определим классдля проекта"Учебное рас­писание"как поименованнуюструктуру,которая включаетв себя:


К = ,

и соответственно

А = А, ЗАА> и Ф = .

Общедоступнаяинтерфейснаячасть описанияатрибутовкласса включаетв себя декларациюпризнаковобъекта, универсальнои од­нозначнохарактеризующихданную абстракцию:

ОА = { аоi}, (3.1)

где АОi– атрибутобъекта-экземпляракласса.

Скрытая интерфейснаячасть описанияатрибутовкласса содержитссылку на бинарныйфайл, которыйвключает в себянабор декларативныхи/или продукционныхправил, предназначенныхдля генерациии ограниченияобласти значенииобъектов-экземпляров( альтернатив)

класса:


са = С1, ... ,асi, ...АCn, ФБП>, (3.2)

где

асi, -скрытый элементданных класса;

ФБП - файл базыправил генерацииобъектов-альтернатив.

Общедоступнаяинтерфейснаячасть декларациифункций (методов)управленияобъектамикласса представляетсяследующимобразом:

ОФ = 01,..., Фoi, ...., Фоn,ФОБП>, (3.3)

где

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

ФД – функция-деструкторкласса, определяющаямеханизм освобожденияоперативнойпамяти, выделеннойконструктором;

Фоi - общедоступныйметод управленияобъектом класса;

ФОБП - наборфункций, предназначенныхдля обработкибазы

правил (знаний).

Как минимумкортеж ФОБПвключает всебя:

ФОБП = , (3.4)

где:

ФВА - функциявыбора альтернативы;

ФДП - метод длядобавленияправила в базузнаний;

ФУП - метод дляудаления правилаиз базы знаний;

ФРП – метод дляредактированияправила в базезнаний.


Функция выбораальтернативыопределяетмеханизмыпостроениясинтаксисаправила, выборкииз множестваи оценки результатовна основе критериев-адекватности.

Функциидобавления/удаления/редактированияправил содержатв своем теледва основныхблока: блокдобавления/удаления/редактированияправила и блокдобавления/удаления/редактированияальтернативы.


3.2.Правила представлениязнаний


Правила, представленныев ФБП делятсяна две основныегруппы:

декларативныеи продукционные.

Декларативныеправила (ДП)определяютв базе знаниймножествофактов. Фактв данном случаеоднозначноотождествляетсяс конк­ретнымобъектом-альтернативойабстрактноготипа данных.Факт в зависимостиот количестваатрибутовобъекта классаможет иметьпростую илисложную (составную)структуру.

Продукционныеправила (правилаЕСЛИ-ТО) позволяютявным обра­зомзадавать критериинеобходимостии достаточностиколичествавходных параметровдля идентификацииобъекта-альтернативы.Также в телеправил данноготипа могутсодержатьсязаписи математичес­кихзаконов описаниямножестваобъектов.

Вне зависимостиот типа, правилаимеют два видапредставле­ния:текстовый идвоичный. Возможныесвязи междутекстовым идво­ичнымпредставлениемправил в базезнаний представлены на рис. 3.1.

Одинарнойлинией на рис.3.1. показана связьтипа «один кодному», а двойной– связь типа«один к многим».

Связь типа«один к многим»реализуетсяправилом, имеющимв своем телеследующийфункциональныйэлемент:


FOR = 1,…, Aoi,…, Aon),O>, (3.5)


где

В - определяетначальноезначение счетчика;

Е - определяетконечное значениесчетчика;

S - определяетшаг приращениязначения счетчика;

F(С, Ao1,…, Aoi,…, Aon)- определяетматематическуюба­зу для генерированияобъекта-альтернативы;

С - текущее значениесчетчика;

Aoi - атрибут объекта;

О – определяетрежим отображенияобъекта класса:О=base – отображениев файл БД, О=memory– отображениев оперативнуюпамять.


Текстовоепредставление

ИМЯ_КЛАССА.КВА

Двоичноепредставление

ИМЯ_КЛАССА.DBF



Декларативноеправило 1

Объект-альтернатива1



Продукционноеправило 2

Продукционноеправило 3


………………………

Объект-альтернатива2

Объект-альтернатива3.1

Объект-альтернатива3.2

………………………………

Объект-альтернатива3.i

……………………………..


Объект-альтернатива3.n




Рис. 3.1. Связи междутекстовым идвоичнымпредставлениемправил


При 0=baseобъемы-альтернативысобираютсяв файл базыданных (DBF-файл),где хранитсяв упакованнойвиде. Для файловподобного типаопределяютсястандартныеоперациииндексированияи фильтра­циизаписей, чтоупрощает иубыстряетмеханизм поискаи выборки информациииз БД.

3.3. Фрагмент решениязадачи "Формированиеучебного расписания"

Формальноепредставлениеалгоритмарешения задачиформирова­ниярасписанияотображенона рио.З.2.

Из рисункавидно, что базовымэлементом всистеме составлениярасписанияявляется учебныйблок занятий(класс "Учебныйблок" на рис.1.4.).

3.3.1. Класс "Учебныйблок"

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

Структура блоказанятий представленав виде матрицына рис. 3.3.

Учебный блоксоставляютдве компоненты:

- количествочасов в блоке(КЧБ) определяетколичествочасов, котороеблок занимаетв сетке расписанияодного учебногодня (од­на строкаматрицы соответствуетдвум часамзанятий);

  • деление блока(Д) распределяетзанятие понеделям семестра.

Значения КЧБи Д рассчитываютсяна основанииданных, изкомби­нированногоучебного плана. Связующимзвеном здесьявляемся абс­тракция"Количествочасов нагрузки"(КЧН), котораяобъединяеттри класса:

  • количествочасов лекционныхзанятий в неделю(КЧЛК);

  • количествочасов лабораторныхзанятий в неделю(КЧЛР);

  • количествочасов практическихзанятий в неделю(КЧПР).


БАС формированияблоков

Механизмыопределениямаксимальногоколичествагрупп средипотоков ипреподавателей



БАСсопоставленияблоков количествугрупп

Сочетания:количествогрупп –

блоки

Сочетания:поток - блоки

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

Сопоставлениекаждому потокунаборов-альтернативсочетанийблоков занятийв зависимостиот количествагрупп, входящихв поток

Сочетания:преподаватель - блоки

Расписаниена учебнойчасти

Преобразованиев блочноепредставление




Правилакомпоновкиблоков в расписание




Расписаниезанятий



Рис. 3.2 Общаясхема решениязадачи сопоставлениярасписаниязанятий методамиБАС на ООС наоснованиипродукционноймодели



*

* * *

*



КЧБ


Д

Рис. 3.3. Структура блока занятий


Обозначимколичествонедель в семестрекак КНС. Тогда, сум­марноеколичествочасов занятийэа семестр (ч)определяетсяпро­изведениемКНС и КЧН:


ч = КНС*КЧН, (3.6)

или

ч = (КНС/Д)*КЧБ. (3.7)


Из чего следует:


КЧН = КЧБ/Д. (3.8)


Декларативныеправила, входящие в классы КЧЛК, КЧЛР и КЧПР

описываютследующиенаборы фактов:


КЧЛК = {0, 1.0, 1.5, 2.0}, (3.9)

КЧЛР = {0, 1.0, 2.0}, (3.10)

КЧПР = {О, 1.0, 2.0}, (3.11)

Объединяямножества вмета-класс,получим:


КЧН = {0, 1.0, 1.5, 2.03}. (3.12)


Используяформулу 3.8, определим область значений объек­тов-экземпляровкласса КЧБ икласса Д:


КЧБ = {2, 4, 6}, (3.13)

Д = {2, 3, 4}, (3.14)


Класс «Учебныйблок» являетсянаследникомкласса «Блокзанятия».


3.3.2. Класс «Блокзанятия»


Столбец матрицы,представленнойна рис.3.3., определяетчасть семестра,которую назовёмдолей. Доляможет бытьзанята (занятиепроводится– столбец матрицызакрашен) илисвободна.

Свободные долиописываютсвободные часызанятий в неделю(КЧС).

Декларативноеправило генерациипараметра КЧСимеет вид:

ПРАВИЛО1.

блок.КЧС= FOR (1, блок.Д-1,RETURN(C), base).

Объединяя КЧСс данными класса"Учебный блок",сформируемкласс "Блокзанятия".. Количествосвободных (КСД)и занятых (КЗД)долей в блокезанятия определимчерез его параметры:


КСД = КЧС/КЧН. (3.15)

Используяформулу 3.8, получим;

КСД = Д * (КЧС / КЧБ). (3.16)

Очевидно, что:

КСД + КЗД = Д. (3.17)

Следовательно:

КЗД = Д * (1 - КЧС/КЧБ). (3.18)


На рис. 3.4. приведенаструктура БАСс алгоритмаминавигации длякласса "Блокзанятий". Врезультатеработы алгоритма,ФВА класса"Блок занятий"был полученнабор решений,образующихблок альтернатив,представленныйна рис. 3.5.





ФВА (учебныйкурс)

ФВА (блокзанятий)













Рис.3.4. Схема БАСформированияобъекта «Блокзанятий»



ФВА (выборкаблоков)



Рис. 3.5. ВАС формированияобъекта класса«Блоки занятий»

3.3.3. Класс «Блокизанятий».

Уравнения 3.16и 3.18 необходимыдля понятиясовместимостиблоков занятий.

Два блока Бiи Б2 совместимы,если:

KЧH1= КЧН2, КЧБ1= КЧБ2 и КЗД1

Понятие совместимостиблоков используетсяв правилахслияния несколькихблоков в одинобъект класса"Блоки занятий":

ПРАВИЛО 1.

ЕСЛИ стратегия.тип= общая

И блок(&А).КЧН= блок(&Б).КЧН

И блок (&A).КЧБ= блок (&Б).КЧБ

И блок(&А).КЗД

ПРАВИЛО 2.

ЕСЛИ стратегия.тип= общая

B блок(&А).КЧН== блок(&Б) .КЧН

И блок (&A).КЧБ = блок(&Б).КЧБ

И блок(&А). КCД>= блок(&Б). КЗДТО блок(&C) = блок(&A)U блоков(&Б).

Класс "Блокизанятий" объединяетабстрактныепотоки, которыехарактеризуютсяпараметром"Количествогрупп в потоке"(КГ), и оптимальнуюсовокупностьблоков.

Схема алгоритмагенерацииобъектов класса"Блоки занятий"отображенана рис. 3.6.

В схеме .алгоритмаиспользованыследующиесокращения:

Ptr - указательна текущийобъект в опискеальтернативныхблоков занятий;

AltList - списокблоков занятий,определяющихв совокупности одну альтернативудля текущегоколичествагрупп;

Len(AltList)- длина спискаAltList.


Ptr=1

Взятьблок по указателю;сохранитьстарое значениесписка блоковв альтернативеРассчитатьКЧНБ,КЗД; СохранитьКГ, КЧНБ

Поместитьблок в списокблоков в альтернативе;КГ=КГ-КЗД

Включитьальтернативув список альтернативдля текущегоКГ






ДА


Ptr+1





НЕТ

ДА


НЕТ

ДА


НЕТ

Ptr+1


Восстановитьальтернативу

ДА

ДА



НЕТ

Рис3.6. Схема алгоритмагенерацииобъектов класса"Блоки занятий"


Список использованнойлитературы

Буч Г., Объектно-ориентированноепроектирована.С примерамиприменения.М., Конкорт, 1992.

Анамия М., ТанакаЮ., АрхитектураЭВМ и искусственныйинтел­лект.М., Мир, 1993.

Лорьер Ж. Л., Системы искусственногоинтеллекта. М., Мир,

1991.

Искусственныйинтеллект.Применениев интегрированныхпроиз­водственныхсистемах. М.,Машиностроение,1991.

Малпас Дж.,Реляционныйязык Прологи его применение.М., На­ука, 1990.

Рассохин Д., ОтС к C++. М., Эдель,1993.

Нечаев В.В.,Лекционныематериалы потеории творческойдея­тельности.1996.