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

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



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



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



                                                       Выполнил: студент ФЭУ
                                                                     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).

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

распределяет

                                   Работа

                          Производственное задание

Ф.И.О.


                                  Менеджер


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

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

                         Высокий уровень управления

                            Генеральный директор

                              Главный технолог

                                 Личный счет

                             Главный конструктор

                               №  констр. бюро

                         Средний уровень управления

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

Начальник цеха

Начальник отдела

№цеха

№ отдела

Низкий уровень управуления

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

Мастер

№ участкап

Бригадир

                                  №бригады

Прибыль

                                    Цель

планирует

распределяет

Рабочий

Ф.И.О

№ цеха

определяет

распределяет

Премия

                              Выплачивается из

подбирает

                                                                    получает

                                  № комнаты

                                  выполняет

                                   Работа

                                  подбирает

                          Производственное задание

организует

обуславливает

                                    Цель

Прибыль

определяет

распределяет

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

                         Высокий уровень управления



                                  Менеджер


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

Ф.И.О.