Каталог :: Программирование и комп-ры

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

Кафедра Информатики и информационных систем

Курс «Экспертные системы»

Семантическая сеть «Распределение полномочий и обязанностей между менеджерами различного уровня» Выполнил: студент ФЭУ 5 курса Проверил: Санкт-Петербург 1999 г. Содержание: 1. Постановка задачи. 2. Описание предметной области. 3. Переход от описания предметной области к семантической сети. 4. Семантическая сеть. 5. Переход от семантической сети к пролог-программе. 6. Пролог-программа. 7. Возможные запросы к БЗ. 1.Постановка задачи. Управление осуществляется аппаратом, включающим менеджеров различного уровня управления. Высшее звено управления включает: генерального директора и главных специалистов(гл. конструктор, гл. технолог). Среднее звено управления включает: начальников цехов и отделов. Низшее звено: мастера, бригадиры и т.д. Распределение полномочий, ответственности и обязанностей между менеджерами различного уровня может быть следующим: Высшие менеджеры: - определение цели; - формирование организационной структуры; - подбор кадров среднего уровня; - распределение прибыли. Менеджеры среднего уровня: - планирование работ; - подбор кадров низшего уровня. Менеджеры низшего уровня: - организация работ; - распределение производственных заданий. Рабочие выполняют работу, за что им выплачивается премия из прибыли. 2.Описание предметной области. Менеджер имеет табельный номер, фамилию, имя, отчество. Менеджер высшего уровня является менеджером и имеет высокий уровень управления. Менеджер среднего уровня является менеджером и имеет средний уровень управления. Менеджер низшего уровня является менеджером и имеет низший уровень управления. Генеральный директор имеет личный счет и является менеджером высшего уровня. Главный конструктор имеет конструкторское бюро и является менеджером высшего уровня. Главный технолог имеет технический отдел и является менеджером высшего уровня. Начальник цеха имеет цех и является менеджером среднего уровня. Начальник отдела имеет отдел и является менеджером среднего уровня. Мастер имеет участок и является менеджером низшего уровня. Бригадир имеет бригаду и является менеджером низшего уровня. Менеджер высшего уровня подбирает менеджера среднего уровня. Менеджер среднего уровня подбирает менеджера низшего уровня. Менеджер высшего уровня: -распределяет прибыль -определяет цель Менеджер низшего уровня планирует работу. Менеджер низшего уровня: -организует работу; -распределяет производственное задание. Рабочий имеет Ф.И.О. Рабочий имеет номер цеха Рабочий: -получает премию; -выполняет работу. Премия выплачивается из прибыли. Производственное задание обуславливает работу. 3. Переход от описания предметной области к семантической сети Вершины в семантической сети показывают объект предметной области, концепт, ситуацию, а дуги - это отношение между ними. 1. Так, например первое предложение из предметной области «Менеджер имеет табельный номер» будет представлено в семантической сети следующим образом:

Табельный номер

Part_of

Менеджер

Табельный номер является свойством понятия «Менеджер». Это отношение является отношением типа «целое-часть» (part_of). 2. Предложение “Генеральный директор является менеджером высшего уровня» в семантической сети будет иметь следующий вид.

Генеральный

директор

IS_A
Менеджер высшего уровня
Данное отношение является отношением включения или совпадения (IS_A ) Предложение из предметной области: Менеджер низшего уровня: -организует работу; -распределяет производственное задание, в семантической сети будут отражены следующим образом: В первую очередь из события выделяется действие, которое обязано описываться глаголом. объект Блок-схема: подготовка: организует
Работа
агент

Блок-схема: подготовка: распределяет
Производственное задание
Менеджер низшего уровня

В данном случае Менеджер низшего уровня является агентом (инициатор действия), а работа и производственное задание – объектом (подвергающимся действию). 4. Семантическая сеть
Менеджер низшего уровня
Блок-схема: подготовка: обуславливаетБлок-схема: подготовка: организует
Производственное задание
Блок-схема: подготовка: подбирает
Работа
Блок-схема: подготовка: выполняет
№ комнаты
Блок-схема: подготовка: получаетБлок-схема: подготовка: подбираетБлок-схема: подготовка: Выплачивается из
Премия
Блок-схема: подготовка: распределяетБлок-схема: подготовка: определяет
№ цеха
Ф.И.О
Рабочий
Блок-схема: подготовка: распределяетБлок-схема: подготовка: планирует
Цель
Прибыль
Низкий уровень управуления
№ отдела
№цеха
Начальник отдела
Начальник цеха
Менеджер среднего уровня
Средний уровень управления
№ констр. бюро
Главный конструктор
Личный счет
Главный технолог
Генеральный директор
Высокий уровень управления
Табельный номер
Менеджер высшего уровня

Менеджер

Ф.И.О.
5. Переход от семантической сети к пролог-программе.
Прибыль
Цель
Высокий уровень управления
Блок-схема: подготовка: распределяетБлок-схема: подготовка: определяет
Менеджер высшего уровня

Менеджер

Ф.И.О.
Табельный номер
агент объект агент Семантическая сеть может быть реализована программными средствами (языком Пролог). Данная часть сети будет иметь следующий вид: have(manager,fio). have(manager,tab_nomer). is(h_manager,manager). have(X,Y):-is(X,Y),have(X,Y). have(h_manager,h_level). raspred(h-manager,profit). opredel(h_manager,target). Объекты, понятия и события, определенные в предметной области в пролог – программе будут иметь следующее обозначение: Manager- менеджер. H_manager- менеджер высшего уровня. M_manager- менеджер среднего уровня. L-manager- менеджер низшего уровня. Dir- генеральный директор. Tech- главный технолог. Cons- главный конструктор. Nach_ceh- начальник цеха. Nach_otd- начальник отдела. Master- мастер. Brig- бригадир. Worker- рабочий. Fio- ФИО. Ceh- цех. Tab_nomer- табельный номер. High_level- высокий уровень управления. Mid_level- средний уровень управления. Low_level- низкий уровень управления. Account- личный счет. N_office- номер офиса. N_cons_buro- номер конструкторского бюро. N_ceha- номер цеха. N_otdela- номер отдела. N_uchastka- номер участка. N-brigada- номер бригады. Profit- прибыль. Target- цель. Premia- премия. Work- работа. Proiz_zad- производственное задание. Is- является. Raspred- распределяет. Opredel- определяет. Podbir- подбирает. Planir- планирует. Organiz- организует. Have- имеет. Vypol- выплоняет. Obysl- обуславливает. Polych- получает. Vypl_is- выплачивается из. 6. Пролог-программа predicates is(string,string) raspred(string,string) opredel(string,string) podbir(string,string) planir(string,string) organiz(string,string) have(string,string) vypol(string,string) obysl(string,string) polych(string,string) vypl_is(string,string) clauses is(l_manager,manager). is(m_manager,manager). is(h_manager,manager). is(dir,h_manager). is(tech,h_manager). is(cons,h_manager). is(nach_ceh,m_manager). is(nach_otd,m_manager). is(master,l_manager). is(brig,l_manager). have(worker,fio). have(worker,ceh). have(manager,fio). have(manager,tab_nomer). have(h_manager,high_level). have(m_manager,mid_level). have(l_manager,low_level). have(dir,account). have(cons,n_cons_byro). have(tech,n_office). have(nach_ceh,n_ceha). have(nach_otd,n_otdela). have(master,n_uchastka). have(brig,n_brigada). have(X,Y):- is(X,Q), have(Q,Y). raspred(h_manager,profit). raspred(X,proiz_zad):- podbir(m_manager,X), is(X,manager). raspred(X,Y):- is(X,Z),raspred(Z,Y). opredel(h_manager,target). opredel(X,Y):- is(X,Z),opredel(Z,Y). podbir(h_manager,m_manager). podbir(X,l_manager):- podbir(h_manager,X), is(X,manager). podbir(X,Y):- is(X,Z),podbir(Z,Y). podbir(X,Y):- is(Y,Z),podbir(X,Z). planir(X,work):- opredel(Z,target), podbir(Z,X),Z=h_manager. organiz(X,Y):- planir(Z,Y), podbir(Z,X),Z=m_manager. vypol(X,Y):- have(X,ceh), planir(m_manager,Y), organiz(l_manager,Y). polych(X,premia):- vypol(X,work). vypl_is(X,Y):- polych(worker,Y), raspred(h_manager,X). obysl(X,Y):- raspred(l_manager,X), planir(m_manager,Y), organiz(l_manager,Y). 8. Возможные запросы к БЗ Запрос: Что имеет Генеральный директор? Goal: have (dir, X). Ответ: – личный счет (X= account). - высокий уровень управления (X= high_level). - Фамилию, имя, отчество (X=fio). - Табельный номер (X=tab_nomer). Запрос: Кто является менеджером низшего уровня? Goal:is(X,l_manager). Ответ: - мастер(X=master). - бригадир (X=brig). Запрос: Планирует кто, что? Goal:planir(X,Y). Ответ: - менеджер среднего уровня, работу (X=m_manager,Y=work). - начальник цеха, работу (X=nach_ceh,Y=work). - начальник отдела, работу (X=nach_otd,Y=work). Запрос: Кто организует работу? Goal:organiz(X,work). Ответ: - менеджер низшего уровня (X=m_manager). - мастер (X=master). - бригадир (X=brig). Запрос: кто распределяет что? Goal:raspred(X,Y). Ответ: - менеджеры высшего уровня, прибыль (X=h_manager,Y=profit). - менеджеры низшего уровня, производственное задание (X=l_manager,Y=proiz_zad). - директор, прибыль (X=dir,Y=profit). - главный технолог, прибыль (X=tech,Y=profit). - главный конструктор, прибыль (X=cons,Y=profit). - мастер, производственное задание (X=master,Y=proiz_zad). - бригадир, производственное задание (X=brig,Y=proiz_zad).