Семантическая сеть

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



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



Управление осуществляется аппаратом, включающим менеджеров различного уровня управления. Высшее звено управления включает: генерального директора и главных специалистов(гл. конструктор, гл. технолог). Среднее звено управления включает: начальников цехов и отделов. Низшее звено: мастера, бригадиры и т.д.

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

Высшие менеджеры:

		определение цели;

		формирование организационной структуры;

		подбор кадров среднего уровня;

		распределение прибыли.

Менеджеры среднего уровня:

		планирование работ;

		подбор кадров низшего уровня.

Менеджеры низшего уровня:

		организация работ;

		распределение производственных заданий.

Рабочие выполняют работу, за что им выплачивается премия из прибыли.



2.Описание предметной области.



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

Генеральный директор имеет личный счет и является менеджером высшего уровня.

Главный конструктор имеет конструкторское бюро и является менеджером высшего уровня.

Главный технолог имеет технический отдел и является менеджером высшего уровня.

Начальник цеха имеет цех и является менеджером среднего уровня.

Начальник отдела имеет отдел и является менеджером среднего уровня.

Мастер имеет участок и является менеджером низшего уровня.

Бригадир имеет бригаду и является менеджером низшего уровня.

Менеджер высшего уровня подбирает менеджера среднего уровня. Менеджер среднего уровня подбирает менеджера низшего уровня.

Менеджер высшего уровня:

		-распределяет прибыль

		-определяет цель

Менеджер низшего уровня планирует работу.

Менеджер низшего уровня:

		-организует работу;

		-распределяет производственное задание.

Рабочий имеет Ф.И.О.

Рабочий имеет номер цеха

Рабочий:

		-получает премию;

		-выполняет работу.

Премия выплачивается из прибыли.

Производственное задание обуславливает работу.



3. Переход от описания предметной области к семантической сети



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



Предложение из предметной области: 

Менеджер низшего уровня:

		-организует работу;

		-распределяет производственное задание,

	

В данном случае Менеджер низшего уровня является агентом (инициатор действия), а работа и производственное задание – объектом (подвергающимся действию).



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



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).





Возможные запросы к БЗ



Запрос: Что имеет Генеральный директор?

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).