Смекни!
smekni.com

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

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