Контрольные вопросы:
-
Для формализации каких предметных областей используется модель семантической сети?
-
Для формализации каких предметных областей используется продукционная модель?
-
Для формализации каких предметных областей используется фреймовая модель?
-
Дайте определение понятия “фрейм”.
-
Какие разновидности семантических сетей вы знаете?
-
Как соотносятся понятия “класс” из объектно-ориентированного проектирования и “фрейм” из фреймовой модели представления знаний?
-
Как соотносятся понятия “импликация” из пропозициональной логики и “правило” из продукционной модели представления знаний?
Литература:
-
Поспелов Д. А. Ситуационное управление: Теория и практика. М.: Наука, 1988.
-
Статические и динамические экспертные системы: Учеб. пособие / Попов Э. В., Фоминых И. Б., Кисель Е. Б., Шапот М. Д.. М.: Финансы и статистика, 1996.
-
Гаврилова Т. А., Хорошевский В. Ф.. Базы знаний интеллектуальных систем: Учеб. пособие. СПб.: Питер, 2000.
Задание:
-
Разработать прикладную систему, которая позволит решать задачу, указанную в индивидуальном варианте. Система должна включать редактор баз знаний и решатель. Формализовать описание предметной области, выполненное на естественном языке, с помощью указанной модели знаний. Редактор баз знаний, должен позволять добавлять новые факты и правила. Результат работы решателя представляется в табличном или графическом виде.
-
Выполнить программную реализацию модели.
-
Подготовить отчет.
Варианты индивидуальных заданий:
Вариант 1
Задача распределения работ среди исполнителей. Необходимо выполнить n видов работ (Р1, Р2,…, Рn). Имеется k исполнителей (E1, E2, …, Ek). Существует ряд ограничений при выполнении данных работ:
-
для каждой работы требуется m исполнителей (m ≤ k);
-
один исполнитель может выполнять только одну работу;
-
для каждого исполнителя существует перечень работ, которых он не может выполнять в силу своей квалификации;
-
существуют подгруппы исполнителей, которые не могут вместе выполнять одну работу;
-
для каждого исполнителя известна его производительность, т.е. какую часть работы определенного вида он выполняет в течение единицы времени. Например, P1 может выполнить ½ работы E1 за 1 час.
Необходимо распределить исполнителей по работам таким образом, чтобы все ограничения были удовлетворены, а также
-
время выполнения каждой работы должно быть минимальным;
-
все работы должны быть выполнены;
-
количество незадействованных исполнителей должно быть минимальным.
Для описания предметной области использовать логическую модель. Записать все высказывания в виде логических функций. Например, =1, если i–й исполнитель назначен на j–ю работу, и = 0 в противном случае. Если переменные и обозначают i-того и j-того исполнителя соответственно, то формула означает, что исполнители i и j могут исполнять одну работу вместе. Требуется найти значения переменных , i = 1,…,5, j =1,…,3, соответствующие всем указанным условиям.