SlideShare a Scribd company logo
1 of 24
Download to read offline
Алгоритм логического анализа


Полиномиальный алгоритм, разрешающий          C ⊑T D




Онтологии и представление знаний, 2010                           1
Алгоритм логического анализа


Полиномиальный алгоритм, разрешающий          C ⊑T D

Алгоритм решает для данных имен концептов       AиB    верно ли   A ⊑T B .




Онтологии и представление знаний, 2010                                       1
Алгоритм логического анализа


Полиномиальный алгоритм, разрешающий                     C ⊑T D

Алгоритм решает для данных имен концептов                   AиB      верно ли   A ⊑T B .
Этого достаточно


     •   C ⊑T D

     •   A ⊑T ′ B , где A и B            не входят в   C , D, T   и TBox


                                             T ′ = T ∪ {A ≡ C, B ≡ D}




Онтологии и представление знаний, 2010                                                     1
Нормальная форма


  EL-TBox находится в нормальной форме если он состоит только из импликаций вида

(sform)   A ⊑ B;

(cform)   A1 ⊓ A2 ⊑ B ; имена концептов;

(rform)   A ⊑ ∃r.B ;

(lform)   ∃r.A ⊑ B .

  где   A A 1 , A2 , и B     — имена концептов




  Онтологии и представление знаний, 2010                                           2
Нормальная форма


  EL-TBox находится в нормальной форме если он состоит только из импликаций вида

(sform)   A ⊑ B;

(cform)   A1 ⊓ A2 ⊑ B ; имена концептов;

(rform)   A ⊑ ∃r.B ;

(lform)   ∃r.A ⊑ B .

  где   A A 1 , A2 , и B     — имена концептов



  Произвольный        EL-Box T        может быть приведен к нормальной форме за полиномиальное
  время так, что для всех имен концептов            A, B   из   T:

                                           A ⊑T B     ⇔     A ⊑T ′ B.



  Онтологии и представление знаний, 2010                                                     2
Лемма


Определение.           C[D/E] есть результат замены всех вхождений концепта D   в   C   на   E


            hasPart.(Arm ⊓ Leg)[Arm ⊓ Leg/Tail ⊓ H_Leg] = hasPart.(Tail ⊓ H_Leg),
                      hasPart.(Arm ⊓ Leg)[Arm/Tail] = hasPart.(Tail ⊓ Leg)


Лемма.       α = C ⊑ D ∈ T, T            — TBox. Для


• T ′ = T  α ∪ {C[E/X] ⊑ D, E ⊑ X} и
• T ′ = T  α ∪ {C ⊑ D[E/X], X ⊑ E},

где   X   — новое имя концепта, и всех имен концептовA, B из       T:

                                         A ⊑T B    ⇔   A ⊑T ′ B.




Онтологии и представление знаний, 2010                                                           3
Приведение к нормальной форме

Применять следующие правила пока возможно


     • заменить      C1 ≡ C2       на    C1 ⊑ C2   и   C2 ⊑ C1 ;

     • заменить      C ⊑ C1 ⊓ C2          на   C ⊑ C1    и   C ⊑ C2 ;

     • если ∃r.C входит в T и C сложный концепт, заменить                         все вхождения     C   на новое
        имя XC и добавить XC ⊑ C и C ⊑ XC к TBox.

     • Если    A1 ⊓ · · · ⊓ An ⊓ ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ C                     входит в    T , заменить на

                     A 1 ⊓ · · · ⊓ An ⊓ X ⊑ C                и   ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ X

        гда   X   — новое имя концепта.

     • если    ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ ∃r.B                   входит в   T , заменить на

                                ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ X                 и   X ⊑ ∃r.B

        где   X   — новое имя концепта.

Онтологии и представление знаний, 2010                                                                          4
Пример

T:
                                               A0    ⊑    B ⊓ ∃r.B ′

                                         A1 ⊓ ∃r.B ⊑ A2



                                                    A0 ⊑ B
Шаг 1
                                                    A0 ⊑ ∃r.B ′

                                            A1 ⊓ ∃r.B ⊑ A2



                                                 A0 ⊑ B
Шаг 2
                                                 A0 ⊑ ∃r.B ′

                                             A1 ⊓ X ⊑ A2

                                               ∃r.B ⊑ X

Онтологии и представление знаний, 2010                                 5
MED в нормальной форме



                                  Pericardium ⊑ Tissue

                                  Pericardium ⊑ Y

                                   Pericarditis ⊑ Inflammation

                                   Pericarditis ⊑ ∃has_loc.Pericardium

                                Inflammation ⊑ Disease

                                Inflammation ⊑ ∃acts_on.Tissue

                                 Disease ⊓ X    ⊑ Heartdisease

                                 Disease ⊓ X    ⊑ NeedsTreatment

                ∃has_loc.Y ⊑ X ∃cont_in.Heart ⊑ Y            Y ⊑ ∃cont_in.Heart



Онтологии и представление знаний, 2010                                            6
Идея алгоритма разрешающегоA                           ⊑T B

По данному       T   в нормальной форме, строим функции


     •   S   отображает каждое имя концепта               A, входящее в T , в множество имен концептов;

     •   R    отображает каждое имя роли             r,   входящее в   T,   в множество пар   (B1 , B2 )   имен
         концептов.


A ⊑T B         т. и т.т., когда      B ∈ S(A).   Интуитивно, строится интерпретация           I   с


     •   ∆I    — множество имен концептов в               T.

     •   AI    множество всех        B   таких что   A ∈ S(B);

     •   rI   множество всех         (A, B) ∈ R(r).

I   является моделью         T   и   A ⊑T B    т. и т.т., когда   A ∈ BI.




Онтологии и представление знаний, 2010                                                                        7
Алгоритм

Input:    T   в нормальной форме.

Инициализировать:          S(A) = {A, ⊤} и R(r) = ∅ для всех A и r        в   T.
Применять следующие правила пока это возможно:

(simpleR) If      A′ ∈ S(A) and A′ ⊑ B ∈ T        and   B ̸∈ S(A), then

                                          S(A) := S(A) ∪ {B}.

(conjR) If     A1 , A2 ∈ S(A) and A1 ⊓ A2 ⊑ B ∈ T           and   B ̸∈ S(A), then

                                          S(A) := S(A) ∪ {B}.

(rightR) If     A′ ∈ S(A) and A′ ⊑ ∃r.B ∈ T        and   (A, B) ̸∈ R(r), then

                                         R(r) := R(r) ∪ {(A, B)}.

(leftR) If    (A, B) ∈ R(r) and B ′ ∈ S(B) and ∃r.B ′ ⊑ A′ ∈ T            and   A′ ̸∈ S(A), then

                                          S(A) := S(A) ∪ {A′}.
Онтологии и представление знаний, 2010                                                             8
Пример

                                         (1)   A0 ⊑ ∃r.B
                                         (2)    B ⊑ E
                                         (3) ∃r.E ⊑ A1

Initialise:   S(A0 ) = {A0 }, S(A1 ) = {A1 }, S(B) = {B}, S(E) = {E}, R(r) = ∅.

     • (rightR) и (1):      R(r) = {(A0 , B)};

     • (simpleR) и (2):       S(B) = {B, E};

     • (leftR) и (3):     S(A0 ) = {A0 , A1 };

     • Дальше правила не применяются


    R(r) = {(A0 , B)}, S(B) = {B, E}, S(A0 ) = {A0 , A1 }.
Т.о.,
Следовательно, A0 ⊑T A1 .




Онтологии и представление знаний, 2010                                            9
Фрагмент MED

                                 Pericardium (Pm)       ⊑ Y

                                   Pericarditis (Ps)    ⊑ Inflammation (Inf)

                                                  Ps    ⊑ ∃has_loc.Pm

                                                  Inf   ⊑ Disease (Dis)

                                         Disease ⊓ X    ⊑ NeedsTreatment

                                          ∃has_loc.Y    ⊑ X


Неполная трасса алгоритма (показывающая, что Ps            ⊑MED NeedsTreatment):

     • (simpleR):    S(Pm) = {Y, Pm}, S(Ps) = {Inf, Ps, Dis};

     • (rightR):   R(has_loc) = {(Ps, Pm)},

     • (leftR):   S(Ps) = {Inf, Ps, Dis, X}

     • (conjR):    S(Ps) = {Inf, Ps, Dis, X, NeedsTreatment}



Онтологии и представление знаний, 2010                                             10
Время работы


На каждом шаге алгоритм добавляет хотя бы одно имя концепта в какой-то   S(C) или пару
имен концептов в какой-то            R(r).
=⇒     Останавливается за полиномиальное время.




Онтологии и представление знаний, 2010                                              11
Корректность алгоритма


T   в нормальной форме,          S , R — выход алгоритма.
Теорема. Для всех имен концептов             A, B   в   T:   если   B ∈ S(A), то A ⊑T B .

S0 , S1 , . . . и R0 , R1 , . . . отображения, построенные на i-той итерации алгоритма.
Для всех i, произвольной интерпретации           I : I |= T         и любого    x ∈ AI

     • Если    B ∈ Si(A), то x ∈ B I

     • Если    (A, B) ∈ Ri(r), то существует y ∈ ∆I                 т.ч.   (x, y) ∈ r I   и   y ∈ BI




Онтологии и представление знаний, 2010                                                                 12
Доказательство корректности (на доске)

     • Если    B ∈ Si(A), то x ∈ B I

     • Если    (A, B) ∈ Ri(r), то существует y ∈ ∆I        т.ч.   (x, y) ∈ r I   и   y ∈ BI


(simpleR) If      A′ ∈ S(A) and A′ ⊑ B ∈ T        and   B ̸∈ S(A), then

                                          S(A) := S(A) ∪ {B}.

(conjR) If     A1 , A2 ∈ S(A) and A1 ⊓ A2 ⊑ B ∈ T           and   B ̸∈ S(A), then

                                          S(A) := S(A) ∪ {B}.

(rightR) If     A′ ∈ S(A) and A′ ⊑ ∃r.B ∈ T        and   (A, B) ̸∈ R(r), then

                                         R(r) := R(r) ∪ {(A, B)}.

(leftR) If    (A, B) ∈ R(r) and B ′ ∈ S(B) and ∃r.B ′ ⊑ A′ ∈ T             and   A′ ̸∈ S(A), then

                                          S(A) := S(A) ∪ {A′}.
Онтологии и представление знаний, 2010                                                          13
Полнота алгоритма


T   в нормальной форме,          S , R — выход алгоритма.
Теорема. Для всех имен концептов                 A, B   в   T:   если   A ⊑T B , то B ∈ S(A).

Допустим это не так,          B ∈ S(A).
                                /              Определим интерпретацию         I

     •   ∆I = {A | A ∈ CN (T )}

     •   AI = {B | A ∈ S(B)};

     •   r I = {(A, B) ∈ R(r)}.

Тогда


     •   I ̸|= A ⊑ B

     •   I   выполняет    T

(Для любого имени концепта       A из T   и   EL-концепта C : A ⊑T C       ⇔   A ∈ C I .)

Онтологии и представление знаний, 2010                                                          14
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)




Онтологии и представление знаний, 2010                                                  15
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)


•   Только “позитивная”, детерминированная информация




Онтологии и представление знаний, 2010                                                  15
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)


•   Только “позитивная”, детерминированная информация


      –   Слоны бывают серыми. А розовые?




Онтологии и представление знаний, 2010                                                  15
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)


•   Только “позитивная”, детерминированная информация


      –   Слоны бывают серыми. А розовые?

      –   Слоны только серые




Онтологии и представление знаний, 2010                                                  15
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)


•   Только “позитивная”, детерминированная информация


      –   Слоны бывают серыми. А розовые?

      –   Слоны только серые

      –   Самцы не могут быть самками




Онтологии и представление знаний, 2010                                                  15
EL:   основные положения


•   Простейшая дескрипционная логика
                                                   неполный набор пропозициональных связок

•   Полиномиальный алгоритм логического анализа

•   Хорошо подходит для описания больших и очень больших терминологий

      –   SNOMED CT

      –   GO

      –   NCI (почти)


•   Только “позитивная”, детерминированная информация


      –   Слоны бывают серыми. А розовые?

      –   Слоны только серые

      –   Самцы не могут быть самками

      –   Слоны делятся на индийских и африканских


Онтологии и представление знаний, 2010                                                  15
Дескрипционная логика ALC :
  терминологическая часть

   База знаний (KB)

TBox (терминология, схема)




                                  Система анализа




                                                    Интерфейс
      Man ≡ Human ⊓ Male
  HappyFather ≡ Man ⊓ ∃hasChild
               ...



ABox (assertion box, данные)

            john: Man
      (john, mary): hasChild
               ...

More Related Content

What's hot

математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2narangerelodon
 
Ponyatie logarifma
Ponyatie logarifmaPonyatie logarifma
Ponyatie logarifmaDimon4
 
матемтик анализ лекц№ 2
матемтик анализ лекц№ 2матемтик анализ лекц№ 2
матемтик анализ лекц№ 2narangerelodon
 
Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Ilya Nikitin
 
20081012 structuralcomplexitytheory lecture03-04
20081012 structuralcomplexitytheory lecture03-0420081012 structuralcomplexitytheory lecture03-04
20081012 structuralcomplexitytheory lecture03-04Computer Science Club
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 

What's hot (6)

математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2
 
Ponyatie logarifma
Ponyatie logarifmaPonyatie logarifma
Ponyatie logarifma
 
матемтик анализ лекц№ 2
матемтик анализ лекц№ 2матемтик анализ лекц№ 2
матемтик анализ лекц№ 2
 
Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...Распределенная статистическая система машинного перевода (Distributed statist...
Распределенная статистическая система машинного перевода (Distributed statist...
 
20081012 structuralcomplexitytheory lecture03-04
20081012 structuralcomplexitytheory lecture03-0420081012 structuralcomplexitytheory lecture03-04
20081012 structuralcomplexitytheory lecture03-04
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 

Viewers also liked

Haiti struggles on
Haiti struggles onHaiti struggles on
Haiti struggles onguimera
 
Cách Giảm Vòng Bụng an Toàn
Cách Giảm Vòng Bụng an ToànCách Giảm Vòng Bụng an Toàn
Cách Giảm Vòng Bụng an Toànstacy704
 
Zagrozenia XXI-1b
Zagrozenia XXI-1bZagrozenia XXI-1b
Zagrozenia XXI-1bTeresa
 
Zagrozenia XXI w
Zagrozenia XXI wZagrozenia XXI w
Zagrozenia XXI wTeresa
 
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54โปรโมชั่นทูยู
 
Dia da água dr. arthur versão p publicação
Dia da água   dr. arthur versão p publicaçãoDia da água   dr. arthur versão p publicação
Dia da água dr. arthur versão p publicaçãoMaike Zaniolo
 
Unidad iii.comprension inferencial de la lectura.
Unidad iii.comprension inferencial de la lectura.Unidad iii.comprension inferencial de la lectura.
Unidad iii.comprension inferencial de la lectura.0802690537
 
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54โปรโมชั่นทูยู
 
Фестиваль Науки на факультете «Налоги и налогообложение»
Фестиваль Науки на факультете «Налоги и налогообложение» Фестиваль Науки на факультете «Налоги и налогообложение»
Фестиваль Науки на факультете «Налоги и налогообложение» srsufrf
 
Fubi presentation
Fubi presentationFubi presentation
Fubi presentationsrsufrf
 

Viewers also liked (20)

Apostila 02
Apostila 02Apostila 02
Apostila 02
 
Apostila 05
Apostila 05Apostila 05
Apostila 05
 
Haiti struggles on
Haiti struggles onHaiti struggles on
Haiti struggles on
 
Cách Giảm Vòng Bụng an Toàn
Cách Giảm Vòng Bụng an ToànCách Giảm Vòng Bụng an Toàn
Cách Giảm Vòng Bụng an Toàn
 
Rosario Natoli - Italie
Rosario Natoli - ItalieRosario Natoli - Italie
Rosario Natoli - Italie
 
V
VV
V
 
Zagrozenia XXI-1b
Zagrozenia XXI-1bZagrozenia XXI-1b
Zagrozenia XXI-1b
 
Zagrozenia XXI w
Zagrozenia XXI wZagrozenia XXI w
Zagrozenia XXI w
 
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54
โบรชัวโปรโมชั่นร์ Big c extra พระราม4 วันที่ 26สค.-8กย.54
 
Dia da água dr. arthur versão p publicação
Dia da água   dr. arthur versão p publicaçãoDia da água   dr. arthur versão p publicação
Dia da água dr. arthur versão p publicação
 
Unidad iii.comprension inferencial de la lectura.
Unidad iii.comprension inferencial de la lectura.Unidad iii.comprension inferencial de la lectura.
Unidad iii.comprension inferencial de la lectura.
 
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54
โบรชัวร์โปรโมชั่น Tesco lotus ตลาด รายปักษ์ 30สค.-4กย.54
 
Фестиваль Науки на факультете «Налоги и налогообложение»
Фестиваль Науки на факультете «Налоги и налогообложение» Фестиваль Науки на факультете «Налоги и налогообложение»
Фестиваль Науки на факультете «Налоги и налогообложение»
 
Apostila 08
Apostila 08Apostila 08
Apostila 08
 
HP max กันยายน 53
HP max กันยายน 53HP max กันยายน 53
HP max กันยายน 53
 
Apostila 09
Apostila 09Apostila 09
Apostila 09
 
Fubi presentation
Fubi presentationFubi presentation
Fubi presentation
 
Freshmart 13-15-aug
Freshmart 13-15-augFreshmart 13-15-aug
Freshmart 13-15-aug
 
54 athletes
54 athletes54 athletes
54 athletes
 
WKO Energieapplicatie
WKO EnergieapplicatieWKO Energieapplicatie
WKO Energieapplicatie
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20100926 ontology konev_lecture03

  • 1. Алгоритм логического анализа Полиномиальный алгоритм, разрешающий C ⊑T D Онтологии и представление знаний, 2010 1
  • 2. Алгоритм логического анализа Полиномиальный алгоритм, разрешающий C ⊑T D Алгоритм решает для данных имен концептов AиB верно ли A ⊑T B . Онтологии и представление знаний, 2010 1
  • 3. Алгоритм логического анализа Полиномиальный алгоритм, разрешающий C ⊑T D Алгоритм решает для данных имен концептов AиB верно ли A ⊑T B . Этого достаточно • C ⊑T D • A ⊑T ′ B , где A и B не входят в C , D, T и TBox T ′ = T ∪ {A ≡ C, B ≡ D} Онтологии и представление знаний, 2010 1
  • 4. Нормальная форма EL-TBox находится в нормальной форме если он состоит только из импликаций вида (sform) A ⊑ B; (cform) A1 ⊓ A2 ⊑ B ; имена концептов; (rform) A ⊑ ∃r.B ; (lform) ∃r.A ⊑ B . где A A 1 , A2 , и B — имена концептов Онтологии и представление знаний, 2010 2
  • 5. Нормальная форма EL-TBox находится в нормальной форме если он состоит только из импликаций вида (sform) A ⊑ B; (cform) A1 ⊓ A2 ⊑ B ; имена концептов; (rform) A ⊑ ∃r.B ; (lform) ∃r.A ⊑ B . где A A 1 , A2 , и B — имена концептов Произвольный EL-Box T может быть приведен к нормальной форме за полиномиальное время так, что для всех имен концептов A, B из T: A ⊑T B ⇔ A ⊑T ′ B. Онтологии и представление знаний, 2010 2
  • 6. Лемма Определение. C[D/E] есть результат замены всех вхождений концепта D в C на E hasPart.(Arm ⊓ Leg)[Arm ⊓ Leg/Tail ⊓ H_Leg] = hasPart.(Tail ⊓ H_Leg), hasPart.(Arm ⊓ Leg)[Arm/Tail] = hasPart.(Tail ⊓ Leg) Лемма. α = C ⊑ D ∈ T, T — TBox. Для • T ′ = T α ∪ {C[E/X] ⊑ D, E ⊑ X} и • T ′ = T α ∪ {C ⊑ D[E/X], X ⊑ E}, где X — новое имя концепта, и всех имен концептовA, B из T: A ⊑T B ⇔ A ⊑T ′ B. Онтологии и представление знаний, 2010 3
  • 7. Приведение к нормальной форме Применять следующие правила пока возможно • заменить C1 ≡ C2 на C1 ⊑ C2 и C2 ⊑ C1 ; • заменить C ⊑ C1 ⊓ C2 на C ⊑ C1 и C ⊑ C2 ; • если ∃r.C входит в T и C сложный концепт, заменить все вхождения C на новое имя XC и добавить XC ⊑ C и C ⊑ XC к TBox. • Если A1 ⊓ · · · ⊓ An ⊓ ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ C входит в T , заменить на A 1 ⊓ · · · ⊓ An ⊓ X ⊑ C и ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ X гда X — новое имя концепта. • если ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ ∃r.B входит в T , заменить на ∃r1 .B1 ⊓ · · · ⊓ ∃rm.Bm ⊑ X и X ⊑ ∃r.B где X — новое имя концепта. Онтологии и представление знаний, 2010 4
  • 8. Пример T: A0 ⊑ B ⊓ ∃r.B ′ A1 ⊓ ∃r.B ⊑ A2 A0 ⊑ B Шаг 1 A0 ⊑ ∃r.B ′ A1 ⊓ ∃r.B ⊑ A2 A0 ⊑ B Шаг 2 A0 ⊑ ∃r.B ′ A1 ⊓ X ⊑ A2 ∃r.B ⊑ X Онтологии и представление знаний, 2010 5
  • 9. MED в нормальной форме Pericardium ⊑ Tissue Pericardium ⊑ Y Pericarditis ⊑ Inflammation Pericarditis ⊑ ∃has_loc.Pericardium Inflammation ⊑ Disease Inflammation ⊑ ∃acts_on.Tissue Disease ⊓ X ⊑ Heartdisease Disease ⊓ X ⊑ NeedsTreatment ∃has_loc.Y ⊑ X ∃cont_in.Heart ⊑ Y Y ⊑ ∃cont_in.Heart Онтологии и представление знаний, 2010 6
  • 10. Идея алгоритма разрешающегоA ⊑T B По данному T в нормальной форме, строим функции • S отображает каждое имя концепта A, входящее в T , в множество имен концептов; • R отображает каждое имя роли r, входящее в T, в множество пар (B1 , B2 ) имен концептов. A ⊑T B т. и т.т., когда B ∈ S(A). Интуитивно, строится интерпретация I с • ∆I — множество имен концептов в T. • AI множество всех B таких что A ∈ S(B); • rI множество всех (A, B) ∈ R(r). I является моделью T и A ⊑T B т. и т.т., когда A ∈ BI. Онтологии и представление знаний, 2010 7
  • 11. Алгоритм Input: T в нормальной форме. Инициализировать: S(A) = {A, ⊤} и R(r) = ∅ для всех A и r в T. Применять следующие правила пока это возможно: (simpleR) If A′ ∈ S(A) and A′ ⊑ B ∈ T and B ̸∈ S(A), then S(A) := S(A) ∪ {B}. (conjR) If A1 , A2 ∈ S(A) and A1 ⊓ A2 ⊑ B ∈ T and B ̸∈ S(A), then S(A) := S(A) ∪ {B}. (rightR) If A′ ∈ S(A) and A′ ⊑ ∃r.B ∈ T and (A, B) ̸∈ R(r), then R(r) := R(r) ∪ {(A, B)}. (leftR) If (A, B) ∈ R(r) and B ′ ∈ S(B) and ∃r.B ′ ⊑ A′ ∈ T and A′ ̸∈ S(A), then S(A) := S(A) ∪ {A′}. Онтологии и представление знаний, 2010 8
  • 12. Пример (1) A0 ⊑ ∃r.B (2) B ⊑ E (3) ∃r.E ⊑ A1 Initialise: S(A0 ) = {A0 }, S(A1 ) = {A1 }, S(B) = {B}, S(E) = {E}, R(r) = ∅. • (rightR) и (1): R(r) = {(A0 , B)}; • (simpleR) и (2): S(B) = {B, E}; • (leftR) и (3): S(A0 ) = {A0 , A1 }; • Дальше правила не применяются R(r) = {(A0 , B)}, S(B) = {B, E}, S(A0 ) = {A0 , A1 }. Т.о., Следовательно, A0 ⊑T A1 . Онтологии и представление знаний, 2010 9
  • 13. Фрагмент MED Pericardium (Pm) ⊑ Y Pericarditis (Ps) ⊑ Inflammation (Inf) Ps ⊑ ∃has_loc.Pm Inf ⊑ Disease (Dis) Disease ⊓ X ⊑ NeedsTreatment ∃has_loc.Y ⊑ X Неполная трасса алгоритма (показывающая, что Ps ⊑MED NeedsTreatment): • (simpleR): S(Pm) = {Y, Pm}, S(Ps) = {Inf, Ps, Dis}; • (rightR): R(has_loc) = {(Ps, Pm)}, • (leftR): S(Ps) = {Inf, Ps, Dis, X} • (conjR): S(Ps) = {Inf, Ps, Dis, X, NeedsTreatment} Онтологии и представление знаний, 2010 10
  • 14. Время работы На каждом шаге алгоритм добавляет хотя бы одно имя концепта в какой-то S(C) или пару имен концептов в какой-то R(r). =⇒ Останавливается за полиномиальное время. Онтологии и представление знаний, 2010 11
  • 15. Корректность алгоритма T в нормальной форме, S , R — выход алгоритма. Теорема. Для всех имен концептов A, B в T: если B ∈ S(A), то A ⊑T B . S0 , S1 , . . . и R0 , R1 , . . . отображения, построенные на i-той итерации алгоритма. Для всех i, произвольной интерпретации I : I |= T и любого x ∈ AI • Если B ∈ Si(A), то x ∈ B I • Если (A, B) ∈ Ri(r), то существует y ∈ ∆I т.ч. (x, y) ∈ r I и y ∈ BI Онтологии и представление знаний, 2010 12
  • 16. Доказательство корректности (на доске) • Если B ∈ Si(A), то x ∈ B I • Если (A, B) ∈ Ri(r), то существует y ∈ ∆I т.ч. (x, y) ∈ r I и y ∈ BI (simpleR) If A′ ∈ S(A) and A′ ⊑ B ∈ T and B ̸∈ S(A), then S(A) := S(A) ∪ {B}. (conjR) If A1 , A2 ∈ S(A) and A1 ⊓ A2 ⊑ B ∈ T and B ̸∈ S(A), then S(A) := S(A) ∪ {B}. (rightR) If A′ ∈ S(A) and A′ ⊑ ∃r.B ∈ T and (A, B) ̸∈ R(r), then R(r) := R(r) ∪ {(A, B)}. (leftR) If (A, B) ∈ R(r) and B ′ ∈ S(B) and ∃r.B ′ ⊑ A′ ∈ T and A′ ̸∈ S(A), then S(A) := S(A) ∪ {A′}. Онтологии и представление знаний, 2010 13
  • 17. Полнота алгоритма T в нормальной форме, S , R — выход алгоритма. Теорема. Для всех имен концептов A, B в T: если A ⊑T B , то B ∈ S(A). Допустим это не так, B ∈ S(A). / Определим интерпретацию I • ∆I = {A | A ∈ CN (T )} • AI = {B | A ∈ S(B)}; • r I = {(A, B) ∈ R(r)}. Тогда • I ̸|= A ⊑ B • I выполняет T (Для любого имени концепта A из T и EL-концепта C : A ⊑T C ⇔ A ∈ C I .) Онтологии и представление знаний, 2010 14
  • 18. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) Онтологии и представление знаний, 2010 15
  • 19. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) • Только “позитивная”, детерминированная информация Онтологии и представление знаний, 2010 15
  • 20. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) • Только “позитивная”, детерминированная информация – Слоны бывают серыми. А розовые? Онтологии и представление знаний, 2010 15
  • 21. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) • Только “позитивная”, детерминированная информация – Слоны бывают серыми. А розовые? – Слоны только серые Онтологии и представление знаний, 2010 15
  • 22. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) • Только “позитивная”, детерминированная информация – Слоны бывают серыми. А розовые? – Слоны только серые – Самцы не могут быть самками Онтологии и представление знаний, 2010 15
  • 23. EL: основные положения • Простейшая дескрипционная логика неполный набор пропозициональных связок • Полиномиальный алгоритм логического анализа • Хорошо подходит для описания больших и очень больших терминологий – SNOMED CT – GO – NCI (почти) • Только “позитивная”, детерминированная информация – Слоны бывают серыми. А розовые? – Слоны только серые – Самцы не могут быть самками – Слоны делятся на индийских и африканских Онтологии и представление знаний, 2010 15
  • 24. Дескрипционная логика ALC : терминологическая часть База знаний (KB) TBox (терминология, схема) Система анализа Интерфейс Man ≡ Human ⊓ Male HappyFather ≡ Man ⊓ ∃hasChild ... ABox (assertion box, данные) john: Man (john, mary): hasChild ...