23670

Поиск решения со сменой подцелей

Лабораторная работа

Информатика, кибернетика и программирование

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

Русский

2013-08-05

33.5 KB

10 чел.

Лабораторная работа № 6

Тема: Поиск решения со сменой подцелей

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

Вводные замечания

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

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

(deftemplate block 

(slot size (type INTEGER))

(slot place (type SYMBOL))

(slot color (type SYMBOL))

)

Каждый блок может находиться либо в куче (heap), либо в руке (hand), когда он выбран из кучи, либо в башне (tower).

Результатом решения задачи должно быть взаимное положение блоков в башне, т. е. при выводе результата необходимо указать порядок блоков в башне по цвету. С этой целью для блоков, находящихся в башне, необходимо определить отношение, указывающее, какой блок (upper) на каком (lower) стоит:

(deftemplate on 

(slot upper (type SYMBOL))

(slot lower (type SYMBOL))

(slot place (type SYMBOL)(default heap))

)

Если блок ставится в основание башни, слоту place присваивается значение tower, а слоты upper и lower остаются неопределенными. Если блок ставится на другой блок, слотам upper и lower должны присваиваться значения цветов соответствующих блоков.

Поскольку процесс решения задачи представляет собой чередование фаз поиска в куче самого большого блока (find) и его установки в башню (build), необходимо иметь факт, определяющий текущую задачу. Его можно определить с помощью следующего шаблона:

(deftemplate goal 

(slot current-task (type SYMBOL))

)

Для решения задачи необходимы правила для:

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

 

Правило установки начального значения текущей задачи должно активироваться исходным фактом (initial-fact) и устанавливать в качестве текущей задачи  find.

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

  •  текущая задача – find;
  •  наличие в куче блока, для которого не существует большего по размерам.

Действия правила:

  •  взять найденный блок в руку (изменить его местоположение на hand);
  •  изменить текущую задачу на build.

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

  •  текущая задача – build;
  •  имеется блок в руке;
  •  отсутствуют блоки в башне – нет блока, у которого значение слота place равно tower.

Действия правила:

  •  изменить местоположение блока в руке на tower;
  •  изменить текущую задачу на find.

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

  •  текущая задача – build;
  •  имеется блок в руке (для него надо запомнить цвет);
  •  имеется блок в башне, на котором не стоит другой блок (для него также надо запомнить цвет);

Действия правила:

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

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

Порядок выполнения работы

1. Разработать программу на языке CLIPS, реализующую описанные выше правила, в соответствии с вариантом задания указанным в таблице (см. ниже).

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

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

Таблица вариантов заданий

№ варианта

Блок-1

(цвет/размер)

Блок-2

Блок-3

Блок-4

1

2

3

4

5

6

7

8

9

синий/10

красный/20

желтый/15

зеленый/10

коричневый/5

красный/10

желтый/12

белый/16

черный/18

зеленый/8

коричневый/5

красный/10

желтый/14

белый/25

черный/18

синий/10

красный/5

желтый/15

красный/18

желтый/12

белый/25

черный/18

синий/14

желтый/15

зеленый/8

коричневый/15

красный/20

желтый/15

зеленый/8

коричневый/5

красный/11

желтый/12

белый/25

черный/18

синий/10

белый/10


 

А также другие работы, которые могут Вас заинтересовать

24868. Расследование и учет несчастных случав на производстве 166 KB
  Социальное страхование от несчастных случаев и профессиональных заболеваний. Основные положения Закона Украины Об общеобязательном государственном социальном страховании от несчастного случая на производстве и профессионального заболевания, повлекшие утрату трудоспособности. Основные требования Порядка расследования и учета несчастных случаев, профессиональных заболеваний и аварий, на производстве.
24869. Сущность и назначение РДС 27.5 KB
  Рыночная добавленная стоимость МVA рассчитывается как превышение рыночной стоимости предприятия над величиной инвестированного капитала. Суть МVA заключается в том что если рыночная стоимость предприятия превышает сумму инвестированного капитала то предприятие создает добавленную стоимость для акционеров. Показатель МVA может рассчитываться как текущая стоимость будущих показателей EVA предприятия. Рыночную стоимость предприятия можно рассчитывать с помощью показателя EVA в рамках доходного подхода.
24870. Сущность и назначение Экономически добавленная стоимость 33.5 KB
  EVA = NOPAT WACC IC NOPAT чистая прибыль после уплаты налогов и до уплаты процентов за кредит. NOPAT=EBIT1T EBITоперац прибыль до выплаты и налогов IC=TANP TАактивы NP безпроцентные тек обязва WACC=KsWsKdWd1T WACC ICсколько должны заплатить за капитал Сущность концепции EVA заключается в том что ставка доходности на вложенный капитал должна покрывать все риски акционеров прдприятия связанные с инвестированием в эту компанию. Предприятие создает добавленную стоимость только в том случае если EVA принимает...
24871. Сущность понятий «цена капитала» и «отдача на капитал» 28.5 KB
  Факторы влияющие на цену капитала: 1 Общее состояние финансовой среды в том числе финансовых рынков. Общая стоимость капитала предприятия складывается из стоимостей его отдельных компонент. На практике основная сложность заключается в определении стоимости отдельных компонент капитала полученных из соответствующих источников.
24872. Теоретические и практические подходы к формированию дивидендной политики 31.5 KB
  Сигнальная теория;6.1 Теория нерелевантности дивидендов. 2 Теория предпочтения дивидендов. 3 Теория налоговых асимметрий.
24873. Целевая структура капитала 32.5 KB
  Под целевой структурой капитала понимается такое соотношение собственного и заемного капитала которое фиксирует менеджер при принятии инвестиционных и финансовых решений. Собственный капитал состоит из уставного добавочного и резервного капитала нераспределенной прибыли и целевых специальных фондов. Добавочный капитал может быть использован на увеличение уставного капитала погашение балансового убытка за отчетный год а также распределен между учредителями предприятия и на другие цели.
24874. Цели и задачи управления капиталом 28 KB
  Практически каждый человек обладающий тем или иным капиталом стремится к тому чтобы его какимлибо образом сохранить и приумножить. В этом собственно и заключается основная задача управления капиталом. Первоначальная задача управления капиталом сводится к наиболее точному определению его размера и возможностей.
24875. ЭФР и особенности его использования 27 KB
  ставку налога на П ЭR СРСП дифференциал финанс рычага СРСП средн. рычага чем больше проценты и чем меньше прибыль тем больше сила финансового рычага и тем выше финансовый риск. Если заемные средства не привлекаются то сила воздействияфинансового рычага равна единице.
24876. Анализ структуры капитала компании 24.5 KB
  Составляющими собственного капитала являются: уставный капитал и нераспределенная прибыль. Под структурой капитала понимают соотношение собственного и заемного капитала фирмы. Под величинами собственного и заемного капитала чаще всего понимают значения сальдо соответствующих счетов правой части баланса.