Universidade de Bras´ ılia Instituto de Ciˆncias Exatas e Departamento de Ciˆncia da Computa¸ao e c˜

Framework para Redes Bayesianas Multi-Entidades e Ontologias Probabil´ ısticas

Shou Matsumoto La´cio Lima dos Santos e

Monografia apresentada como requisito parcial para conclus˜o do Bacharelado em Ciˆncia da Computa¸˜o a e ca

Orientador Prof. Dr. Marcelo Ladeira

Co-orientador Dr. Paulo Cesar Guerreiro da Costa

Bras´ ılia 2008

Universidade de Bras´ – UnB ılia Instituto de Ciˆncias Exatas e Departamento de Ciˆncia da Computa¸˜o e ca Curso de Bacharelado em Ciˆncia da Computa¸ao e c˜

Coordenador: Guilherme Albuquerque Pinto

Banca examinadora composta por: Prof. Dr. Marcelo Ladeira (Orientador) – CIC/UNB Dr. Paulo Cesar Guerreiro da Costa – George Mason University Prof a Dr a C´lia Ghedini Ralha – CIC/UNB . . e ¯ ¯ Prof. Dr. Malthus Fonseca Galv˜o – Faculdade de Medicina/UNB a

CIP – Cataloga¸˜o Internacional na Publica¸˜o ca ca Shou Matsumoto. Framework para Redes Bayesianas Multi-Entidades e Ontologias Probabil´ ısticas/ La´cio Lima dos Santos, Shou Matsumoto. Bras´ : UnB, e ılia 2008. 139 p. : il. ; 29,5 cm. Monografia (Gradua¸ao) – Universidade de Bras´ c˜ ılia, Bras´ ılia, 2008. 1. MEBN, 2. PR-OWL, 3. Ontologias Probabil´ ısticas, 4. UnBBayes, 5. SSBN, 6. Redes Bayesianas, 7. Racioc´ ınio Probabil´ ıstico, 8. Web Semˆntica, 9. L´gica de Primeira Ordem a o CDU 004

Endere¸o: Universidade de Bras´ c ılia Campus Universit´rio Darcy Ribeiro – Asa Norte a CEP 70910–900 Bras´ – DF – Brasil ılia

Universidade de Bras´ ılia Instituto de Ciˆncias Exatas e Departamento de Ciˆncia da Computa¸ao e c˜

Framework para Redes Bayesianas Multi-Entidades e Ontologias Probabil´ ısticas

Shou Matsumoto La´cio Lima dos Santos e

Monografia apresentada como requisito parcial para conclus˜o do Bacharelado em Ciˆncia da Computa¸˜o a e ca

Prof. Dr. Marcelo Ladeira (Orientador) CIC/UNB Dr. Paulo Cesar Guerreiro da Costa (Co-orientador) George Mason University Prof. Dr. Malthus Fonseca Galv˜o Prof a Dr a C´lia Ghedini Ralha a . . e ¯ ¯ Faculdade de Medicina/UNB CIC/UNB Guilherme Albuquerque Pinto Coordenador do Bacharelado em Ciˆncia da Computa¸˜o e ca

Bras´ ılia, 24 de junho de 2008

Sem eles. por nos trazerem a este mundo sem desistˆncia nos momentos dif´ e ıceis. .Dedicat´ria o Dedicamos este trabalho aos nossos pais. certamente este documento n˜o veria a a luz do dia.

Marcelo Ladeira. pela grande disponibilidade que tem nos oferecido para esclarecimentos e apoios durante o projeto. sempre educando c˜ conscientemente os alunos. e e da Costa.Agradecimentos Agradecemos o Prof. Por fim. Agradecemos tamb´m o mestre Rommel Novaes Carvalho. Paulo C´sar G. e Todo nosso trabalho tem como base seu projeto de mestrado. sem ele nosso trabalho nem teria nascido. Dr. a . ıcio Gostar´ ıamos tamb´m de agradecer nosso Co-orientador. agradecemos a todos os amigos e familiares que certamente contribu´ ıram para a conclus˜o deste trabalho. Orientador Dr. formando cidad˜os respons´veis e preparados para a a o exerc´ profissional. Essa aten¸ao e o entusiasmo foram uma grande ajuda c˜ para o nosso trabalho. por nos orientar durante esse ponto crucial da longa jornada de gradua¸ao. portanto.

Resumo Trantando-se de formalismo h´ ıbrido. O presente trabalho tem como objetivo identificar e modelar novos exemplos de dom´ ınios de aplica¸ao. UnBBayes. redes bayesianas e l´gica de primeira oro dem em inteligˆncia artificial. a an´lise e otimiza¸ao de desema c˜ penho. tem e se mostrado pioneiro na implementa¸ao de editor gr´fico e m´quina de inferˆncia c˜ a a e sobre o referente formalismo. SSBN. uma extens˜o das redes bayesianas em que a l´gica a o de primeira ordem ´ integrada. a Palavras-chave: MEBN. formular direc˜ tivas para a modelagem de conhecimento representado em MEBN e avaliar a utiliza¸˜o do UnBBayes como ferramenta computacional de edi¸ao e inferˆncia. melhorias na compatibilidade c˜ com ontologias n˜o-probabil´ a ısticas e aprimoramentos na interface gr´fica. novos exemplos de dom´ ınios de aplica¸ao. em caso de necessic˜ c˜ dade. ınio e A pesquisa oferece importantes contribui¸˜es para o UnBBayes. L´gica de Primeira a o Ordem . Web Semˆntica. Ontologias Probabil´ ısticas. MEBN (Multi-Entity Bayesian Network ) s˜o redes e a bayesianas multi-entidades. entre as quais co se destacam a elabora¸ao e implementa¸ao de um novo algoritmo de gera¸ao de c˜ c˜ c˜ redes bayesianas de situa¸ao espec´ c˜ ıfica (SSBN). e A equipe de inteligˆncia artificial da UnB. com o framework UnBBayes. ca c˜ e realizando devidas altera¸oes e otimiza¸oes na ferramenta. poucos dom´ ınios de aplica¸˜o s˜o coca a nhecidos para o exerc´ ıcio da MEBN. Redes Bayesianas. Racioc´ Probabil´ ınio ıstico. No entanto. O dom´ ´ modelado em linguagem PR-OWL. PR-OWL.

Bayesian Networks. Semantic Web.Abstract Generally speaking about hibrid formalizations. SSBN. However. performance profiling and tuning. MEBN are Multy-Entity Bayesian Networks. This research has provided some important contributions for UnBBayes: creation of a brand-new Situation Specific Bayesian Network (SSBN) generation algorithm. Probabilistic Ontologies. The knowledge domain model is written in PR-OWL. an extension of Bayesian Networks by adding First-Order Logic (FOL). Bayesian Networks. pioneer as MEBN graphical edition tool and reasoning engine. UnB’s artificial intelligence research group is proud to announce UnBBayes framework. and FirstOrder Logic application on artificial intelligence. Probabilistic Reasoning. not so many domains are known to be MEBN-worthy. This work gives a try to identify and model new knowledge-domains for MEBN usage. PR-OWL. and an improved user-friendly graphical interface. UnBBayes. and analize UnBBayes framework as a plausible tool for MEBN edition and reasoning. new samples of domains. Keywords: MEBN. formulate guidelines for MEBN modeling. First-Order Logic . bringing optimizations wherever needed. compatibility solutions for non-probabilistic ontologies.

Sum´rio a
Lista de Figuras Cap´ ıtulo 1 Introdu¸˜o ca Cap´ ıtulo 2 Base te´rica o 2.1 Redes Bayesianas (BN) . . . . . . . . . . . . . . . . . . . . . 2.2 L´gica de Primeira Ordem (FOL) . . . . . . . . . . . . . . . . o 2.3 Web Semˆntica e Ontologias . . . . . . . . . . . . . . . . . . . a 2.3.1 O que ´ ontologia . . . . . . . . . . . . . . . . . . . . . e 2.3.2 A Linguagem OWL - Web Onthology Language . . . . 2.4 A necessidade de tratamento de incertezas em ontologias . . . 2.4.1 Justificativa da abordagem probabil´ ıstica em ontologias Cap´ ıtulo 3 Estado da arte 3.1 MEBN - Redes Bayesianas Multi-Entidade 3.2 MFrags . . . . . . . . . . . . . . . . . . . . 3.3 Recursividade em MEBN . . . . . . . . . . 3.4 MTheories . . . . . . . . . . . . . . . . . . 3.5 Uma ontologia probabil´ ıstica - PR-OWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 13 16 16 21 24 25 26 27 30 33 33 34 36 37 39 45 46 47 48 49 58 58 59 61 63 65 65 67 67 69 71

Cap´ ıtulo 4 Arquitetura geral do UnBBayes 4.1 Vis˜o arquitetural do UnBBayes . . . . . . . . . . . . . . . . . a 4.1.1 Diagramas de influˆncia e redes bayesianas . . . . . . . e 4.1.2 Redes bayesianas m´ltipla-seccionadas . . . . . . . . . u 4.1.3 Modelagem geral da vers˜o inicial do UnBBayes-MEBN a

Cap´ ıtulo 5 Implementa¸˜o do UnBBayes-MEBN ca 5.1 Interface Gr´fica . . . . . . . . . . . . . . . . . . . . . . . . . . a 5.1.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Painel Principal . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 Edi¸ao de MFrags e de seus elementos . . . . . . . . . . c˜ 5.1.4 Edi¸ao de entidades e findings . . . . . . . . . . . . . . . c˜ 5.1.5 Questionamentos e gera¸ao de SSBN . . . . . . . . . . . c˜ 5.2 L´gica de primeira ordem utilizando PowerLoom . . . . . . . . . o 5.2.1 O PowerLoom . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 L´gica de Primeira Ordem no PowerLoom . . . . . . . . o 5.2.3 Uso do PowerLoom para a avalia¸ao dos n´s de contexto c˜ o

5.3

Entrada e Sa´ no UnBBayes . . . . . ıda 5.3.1 O Prot´g´ . . . . . . . . . . . . e e 5.3.2 Arquivo UBF - UnBBayes File 5.3.3 Implementa¸ao no UnBBayes . c˜

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

75 75 78 80 83 83 85 86 87 90 90 92 93 94 94 99 99 107 108 109 110 111 111 112

Cap´ ıtulo 6 SSBN - Algoritmos de gera¸˜o ca 6.1 Bottom-Up SSBN Generation . . . . . . 6.2 Novo algoritmo de gera¸˜o de SSBN . . . ca 6.2.1 Modelagem das classes envolvidas 6.2.2 Descri¸ao do algoritmo . . . . . . c˜

. . . . . . . . . . . . . . . . no algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Cap´ ıtulo 7 An´lise de qualidade e manuten¸˜o a ca 7.1 Profiling e Tuning . . . . . . . . . . . . . . . . 7.2 Manutenibilidade . . . . . . . . . . . . . . . . 7.2.1 Simplicidade estrutural . . . . . . . . . 7.3 Outras altera¸oes importantes . . . . . . . . . c˜ 7.3.1 Compatibilidade OWL - PR-OWL . .

Cap´ ıtulo 8 Ontologias - StarTrek e PizzaVinho 8.1 Ontologia StarTrek . . . . . . . . . . . . . . . . . . . 8.2 Ontologia Pizza e Vinho . . . . . . . . . . . . . . . . 8.2.1 MFrag Pizza . . . . . . . . . . . . . . . . . . 8.2.2 MFrag Served Together . . . . . . . . . . . . 8.2.3 MFrag Topped By . . . . . . . . . . . . . . . . 8.2.4 MFrag Wine . . . . . . . . . . . . . . . . . . . 8.2.5 Algumas considera¸˜es . . . . . . . . . . . . . co 8.3 Processo de modelagem de ontologias probabil´ ısticas Cap´ ıtulo 9 Projeto de identifica¸˜o humana baseada ca probabil´ ıstico 9.1 Membros da equipe de pesquisa . . . . . . . . . . . 9.2 Descri¸ao do projeto . . . . . . . . . . . . . . . . . c˜ 9.2.1 Objetivo principal . . . . . . . . . . . . . . . 9.2.2 Hip´tese . . . . . . . . . . . . . . . . . . . . o 9.2.3 Material e m´todo . . . . . . . . . . . . . . e 9.2.4 Responsabilidades . . . . . . . . . . . . . . . 9.2.5 Da publicidade dos resultados . . . . . . . . 9.3 An´lise dos resultados . . . . . . . . . . . . . . . . a 9.3.1 Passos gerais para modelagem do dom´ ınio . 9.4 Modelagem do dom´ ınio no UnBBayes . . . . . . . . 9.4.1 Metodologia de modelagem no UnBBayes . . 9.4.2 Ajuste de dados . . . . . . . . . . . . . . . . 9.4.3 Resultado da modelagem . . . . . . . . . . . 9.5 Met´fora UnBBayes . . . . . . . . . . . . . . . . . . a 9.5.1 Arquitetura da met´fora . . . . . . . . . . . a

em racioc´ ınio 114 . . . . . . . . 115 . . . . . . . . 115 . . . . . . . . 116 . . . . . . . . 116 . . . . . . . . 117 . . . . . . . . 118 . . . . . . . . 118 . . . . . . . . 118 . . . . . . . . 118 . . . . . . . . 121 . . . . . . . . 121 . . . . . . . . 123 . . . . . . . . 123 . . . . . . . . 124 . . . . . . . . 125

9

Cap´ ıtulo 10 Conclus˜o a 129 10.1 Trabalhos futuros ou correlatos . . . . . . . . . . . . . . . . . . . 129 Referˆncias e Apˆndice A Exemplos de c´digo em OWL e o 131 134

Apˆndice B Elementos da PR-OWL e 135 B.1 Listagem das classes definidas na PR-OWL . . . . . . . . . . . . . 135 B.2 Listagem das propriedades definidas na PR-OWL . . . . . . . . . 137

10

. . . . . . . . . . . parte 1 parte 2 . . . . . . . . . .5 4. . . . com recurs˜o . . . . .5 5. . . . . . o MFrag Starship Data. . . . . . . . . . . . . .1 2. . Um MFrag recursivo [15] . Modelagem do uso do PowerLoom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 2. . .8 5. . . . . . ca Painel de edi¸˜o do n´ de input . . . .1 4. Principais conceitos da PR-OWL [17] . . . . . . . . . . . . . . . . . . . . . . . . Um subdom´ ınio do StarTrek para ilustrar problemas na BN para o caso de uma espa¸onave. . . . . . . . .12 5. . . . . . .3 3. . . . . . . . . . . . . . . . . . . . . Modelagem de classes para MTheory . . . . . . . . . . . . . . . .3 2. . . . . .1 3. . . . . . . . .3 4. . BN[28]. . .2 4. .9 5. . . . . .13 Arquitetura da GUI . . . . . . . . . . . . c˜ Edi¸ao de evidˆncias . .9 Figura exemplo de Rede bayesiana [12] . . . c˜ e a 5. . .2 3. . . . . . c˜ Janela de edi¸˜o da CPT . Exibi¸ao do MFrag ativo .Lista de Figuras 2. . . . . . . . . . . . . . . . . . . . . . c˜ .6 4. .11 5. . . . . . . . . . . . c˜ Conjunto de MFrags que formam uma MTheory [15] . . . . . . . . . . Diagrama de sequˆncia de cria¸ao dos objetos da GUI e c˜ Diagrama de sequˆncia de cria¸ao dos objetos da GUI e c˜ Componentes do Painel Principal do UnBBayes . . . . . . . . . . Modelagem de classes para MFrag. . . . . . . . . ca o Edi¸ao da f´rmula do n´ de contexto . . . . . . Modelagem de classes para MSBN. . . . . . . . . . . . . . . . . . .3 5. . . . . . . . . . . Elementos de uma ontologia probabil´ ıstica PR-OWL [17] Logotipo do UnBBayes. . Modelagem de classes para os n´s de uma MEBN. . . . . . .4 3. . . . . . . . . . .2 5. . . . . . . . . . . . . . . . . . .6 4.4 5. c˜ e Painel da rede compilada . . . . . . . . . o . . . . Modelagem de uma situa¸ao recursiva . . . . . . . . . . . . . . . . . . . . . .6 5. . . .10 5. . .10 Organiza¸ao das colunas e c´lulas da tabela tempor´ria. . . c a Ilustra¸ao da tripla forma-conceito-referente. . . . . . . . . . . . . . . . .4 3. . . . . . . . . . . . . .1 5. . . . . . .4 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .7 4. .7 5. .5 3. . . . . . . Modelagem de classes do compilador do pseudo-c´digo. . . Modelagem de classes para BN e ID. . . . . . . . . . . .8 4. . . . . . . . . . . o 4. . . . . . . . . . . . c˜ o o Edi¸ao de entidades . . . . 17 19 20 26 34 41 42 43 44 44 45 47 49 50 51 52 54 55 56 57 59 60 61 62 63 64 64 65 66 66 67 71 74 Figura exemplo de MFrag . . . . o Diagrama de classes da tabela tempor´ria do compilador de pseudoa c´digo do UnBBayes-MEBN. . . . . . . . N´s de contexto da MFrag Starship. . . . .

. o Seq¨ˆncia de armazenamento de arquivos PR-OWL mantendo OWLue Model em mem´ria. . . . . . . . . . . . . . . . . . . MFrag SRData . . . . . . . c˜ o c˜ Diagramas de classe da compatibilidade OWL . .2 8. . . . . . . . . . . . . . . . .11 8. MFrag Zone . . . .7 SSBN gerada para HarmPotential(ST4. . . . . . . . .14 Tela de edi¸˜o de classes/indiv´ ca ıduos no Prot´g´. . ca Entrada de evidˆncias pela met´fora. . . . .1 6. . . . . . . . . . E poss´ analisar seq¨ˆncia de execu¸˜o ıvel ue ca e gerar diagramas UML de seq¨ˆncia. . . . . . . . .4 7. . . . . . . . . . . . . . . . .14 8.15 Modelagem de IO de MEBN . . .6 9. . . .7 8. . . . . . . . . . . MFrag DangerToSelf .3 8. . . . . . . . . . . MFrag Topped By . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SSBN gerada para HarmPotential(ST4. . . . MFrag StarshipData . . e a Tela de laudo da met´fora.15 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 8.13 8. . . . . 6. . . . . . . . . ..3 6. . . . . . . . . . .1 9. . .3 9. . . . . . . . . . . . . . . . . . . . . . . . . . . . ue Seq¨ˆncia de execu¸˜o de queries. . . . . . . . . . . . .5 7. . . . . . . Classes utilizadas na gera¸ao do SSBN . . . . . . . . . . MFrag Wine . . . . . .1 8. . . . . . . MFrag Wine com recursividade . . . . . . . . . . . . . . . . . . . . .12 8. . . . a BN de identifica¸˜o humana . . . . . . . . . c˜ Classe SSBNNode e classes relacionadas . . . . . . . . . . . . T3 ) utilizando o novo algoritmo . . c˜ Laudo de tempo base de execu¸ao ap´s a otimiza¸ao. . . . e e 5. . . . . . . . . . . MFrag SRData . . . . . . . . . . . . . . .4 8. . . . . MFrag Served Together . . . . . . . . . . . . . o MTheory para o dom´ ınio StarTrek . . . . . . . . . . . . . . . . . . . . . . . . . mantendo o OWLue Model em mem´ria. . . MFrag SensorReport . . . . .6 7.2 6. . . . .7 8. . . .5. . MFrag Pizza . . . . . . . . . . . . . . . . . .5 8. . . . . . . ´ Tela de profiling do TPTP. evidˆncias. Formul´rio para coleta de dados . . . . . . . . . . . . . . . . . . . . . . . . . MFrag SRData . e . . . . .3 7. . . . . . . . . . . . . . . . . . . . . Seq¨ˆncia de carregamento de arquivo PR-OWL. . . . . . . . . . . . . . . . . .5 9. propaga¸ao de ue ca c˜ . . . . . . . extra´ a ıda de [18] .PR-OWL . . . . . . . . . . .6 8. . . . .8 8. . . . . . . . . . . . . . . . .4 7. . . Uma sugest˜o de MTheory para a ontologia Pizza e Vinho. . . . . . . . . . . . . . . . . . . . . . . .9 8. . . . . . . . . . . . . . . . .2 9. . . T3) utilizando o BottomUp . . .4 9. . . . . . . a Diagrama de classes da met´fora. . . . . . . . .2 7. Laudo de tempo-base antes da otimiza¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 81 85 86 87 89 90 91 95 96 97 97 98 99 100 101 101 102 103 104 105 107 108 109 110 110 111 112 117 124 126 126 127 128 128 12 . . . . . . . . . . . . . . ue Tela de log (esquerda) e testes (direita) do TPTP. . . . . . . . . . . . . . . . . . . . MFrag DangerToOthers modelada no UnBBayes. . . . . .1 7. . . . . . . . . . . . . . . . . . . . . . . a Diagrama de seq¨ˆncia de abertura de BN. . . . . . . . . . . . . . . . . . .

modelam matematicamente algum dom´ e ınio de conhecimento. Entretanto. com esta crescente explora¸ao das utilidades do formalismo. mostrando que o seu uso n˜o era poss´ em diversas situa¸oes do a ıvel c˜ cotidiano. A MEBN ultrapassa as limita¸oes das redes c˜ 13 . de forma a permitir a modelagem de dom´ ınios mais complexos. c Abordagens com l´gica de primeira ordem oferecem um formalismo represeno tacional poderoso. Pode-se citar como exemplo as Redes Bayesianas Dinˆmicas (DBN) [21]. A Microsoft. cujo seu comportamento n˜o ´ determinado por completo. as redes bayesianas s˜o aplicadas para intera pola¸ao de dados espaciais para aquisi¸ao de conhecimentos [35]. a a Elas s˜o utilizadas em v´rias ´reas de aplica¸˜o. como vari´veis cujo estado depende do seu estado em um momento anterior. amplamente utilizadas na ´rea a de Inteligˆncia Artificial. necessitando a e assim do uso de algum tipo de racioc´ ınio probabil´ ıstico. torna-se necess´rio mecanismos a ca a a mais avan¸ados. a Tornou-se ent˜o necess´rio o desenvolvimento de novos mecanismos que pera a mitissem a modelagem e inferˆncia de cen´rios probabil´ e a ısticos mais complexos. Na NASA (National Aeroa a a ca nautics and Space Administration). utiliza-o para o assistente do Office [22]. Entretanto.Cap´ ıtulo 1 Introdu¸˜o ca As redes bayesianas (Bayesian Network . por´m n˜o possui suporte natural ao racioc´ com incertezas. a que permitem repeti¸˜es de n´s no tempo. como uma solu¸ao para o problema co o c˜ da recursividade. Esta falha surge principalmente pela impossibilidade de se representar situa¸oes cujo n´mero de vari´veis aleat´rias envolvidas ´ desconhecido. S˜o bastante uteis para a ´ modelar rela¸oes de causa e efeito. para a representa¸˜o de situa¸oes mais gerais de ca c˜ recurs˜o e varia¸˜o na quantidade de vari´veis. e a ınio A MEBN (Multi-Entities Bayesian Networks) ´ um formalismo que unifica redes e bayesianas ` l´gica de primeira ordem. possibilitando assim a cria¸ao de modelos comc˜ c˜ putacionais voltados ` decis˜o.BN ). permitindo uma representa¸˜o mais coma o ca pleta de dom´ ınios com incertezas. Isso c˜ u a o e pode se tornar claro quando se precisa representar dom´ ınios com recursividade. c˜ c˜ por sua vez. Muitas pesquisas foram realizadas com o intuito de estender o poder expressivo das redes bayesianas. as limita¸˜es foram se tornando c˜ co mais claras.

2 1 14 . O novo m´dulo. sendo o m´dulo de MEBN uma funcionalidade nova. documenta¸˜o de procedimentos para modelagem de ontologias em ca MEBN/PR-OWL2 e ajuste do UnBBayes-MEBN para a avalia¸ao de sua viabilic˜ dade nos dom´ ınios identificados. acompanhadas por suas resca e O MEBN pode ser entendido como um template para gera¸˜o de SSBN ca A presente pesquisa aborda dois caminhos diferentes de modelagem: modelagem guiada a dados (projeto IDENTIFICACAO HUMANA) e modelagem guiada ` observa¸˜o do especialista ¸˜ a ca (ontologia pizza e vinho).bayesianas normais ao utilizar o conceito de entidades. Para a implementa¸ao de tal ferramenta. foi utilizado o framework UnBBayes [9] c˜ como base. verifica¸˜o de consistˆncia ca e semˆntica-estrutural e gera¸ao de SSBN para realiza¸ao de inferˆncias. 2. As atividades associadas ` a Inicia¸˜o Cient´ ca ıfica. ofertadas pelo orientador Marcelo Ladeira. Infelizmente. Para minimizar os riscos inerentes ` grande a complexidade da pesquisa. Efetivou-se a matr´ ıcula nas disciplinas “Estudos em Inteligˆncia Artifie cial”. elabora¸ao a c˜ formal de documentos e defesa de teses. “Estudos em Sistemas de Computa¸˜o”. sob a orienta¸ao do Prof. a c˜ Ladeira. Como a c˜ c˜ e uma SSBN se comporta ` semelhan¸a de uma rede bayesiana convencional. podea c se utilizar algoritmos convencionais de manipula¸ao de redes bayesianas para o c˜ 1 seu posterior tratamento . montando redes bayesianas espec´ ıficas para cada situa¸˜o (Situation Specific Bayesian Network . submeteu-se dois pleitos de apoio na forma de Inicia¸˜o Cient´ ca ıfica (Projeto de Inicia¸˜o Cient´ ca ıfica . como a elabora¸˜o de relat´rios e apresenta¸ao em conca o c˜ gressos. A cria¸ao da primeira ferramenta computacional para a edi¸ao. estendendo-o para o suporte ` MEBN. persistˆncia dos modelos gerados c˜ a e como uma ontologia em linguagem PR-OWL [14]. promovendo tamb´m aprimoramentos no deseme penho e usabilidade da ferramenta. ofereceram uma maturidade para a pesquisa sistem´tica. Os principais instrumentos de acompanhamento foram as reuni˜es semanais e a o elabora¸˜o semestral de monografias pr´vias. para auxiliar no acompanhamento detalhado do progresso do trabalho. que s˜o instanciadas de a acordo com a necessidade. A tarefa de implementa¸˜o do formalismo de MEBN no UnBBayes foi o ca objeto de pesquisa de mestrado (em Inform´tica). testes mais o aprofundados em dom´ ınios mais real´ ısticos tornaram-se uma exigˆncia. “Estudos em Sistemas de ca Informa¸˜o” e “Trabalho de Gradua¸ao / Trabalho de Gradua¸ao 2” da ca c˜ c˜ Universidade de Bras´ ılia. O tema e central deste trabalho reside na identifica¸ao de novos dom´ c˜ ınios de aplica¸ao c˜ de MEBN. a seguinte metodologia foi aplicada aos alunos para o acompanhamento: 1. projeto no qual atuamos como programadores.PIC UNB).SSBN) do dom´ ca ınio modelado. permite a edi¸ao gr´fica de MEBN. inferˆncia e c˜ c˜ e verifica¸˜o de consistˆncia da MEBN foi tema do projeto de mestrado do mestre ca e Rommel Novaes Carvalho [10]. UnBBayesa o MEBN. do aluno Rommel Carvalho. Para auxiliar esse mestrando nessa tarefa.

15 . que introduz as bases te´ricas para a compreens˜o de conhecimentos o a modelados em MEBN e da implementa¸ao do UnBBayes. u O cap´ ıtulo 8 apresenta as ontologias-teste . A presente monografia ´ fruto de extens˜es seq¨enciais e o u das monografias pr´vias. iniciando com o cap´ ıtulo 2. Eventuais falhas e pedidos de novas funcionalidades tiveram seus registros na referida plataforma. ızes Os cap´ ıtulos seguintes relatam os resultados da pesquisa.StarTrek e PizzaEVinho . O gerenciamento do projeto UnBBayes est´ centralizado no s´ Sourcea ıtio forge (http://www. e 3. e a o O cap´ ıtulo 3 descreve o formalismo MEBN e a linguagem PR-OWL. l´gica de primeira ordem e ontologias.net).sourceforge.pectivas defesas. para o entendimento dos conceitos ra´ da pesquisa. Realizou-se a inclus˜o como membros a do projeto UnBBayes no Sourceforge para permitir remotamente o desenvolvimento em equipe do software. 4. Por fim. O cap´ ca ıtulo 7 descreve a an´lise de qualia dade e manutenibilidade feita com o objetivo de garantir a qualidade do software disponibilizado para o p´blico. o cap´ ıtulo 9 descreve o projeto Identifica¸˜o Huca mana Apoiada Em Ontologias e Inteligˆncia Artificial (Racioc´ e ınio Probabil´ ıstico). come¸ando com alguc˜ c mas id´ias b´sicas sobre redes bayesianas.modeladas para o exerc´ da ferramenta e realiza¸˜o dos procedimentos e t´cnicas ıcio ca e de modelagem MEBN. Os cap´ ıtulos 4 e 5 descrevem a arquitetura e implementa¸˜o do UnBBayes-MEBN. ministrado pelo mestrando Rommel Carvalho. ca O cap´ ıtulo 6 apresenta o novo algoritmo de gera¸ao de SSBN desenvolvido para c˜ corrigir erros da implementa¸˜o anterior. uma colabora¸ao do Grupo de Inteligˆncia Artificial da UnB (GIA) com a Fac˜ e culdade de Medicina/Medicina Legal da UnB e ilustra as principais dificuldades encontradas em uma modelagem de um dom´ ınio real. Efetivou-se a participa¸ao em um mini-curso com 10 horas de dura¸ao sobre c˜ c˜ MEBN.

suponhamos que se queira determinar se a fam´ est´ em casa ılia a ou se ela saiu. de e ıda vari´veis aleat´rias (tamb´m chamadas de n´s da rede). Cachorro passando mal Fam´ Saiu ılia Verdadeiro Verdadeiro Verdadeiro Falso Falso Verdadeiro Falso Falso Verdadeiro Falso 10% 90 % 20% 80% 70% 30% 90% 10% Tabela 2.1: Tabela de distribui¸ao de probabilidades para o n´ “Cachorro fora de c˜ o casa”.1.1 mostra a distribui¸˜o de probabilidades para o n´ “Cachorro fora de Casa” de acordo com ca o os valores dos pais. arcos direcionados da a o e o vari´vel pai para a vari´vel filha e uma tabela de probabilidades condicionais ou a a Condition Probability Table(CPT)) associada a cada vari´vel [26]. Conceitos referentes `s redes bayesianas. Como estamos trabalhando com incertezas.Cap´ ıtulo 2 Base te´rica o Este cap´ ıtulo far´ uma introdu¸˜o te´rica aos conceitos necess´rios para a a ca o a compreen¸˜o do estado da arte. o conhecimento dos valores dessas 16 . l´gica ca a o de primeira ordem. Pelo grafo. mostra um exemplo de rede bayesiana. a a 2.DAG) que representa uma fun¸ao de distribui¸˜o de probabilidades conjunta de vari´veis c˜ ca a que modelam certo dom´ ınio de conhecimento. podemos perceber que o fato da luz da varanda estar acesa e do cachorro estar fora de casa s˜o ind´ a ıcios de que a fam´ tenha sa´ ılia ıdo. Ela ´ constitu´ de um DAG. ontologias e web semˆntica ser˜o tratados aqui. a A Figura 2. Nesse exemplo. A Tabela 2.1 Redes Bayesianas (BN) Uma BN ´ um grafo ac´ e ıclico direcionado (Direct Acyclic Graphic .

maior ´ a probabilidade da fam´ ter sa´ e ılia ıdo. precisamos especificar apenas as rela¸oes das vari´veis diretaa c˜ a 1 Essa entrada de informa¸˜o conhecida ´ chamada de entrada de evidˆncias. ent˜o a do cachorro ılia ıdo e a estar fora de casa tamb´m ser´. se a a a probabilidade de uma vari´vel ´ alterada. dado que n˜o haja certeza se o cachorro est´ fora a a de casa. Uma das vantagens de se trabalhar com BN ´ o fato de n˜o ser necess´rio e a a especificar a distribui¸ao de probabilidades de todo o dom´ c˜ ınio. cujo valor j´ ´ conhecido1 . Conseq¨entemente. ae Assim. se sabemos com certeza que o cachorro n˜o est´ fora de casa (ou a a seja. ent˜o a vari´vel “Fam´ saiu” n˜o influenciar´ mais a vari´vel “Caa a ılia a a a chorro latindo”. Por outro lado. Quanto maior for a probabilia a e dade da luz da varanda estar acesa.1: Figura exemplo de Rede bayesiana [12] vari´veis n˜o ´ determinado. Isso ´ poss´ devido `s independˆncias condicionais. Para o exemplo anterior. pois esta ser´ influenciada diretamente pela vari´vel “Cachorro a a fora de casa”. probabilidade 1). As vari´veis n˜o conectadas por arcos s˜o ditas condicionalca a a a mente independentes. As Tabelas de Probabilidades Condicionais (Conditional Probability Tables . se a probabilidade da fam´ ter sa´ ´ alterada. a do cachorro estar latindo e a u tamb´m. Assim. a outra tamb´m ser´ alterada por causa a e e a dessa rela¸˜o direta. ca e e 17 . mas sim estimado. em vez de termos de especificar as rela¸oes de probabilidade entre c˜ todas as vari´veis. envolvendo todas as vari´veis. ent˜o a probabilidade da fam´ ter sa´ ´ diminu´ a ılia ıdo e ıda.CPT) podem ser constru´ ıdas por um especialista do dom´ ınio ou por regularidades estat´ ısticas. a e ıvel a e As vari´veis conectadas por arcos s˜o diretamente dependentes. caso tenhamos certeza de que o cachorro est´ fora de casa e e a (sabemos que a vari´vel “cachorro” fora de casa tenha 100% de chance de ser a verdadeira). Por´m.Figura 2.

apresentada em [15]. ca A modelagem apresentada na Figura 2. tornando a rede bayesiana uma representa¸ao bastante compacta.S. ele n˜o tem a capacidade de modelar corretamente a a incerteza de quantidade de condicionantes (incerteza sobre quantos pais um determinado n´ possui . ´ baseada na s´rie de televis˜o homˆnima e e a o que mostra as diversas miss˜es de explora¸˜o do espa¸o inter-estelar da nave o ca c U.. entre outros. o GIA pesquisa a aplica¸ao de modelos de inc˜ ferˆncia bayesiana na web. ´ E poss´ calcular a distribui¸ao de probabilidade conjunta atrav´s da f´rmula ıvel c˜ e o abaixo: P (x1 . exames o e patol´gicos. Todas as outras espa¸onaves s˜o considec a radas ou amigas ou neutras. troublesolver do Microsoft Word. ser´ utilizada uma parte do dom´ StarTrek[1].1. A nave ´ equipada com diversos sensores que oferecem ao e comandante as informa¸˜es necess´rias para navegar pelo espa¸o: informa¸oes co a c c˜ sobre o lugar (zona) onde ele se encontra. a Apesar dessas redes bayesianas convencionais serem uteis para a modelagem ´ de um dom´ ınio incerto. n˜o h´ como modelar recursividade de vari´veis aleat´rias a a a o (quando uma vari´vel condiciona a ela mesma direta ou indiretamente). Adicionalmente. Esta incapacidade surge c˜ principalmente pela impossibilidade de se representar situa¸˜es cujo n´mero de co u vari´veis aleat´rias envolvidas ´ desconhecido e da incapacidade de se representar a o e recurs˜o. controle de o c˜ spam. podemos citar: co diagn´sticos de defeitos em processadores (t´cnica utilizada pela Intel). . c˜ As redes bayesianas possuem diversas aplica¸˜es.S. ´ poss´ calcular a distribui¸ao de probabilidade cona e ıvel c˜ junta a partir de probabilidades condicionais locais. sobre as naves na adjacˆncia e os n´ e ıveis de perigo que elas trazem. entre outras (a ontologia StarTrek est´ descrita em a detalhes na Se¸˜o 8. as redes bayesianas carecem de uma expressividade forte o suficiente para representar diversas situa¸oes do mundo real. 18 .mente dependentes.2 modela como os sensores captam informa¸˜es para informar o comandante se h´ uma nave Romulana nas proximico a dades (os Romulanos s˜o inimigos da Federa¸ao Intergal´ctica) e qual o n´ de a c˜ a ıvel perigo que esta traz para a Enterprise.. u e Para exemplificar as deficiˆncias. aplica¸oes militares. xn ) = n i=1 P (xi |pais(xi )) Sendo P (xi |pais(xi )) a probabilidade de ocorrˆncia de xi condicionada `s e a vari´veis pais.isto deve estar pr´-determinado). Isso facilita o uso das redes bayesianas computacionalmente. como o o e grafo deve ser ac´ ıclico. Enterprise. e a ınio A ontologia StarTrek.. Entre elas. Portanto. e Entretanto. Inclusive. cujo o a n´mero de etapas que devem ser consideradas ´ indeterminado.

9 distribution Medium 13 10 32 30 10 10. como a exemplificada na Tabela 2. A Enterprise u e c possui um sensor de dist´rbio magn´tico. s˜o influenciadas por Zone Nature.2: Um subdom´ ınio do StarTrek para ilustrar problemas na BN[28]. Os outros n´s s˜o influenciados pelos n´s pais.2: Tabela de Probabilidade Condicional para Dist´rbio Magn´tico u e 19 . As naves Romulanas podem estar em Cloak Mode. por a o exemplo. causando um dist´rbio magn´tico (DM) no espa¸o.5 Tabela 2. No entanto. sendo esta influˆncia quantificada por e e uma tabela condicional de probabilidade (CPT).2. O grafo de influˆncias indica quais s˜o os n´s que influenciam as probabie a o lidades de uma vari´vel aleat´ria. estado que faz com que elas fiquem invis´ ıveis aos sensores da Enterprise. podendo ter sua distribui¸˜o o a e o ca de probabilidade diretamente. por´m ´ dif´ distinguir o DM causado u e e e ıcil pela nave inimiga do que j´ seria causado normalmente pela situa¸˜o na qual a a ca Enterprise se encontra. Cada vari´vel aleat´ria cont´m uma cole¸˜o de estados. o a o conforme mostra o grafo de dependˆncia. As probabilidades de Operator Species. ıvel o Zone nature Deep space Planetary Systems Black hole boundary Cloak mode True False True False True False Magnetic Low 80 85 20 25 5 6. uma nave em cloak mode produz uma enorme quantidade de energia. por exemplo.Figura 2.6 report High 7 5 48 45 85 82. pois h´ locais mais prop´ a ıcios para encontrar Romulanos. que se refere aos poss´ a ıveis tipos de lugares aonde a Enterprise pode se encontrar. O n´ Zone Nature ´ a o e ca o e o n´ raiz (n˜o ´ influenciado por nenhum outro n´). que especifica a probabilidade de cada estado do n´ para cada combina¸˜o o ca poss´ dos estados dos n´s pais. que outros.

3). Uma forma de confirmar a ocorrˆncia de tal nave ´ comparar e e as medi¸oes seguintes do sensor. a Enterprise esteja viajando pelo espa¸o profundo (Deep Space) e que o seu sensor indique que n˜o h´ nenhuma c a a nave nas proximidades. enquanto. impedindo a recurs˜o necess´ria para resolver problemas a a a a deste tipo. e e u De acordo com a CPT mostrada na Tabela 2. neste caso. e c˜ ca Figura 2. Suponha que em um momento T2 o sensor de dist´rbio u magn´tico reporte a ocorrˆncia de um alto dist´rbio. ser´ a necess´rio utilizar um novo modelo.2. em uma situa¸ao real n˜o se sabe a a c˜ a priori quantas naves v˜o se aproximar. Admita que apenas uma nave esteja c˜ nas proximidades da Enterprise em um determinado momento. Caso haja duas naves se aproximando simultaneamente. o n´mero de possibilidade ´ infinito). Suponha que em momento T1. por outro lado. tornando essa modelagem utilizando rea des bayesianas invi´vel. Ora.Esta modelagem simples funciona apenas quando houver no m´ximo uma nave a nas proximidades. ca Considere agora uma segunda situa¸ao. Ora. pois ´ natural que dist´rbios anormais de ambic˜ e u ente mostrem flutua¸oes randˆmicas. as redes a e bayesianas s˜o est´ticas. pois os dist´rbios podem ser dist´rbios e e a e u u anormais de fundo. as chances s˜o de 7/5 de que a um dist´rbio tenha sido causado por uma nave em cloak-mode na vizinhan¸a. esta ocorrˆncia n˜o ´ garantida. com recurs˜o c a 20 .3: BN para o caso de uma espa¸onave. pois seria necess´rio um modelo para cada n´mero de a a u espa¸onaves (note que. Esta ´ outra restri¸ao que imprede a continua¸˜o da modelagem. validando o modelo proposto. As redes c u e bayesianas carecem de poder expressivo para representar tipos de entidades que podem ser instanciadas tantas vezes quanto requeridas pela situa¸˜o. o estado do dist´rbio magn´tico a c c u e em um dado momento depender´ de seu estado pr´vio (Figura 2. u c Por´m. um dist´rbio cauc˜ o u sado por uma espa¸onave mostrar´ um padr˜o temporal caracter´ c a a ıstico: quando h´ uma espa¸onave em cloak mode na vizinhan¸a.

foi proposta a MEBN. c˜ e 2. sendo portanto uma representa¸˜o bastante limitada. Para a solu¸˜o desses problemas. formando express˜es legais. codificando os enunciados (vistos a c˜ como verdades l´gicas). vˆ o o e mundo como um conjunto de objetos. fornecendo um vocabul´rio espec´ a ıfico para cada dom´ ınio de aplica¸ao. que assume o mundo como uma composi¸˜o de fatos. a o 21 . o • A semˆntica caracteriza o significado das express˜es. c˜ • A sintaxe fornece regras que permitem combinar os s´ ımbolos. co para representar problemas complexos.2 L´gica de Primeira Ordem (FOL) o Desde a antiguidade o homem inventa formalismos para descrever o mundo de uma forma a eliminar as ambig¨idades da linguagem natural.Estes dois exemplos mostram dificuldades que um modelador poder´ enfrentar a ao tentar representar o mundo utilizando redes bayesianas convencionais. limitando o seu uso apenas a situa¸oes c˜ espec´ ıficas e simples. O mais famoso seria a l´gica proposio a o cional. por outro lado. O principal obu jetivo destas descri¸˜es ´ permitir mecanismos de inferˆncia para se obter novos co e e conhecimentos a partir de uma base formal de conhecimento. apesar de a a resolver problemas particulares. Ora. o • As regras de inferˆncia especificam caminhos pelos quais novas express˜es e o podem ser derivadas a partir de express˜es legais existentes. estes possuindo identidades individuais e propriedades que os distinguem de outros objetos. avaliar a legitimidade (validade) de argumentos e realiar o inferˆncias plaus´ e ıveis. A l´gica surgiu no o intuito de explicar as v´rias no¸oes da verdade. o vamos definir alguns conceitos comuns a todos os formalismos l´gicos: o • O vocabul´rio da l´gica ´ composto por s´ a o e ımbolos. Antes de entrar em detalhes nas caracter´ ısticas da l´gica de primeira ordem. sendo estes a sua ca unidade b´sica. ca uma abstra¸ao mais gen´rica sobre redes bayesianas. c˜ ca Uma l´gica com poder expressivo de primeira ordem. Os s´ a o ımbolos n˜o-l´gicos variam a o de linguagem para linguagem. Estas limita¸˜es impedem que redes bayesianas sejam utilizadas. Fatos s˜o verdades em algum mundo relevante. podendo estes serem s´ ımbolos l´gicos ou s´ o ımbolos n˜o-l´gicos. a l´gica proposicional falha por n˜o poder repreo a sentar generaliza¸oes. A l´gica possui v´rios formalismos. em sua forma pura.

. 1888. ue o c a e a A l´gica deve possuir fun¸oes de mapeamento que permitam transformar frao c˜ ses da linguagem natural em uma frase no formalismo l´gico e vice-versa. As o fun¸˜es de mapeamento.. u u 22 .. co a a c˜ A validade de um argumento independe da sua observa¸ao no mundo real. < P redicado > := Antes|T emCor|Chovendo|. independenteo mente. Seguem abaixo algumas descri¸oes: c˜ • S´ ımbolos Constantes: s˜o s´ a ımbolos que representam os objetos do dom´ ınio. ca < F ormula > := < F ormulaAtomica > | < F ormula >< Conectivo >< F ormula > | < Quantif icador >< V ariavel >. < V ariavel > := a|x|s| .• Uma teoria ´ um conjunto que engloba as senten¸as de uma linguagem e e c suas conseq¨ˆncias l´gicas. a defini¸ao dos elementos da a c˜ L´gica de Primeira Ordem (First Order Logic . Esta a rela¸˜o ´ chamada de rela¸˜o de conseq¨ˆncia. Maria.: A. n˜o s˜o fun¸oes um para um... Dec˜ pende somente das validades de suas premissas e a validade da conclus˜o.. . em formato BNF. definidas gra¸as ` existˆncia de uma semˆntica. no final do s´culo dezenove. . A interpreta¸˜o deve especificar qual ´ a entidade especificada. ca e ca ue A l´gica de primeira ordem foi inventada por Frege e Peirce. S˜o escritas ca e a iniciadas com letra mai´scula ou com um n´mero....FOL). Ex. ... < F uncao > := P aiDe|RaizQuadradaDe| .. e A gram´tica abaixo mostra.) | < T ermo >=< T ermo > < T ermo > := < F uncao > (< T ermo >. via de regra. < F ormula > |~< F ormula > |(< F ormula >) < F ormulaAtomica > := < P redicado > (< T ermo >..) | < Constante > | < V ariavel > V W < Conectivo > := → | | < Quantif icador > := ∀ | ∃ < Constante > := A|X|M aria| ... Esta ´ uma adapta¸˜o da o e ca defini¸˜o encontrada em [26].

Ex.• S´ ımbolos Predicados: refere-se a uma rela¸˜o particular no modelo (esca ´ definido por um conjunto de tuplas de pecificado pela interpreta¸˜o). co a uma constante ou uma fun¸ao. pois qualquer proposi¸ao segue de c c˜ uma contradi¸ao. Para aplicar a l´gica de primeira ordem. c˜ 23 . Pedro) Irm˜o(Maria. sendo estas ultimas termos complexos. • Quantificadores: s˜o utilizados para expressar propriedades de cole¸˜es de a co objetos.: ∀x (Gato(x) → Mam´ a ıfero(x)). ´ • Senten¸as Atˆmicas: representam fatos. Ex: a a ∃x(Irm˜(x. sem no entanto. como por exemplo PaiDe(Maria). • Termos: s˜o utilizados para se referir a entidades no dom´ a ınio. O conjunto de conseq¨ˆncias ser´ um subconjunto pr´prio de todas as senten¸as ue a o c sintaticamente corretas. ou senten¸as. a que pela interpreta¸ao significa que Eduardo e Pedro s˜o irm˜os. o a a Joana). podendo servir como argumentos para fun¸˜es e predicados. ou todas as senten¸as.Spot)) (Gato(x)) a • Igualdade: ´ utilizada para dizer que dois termos se referem ao mesmo e objeto. que ´ seu pai). nomear este. Pedro). • Senten¸as Complexas: s˜o constru´ c a ıdas a partir de senten¸as atˆmicas c o utilizando-se os s´ ımbolos l´gicos. A igualdade pode ser tratada como um predicado. Ex. Ex. E ca objetos que as satisfazem. Pedro). E formado por um predicado sec o guido por uma lista parentetizada de termos.: Pai(John) = Henry.: Pai (cada pessoa tem exatamente uma pessoa. que definam os fatos relevantes a respeito do dom´ c ınio. A FOL cont´m dois quantificadores padr˜es: o e o – Quantificador Universal ( ∀ ): ´ utilizado para especificar senten¸as que e c s˜o validas para todas os objetos. Juntamente com as conseq¨ˆncias dos axiomas. os c˜ ´ argumentos da fun¸˜o ser˜o dispostos em uma lista parentetizada de termos. Ex. – Quantificador Existencial ( ∃ ): ´ utilizado para especificar senten¸as e c que s˜o v´lidas para algum objeto.: Irm˜o(Eduardo.: Irm˜o(Eduardo. deve-se definir um conjunto de axioo mas. Ex. como proposto e na l´gica proposicional. Fun¸˜es podem ser utilizadas para se referir a e co objetos particulares sem utilizar seus nomes diretamente. ao inv´s de ter que enumerar os objetos por nome.: Irm˜o(Eduardo. caso os axiomas sejam inconsistentes. caso os axiomas sejam consistentes. Pode ser uma vari´vel. Uma senc˜ a a ten¸a atˆmica ´ verdadeira se a rela¸ao referida pelo predicado ´ verdadeira c o e c˜ e para os objetos referidos como seus argumentos. este conjunto forma a teoria do dom´ ue ınio. Ex. cujo um dado objeto ´ relacia co e onado exatamente com outro objeto. ca a com os termos separados por virgulas. a • S´ ımbolos Funcionais: s˜o rela¸˜es especiais.

A MEBN ´ um formalismo h´ e ıbrido que integra o tratamento de incertezas das redes bayesianas com a expressividade da FOL. Em outros termos. permitindo que co e ınio c o modelador possua uma base por onde come¸ar a modelagem do dom´ c ınio estudado. a estas informa¸oes s˜o insuficientes para a manipula¸˜o pelos computadores. A XML ´ uma linguagem de marca¸ao que e c˜ permite que os usu´rios criem tags personalizadas sobre o documento criado. pode-se utilizar l´gicas de prop´sito especial.1. Apesar da estrutura de tags permitir que sejam providas regras sint´ticas e convenientes para extrair. constru´ o o ıdas sobre a FOL. que provˆem conse tru¸˜es pr´-definidas para racioc´ sobre tipos. Apesar de sua grande expressividade. tornou-se necess´rio um planejamento para permitir que o a pr´prio computador possa realizar racioc´ o ınios a fim de formular conhecimento. sob os ausp´ ıcios do W3C . 24 . trazendo para a FOL o tratamento de incertezas. comportamentos e relacionamentos. c˜ bem como seus atributos.Como forma de usar a FOL para descrever o mundo. O W3C definiu a web semˆntica como um esfor¸o colaborativo entre ca a c o pr´prio W3C e um grande n´mero de pesquisadores e parceiros industriais que o u querem estender a web como um framework comum que permita que dados sejam compartilhados entre aplica¸oes. criador da a e HTML e da World Wide Web (WWW).World Wide Web Consortium [7]. transformar e trocar dados. que possui estrutura de tags fixas. difea rentemente da HTML. c˜ Com a evolu¸ao dos computadores e o crescimento da massa de informa¸oes c˜ c˜ dispon´ ıveis na web. O objetivo deste projeto ´ melhorar as potencialidades e da Web atrav´s da cria¸˜o de ferramentas e de padr˜es que permitam atribuir e ca o significados claros aos conte´dos das p´ginas e facilitar a sua publica¸ao e manuu a c˜ ten¸˜o [8]. espa¸o ou tempo. Segundo [8]. ca 2. Maiores informa¸oes sobre a MEBN c˜ podem ser obtidas na Se¸˜o 3. as ontologias de dom´ ınio expressam conhecimento sobre os tipos de entidades no dom´ ınio de aplica¸ao.3 Web Semˆntica e Ontologias a A Web Semˆntica ´ um projeto idealizado por Tim Berners-Lee. os computadores necessitam ter acesso a cole¸˜es estruturadas de co informa¸˜es (dados e metadados) e um conjunto de regras de inferˆncia para co e permitir um racioc´ ınio automatizado. Para tal. neg´cios e comunidades internacionais. a FOL n˜o possui suporte natural ao a tratamento de incertezas. precisamos de uma representa¸˜o “inteligente” dos dados dispon´ ca ıveis na web. como o HTML e o XML. c˜ o Os documentos da web tradicional s˜o constru´ a ıdos em linguagens orientadas a sintaxe. impedindo a cria¸˜o de ca um novo conjunto de descritores. cac˜ a ca bendo portanto ao ser humano realizar tarefas ´rduas de extra¸ao de informa¸ao a c˜ c˜ e formula¸ao de conhecimento.

cujas e a novas termologias podem ser formuladas atrav´s das existentes. A seq¨ˆncia de letras “Tanque de guerra”). marcar a uma consulta m´dica para o usu´rio. A especa cifica¸˜o formal dos significados dos elementos da linguagem ser´ feita atrav´s de ca a e ontologias. a ontologia ´ um artefato de engenharia. Pode ser definida como uma ferramenta para esca a pecifica¸ao formal de significados e associa¸˜es entre anota¸˜es/tags. a ontologia ´ e conhecida como a ciˆncia da existˆncia. 25 . Para que os computadores entendam c˜ o o conte´do da web. que permita a compreen¸˜o uniforme por diversos sistemas. todavia. utilizadas c˜ co co em documentos Web.4 para uma visualiza¸ao abstrata. procurando o m´dico mais acess´ . ´ necess´rio que eles consigam acessar dados estruturados u e a e tenham conhecimento de conjuntos de regras que os ajudem a conduzir seus racioc´ ınios.e agendando uma consulta a partir de negocia¸oes c c˜ com o agente inteligente do m´dico.em tere a e ıvel mos de proximidade e pre¸o . necess´ria para efetuar opera¸˜es com esse n´ de complexia a co ıvel dade. As novas p´ginas da web ter˜o de ser escritas ent˜o em uma nova a a a linguagem. o conceito e o referente. A web atual n˜o permite tal independˆncia e a e m´quina-homem. e Ontologia na ling¨´ uıstica: na ling¨´ uıstica. de forma a oferecer solu¸˜es “´teis” para determinaco u dos problemas do usu´rio.Os agentes inteligentes s˜o programas que realizam buscas e processamentos a das informa¸oes dispon´ c˜ ıveis. em Metaf´ o ısica. O ca c˜ ue conceito ´ definido como um conjunto das id´ias relacionadas. O referente ´ a e e e entidade referenciada pela forma e conceito. Um agente inteligente poderia. utilizada para a e a cria¸˜o da Web Semˆntica. c˜ Na vis˜o do W3C. A forma ´ definida como o “canal” de ree presenta¸˜o da informa¸ao (ex. provˆ um vocabul´rio de termos. a ontologia ´ uma tripla entre e a forma. uma disciplina da filosofia.3. o pr´prio conceito sobre ontologias paso sou por ligeiras modifica¸oes ao ser estudado por diferentes ramos da ciˆncia. A semˆntica e a (significado) das entidades ´ especificada de modo formal e permite identificar e relacionamentos entre termos pertencentes a diversas ontologias. e Ontologia na filosofia: segundo Arist´teles. 2. Adicionalmente. c˜ e Abaixo. mostraremos os diferentes conceitos sobre ontologia em diferentes ramos da ciˆncia. Lida com a e e natureza e a organiza¸ao da realidade.1 O que ´ ontologia e A ontologia define conceitos. Veja o esquema da figura 2. por exemplo. Os agentes inteligentes devem ser capazes de identificar o significado exato das palavras e as rela¸oes l´gicas entre elas. A ontologia filos´fica aborda temas como c˜ o “o que caracteriza um ser” e “o que ´ um ser”.

Adulto: conceito sobre seres vivos com idade maior do que um determinado valor que depende da categoria do ser vivo. e sendo tamb´m basicamente composta pelas triplas (sujeito. Um Humano Adulto Homem a tem em torno de 1. como disjun¸ao. Humano Adulto: conceito sobre humanos com mais de 20 anos. tipos mais ricos. Todos os e Humanos ou s˜o Homens ou Mulheres. disca jointWith ou oneOf .Web Onthology Language ´ E uma extens˜o da linguagem XML (Extensible Markup Language) e do vocaa bul´rio do RDF/RDFS (Resource Description Framework / Resource Description a Framework Schema)[5]. c˜ Sua estrutura possui tipicamente dois componentes distintos: • nomes dos conceitos importantes ao dom´ ınio. apesentaremos a linguagem OWL (Web Ontology Language) [32]. que importa ontologias e declara informa¸˜es sobre a vers˜o. – Ex.2 A Linguagem OWL . c˜ a 2. A seguir. Nenhum Indiv´ ıduo pode ser Adulto e Rec´m Nascido. Acrescenta mais rela¸oes entre classes. objeto) do e RDF. Humano: conceito sobre membros de uma categoria de animais. tamb´m conhecido como “proe priedades” .4: Ilustra¸ao da tripla forma-conceito-referente. recomendada pelo W3C como linguagem de descri¸ao de ontologias na web semˆntica. – Ex. c˜ c˜ cardinalidade. A estrutura se divide em: • cabe¸alho. • conhecimentos e restri¸˜es sobre o dom´ co ınio. propriedades sim´tricas ou transitivas. 26 .3. igualdade. c co a • defini¸˜o das classes.70m de altura.Figura 2. tamb´m conhecidos como e “classes”. predicado. usando propriedades como equivalentClass.

a partir de propriedades padr˜es como Tranca o sitiveProperty ou inverseOf. mas com algumas restri¸oes que gac˜ c˜ ´ rantam computabilidade.a Description Logic .3. n˜o h´ a a garantia de computabilidade. Possui grande expresc˜ sividade. 2. • e a declara¸˜o dos fatos dos indiv´ ca ıduos. pois Description Logic j´ foi intensamente estudado.3. E equivalente a uma subcategoria bastante conhecida da l´gica . que utiliza defini¸˜es como co 2 type para instancia¸ao de classes . sugerida para processos de migra¸˜o de uma linguagem ontol´gica qualquer ca o para a OWL. c˜ Veja o apˆndice A para um exemplo de cabe¸alho e corpo em linguagem OWL. E uma ferramenta simc˜ a ples. implementa¸oes e a c˜ c˜ otimiza¸˜es.3.• defini¸˜o das propriedades. 27 .2. Veja abaixo os subconjuntos da OWL. 2.2. e c A OWL define subconjuntos com restri¸oes de acordo com a necessidade do c˜ projetista da ontologia.e essa equivalˆncia traz grande entendimento o e na semˆntica.3 OWL Lite ´ E um subconjunto de OWL-DL. algoritmos de verifica¸ao.4 A necessidade de tratamento de incertezas em ontologias O processo geral de modelagem de uma ontologia funciona da maneira seguinte: 2 As instˆncias de classes s˜o chamadas de indiv´ a a ıduos. podendo at´ considerar classes como indiv´ e ıduos. propriedades formais. Possui suporte imediato aos problemas de ´ hierarquia de classifica¸ao e cardinalidade bin´ria (0 e 1). 2. Entretanto. co a 2.2 OWL DL (OWL Description Logic) Inclui todas as constru¸oes da OWL.1 OWL Full ´ E definido como a jun¸ao do DAML+OIL[4] com RDF.2.

Imagine os seguintes axiomas simultaneamente presentes na c˜ mesma ontologia. as linguagens comuns de defini¸˜o e manipula¸˜o de ontoca ca logias n˜o podem tolerar a existˆncia de contradi¸oes ou informa¸˜es incertas. tal ontologia necessitaria de ca um conjunto enorme de descritores. logo. Um exemplo de incerteza poderia ser ilustrado no problema de “grau de associa¸ao” abaixo. Para que dois agentes inteligentes possam interagir. Posteriormente. co co De forma geral. c˜ 2. a e A 28 . ser humanos ou outros agentes). a princ´ ıpio.1. por´m. A a e Europa n~o cont´m ´sia. as informa¸˜es capturadas s˜o categorizadas em objetos e propriedades. a e c˜ co pois tais informa¸oes seriam imediatamente consideradas como inconsistentes e c˜ perderiam seu valor. adiciona-se algumas informa¸oes especiais para que os computadores possam c˜ processar corretamente o dom´ ınio (claro. Europa cont´m R´ssia. capturar do dom´ ınio todas as informa¸oes relevantes para a sua reprec˜ senta¸ao. devem haver acordos sobre o tratamento dos conceitos. devido a impressionante escala a e de informa¸˜o que trafega atualmente no mundo. A solu¸ao c˜ ideal para evitar incompatibilidades seria definir uma ontologia unica que cobrisse ´ todas as ´reas do conhecimento humano. logo. O que ocorre ´ que certas informa¸˜es inconsistentes s˜o vae co a liosas ou alguns dom´ ınios de conhecimento possuem sua pr´pria natureza ligada o ` incerteza (ex. pois nem tudo que ´ de compree ens˜o imediata ao ser humano ´ compreens´ por uma m´quina). e u ´sia cont´m R´ssia. tornando a cataloga¸˜o exaustiva. devem compartilhar ontologias para que haja uma uniformidade na interpreta¸ao nos descritores dos dom´ c˜ ınios. a e ıvel a Modeladores de diferentes dom´ ınios de estudo estar˜o criando ontologias dessa a maneira. a ca ca e afirma¸˜es idˆnticas podem ter significados diferentes dependendo do dom´ que co e ınio se est´ sendo tratado. a integra¸˜o das ontologias causar´ o surgimento de a ca a contradi¸˜es ou informa¸˜es incertas. gerando assim uma diversidade de ontologias que descrevem um determinado dom´ ınio. Surgiu-se assim a necessidade de a e representa¸˜o e manipula¸ao de ontologias incertas. F´ a ısica Quˆntica ou Gen´tica). A e u ´sia n~o cont´m Europa. seria ca necess´rio um processo de automa¸˜o de integra¸˜o das ontologias. co a 3. logo. que ´ um dos nossos objetos ca c˜ e de estudo. os agentes inteligentes acessar˜o essas ontologias a para resolver os problemas dos seus “clientes” (que devem. Al´m disso.

e u ´sia cont´m 80% da R´ssia. a R´ssia n˜o existiria ou existiriam u a duas R´ssias! u Para contornar problemas como esse. problemas de confiabilidade da fonte de informa¸ao podem c˜ surgir. com o 0 indicando a invalidade da rela¸˜o e 1 indicando a validade completa da rela¸˜o. co a c a Adicionalmente. No caso acima. devemos tomar cuidado para que a soma do “grau” da rela¸ao “cont´m” c˜ e sobre a R´ssia deve totalizar em 1 (ou 100%). por u c a a ´ sua vez. logo. a Europa e a Asia n˜o tenham territ´rios em comum. se ignorarmos os resultados “parciais”. mas que. Note que. entretanto. O exemplo anterior com ca ca a adi¸ao do indicador de grau de associa¸ao resultaria o exemplo abaixo. neste a o caso. uma busca que trata essas instˆncias geraria resultados c˜ a duvidosos. mas algumas instˆncias cr´ a a ıticas para terminar a pesquisa n˜o est˜o presentes. a a Com condi¸ao acima. pois n˜o haveria elementos que atenderiam a 100% do requisitado. Esse controle deve ser feito pela u ferramenta de controle da ontologia ou manualmente pelo pr´prio administrador. ´ poss´ modelar perfeitamente a situa¸˜o em ca e ıvel ca ´ que parte da R´ssia perten¸a ` Asia e uma outra parte ` Europa. as duas ultimas afirma¸oes indicam que n˜o existe territ´rio ´ c˜ a o ´ em comum entre a Europa e a Asia. e A Com esse tipo de constru¸˜o. nesse caso. representaremos o grau em percentagem. as primeiras ´ duas afirma¸oes indicam que a R´ssia est´ contida “integralmente” na Asia e na c˜ u a ´ Europa (seja. associamos ` rela¸ao “cont´m” um nua c˜ e ´ meral que indica em que grau a rela¸˜o ´ v´lida para um mesmo objeto. no caso contr´rio. O a modelo convencional somente considera os casos de requisitos “completamente atendidos” ou “completamente falhos”. a Europa cont´m 20% da R´ssia. as instˆncias que atendem a “parcialmente” aos requisitos deveriam ser eliminadas ou consideradas? Note que se considerarmos as “parciais” como “completas”. as “parciais” que atenderam a poucos requisitos ser˜o tratadas com a mesma importˆncia dos que atendea a ram mais requisitos. que a R´ssia est´ em um territ´rio em comum entre a Asia e a u a o Europa). E mais ca e a intuitivo que esse numeral esteja entre 0 e 1. pois n˜o foi tratado o “grau” da associa¸ao “cont´m”. n˜o havendo a considera¸ao do n´ a c˜ ıvel em que uma propriedade estaria ligada a uma outra. Esse tipo de situa¸ao ocorre quando instˆncias co c˜ a (indiv´ ıduos) de classes s˜o pesquisadas. a informa¸˜es preciosas ser˜o desperdi¸adas e a busca n˜o seria eficaz. H´ a necessidade de ponderar informa¸oes atrav´s da credibilidade dessa a c˜ e 29 .Esse conjunto de axiomas gerar´ conflitos em ontologias convencionais (as que a n˜o tratam incertezas). o Outro problema que se imagina ocorrer em ontologias convencionais ´ o proe blema de informa¸˜es incompletas. A e Europa cont´m 0% da ´sia. A e u ´sia cont´m 0% da Europa. a a c˜ e Ontologias convencionais tratam as informa¸˜es de forma exclusiva (se ´ integralco e mente verdadeira ou integralmente falsa). Por c˜ c˜ quest˜o de comodidade.

cren¸a. enquanto que a abordagem com o tratamento de incertezas poderia incorporar essa informa¸ao categorizando-a como menos (ou mais) confi´veis do c˜ a que as outras informa¸oes que entraram em choque. ca a ca ca surgiriam afirma¸˜es contradit´rias ou inconsistentes durante a integra¸ao de co o c˜ m´ltiplas ontologias e cairemos no mesmo problema do “grau de associa¸ao”.5). u c˜ mostrado inicialmente nesta se¸˜o. Um determinado elemento pode estar parcialmente incluso no conjunto “frio” e “quente”. est´ em cont´ a ınuo estudo na determina¸ao de solu¸oes c˜ c˜ para tratamento de incertezas em tecnologias World Wide Web. Veja os exemplos abaixo. O dia 08/09/2006 foi "frio". A probabilidade est´ intimamente ca a relacionada com a freq¨ˆncia. n˜o h´ uma divis´ria concreta que separa esa a o ses conjuntos nem uma descri¸ao formal sobre quais elementos est˜o contidos no c˜ a “frio” ou no “quente”. a a a pois recai ao mesmo problema do “grau de associa¸ao”. 2. n˜o h´ como representar “inclus˜o parcial”. h´ a incerteza herdada da linguagem de representa¸ao. ocorrˆncia ou rela¸˜es de causa e efeito ue c e co sobre um evento. mas raramente estar´ contido “totalmente” em um a deles e nunca totalmente em ambos. ´ comum ponderarmos os resultados do emparea e lhamento de genes baseando-se nos resultados previstos pela teoria testada ou considerando-se os resultados obtidos anteriormente.1 Justificativa da abordagem probabil´ ıstica em ontologias A abordagem probabil´ ıstica baseia-se nas teorias da probabilidade para a representa¸˜o de incertezas em uma ontologia. que freq¨entemente ocorrem na nossa c˜ u linguagem natural. Em tratamentos convencionais. O termo “frio” e “quente” indicam um conjunto que n˜o est´ semanticamente a a definido de forma absoluta. c˜ A Uncertainty Reasoning for the World Wide Web Incubator Group[29]. Mostre-me os dias "quentes" deste ano. ca Devemos descartar completamente as informa¸oes desconfi´veis ou trat´-las c˜ a a somente como menos confi´veis? Note que a abordagem convencional teria de desa cartar as informa¸˜es contradit´rias ou inconsistentes para manter a qualidade co o da ontologia. com sua abordagem probabil´ c˜ ıstica. Se n˜o houver esse tipo de classifica¸˜o das fontes de informa¸˜o.4. a c˜ Isso ocorre em defini¸oes e conceitos vagos. A linguagem PROWL (vide Se¸ao 3. um grupo incubado pelo W3C.: Na Bioinform´tica.informa¸˜o. Podemos aplicar diversos conceitos da teoria do conjunto para 30 . Para piorar a situa¸ao das c˜ ontologias convencionais. c˜ Ex. est´ sendo referenciada a como uma das poss´ ıveis abordagens. seja.

no final. • Desde que uma informa¸ao represente somente um (1) “significado” em um c˜ determinado momento. nunca em ambos. a observa¸ao dos fatos. • Possui propriedades bem definidas e prediz´ ıveis matematicamente. a 31 . a instˆncia o a pertencer´ a somente um dos conjuntos. abstrai-se a capacidade de c˜ atualiza¸˜o das ontologias atrav´s da observa¸ao dos fatos. pois sua semˆntica ´ definida e a l´gica fuzzy representa um cona e o ceito relativamente restrito de incerteza (o “vago”).5” na l´gica fuzzy indica que uma instˆncia est´ c˜ o a a “meio” verdadeira e “meio” falsa simultaneamente.1]. O processo de valida¸˜o e inferˆncia ´ feita basicamente com ca e e o aux´ de modelos bayesianos. A representa¸˜o ´ feita atrav´s de numerais com valores dentro do intervalo ca e e fechado entre 0 e 1. podemos citar as seguintes: • A abordagem probabil´ ıstica possui o dom´ ınio limitado de valores poss´ ıveis [0. • Como compara¸ao. logo. a Dentre elas. Um exemplo ´ a PR-OWL. enquanto que na probabil´ ıstica ele indica que a instˆncia far´ parte da verdade na metade das a a ocasi˜es observadas (ou com a metade da chance total) . co a ´ • E semanticamente bem definida. Ilustrando esse exemplo. ca e c˜ • Comparado ao modelo fuzzy. a probabilidade representa melhor a realidade do que a l´gica fuzzy.o tratamento de probabilidades. est´ lia ue e a gada ` estat´ a ıstica. A representa¸ao de incerteza da c˜ PR-OWL segue o formalismo MEBN. informa¸oes amb´ o c˜ ıguas com 50% de validade indicam que uma das interpreta¸˜es ´ v´lida com 50% de co e a chance (mas que somente uma das interpreta¸˜es da instˆncia ser´ v´lida co a a a em um determinado momento). o “0. • Intimamente ligada ` “freq¨ˆncia” ou “chance” de ocorrˆncia.5 como proposta de extens˜o da OWL para a incorpora¸˜o de tratac˜ a ca mento de incerteza por uso de probabilidades. pode ser mais facilmente estendido a dom´ ınios maiores. As raz˜es que podem justificar o uso da abordagem probabil´ o ıstica s˜o muitas. • Possui restri¸˜es suficientes para manter o resultado comput´vel. seja. linguagem tratada ılio e na Se¸ao 3.

O UnBBayes-MEBN realiza c˜ e uma implementa¸ao de editor e m´quina de inferˆncia para a PR-OWL.Uma linguagem de representa¸ao de ontologias n˜o possui valor pr´tico sem c˜ a a um modelo computacional de edi¸ao e inferˆncia. linguagem c˜ a e de ontologia probabil´ ıstica. 32 .

novidades que a estendem tecnologias bastante conhecidas. dados os valores das instˆncias de seus pais no a o a grafo.Cap´ ıtulo 3 Estado da arte Conceitos recentes s˜o muitas vezes referenciados como estado da arte.Redes Bayesianas Multi-Entidade Redes bayesianas Multi-Entidades (MEBN) s˜o uma extens˜o das Redes bayea a sianas (BN). para c˜ a ca ilustrar e exemplificar o formalismo MEBN. Uma MTheory ´ um cona e junto de MFrags que satisfaz determinadas condi¸oes de consistˆncia. as restri¸oes de contexto do dom´ c˜ c˜ ınio devem ser satisfeitas. atrav´s da inclus˜o da L´gica de Primeira Ordem (FOL). como redes bayesianas e ontologias OWL. Este a cap´ ıtulo apresentar´ o formalismo MEBN e a linguagem PR-OWL. As se¸oes seguintes utilizar˜o a ontologia StarTrek.1.Situation Specific Bayesian Network ) a partir da entrada de dados (evidˆncias) pelo usu´rio. Para que essa distribui¸ao se aplique. que garanc˜ e tem a existˆncia de uma distribui¸˜o de probabilidade conjunta unica sobre suas e ca ´ vari´veis aleat´rias [26]. que e s˜o organizadas em MEBN Theories (ou MTheories).1 MEBN . descrita na Se¸˜o 8. 3. O dom´ e a o ınio de conhecimento em MEBN ´ expresso por MEBN Fragments (ou MFrags). Algoritmos usados pelo UnBBayes-MEBN para a gera¸ao de SSBN est˜o descritos no cap´ c˜ a ıtulo 6. e a As SSBN s˜o equivalentes `s redes bayesianas convencionais e representam o a a dom´ ınio da MEBN em um determinado momento espec´ ıfico. que s˜o instanciadas dinamicamente [16]. o a De forma radical. a o Um MFrag representa uma distribui¸˜o de probabilidade condicional de suas ca vari´veis aleat´rias residentes. 33 . pode-se dizer que a MEBN ´ um template para a gera¸˜o e ca autom´tica de Redes bayesianas de Situa¸oes Espec´ a c˜ ıficas (SSBN . Um conjunto de MFrags representa uma distribui¸ao de proc˜ babilidade conjunta sobre um determinado n´mero de instˆncias de suas vari´veis u a a aleat´rias.

que representam relacionamentos entre esses n´s. ıvel e Figura 3. o Como j´ foi dito. quando a condi¸ao n˜o ´ satisfeita.1 representa o o n´ de perigo a que uma determinada nave ´ exposta. que representam as caraca o a o ter´ ısticas e os relacionamentos das entidades do dom´ ınio. dois de entrada e um residente. quando a condi¸ao ´ satisfeita. c˜ e • False. Seus valores poss´ ıveis s˜o: a • True.1: Figura exemplo de MFrag Esse MFrag possui oito n´s: cinco de contexto.2 MFrags MEBN representa o dom´ de conhecimento atrav´s de conjuntos de MFrags. e por arcos direcionados. dados os valores de seus a a o pais.3. um MFrag representa uma distribui¸˜o de probabilidade a ca condicional das instˆncias de suas vari´veis aleat´rias. A Figura 3. e a a a 34 . contanto que os n´s de contexto sejam satisfeitos. c˜ a e • Absurd. quando uma express˜o n˜o tem sentido algum. ınio e MFrags s˜o compostos por n´s (ou vari´veis aleat´rias). Ocorre geralmente a a quando um valor ´ avaliado com parˆmetros n˜o previstos ou inv´lidos. o N´s de contexto s˜o vari´veis booleanas que representam condi¸˜es que deo a a co vem ser satisfeitas para que a distribui¸ao de probabilidade dos n´s residentes de c˜ o aplique.

Ou seja.Un ) * . a ca A especifica¸ao da MEBN n˜o define padr˜es para declarar a CPT em um c˜ a o n´ de um MFrag [16]. Hi = ( 1 . Abaixo. se em um MFrag existe um n´ o de entrada.t) no ˆmbito e ca a a da MEBN. Em uma MTheory o o completa. . Isso porque um MFrag ´ apenas um template.60 . Hi = ( 1 . esses identificadores come¸am por ponto c˜ ca c de exclama¸˜o. por conven¸˜o.Un ) * . Duas entidades distintas n˜o podem ter e a o mesmo identificador unico. mas as suas distribui¸˜es est˜o definidas nos seus pr´prios o co a o MFrags.03 * CARDINALITY (st) ) .10 .MIN (. em uma MTheory consistente. a l´gica MEBN padr˜o n˜o suporta polimorfismo de vari´veis aleat´rias.90 + MIN( . Low = ( 1 . Low = 0 ] else if any st have ( OperatorSpecies = Romulan & HarmPotential = true ) [ Un = . ent˜o ´ necess´rio que exista um outro MFrag em que esse n´ seja a e a o residente. o pseudo-c´digo a o o ´ utilizado para ilustrar a distribui¸˜o da vari´vel DangerToSelf(s.Un ) * . para que sua distribui¸ao de probabilidades seja bem definida.1.10 ] else if any st have ( OperatorSpecies = Unknown & HarmPotential = true ) [ Hi = .20 . if any st have ( OperatorSpecies = Cardassian & HarmPotential = true ) [ Un = . ou e seja. ´ Na Figura 3. Medium = ( 1 .02 * CARDINALITY (st) ) . Esses argumentos o e s˜o substitu´ a ıdos por identificadores unicos 2 das entidades do dom´ ´ ınio de conhecimento quando uma rede ´ instanciada. . observou-se que os valores dos estados dos n´s n˜o foram moso a trados no grafo de MFrag.Un ) * . . c˜ N´s residentes possuem as distribui¸˜es locais de probabilidades. Neles o co est˜o definidas as dependˆncias probabil´ a e ısticas dos valores de seus pais (que podem ser tanto n´s de entrada quanto outros n´s residentes).70 + MIN( . a o o 2 Na documenta¸ao original em [26]. Seja.025 * CARDINALITY (st) ) . onde sua disa o tribui¸˜o local ´ definida1 ca e Um n´ pode ter uma lista de argumentos entre parˆnteses. utilizamos um pseudo-c´digo para o o declarar as CPT para uma classe de vari´veis aleat´rias.Un ) * .30 . Medium = ( 1 . No UnBBayes-MEBN.20 .50 . ele n˜o representa vari´veis aleat´rias individuais. cada vari´vel aleat´ria possui apenas um home MFrag.80 .30 . mas sim uma classe de a a o vari´veis aleat´rias que podem existir na SSBN.N´s de entrada s˜o vari´veis que influenciam a distribui¸ao de probabilidao a a c˜ des dos n´s residentes. ca 1 35 . j´ que uma o a a a o a vari´vel aleat´ria s´ pode estar definida 1 vez. Os valores reais dos estados s´ a o o s˜o concretizados em uma instancia¸˜o de MFrag.

´ c˜ o e necess´rio que z seja uma zona (Zone) e que st seja uma nave.50 . Low = 1 ] Esse pseudo-c´digo define a distribui¸˜o local para o perigo em que uma nave o ca ´ submetida devido a todas as naves que influenciam o seu n´ de perigo.99 ] else [ Un = 0 . al´m disso. e c˜ por conven¸˜o. podemos cham´-lo de tipo) for declarada como orden´vel.01 . . uma das c˜ grandes limita¸oes das redes bayesianas ´ a falta do suporte a recursividade.60 ] else if any st have ( OperatorSpecies = Friend & HarmPotential = true ) [ Un = 0 . indicando que t vem “depois” de tprev. Medium = .50 . Se uma entidade (ou. Low = .HarmPotential(st.10 .3 Recursividade em MEBN Para aplica¸oes da vida real. A Figura 3. ca u a e A Default Distribution . Medium = . Essa e ıvel distribui¸˜o leva em conta o n´mero de naves. instˆncias dos pais . ca a a e e 3. para que as distribui¸oes dos n´s residentes se apliquem.Hi ) .distribui¸˜o padr˜o declarada na por¸ao else do ca a c˜ pseudo-c´digo . Entretanto. Low = .Medium) ] else if any st have ( OperatorSpecies = Klingon & HarmPotential = true ) [ Un = .2 ´ a temporal. MEBN fornece suporte a defini¸˜es de recurs˜o bem gerais. ´ importante que um modelo de probabilidade c˜ e condicional tenha possibilidade de representa¸ao recursiva. que n˜o ´ previamente conhecido. a distric o bui¸˜o padr˜o. Low = (. todas as ca a a 36 .MIN (. tprev precisa ser um tempo anterior a t. st a e precisa estar localizada na zona z.15 .20 .02 * CARDINALITY (st) ). nos dados forneo a a cidos pelo usu´rio. ´ utilizada. Hi = 0 . Al´m disso.15 .est´ presente para o caso em que n˜o exista. ambos t e tprev precisam ser per´ ıodos de tempo (entidades TimeStep) e.t) e OpSpec(st) a a que satisfa¸am a validade dos n´s de contexto de MFrag. Essa defini¸ao de e c˜ ordem. Medium = .50 .Un = ( . Hi = . Hi = 0 . a a Observa-se que. que n˜o faz referˆncia a nenhum estado dos pais. Nesse caso.2 apresenta um MFrag em que a co a recurs˜o est´ presente. A recurs˜o apresentada na Figura 3. ´ implementada no UnBBayese MEBN atrav´s da defini¸ao nativa de ordem de entidades. Para que as distribui¸oes a e c˜ se apliquem. Medium = 0. pois c˜ e uma rede bayesiana deve ser um grafo ac´ ıclico.

desrespeitando um dos requisitos de uma BN [26]. ao se permitir defini¸˜es de recurs˜o. ou rede bayesiana de situa¸ao espec´ c˜ ıfica). pois sen˜o a a o c˜ a BN represent´vel por esse template poderia ser um grafo c´ a ıclico. Os passos para constru¸˜o de SSBN s˜o detalhados no cap´ ca a ıtulo 6. Com isso. que ´ o n´ cuja distribui¸ao a o e o c˜ deseja-se conhecer. A recurs˜o precisa de uma distribui¸˜o de probabilidades a ca no per´ ıodo incial (que. e 3. chamamos de T 0). t). s˜o constru´ o a a ıdas as CPT que podem ser obtidas com os dados j´ dispon´ a ıveis. isso ´ garantido pelo fato de sempre existir um elemento m´ e ınimo em 3 entidades orden´veis . e a o a Outros tipos de recurs˜o tamb´m s˜o representados em MEBN por MFrags a e a ´ que permitem influˆncias entre instˆncias do mesmo n´ residente. Note que seria f´cil especificar um conjunto de MFrags com influˆncias c´ a e ıclicas. c O processo de constru¸ao do grafo mostrado na Figura 3. garantindo a existˆncia de uma c c˜ e e distribui¸˜o de probabilidades conjunta unica sobre as instˆncias das vari´veis ca ´ a a A ordem total implica a presen¸a de um elemento m´ c ınimo. para que n˜o tenhamos um la¸o infinito.T3). No UnBBayesu a c MEBN. ´ necess´rio que o conjunto de MFrags e a satisfa¸a coletivamente condi¸oes de consistˆncia.3 come¸a criando-se a c˜ c instˆncia de MFrag no n´ HarmPotential(ST4.4 MTheories Para construir um modelo coerente. A seguir. as vari´veis aleat´rias que sobraram.3 mostra como as defini¸oes de recursividade podem ser aplicadas c˜ para construir um SSBN (Situation-Specific Bayesian Network. deseja-se saber o potencial de dano no per´ ıodo de tempo T3 da espa¸onave ST4. por conven¸ao. E necess´rio e a o a que. Instanciam-se.suas instˆncias (valores poss´ a ıveis) possuir˜o ordem total. o n´ de entrada DistFromOwn(st. que n˜o dependa de c˜ a um dist´rbio anterior. o UnBBayes-MEBN notifica o usu´rio c˜ a em caso de existˆncia desses tipos de falhas. Na gera¸ao de SSBN. torna-se desa necess´ria a cria¸ao de n´s para a obten¸ao do tempo anterior (por exemplo. ent˜o. o o tprev) representa a distˆncia da espa¸onave st ` minha espa¸onave no per´ a c a c ıodo de tempo anterior ao t. ou um conjunto tendo distribui¸oes conflitantes para uma vari´vel aleat´ria em c˜ a o diferentes MFrags. garantindo que a recursividade pare 3 37 . e esse n´ influencia a distˆncia atual. Por exemplo. Os n´s de entrada de um MFrag podem incluir instˆncias de n´s definidos reo a o cursivamente no pr´prio MFrag. dado pela vari´vel o a a DistFromOwn(st. a A Figura 3. que retorna uma instˆncia anterior a t). a a o para as quais os n´s de contexto est˜o satisfeitos. Nesse caso. n˜o a c˜ o c˜ a ´ mais necess´rio criarmos um n´ P rev(t). garanta-se que uma vari´vel aleat´ria co a a o n˜o possa influenciar a sua pr´pria distribui¸ao de probabilidade.

aleat´rias de MFrags.garantindo ca que o editor n˜o permita a inser¸˜o de vari´veis inconsistentes . Ferramentas computacioa e nais devem permitir essa verifica¸ao de consistˆncia4 . c˜ A MFrag Entity Type ´ usada para declarar tipos de entidade que podem ser e encontradas no modelo. Al´m disso. ou evidˆncias). Essa distribui¸ao ´ especificada pelas distribui¸oes local e padr˜o de o c˜ e c˜ a cada MFrag. apresentada na Se¸ao 8. Eles s˜o representados por MFrags de apenas dois n´s: um de entrada e um a o residente. MEBN tem a capacidade de incorporar novos axiomas quando novas evidˆncias surgem.realizando a ca a o teste de consistˆncia na etapa de instancia¸˜o e ca 38 . o A l´gica MEBN cont´m um conjunto de built-in MFrags (ou seja. que incluem quantificadores. Uma MTheory representa uma distribui¸˜o de probabilidade conjunta unica ca ´ sobre um n´mero (que pode tender ao infinito) de instˆncias de suas vari´veis u a a aleat´rias.e dinamicamente . c˜ Cada vari´vel aleat´ria deve ter um unico home MFrag. Essas regularidades s˜o capturadas a e codificadas em uma base de conhecimento por um especialista ou aprendido por observa¸ao. como “AND” e “OR”). Assim. S˜o equivalentes ` adi¸ao de um novo axioma na a a c˜ l´gica de primeira ordem.4 mostra um diagrama de uma MTheory que foi utilizada para a modelagem da ontologia StarTrek. Esse conjunto coerente de MFrags ´ chamado de teoria o e MEBN. Esses MFrags s˜o parte de uma MTheory. que d˜o ao sistema a habilidade de representar qualquer senten¸a da l´gica de a c o primeira ordem. ´ necess´rio c˜ e a informar o sistema sobre instˆncias que est˜o envolvidas em uma determinada a a situa¸˜o. c˜ e Para que uma MTheory raciocine sobre situa¸oes particulares. referˆncia c˜ e indireta e MFrags booleanos que representam conectivos. Esse ca 4 O UnBBayes-MEBN realiza essa verifica¸˜o em dois passos: estaticamente . A Figura 3. que resume as regularidaa des estat´ ısticas que caracterizam o dom´ ınio. ca A inferˆncia bayesiana pode ser usada tanto para responder a perguntas de e interesse (chamadas de query) quanto para refinar uma MTheory (atrav´s de fine dings. MFrags o e presentes em qualquer situa¸ao criada. atualizando as distribui¸oes de todas as vari´veis ene c˜ a volvidas na situa¸˜o espec´ ca ıfica. ou MTheory. Como MEBN n˜o ´ um sistema tipado. e Findings ´ o mecanismo b´sico para incorporar novas informa¸oes em MThee a c˜ ories. uma a o ´ e MTheory v´lida deve garantir que todas as defini¸oes de recurs˜o terminem em a c˜ a passos finitos e n˜o contenham influˆncias circulares.1. ´ necess´ria a a e e a cria¸˜o desse tipo de MFrag quando se deseja construir um sistema tipado.

Uma ontologia probabil´ ıstica deve ter ao menos um indiv´ ıduo da classe MThe5 O UnBBayes-MEBN. As partes probabil´ ısticas da ontologia devem formar uma MTheory v´lida. o modelador pode utilizar os recursos novos da ıvel PR-OWL apenas para as partes da ontologia que necessitarem de suporte probabil´ ıstico. com crescente poder expressivo. e o desenhadas para uso por comunidades espec´ ıficas de desenvolvedores e usu´rios a (refiro-me ` OWL-Full. um PR-OWL Lite) [17]. a Por ser baseada na FOL. Seguindo o mesmo princ´ a ıpio. A l´gica por tr´s de PR-OWL se baseia em Redes bayesianas Multi-Entidade7 o a (MEBN) [26].MFrag define uma estrutura bem simples de tipagem. Esta linguagem foi projetada para representar diversos modelos bayesianos complexos.PR-OWL Proposta por Paulo Costa em 2005 [15] [17]. c˜ A Figura 3. Na OWL ocorre o mesmo problema e. No diagrama. a PR-OWL pode ser considerada uma deue riva¸ao da OWL-Full e n˜o h´ garantia de sua computabilidade [17].5 Uma ontologia probabil´ ıstica . mas necessita de ferramentas especiais para o processamento da sintaxe adicional6 . no exemplo da OWL. Permitir´ a interoperabilidade entre ontologias conca a vencionais com as novas ontologias probabil´ ısticas. a PR-OWL ´ uma linguagem de e representa¸˜o de ontologias que estende a famosa linguagem OWL para suporte ` ca a representa¸˜o de incertezas. a e ca 3. utiliza nativamente ca ca e um sitema de tipagem forte. sendo enorme sua expressividade a e sua liberdade.5 mostra os principais conceitos envolvidos na defini¸ao de uma c˜ MTheory em PR-OWL. a PR-OWL n˜o garante que as queries efetuadas a sejam trat´veis. inclusive o fato do dom´ ca ınio ınio ser representado em MFrags. foa ram criadas trˆs vers˜es diferentes da linguagem. 39 . inclusive polimorfismo5 . OWL-DL e OWL-Lite). enquanto que os arcos representam os principais relacionamentos entre as classes. u Por exemplo. para a simplifica¸˜o da verifica¸˜o de consistˆncia. as elipses representam as classes gerais. Esse processo de divis˜o de um MFrag ´ conhecido como fragmenta¸˜o [15]. for¸ando que qualquer entidade tenha tipo associado. c˜ a a Por ser compat´ com OWL. Essa linguagem pode definir a distribui¸˜o de probabilidade sobre ca modelos de qualquer teoria FOL axiomatiz´vel. e 7 A estrutura¸˜o da PR-OWL segue o mesmo racioc´ da MEBN. Vale notar que existem in´meras maneiras de se representar uma MTheory. c 6 O UnBBayes-MEBN ´ pioneira no tratamento da PR-OWL. Como conseq¨ˆncia. podemos criar uma nova MTheory equivalente atrav´s de divis˜o das e a grandes MFrags presentes naquela MTheory em MFrags menores. por´m MEBN pode ser e estendida para acomodar qualquer mecanismo de sistema tipado. uma restri¸ao da PR-OWL poderia ser criada (digamos.

4. sendo que este ´ ligado com um grupo de MFrags que coletivamente formam e uma MTheory v´lida. de contexto. permitindo que a MTheory seja salva neste formato. a c˜ Construir MFrags e todos os seus elementos em uma ontologia probabil´ ıstica ´ um processo cansativo e sujeito a erros.3. Para uma descri¸˜o detalhada da PR-OWL. Torna-se necess´rio o desenvolvimento de a um software que permite uma modelagem visual. MFrags s˜o compostos por n´s. Cada indiv´ ıduo da classe N ode ´ e uma vari´vel aleat´ria e esta possui um conjunto mutuamente exclusivo e coa o letivamente exaustivo de poss´ ıveis estados. exigindo um conhecimento profundo e da estrutura de dados da PR-OWL. O m´dulo UnBBayes-MEBN.6 mostra uma vers˜o cobrindo os elementos principais da PRa OWL. ou de entrada.1. 40 . referenciado o neste documento nos cap´ ıtulos 4 e 5. sendo que estes podem a a o ser residentes. veja apˆndice B. fornecendo ao modelador um meio visual.ory. suas subclasses e os elementos secund´rios necess´rios para representar a a MTheory e as rela¸˜es que s˜o necess´rias para expressar a estrutura complexa co a a dos modelos probabil´ ısticos bayesianos usando a sintaxe da OWL. possui funcionalidades de edi¸ao de arquivos c˜ PR-OWL. ou um plugin para alguma das ferramentas bayesianas existentes. ca A Figura 3. ca e As tabelas de probabilidade condicional da PR-OWL no UnBBayes podem ser declaradas respeitando-se a gram´tica descrita na Se¸ao 4. Cada vari´vel aleat´ria possui uma a o distribui¸˜o de probabilidade condicional ou incondicional [17]. intuitivo e guiado para a constru¸˜o das ontologias ca probabil´ ısticas.

Figura 3.2: Um MFrag recursivo [15] 41 .

3: Modelagem de uma situa¸ao recursiva c˜ 42 .Figura 3.

Figura 3.4: Conjunto de MFrags que formam uma MTheory [15] 43 .

5: Principais conceitos da PR-OWL [17] Figura 3.6: Elementos de uma ontologia probabil´ ıstica PR-OWL [17] 44 .Figura 3.

inicialmente desenvolvido em Delphi e ılia posteriormente em Java. Atualmente. possibilitando que os interessados em racioc´ ınio probabil´ ıstico possam utilizar funcionalidades do UnBBayes em suas aplica¸oes. O UnBBayes ´ um framework implementado pelo Grupo de Inteligˆncia Are e tificial da Universidade de Bras´ [25]. Ultimamente. API e documenta¸ao em JavaDoc s˜o disponic a c˜ a bilizadas para desenvolvedores. realiza¸˜o de inferˆncia probabil´ e c˜ e ca e ıstica e aprendizagem da topologia e/ou parˆmetros de uma BN. desde o ano 2000. o Eclipse [20]. O trabalho atual realiza diversas otimiza¸oes e c˜ corre¸˜es sobre esse novo m´dulo. c˜ e resultando o UnBBayes-MEBN. o software ´ distribu´ gratuitamente para uso n˜o comercial. o UnBBayes foi estendido para permitir a representa¸ao c˜ de ontologias probabil´ ısticas e a realiza¸ao de inferˆncias em PR-OWL/MEBN.Cap´ ıtulo 4 Arquitetura geral do UnBBayes Figura 4. diagramas de influˆncia e redes bayesianas m´ltiplas secionadas. e u al´m da entrada e propaga¸ao de evidˆncias. de forma intuitiva. co o 45 . Possui um editor visual de f´cil uso.1: Logotipo do UnBBayes. a a redes bayesianas. permitindo que o usu´rio construa. O framework est´ em a a constante desenvolvimento. e continua sendo. e ıdo a sob a licen¸a GNU-GPL vers˜o 3. para suporte ao racioc´ ınio probabil´ ıstico. c˜ O principal ambiente de desenvolvimento do UnBBayes foi. dado seus diversos plugins para facilitar a cria¸ao e testes das funcioc˜ nalidades.

a pacote prs. O leitor interessado em estua dar e utilizar a API encontrar´ a documenta¸˜o JavaDoc e o c´digo na p´gina do a ca o a UnBBayes[9]. H´ atualmente a dois formatos v´lidos: o formato “net” e o formato “xmlbif”. conjunto de classes para gerar amostras aleat´rias de redes o bayesianas dadas como parˆmetro. O projeto UnBBayes oferece algumas branches adicionais voltadas para objetivos espec´ ıficos. pacote controller. classes respons´veis por controlar o fluxo de opera¸oes rea c˜ alizadas pelo usu´rio. bem a como por constru´ ı-las novamente a partir destes arquivos. Contribui¸oes deste trabalho na arquitetura do UnBBayes-MEBN c˜ tamb´m podem ser encontrados nos cap´ e ıtulos 5 e 7. Os pacotes que comp˜em o software s˜o os seguintes: o a pacote aprendizagem. e pacote util. c˜ pacote io. interface adicional para usu´rios comuns no tratamento de a BN. a pacote montecarlo. fazendo a liga¸ao entre a GUI e as funcionalidades. classes utilit´rias. permitindo o tratamento de necessidades n˜o resolvidas pelo a framework principal.5 para a nova vers˜o. a branch Metaphor. a c˜ pacote gui. classes respons´veis por salvar as redes bayesianas em arquivos. n˜o entrando em detalhes muito internos. re´ne as classes relacionadas ao processo de aprendizau gem em lote. n˜o oferecendo funcionaa lidades de edi¸˜o de redes bayesianas. cont´m as classes que implementam a interface com o usu´rio. pere a mitindo a visualiza¸ao e manuseio das redes bayesianas.4.1 Vis˜o arquitetural do UnBBayes a A arquitetura aqui apresentada visa apenas fornecer uma no¸˜o abstrata do ca programa. o co 46 . Por exemplo: branch UnBMiner. ca ca a voltada para o projeto de identifica¸ao humana. Veja Se¸˜o 9. Fornece uma forte ferramenta para an´lise de dados no modelo CRISP-DM [2]. projeto voltado para data-mining. utilizadas por pelo menos dois pacotes do proa jeto. c˜ Segue nas pr´ximas se¸˜es algumas funcionalidades que o UnBBayes oferece. Oferece somente funcionalidades de leitura. classes que definem a estrutura das redes bayesianas e implementam os algoritmos de inferˆncia sobre estas.

um n´ gen´rico que possui estados ( String ). uma posi¸˜o (x. a a Classe ProbabilisticNode: vari´vel probabil´ a ıstica.y) e o e ca um tamanho (largura. e Classe Node. sendo estas duas ultimas utilizadas para a modea c˜ ´ lagem de grafos de decis˜o. c˜ 47 . Figura 4.2 apresenta as principais classes que implementam as redes bayesianas e diagramas de influˆncia no UnBBayes. As classes que representam vari´veis est˜o diretamente dependentes de clasa a ses de representa¸˜o visual.4. Classe abstrata TreeVariable. altura). que ca e compromete na separa¸ao de l´gica com modelos visuais. as vari´veis de a a o a decis˜o e as fun¸oes utilidade. a Classe DecisionNode: vari´vel de decis˜o. Classe UtilityNode: fun¸ao utilidade. Os tipos de vari´veis c˜ o a atualmente suportados pelo UnBBayes s˜o as vari´veis aleat´rias.2: Modelagem de classes para BN e ID.1 Diagramas de influˆncia e redes bayesianas e A modelagem apresentada na Figura 4. Isso ´ um ponto fraco na modelagem atual. Estes dois ultimos campos s˜o representados ´ a pela classe SerializablePoint2D.1. para vari´veis que ser˜o visualizadas na ´rvore a a a de n´s e estados com suas respectivas probabilidades no painel de como pila¸˜o e inferˆncia de redes probabil´ ca e ısticas.

classe padr˜o da linguagem Java. Classe ProbabilisticNetwork: representa uma rede probabil´ ıstica. u Classe ProbabilisticTable: tabela de potencial de probabilidades. Interface ITabledVariable: interface para vari´veis com tabela para defini¸ao a c˜ dos valores associados aos estados poss´ ıveis (as vari´veis probabil´ a ısticas e as de utilidade). preservando os subdom´ ınios naturais existentes. Classe UtilityTable: tabela de potencial de utilidade. O resultado final da inferˆncia deve ser o mesmo que seria obtido com e a rede bayesiana formada pela uni˜o das sub-redes. para armazenar a ordem de elimina¸ao dos n´s. o Classe PotentialTable: tabela de potencial que possui os valores das c´lulas e como um n´mero real entre 0 e 1 (propriedade dados que ´ uma cole¸˜o de u e ca n´meros reais representados pela classe FloatCollection). A MSBN divide um dom´ u ınio modelado em rede bayesiana em sub-redes. para armazenar as vari´veis que pertencem ` tabela (n˜o a a a apresentada no modelo. Essa substitui¸˜o ´ fruto de refatora¸ao. A classe ArrayList<Node>. e Classe SingleEntityNetwork: representa uma rede que n˜o possui a multi-entidades. o • SingleEntityNetwork. A classe NodeList era utilizada pelas c ca seguintes classes: • Network. substitui a ana tiga NodeList. para facilitar seu entendimento).1.Classe Edge: representa um arco ligando dois n´s.2 Redes bayesianas m´ ltipla-seccionadas u A Figura 4. 4. na tentativa de resolver problemas a ca de seguran¸a na execu¸˜o em multi-thread. para armazenar os n´s pais. o • PotentialTable.3 apresenta a modelagem das classes que implementam MSBN (redes bayesianas m´ltipla-seccionadas) no UnBBayes.1. para armazenar seus n´s. c˜ o • Node. que foi resultante da ca e c˜ an´lise de desempenho relatada na Se¸˜o 7. a Segue abaixo descri¸oes das classes ilustradas no diagrama UML da Figura c˜ 4.3. 48 . Classe Network: representa um grafo gen´rico. filhos e adjacentes.

define os m´todos para tratar as MSBN. o Classe AbstractMSBN.1. A Se¸˜o 4.3.3: Modelagem de classes para MSBN. u Classe SingleAgentMSBN.2. e Classe MultiAgentMSBN.1 MTheory O diagrama de classes em UML da Figura 4.Figura 4. u Classe Linkage. Classe SubNetwork. a o 4. u 4. Classe MultiEntityBayesianNetwork: representa uma MTheory.3.1. e 49 . uma rede m´ltipla seccionada.3 Modelagem geral da vers˜o inicial do UnBBayesa MEBN Segue a descri¸ao das principais classes constru´ c˜ ıdas na extens˜o inicial do a UnBBayes para suporte ` MEBN.1. possui os n´s que ligam duas sub-redes. c˜ ca ser˜o detalhadas as estruturas de um MFrag e os relacionamentos dos n´s. sub-rede de uma rede m´ltipla seccionada. uma rede m´ltipla seccionada multi-agente. Na Se¸˜o 4. a qual define a ontologia do dom´ ınio.1 seguinte apresentar´ as princia ca a pais classes utilizadas para a representa¸ao de uma MTheory.3.4 representa a estrutura geral de uma MTeoria tratada pelo UnBBayes-MEBN. A teoria ´ composta por um ou mais MFrags.1.

RV) de MFrags. MFrag ´ composta e virtualmente por vari´veis ordin´rias. o o 2 Apesar de n˜o ser mostrada no diagrama UML. Cada argumento de uma RV em MFrag exige um objeto da classe OrdinaryVariable. Possui informa¸oes c˜ sobre seus argumentos ( OrdinaryVariable ) e a declara¸˜o do pseudoca c´digo que define uma tabela de probabilidade condicional (CPT). Permitem representar uma fam´ de distribui¸˜es de probabilidade sobre ılia co J´ que no UnBBayes todas as entidades devem ser tipadas. Possui o escopo global ` MTheory2 . Apesar de n˜o estar mostrada no diagrama UML. resolveu-se juntar esses dois conceitos em um s´. n´s de entrada. o UnBBayes representa OrdinaryVariable como um n´ e o de contexto IsA(Type) 1 . Possui escopo interno a c˜ MFrag. Classe OrdinaryVariable: vari´veis ordin´rias s˜o utilizadas para se referir a a a a entidades que entrar˜o como argumentos nas vari´veis aleat´rias (Random a a o Variable . e essa associa¸˜o de tipos deve a ca ser declarada como um n´ de contexto IsA. sendo que este est´ associado com a o tipo das entidades aceitas para preencher aquele parˆmetro. utiliza uma classe a ResidentNodePointer para desacoplar com ResidentNode. especializa¸ao de Node.4: Modelagem de classes para MTheory Classe MFrag: representa um fragmento de MEBN (MFrag). que ´ usado como entrada em um e e MFrag.Figura 4. quantificadores e igualdade. E basicamente uma referˆncia para um ResidentNode. ´ Classe InputNode: classe que representa uma RV de entrada. a Classe BuiltInRV: classe que representa vari´veis aleat´rias nativas ao UnBa o 3 Bayes . o 1 50 . previamente constru´ ıdas para facilitar a modelagem de MEBN. n´s de contexto e n´s a a o o o residentes. a MultiEntityBayesianNetwork referencia a os conjuntos de ResidentNode que existem na MTheory. Classe ResidentNode: classe que representa uma RV residente. Por quest˜o a a de conveniˆncia. 3 Conectivos l´gicos.

a co Composta por um par de uma vari´vel ordin´ria e uma instˆncia de entidade.5 ilustra os principais elementos de um MFrag. que funcionam como um ınio template para a gera¸ao de uma SSBN.1 apresenta as BuiltInRV que est˜o imc˜ a plementadas no UnBBayes.3.5: Modelagem de classes para MFrag. pelos n´s de entrada (InputNode) e pelos n´s residentes o o (ResidentNode).1: BuiltInRV implementadas no UnBBayes. And Iff EqualTo Implies Exists Not ForAll Or Tabela 4. representando a a a um valor espec´ ıfico que OrdinaryVariable est´ assumindo em um determinado momento. E o (ContextNode).1. Classe MFrag: representa um MFrag. utilizada como template para a instancia¸˜o da SSBN de acordo com as evidˆncias. Figura 4. A Tabela 4. e a MFrags para Findings s˜o representados por declara¸˜es em FOL. baseado nas instˆncias de entidades e c˜ a evidˆncias presentes na base de conhecimento que ilustra uma situa¸ao espec´ e c˜ ıfica. 4. instˆncias de entidades presenca e a tes e os questionamentos do usu´rio. Representa a modelagem do dom´ a ınio ´ composta pelos n´s de contexto (atrav´s de ontologia probabil´ e ıstica). Para possibilitar a gera¸˜o da SSBN.2 MFrag O diagrama da Figura 4. a 5 4 51 . O UnBBayes somente lida com MFrags de dom´ 4 .interpreta¸oes da FOL. esse MFrag possui ca uma referˆncia para as instˆncias OVInstance5 .

3.3. Figura 4. podendo ser resio dente.Classe RandomVariableFinding: representa as evidˆncias existentes para um e determinado n´.2 para as refatora¸oes realizadas nas classes que repree c˜ c˜ sentam MFrag. ca Classe Argument representa um argumento de um determinado MultiEntityNode. A Figura 4. e o atrav´s da propriedade residentNode. e Classe ContextNode representa os n´s de contexto. o Classe MultiEntityNode representa um n´ de uma MEBN. Classe ResidentNodePointer representa uma liga¸˜o do n´ de entrada ou do n´ ca o o de contexto. a 52 . O argumento pode ser complexo. Classe StateLink representa uma vincula¸ao entre o DomainResidentNode e c˜ Entity. de entrada ou de contexto. atrav´s da propriedade node. conforme sua subclasse. explicado com c˜ mais detalhes na Se¸˜o 4. Essa informa¸˜o ´ utilizada para a gera¸ao da SSBN. que fazem restri¸˜es `s entio co a dades utilizadas como argumentos nas RV de entrada e residentes do MFrag em quest˜o. atrav´s da e propriedade oVariable. ao n´ residente correspondente. Classe Entity representa uma entidade. possibilitando a defini¸ao de exclusividade global. ou simples.6: Modelagem de classes para os n´s de uma MEBN. Esta classe ´ utilizada apenas no processo de armazenamento e carregae mento de arquivos PR-OWL.1. o ca e c˜ Veja tamb´m a Se¸ao 7. atrav´s do e uso das propriedades entityTerm e argumentTerm.6 apresenta a hierarquia dos tipos de n´s existentes o na MEBN.

Os n´s residentes podem ter como pais ou outros n´s residentes6 o o ou n´s de entrada. incorporado ` PR-OWL na vers˜o 1.05 o ca a a (www. Estes n´s possuem o o um pseudo-c´digo. Estes n´s s˜o apenas uma reo o a ferˆncia para DomainResidentNode j´ existente.3 Exclusividade global Existe um conceito conhecido como exclusividade global de um determinado estado de um n´ (vide Se¸˜o 4. mas em algumas situa¸˜es.3. por exemplo.7. respons´vel por definir a regra de cria¸ao de uma CPT. a o a 53 .4 Tabela de Probabilidades A proposta original da linguagem PR-OWL apresentada em [15] n˜o cont´m a e uma especifi¸ao formal para f´rmulas capazes de definir dinamicamente a CPT c˜ o dos n´s residentes instanciados durante a gera¸ao da SSBN. Essa propriedade ´ necess´ria em situa¸˜es que apenas uma e a co evidˆncia ´ permitida para um n´ em um determinado estado. o 4. definida em nota¸˜o BNF. no e e o MFrag Starship Data apresentada na Figura 4. o a c˜ independentemente do caso espec´ ıfico (entidades e evidˆncias presentes).4 apresenta mais detalhes a respeito do pseudo-c´digo e gera¸˜o ca o ca de CPT.3. Essa funcionalidade o c˜ seria essencial quando o n´mero de pais ´ desconhecido. c˜ a 4. Por exemplo. Ou seja. ´ apresentada abaixo: a ca e table := statement | if_statement if_statement ::= "if" allop varsetname "have" "(" b_expression ")" statement "else" else_statement allop ::= "any" | "all" varsetname ::= ident [".com argumentos iguais .3). O UnBBayes-MEBN u e utiliza um compilador de pseudo-c´digo pr´prio para a gera¸˜o dinˆmica de tao o ca a belas. a Classe ResidentNode representa os n´s residentes geradores.1.1. o estado oe c True tem exclusividade global em rela¸ao ` RV IsOwnStarship(st ). A e Se¸˜o 4. que geralmente se encontra e a em outro MFrag. ´ definido no mesmo MFrag." ident]* b_expression ::= b_term [ "|" b_term ]* b_term ::= not_factor [ "&" not_factor ]* not_factor ::= [ "~" ] b_factor b_factor ::= ident "=" ident else_statement ::= statement | if_statement statement ::= "[" assignment "]" assignment ::= ident "=" expression [ ".1.3.3.pr-owl." assignment ]* expression ::= term [ addop term ]* term ::= signed_factor [ mulop signed_factor ]* 6 Instˆncias iguais de n´s residentes . co e para representar recurs˜o.org).n˜o podem estar ligadas. o estado True para a vari´vel a IsOwnStarship(st ) s´ ´ permitido para uma espa¸onave st . A gram´tica formal.1.Classe InputNode representa os n´s de entrada.

" expression ")" | "MAX" "(" expression ". o Classe Compiler implementa a interface ICompiler para compilar o pseudoc´digo atrav´s da t´cnica descendente recursivo e gera a CPT o e e (PotentialTable) para o n´ a que se refere ( SSBNNode ). a 54 . signed_factor ::= [ addop ] factor factor ::= number | function | "(" expression ")" function ::= possibleVal | "CARDINALITY" "(" varsetname ")" | "MIN" "(" expression "." expression ")" possibleVal ::= ident addop ::= "+" | "-" mulop ::= "*" | "/" ident ::= letter [ letter | digit ]* number ::= [digit]+ Com base na especifica¸ao da gram´tica apresentada. foi projetado e desenvolc˜ a vido um compilador com analisadores l´xico.Figura 4. A estrutura e a a de classes respons´vel por compilar o pseudo-c´digo apresentado est´ na Figura a o a 4.8. Interface ICompiler respons´vel por definir o m´todo para compilar o pseudoa e c´digo e para gerar a CPT. o Classe TempTableHeaderCell classe interna de Compiler utilizada como c´digo o intermedi´rio para calcular a CPT ( PotentialTable ). sint´tico e semˆntico.7: MFrag Starship Data.

Esse tipo de abordagem ´ bastante comum em parsers e orientado-a-objeto. TempTableHeaderCell: encapsula informa¸˜es sobre a express˜o booleana que co a representa uma cl´usula IF do pseudo-c´digo. a a 55 . o Internamente. esse pseudo-c´digo ´ c˜ o e armazenado como objeto String no n´ residente. A tabela tempor´ria ´ estruturada pelas classes internas a c˜ a e apresentadas na Figura 4. Mant´m placeholders para a o e informa¸˜es sobre os estados dos pais em situa¸˜es espec´ co co ıficas.Figura 4. o Classe SSBNNode classe utilizada para representar um n´ residente com informa¸oes o c˜ espec´ ıficas para gerar um n´ de uma rede bayesiana comum.9 e organizada da maneira apresentada pela Figura 4. sua semˆntica est´ descrita.8: Modelagem de classes do compilador do pseudo-c´digo. MIN e MAX.2. para que seja determinado os valores a utilizar no preenchimento da CPT definitiva durante a gera¸ao de SSBN. ´ gerado um c´digo intermedi´rio usado para definir o pseudoe o a c´digo necess´rio para criar uma a CPT do n´ na constru¸ao de uma SSBN o a o c˜ para um dado contexto. Abaixo. satisfazendo o a ca o design-pattern Composite.10. c˜ TempTableProbabilityCell: encapsula as express˜es matem´ticas cujo resulo a tado ser´ mapeado para a uma c´lula da CPT definitiva de um n´ da SSBN. A gram´tica incorpora trˆs fun¸oes para manipula¸ao de express˜es: CARDIa e c˜ c˜ o NALITY. Na implementa¸ao do UnBBayes. Um exemplo de pseudo-c´digo o o j´ foi visto na Se¸ao 3. a e o As express˜es matem´ticas e booleanas s˜o resolvidas usando-se classes ino a a ternas que representam uma ´rvore de avalia¸˜o de express˜es.

A fun¸ao ´ util para se ter uma id´ia de quantos pais c˜ e ´ e foram conectados `quele n´. E util para limitar superiormente uma o express˜o. o CARDINALITY Retorna o n´mero de combina¸oes de n´s pais que possuem u c˜ o como argumento predominante a indicada por “varsetname”. a MAX Obt´m duas express˜es como argumento e retorna o maior valor entre e o ´ ´ o resultado dessas duas express˜es. cujo n´mero de instˆncias ´ ıvel oe u a n˜o ´ conhecido a priori. a Quando um pseudo-c´digo n˜o ´ declarado para um n´ residente.9: Diagrama de classes da tabela tempor´ria do compilador de pseudoa c´digo do UnBBayes-MEBN. a e a o 56 . seja. Isso ´ particularmente o e util quando o estado poss´ de um n´ ´ uma entidade. obviamente ser´ a a retornado o valor 0.Figura 4. E util para limitar inferiormente uma o express˜o. Nesse caso. a distribui¸˜o de probabilidades c˜ o ca ser´ uniforme para todos os valores poss´ a ıveis daquele n´. Se o valor “varsetname” for diferente da indicada na express˜o “if”. n˜o se conhece quais estados o n´ pode apresentar. a o MIN Obt´m duas express˜es como argumento e retorna o menor valor entre o e o ´ ´ resultado dessas duas express˜es. ser´ atribu´ o a e o a ıdo uma interpreta¸ao especial a esse n´.

ca e a 57 .Figura 4.10: Organiza¸˜o das colunas e c´lulas da tabela tempor´ria.

1 Interface Gr´fica a O UnBBayes ´ o primeiro software a oferecer suporte a edi¸ao de MEBN e de e c˜ arquivos PR-OWL de forma gr´fica. isNodeFrom e e isResidentNodeIn. e e 5. os preenchendo automaticamente. A montagem de ontologias ´ lenta e propensa a erros. O usu´rio monta a ontologia c˜ a criando os diversos elementos do PR-OWL e os relacionamentos. utilizando a API do ca ıda Prot´g´-OWL. a Ferramentas como o Prot´g´ facilitam a cria¸ao de ontologias probabil´ e e c˜ ısticas ao permitir a importa¸ao do modelo PR-OWL. n˜o requerendo do usu´rio a a a 58 . evitando que o usu´rio tenha que c˜ a lembrar-se de todas as informa¸oes e tags OWL. Houve um grande esfor¸o ca e a c para que a GUI fosse a mais intuitiva e amig´vel poss´ para o usu´rio. As ontoe e logias probabil´ ısticas s˜o criadas de forma intuitiva. Na primeira se¸˜o ´ descrita a interface gr´fica. Na terceira se¸˜o ´ desca e crita a implementa¸˜o da entrada e sa´ no UnBBayes. mostrando as solu¸˜es t´cnicas para os principais problemas enco e frentados. pois a ıvel a uma das motiva¸oes para o projeto era a dificuldade de se criar ontologias proc˜ babil´ ısticas utilizando os programas at´ ent˜o dispon´ e a ıveis (como por exemplo o Prot´g´). devendo conhecer o significado de termos t´cnicos como hasPossibleValues. Na segunda se¸ao ´ apresentado o tratamento da l´gica de primeira e e c˜ e o ordem no UnBBayes.Cap´ ıtulo 5 Implementa¸˜o do ca UnBBayes-MEBN Neste cap´ ıtulo s˜o discutidos os aspectos da implementa¸˜o da MEBN feita a ca no UnBBayes. utilizando a API do PowerLoom. e O UnBBayes facilita a modelagem ao omitir muitos termos t´cnicos cujo ine teresse est´ vinculado apenas ao processamento interno durante as fases de cona sistˆncia e inferˆncia da ontologia.

1 apresenta a arquitetura da GUI do UnBBayes ap´s a impleo menta¸˜o do suporte a MEBN. mostrando apenas ca a as classes e relacionamentos necess´rios ao entendimento. • Classe MDIDesktopPane: desktop do UnBBayesFrame. O diagrama est´ simplificado. MEBN.Figura 5.1: Arquitetura da GUI conhecimento da sintaxe da PR-OWL. a A arquitetura do UnBBayes baseia-se no padr˜o Model-View-Controller (MVC). Cria o controlador e o painel da rede selecionada. 59 . O pap´l de cada classe ´ descrito a seguir: e e • Classe Main: respons´vel pela inicializa¸ao do UnBBayes. a utilizando controladores para gerenciar as intera¸oes entre a interface gr´fica e o c˜ a modelo. Cria o controlaa c˜ dor principal (MainController). abrir e salvar redes supora tadas pelo UnBBayes: Redes Probabil´ ısticas.1. u e de acordo com o tipo de rede tratado por cada um). Permite a abertura e gerenciamento de m´ltiplos pain´is (podendo estes serem de tipos diferentes.1 Arquitetura A Figura 5. e MSBN. 5. • Classe UnBBayesFrame: tela principal do programa (exibida independentemente do tipo de rede). • Classe MainController: respons´vel por criar.

Trata os eventos do mouse. a • Classe SENController: controlador das opera¸oes realizadas sobre uma c˜ rede probabil´ ıstica normal.• Classe NetworkWindow: janela da rede. sendo que estes podem ser tanto a ree o presenta¸ao de uma rede bayesiana normal. possuindo o painel de edi¸ao corresc˜ pondente ` rede e o painel que cont´m o grafo da rede. • Classe GraphPane: respons´vel por desenhar o grafo da rede na tela. As fun¸˜es s˜o delegadas ao controlador o e co a associado ` rede editada. • Classe MEBNEditionPane: painel de edi¸˜o de redes bayesianas multi-entidades.2 e 5. Este a grafo ´ composto por n´s e arcos.parte 1 e c˜ 60 . permitindo que o usu´rio o use para editar os objetos.3 mostra a seq¨ˆncia de cria¸ao dos objetos ue c˜ relacionados ` GUI da MEBN. Cria o controlador a e para a rede (NetworkController). quanto a representa¸ao dos n´s c˜ c˜ o componentes de um MFrag. a • Classe NetworkController: delega fun¸oes que ser˜o executadas em uma c˜ a SingleEntityNetwork ou MultiEntityNetwork. ca • Classe PNEdtionPane: painel de edi¸ao de redes bayesianas (probabilistic c˜ networks). O diagrama das figuras 5. como por exemplo. • Classe MebnController: controlador das opera¸˜es realizadas sobre uma co rede bayesiana multi-entidade. inserir n´s e propagar evidˆncias. a Figura 5.2: Diagrama de sequˆncia de cria¸ao dos objetos da GUI .

n´s residentes. Todos os outros elementos gr´ficos ca a est˜o contidos dentro deste. o A barra de edi¸˜o do objeto selecionado e o painel de edi¸˜o s˜o alca ca a terados de acordo com o tipo de objeto sendo editado e juntos permitem que o usu´rio edite as diversas propriedades do objeto ativo. n´s de contexto. A barra de edi¸˜o da MEBN cont´m bot˜es para inserir os elementos princa e o cipais de uma MTheory: MFrags.2 Painel Principal A Figura 5. a A barra de op¸˜es globais cont´m bot˜es para que o usu´rio escolha o que co e o a se deseja fazer (editar uma generative MTheory ou entrar com findings e queries para gerar uma SSBN). .Figura 5.4 ilustra os componentes da tela de edi¸˜o de MEBN: ca O painel de edi¸˜o da MEBN (classe MEBNEditionPane) foi criado para a ca edi¸˜o de MTheories e de seus elementos. para carregar/salvar bases de conhecimento e para configurar o ambiente de trabalho.3: Diagrama de sequˆncia de cria¸ao dos objetos da GUI . o o o vari´veis ordin´rias e arcos. n´s de input. Os pain´is e barras exisa e tentes s˜o os seguintes: a • Barra de edi¸ao de MFrag c˜ 61 .1. a a A tela de edi¸˜o do grafo apresenta o conte´do do MFrag ativo e ´ onde ca u e devem ser inseridos os n´s e arcos.parte 2 e c˜ 5.

n˜o aparecem no grafo. podendo ser editados apenas pelos a pain´is (como por exemplo as entidades).Figura 5. enquanto outros n˜o possuem a ca a painel.4: Componentes do Painel Principal do UnBBayes • Barra de edi¸ao da MTheory c˜ • Painel de visualiza¸ao dos elementos da MTheory ativa c˜ • Painel e barra de edi¸˜o do n´ residente ca o • Painel e barra de edi¸˜o do n´ de input ca o • Painel e barra de edi¸˜o do n´ de contexto ca o • Painel e barra de edi¸˜o da vari´vel ordin´ria ca a a • Painel de edi¸ao de entidades c˜ • Painel de edi¸ao de instˆncias de entidades c˜ a • Painel de edi¸ao de evidˆncias (findings) c˜ e Alguns objetos n˜o possuem barra de edi¸˜o. a 62 . ainda. Alguns. ajudando na compreens˜o do dominio modelado. Permite a e c˜ que o usu´rio insira coment´rios explicativos a respeito dos objetos que comp˜em a a o a MTheory. e O painel de descric˜o cont´m a descri¸ao do componente selecionado.

c˜ o e o a h´ listas para a sele¸˜o dos objetos utilizados no c´digo (n´s pais.1. visualizar e renomear c˜ MFrags. o usu´rio tem op¸˜es de auto-texto que o auxilia a co na edi¸ao do pseudo-c´digo: al´m de bot˜es para inserir as estruturas sint´ticas. 5. apresentando os n´s como filhos de seus respectivos MFrags. remover.Figura 5. facilitando a visualiza¸ao dos diversos o e c˜ tokens. 63 . o A edi¸˜o da tabela probabil´ ca ıstica ´ feita atrav´s de uma popup.5: Exibi¸ao do MFrag ativo c˜ 5. conforme iluse e trada na Fig. A sele¸ao de MFrags ´ realizada atrav´s da ´rvore da MTheory. imc˜ e e a plementada pela classe MTheoryTree. c˜ • Editar a tabela de distribui¸ao probabil´ c˜ ıstica do n´.3 Edi¸˜o de MFrags e de seus elementos ca A edi¸ao de MFrag consiste em adicionar. • Editar os argumentos inserindo e retirando vari´veis ordin´rias atrav´s do a a e painel de edi¸ao de argumentos (ArgumentEditionPane). Neste painel. que mostra os elementos da MTheory de forma hier´rquica. renomear e excluir n´s (atrav´s do grafo e atrav´s da ´rvore da o e e a MTheory) • Editar os estados atrav´s do painel de edi¸ao de poss´ e c˜ ıveis valores (PossibleValuesEditionPane).5. a o O MFrag ativo ter´ o seu conte´do exibido no grafo de cena conforme ilustrado a u na Figura 5. A edi¸ao de um n´ residente permite: c˜ o • Adicionar. estados e ara ca o o gumentos).6. O c´digo da tabela ´ colorido.

de forma a evitar constru¸˜es irregulares.Figura 5. o o e a onde um n´ operador possui os operandos como n´s filhos. excluir n´s (atrav´s do grafo e atrav´s da ´rvore da o e e a MTheory) • Editar a qual n´ residente o n´ de input se refere. como ilustrado o o na Figura 5. O usu´rio faz esta escolha o o a selecionando o n´ na ´rvore representada pela classe InputInstanceOfTree. Quando um operador ´ co e 64 .7: Painel de edi¸˜o do n´ de input ca o A edi¸ao de um n´ de input consiste em: c˜ o • Adicionar.8.7 A edi¸ao de um n´ de context permite: c˜ o • adicionar. o usu´rio preenche os argumentos do n´ de input. O objetivo deste modo de criar f´rmulas ´ diminuir a liberdade para o deo e senvolvedor. renomear.6: Janela de edi¸ao da CPT c˜ Figura 5. o a que mostra hierarquicamente os n´s residentes de cada MFrag. o a o conforme ilustrado na Figura 5. A formula ´ editada como uma ´rvore. Ap´s a o o escolha do n´ residente. excluir n´s (atrav´s do grafo e pela ´rvore da MTheo e a ory) • editar a f´rmula que o n´ representa. renomear.

a quantidade de operandos ser˜o fixados. a A edi¸˜o de uma vari´vel ordin´ria permite adicionar. o usu´rio pode alterar o nome e definir a propriedade ´ c˜ a E Orden´vel. que relaciona a e o a vari´vel ordin´ria com o seu tipo. que indica se as instˆncias da entidade possuem ordem (podendo.10).Figura 5. 5.1. a c˜ e Estes pain´is tamb´m mostram as informa¸oes contidas na base de conhecimento e e c˜ e permite que evidˆncias ou instˆncias retiradas sejam exclu´ e a ıdas.5 Questionamentos e gera¸˜o de SSBN ca A janela de questionamentos permite que o usu´rio selecione qual o n´ (s˜o a o a 65 . Na edi¸ao.8: Edi¸ao da f´rmula do n´ de contexto c˜ o o criado. Com esta abordagem. 5.1. c˜ O usu´rio entra com as informa¸˜es a respeito das situa¸oes espec´ a co c˜ ıficas atrav´s e do painel de instˆncias de entidades e do painel de edi¸ao de evidˆncias (Fig. a a portanto. Apesar das vari´veis ordin´rias n˜o serem n´s. de forma que a unica a¸ao que o a ´ c˜ desenvolvedor poder´ realizar ser´ definir quais argumentos estes n´s filhos posa a o suir˜o. ca a a o e alterar o tipo da vari´vel.4 Edi¸˜o de entidades e findings ca A edi¸˜o de entidades (Fig.9) permite a criac˜o. serem utilizadas em constru¸oes que envolvam recursividade). 5. elas a a a a o s˜o mostradas no grafo do MFrag atrav´s de um n´ especial: o IsA. 5. o usu´rio consegue a a a entender uma boa parte da modelagem apenas com os grafos dos MFrags. eliminac˜o e altera¸˜o ca a a ca destas. renomear e excluir n´s.

Figura 5.9: Edi¸ao de entidades c˜ Figura 5.10: Edi¸ao de evidˆncias c˜ e 66 .

a Na Se¸ao 5.11: Painel da rede compilada listados todos os n´s residentes) ele deseja realizar a inferˆncia e sobre quais aro e gumentos.Figura 5.2.2 L´gica de primeira ordem utilizando Powero Loom Os n´s de contexto s˜o vari´veis booleanas que representam condi¸oes que o a a c˜ devem ser satisfeitas para que a distribui¸˜o de probabilidade dos n´s residentes ca o se aplique. Atrav´s dele. tendo como premissas os fatos conhecidos. Na Se¸ao 5.3 s˜o descritas a integra¸ao da API PowerLoom ao UnBBayes e o c˜ a c˜ mecanismo utilizado para a avalia¸˜o dos n´s de contexto. descrevendo os comandos utilizados para o seu uso. Avaliar um n´ de contexto corresponde a avaliar uma f´rmula da o o l´gica de primeira ordem.2. Na Se¸˜o 5. ca o 5.1 O PowerLoom O PowerLoom ´ um sistema de representa¸˜o de conhecimento e inferˆncia ( e ca e KR&R ) baseado na l´gica de primeira ordem que provˆ linguagem e ambiente o e 67 .2.1 s˜o apresentadas as principais caracter´ ca a ısticas do PowerLoom. painel previamente implementada no UnBBayes. al´m de atribuir outras a a e evidˆncias e propag´-las (na SSBN gerada).11). A se¸ao c˜ n˜o detalha a sintaxe dos comandos (o leitor interessado pode consultar [11]).2. o e usu´rio poder´ visualizar a probabilidade de cada estado. Ap´s a inferˆncia. e a 5. a SSBN gerada ser´ mostrada no Painel de rede compio e a lada (Fig 5. Na impleo menta¸˜o do UnBBayes foi adotada a API PowerLoom para avalia¸˜o de f´rmulas ca ca o da FOL.2 ´ descrita a implementa¸ao da l´gica de primeira ordem c˜ e c˜ o pelo PowerLoom.

do KIF (Knowledge Interchange Format). sintaxes e semˆnticas bem conhecidas e ao grande poder de a representa¸˜o. Atualmente ´ distribu´ em licen¸a open-source c e ıdo c (o usu´rio pode escolher entre as licen¸as GPL. ca O PowerLoom utiliza como linguagem de representa¸ao uma variante. Apesar de n˜o ser uma l´gica descritiva. sob a lideran¸a de Hans Chalupsky. A arquitetura especialista ´ extens´ para permitir e ıvel que usu´rios acrescentem seus reasoners ou predicados computados. utilizando encae e c˜ deamento forward e backward para derivar o que logicamente segue dos fatos e regras existentes na base de conhecimento. A API do PowerLoom para e ıdo e a linguagem Java ´ relativamente pequena. que foi desenvolvida especificamente para este objetivo. o PowerLoom possui uma ca grande preocupa¸ao em oferecer o m´ximo de expressividade e de escalabilidade. a c Um sistema de KR&R permite modelar aspectos salientes de um mundo de interesse e fazer inferˆncias a partir do modelo. o interesse no PowerLoom ´ no seu mecanismo de inferˆncia e e sobre senten¸as de l´gica de primeira ordem. o PowerLoom possui um grande n´mero de procedimentos para reasoners u especializados que eficientemente trabalham sobre hierarquias de conceitos. Entre os diversos paradigmas e de modelos para a implementa¸ao destes sistemas. desenvolvida para a troca de conhecimento entre o sistemas de computadores diferentes. possuindo menos de 3 MB (juntae mente com a STELLA).para a constru¸ao de aplica¸oes baseadas em conhecimento. a linguagem STELLA preserva as caracter´ ısticas desta que facilitam a programa¸˜o simb´lica e a r´pida prototipagem. O PowerLoom foi escrito em linguagem STELLA (Strongly Typed. Nessa pesquisa. a partir do sistema Loom. com c˜ expressividade total. relacionamentos ou conjuntos. o PowerLoom ´ distribu´ nas trˆs linguagens citadas. aritm´tica e rae cioc´ ınio sobre desigualdades. Por ser escrito em STELLA. H´ tamb´m a a e suporte para racioc´ ınio hipot´tico. Lisp e C++ eficiente e leg´ o ıvel. O PowerLoom realiza inferˆncia atrav´s da dedu¸ao natural. LGPL ou Mozilla). Lisp-like LAnguage). utilizando o poder de expressividade da l´gica de primeira a o ordem. possuindo mecanismos para controlar a busca e a e oferecer suporte a grandes ontologias e bases de conhecimento. e a e O PowerLoom ´ bastante escal´vel. c˜ a A expressividade ´ vista com mais importˆncia que a completude da inferˆncia. Como sistema de representa¸˜o de conhecimento. os baseados em l´gica s˜o os c˜ o a mais utilizados por apresentarem vantagens tais como: a grande quantidade de pesquisas realizadas. Foi criado por desenc˜ c˜ volvedores da University of Southern California. Al´m do mecanismo de dedu¸ao nae c˜ tural. O KIF ´ uma e linguagem baseada em l´gica. Baseada em Lisp. enquanto ainda permite a tradu¸ao ca o a c˜ em c´digo Java. ficando em segundo plano as suas c o 68 . racioc´ e ınio sobre igualdades. possui a o classificadores que podem classificar hierarquias de conceitos e relacionamentos e instˆncias definidas.

o o como por exemplo o PL-KERNEL. <=> e os o co quantificadores forall e exists. =>. As estruturas de conhecimentos s˜o organizadas em containers l´gicos chamaa o dos de m´dulos: os fatos n˜o s˜o v´lidos globalmente. mas apenas dentro de um o a a a contexto espec´ ıfico. Uma proposi¸ao ´ uma senc˜ e ten¸a l´gica que tem um valor verdade associado. + e =: • (Pessoa Joao) • (Casados Joao Maria) • (= (+ 2 3) 6) O c´lculo predicativo constr´i senten¸as complexas a partir de senten¸as sima o c c ples usando os conectivos l´gicos and. utilizando c˜ os relacionamentos Pessoa. maiorQue). a ı Pessoa). O PowerLoom mant´m um ponteiro apontando o e para o m´dulo corrente.: Bras´lia. as respostas para os questionamentos podem mudar no tempo. Como os fatos podem ser inseridos e retirados. As entidades do mundo s˜o capturadas como termos (ex. que cont´m um conjunto de defini¸˜es de cone co ceitos e relacionamentos de prop´sito geral que coletivamente formam o suporte o l´gico para construir aplica¸oes espec´ o c˜ ıficas baseadas em conhecimento.2 L´gica de Primeira Ordem no PowerLoom o Uma base de conhecimento PowerLoom ´ constru´ com a defini¸˜o da tere ıda ca minologia para o dom´ ınio e pelas regras e fatos sobre este. O PowerLoom possui alguns m´dulos built-in.: temIdade. or. Os termos no PowerLoom devem ter nomes distintos.caracter´ ısticas de sistema de representa¸˜o de conhecimento. 3. not. Conceitos como Pessoa. como por exemplo: “Benjamin ´ c o e uma pessoa”. de forma que todas as assertivas ou questionamentos s˜o o a feitos relativamente a este m´dulo. A nota¸ao KIF seguida pelo PowerLoom utiliza a forma pr´-fixada c˜ e para representar as preposi¸oes. como ilustrado no exemplo a seguir. uma forma conveniente de se organizar o conhecimento ´ colocar as e defini¸˜es em m´dulos mais altos e os fatos em m´dulos mais baixos. O PowerLoom permite a montagem de uma hierarquia de m´dulos. ca 5. Exemplos: • (not (Homem Maria)) • (forall ?p (=>(Pessoa ?p) (exists ?m (Mae ?m ?p)))) 69 . Casados. S˜o categoria zados ou relacionados com outros por objetos chamados relacionamentos (ex. as implica¸˜es <=. Estado. A heran¸a de co o o c fatos n˜o ´ monotˆnica: um m´dulo filho pode retirar ou sobrescrever fatos hera e o o dados de m´dulos antecessores. facilitando a modelagem de fatos que s˜o v´lidos em diversos contextos o a a e permitindo a importa¸˜o de conhecimentos de outros m´dulos. Com essa caca o racter´ ıstica.2. Compania e N´mero s˜o u a considerados uma subcategoria de relacionamento.

por´m o inverso e n˜o ´ poss´ (apenas ´ poss´ subir o grau da for¸a da defini¸˜o do valor vera e ıvel e ıvel c ca dade. mais complexa. Uma prea e posi¸ao previamente definida como default pode ser redefinida para qualquer um c˜ dos quatro outros valores. O comando ask retorna o valor verdade de uma assertiva. 70 .A primeira senten¸a representa o fato “Maria n˜o ´ homem”. defrelation e deffunction s˜o utilizados para definir conceitos. fazendo com que a assertiva que causou a exce¸˜o a ca n˜o seja executada). enquanto o retrieve retornar´ ?x = Maria. o a ask retornar´ false. O uso de referˆncia circular ´ permitido em defini¸oes. e enquanto os defaults s˜o definidos atrav´s do comando pressume. A vis˜o de premissa de mundo fechado a a tamb´m ´ implementada no PowerLoom. Note que o a a comando assert insere senten¸as ou fatos na base de conhecimento. default-false ou unknow. o valor ser´ dado como unknow. O comando retract permite retirar o atual valor-verdade a de uma proposi¸ao. c • (assert (not(Trabalha-para Jeronimo Megasoft))) • (assert (Trabalha-para Maria Megasoft)) • (ask (Trabalha-para Jeronimo Megasoft)) • (retrieve all(Trabalha-para ?x Megasoft)) Uma preposi¸˜o PowerLoom ´ etiquetado com um valor verdade que pode ter ca e um de cinco valores diferentes: true. Um clash (contradi¸ao) ocorre quando uma preposi¸ao ´ redefinida de true c˜ c˜ e para false ou vice-versa. permitindo que se opte por um dos dois e e modos. O PowerLoom assume premissas de mundo aberto por padr˜o. permitindo que seja definido qualquer outro valor verdade c˜ para esta. Em uma vis˜o a a de mundo aberto ´ assumido que n˜o h´ um modelo completo do mundo tratado: e a a caso n˜o haja informa¸oes para provar a verdade ou a falsidade de um questionaa c˜ mento. relacionamentos e fun¸oes a c˜ respectivamente. representa o fato “Toda pessoa tem uma m˜e”. default-true. Uma clash-exception ´ levantada. a O PowerLoom requer que relacionamentos sejam definidos antes de serem utilizados em assertivas e questionamentos. ca a o e Para fazer inferˆncia a partir das senten¸as e regras da base de conhecimento. Todos os axiomas que aparecem dentro dos limites de uma a defini¸˜o s˜o resolvidos antes da pr´xima ocorrˆncia de um questionamento. por´m e e c˜ e n˜o em assertivas. Os comandos defconcept. nunca descer para um grau anterior). permitindo que e as aplica¸oes tomem a a¸˜o desejada (o comportamento padr˜o do PowerLoom ´ c˜ ca a e n˜o dar tratamento nenhum. Os valores true e false podem ser definidos atrav´s do comando assert. e c podem ser utilizados os comandos ask e retrieve. Preposi¸˜es previamente definidas como default-true co ou default-false podem ser redefinidas como true ou false. enquanto sec a e gunda. No exemplo abaixo. false. enquanto o comando retrieve retorna uma listagem dos objetos que corretamente preenchem as vari´veis.

c˜ o O trabalho com a API ´ facilitado atrav´s de uma interface especial (PLI).2.3 Uso do PowerLoom para a avalia¸˜o dos n´s de conca o texto Um MFrag representa uma distribui¸ao de probabilidade de instˆncias de seus c˜ a n´s residentes.5. A c˜ c˜ API PowerLoom foi utilizada para a avalia¸ao dos n´s de contexto. A maic˜ oria dos m´todos presentes na interface PLI possuem duas vers˜es: uma que ree o cebe como parˆmetros objetos STELLA e outra que recebe como parˆmetro uma a a string contendo o comando PowerLoom. dados os valores das instˆncias dos seus pais no grafo. Interface KnowledgeBase cont´m os m´todos que a base de conhecimento utie e lizada pelo UnBBayes deve conter. As inferˆncias devem ser feitas dentro de um m´dulo. Ambas retornam objetos STELLA. e e que evita que o usu´rio utilize os objetos STELLA diretamente (o que exigiria um a conhecimento profundo do processo seguido para se fazer as opera¸oes). as restri¸oes de contexto devem ser satisfeitas. Figura 5. As classes presentes na implementa¸ao da base de conhecimento (KB) s˜o c˜ a apresentadas na Figura 5. Classe Module classe do da API do PowerLoom que representa um m´dulo da o base de conhecimento. Os m´todos correspondem as opera¸oes e c˜ de inserir e retirar informa¸oes a base de conhecimento (a partir dos objetos c˜ MEBN) e fazer questionamentos sobre informa¸˜es na base de conhecimento co (a partir de n´s de contexto).12: Modelagem do uso do PowerLoom. o Classe PowerLoomKB implementa¸˜o de KnowledgeBase utilizando o PowerLoom ca como base de conhecimento. Para que o a estas distribui¸oes se apliquem.12. e o 71 .

A verifica¸ao de tipos na montagem das MTheories geradoras ´ gac˜ e rantida pelo UnBBayes atrav´s da pr´pria GUI que n˜o permite inconsistˆncias. co a As fun¸oes utilizadas para a tradu¸˜o da MTheory geradora para a base de c˜ ca conhecimento s˜o descritas a seguir (Figura 5. Foi assumida essa op¸˜o porque o suporte ca a tipos do PowerLoom exige que se avalie toda a base de conhecimento ap´s a o inser¸˜o de cada assertiva. Ao utilizar o PowerLoom. sendo ele gerado a partir da ontologia quando o usu´rio dele o a necessitar (ou seja. Devido a problemas de gerˆnciamento das modifica¸oes entre o arquivo e c˜ salvo e a ontologia com a qual o usu´rio est´ trabalhando. quando fizer alguma opera¸ao que necessite que sejam feitas c˜ inferˆncias na base de conhecimento).Classe Environment classe da API do PowerLoom que representa as caracter´ ısticas do ambiente onde s˜o executadas as opera¸oes. Este super-m´dulo precisa o ser modificado apenas se o usu´rio fizer modifica¸˜es na modelagem da MTheory a co geradora. e c˜ ´ poss´ salvar um m´dulo PowerLoom com estas defini¸oes. optamos por n˜o salvar a a a o m´dulo generative. Essa inser¸˜o na KB ´ preca e cedida de uma tradu¸ao da modelagem em defini¸˜es de entidades e de vari´veis c˜ co a aleat´rias no PowerLoom. para verificar se a nova assertiva inserida possui algum ca erro de tipo. oferecendo mecanismos de inferˆncia para trabaco e lhar com eles. ca o A seguir ´ analisado como o PowerLoom ´ utilizado em cada um dos passos e e e como funcionam os m´todos da classe PowerLoomKB. de forma que ao e ıvel o c˜ se gerar outra SSBN se aproveite este super-m´dulo e a partir deste se acreso cente apenas as assertivas relativas a SSBN atual. • avalia¸˜o dos n´s de contexto. • mapeamento da situa¸ao espec´ c˜ ıfica para a base de conhecimento. a co informando ao usu´rio poss´ a ıveis erros. O PowerLoom possui suporte completo a defini¸˜es de tipos e subtipos. no entanto. a c˜ Os passos para a avalia¸ao dos n´s de contexto s˜o os seguintes: c˜ o a • mapeamento da MTheory geradora na base de conhecimento. reportando os erros. e o a e O UnBBayes tamb´m dever´ fazer as verifica¸oes necess´rias ao receber as ine a c˜ a forma¸˜es do usu´rio para a montagem da SSBN. 72 .12): a • createEntityDefinition(entity: ObjectEntity): faz a tradu¸ao de c˜ um objeto de uma entidade para a sintaxe do PowerLoom e grava a defini¸ao c˜ na KB. assumimos que o UnBBayes j´ fez todas as verifica¸˜es quanto a corretude dos tipos definidos na MTheory. de forma que estes tipos devem ser mapeados no PowerLoom. o Como a MTheory geradora ´ reaproveitada para a gera¸ao de diversas SSBN. e O mapeamento da MTheory geradora para a KB corresponde a inserir na base de conhecimento a modelagem da MTheory geradora. e O UnBBayes implementa uma MTheory tipada.

e Os n´s residentes poderiam ser traduzidos para relacionamentos ou para fun¸oes. um n´ residente tem apenas um possivel estado. ZNDeepSpace. As evidˆncias s˜o mapeadas para a base de conhecimento via o comando e a assert. por exemplo.• createRandomVariableDefinition(resident: DomainResidentNod): faz a tradu¸ao de um n´ residente para a sintaxe do PowerLoom e grava a dec˜ o fini¸˜o na KB. A entidade a Starship. vari´veis n˜o precisam a ca o a a iniciar com exclama¸˜o. • insertRandomVariableFinding(randomVariableFinding: RandomVariableFinding): traduz uma evidˆncia de uma vari´vel aleat´ria e a o e a grava na KB. ca Os objetos ObjectEntity s˜o traduzidos como conceitos na KB. por exemplo. os n´s residentes booleanos s˜o traduzidos para relacionamentos o a e todos os outros s˜o traduzidos para fun¸oes. o c˜ No UnBBayes. Em PowerLoom. nos exemplos a seguir o ponto de exclama¸ao representa um ca c˜ indentificador. instanciado para um conjunto de co e entidades. A op¸ao por traduzir o c˜ os n´s residentes booleanos para relacionamentos ´ justificada por quest˜es de o e o sintaxe do PowerLoom. Se os estados da vari´vel aleat´ria forem o a o booleanos. ent˜o e o a temos: • (assert (IsOwnStarship Enterprise)) 73 . em PR-OWL o nome de uma vari´vel come¸a com ponto de a a c exclama¸˜o. afirmar que !Enterprise ´ sua pr´pria nave. a tradu¸ao feita ´ a seguinte: c˜ e • (assert (Starship Enterprise)) Como j´ visto. ZNPlanetarySystem)) Para a inser¸˜o da situa¸˜o espec´ ca ca ıfica na base de conhecimento s˜o utilizados a os dois m´todos: e • insertEntityInstance(entityInstance: ObjectEntityInstance): traduz uma instˆncia de uma entidade para a sintaxe do PowerLoom e a grava a na KB. c˜ Os poss´ ıveis estados foram mapeados utilizando-se collections no PowerLoom. e n˜o a nega¸˜o l´gica. A justificativa para traduzi-los a c˜ para fun¸˜es ´ porque em um dado momento. no qual um conceito ´ definido em termo de um conjunto enumerado e utilizando a built-in setof: • (defconcept StarshipZoneState (?z) :<=> (member-of ?z setof ZNBlackHoleBoundary. Assim. temos duas possibilidades. que n˜o permite que o comando “assert” utilize os lexea mas “true” e “false” como imagem das fun¸oes. Ao inserir uma evidˆncia sobre uma determinada vari´vel ca e a aleat´ria. Ao inserir uma instˆncia da entidade Starship com o nome Enterprise a na KB. ´ traduzida para: (defconcept Starship ?st).

c˜ No MFrag Starship (Figura 5. que no o e UnBBayes ´ representada como: e • ( Exists(st) ) 74 . implies. ent˜o temos: e a • (assert (= (StarshipZone Enterprise) Z2)) As f´rmulas dos n´s de contexto s˜o diretamente mapeadas para o Powero o a Loom. ´ Exists(st). exists e forall. Uma f´rmula complexa ´ aquela a e o e que retorna uma lista de entidades que satisfazem uma determinada restri¸ao. not. se os estados da vari´vel aleat´ria n˜o forem booleaa a o a nos. Figura 5. Uma f´rmula simples ´ aquela que n˜o possui o o e a vari´veis e que o resultado ´ um valor booleano. or. apresentada na Figura 5. • evaluateSearchContextNodeFormula(context: ContextNode. ovInstances: List<OVInstance>): avalia um n´ de contexto de f´rmula simples para o o verdadeiro ou falso. Al´m disso. eles podem ser divididos em duas categorias: os de f´rmula e o simples e os de f´rmula complexa. Cada n´ de contexto ´ traduzido para um comando a a o e ask. Os built-ins implementados no UnBBayes est˜o presentes no PowerLoom: a and. As vari´veis ordin´rias a a s˜o mapeadas para vari´veis.13. ovInstances: List<OVInstance>): avalia um n´ de contexto de f´rmula o o complexa.13). afirmar que a zona de !Enterprise ´ !Z2 .Caso contr´rio. retornando uma lista com as entidades que satisfazem a restri¸ao c˜ definida no n´ de contexto. equalTo. temos os dois casos. por exemplo. iff. ou seja. o Uma f´rmula simples.13: N´s de contexto da MFrag Starship. o Para a avalia¸ao dos n´s de contexto s˜o utilizados os dois m´todos: c˜ o a e • evaluateContextNodeFormula(context: ContextNode.

Para o ara a mazenamento dessas informa¸˜es internas do UnBBayes. ´ traduzida e para o PowerLoom como: • (retrieve ( = ( StarshipZone Enterprise ) ?z)) Observe que ao fazer a avalia¸ao. ´ traduzida e para o PowerLoom como: • (ask (not( IsOwnStarship Enterprise ) )) Uma f´rmula complexa. o c˜ e e 5. as vari´veis ordin´rias da f´rmula dever˜o c˜ a a o a estar corretamente substitu´ ıdas pelos valores reais da situa¸ao espec´ c˜ ıfica. a n˜o ser aquela que se deseja a obter como resposta.3 Entrada e Sa´ no UnBBayes ıda O PR-OWL foi a linguagem formal escolhida como formato de armazenamento das MTheories no UnBBayes. a MTheory representada nessa linguagem reside em um arquivo texto. o e que no UnBBayes ´ representada como: e • ( StarshipZone(st) = z ) Ao ser avaliada para uma Starship !Enterprise .13.ubf”. pasc˜ sando para o PowerLoom as f´rmulas corretas. as condi¸˜es est˜o corretamente verificadas e as vari´veis a a co a a aleat´rias do MFrag ser˜o instanciadas utilizando-se as suas distribui¸oes locais. o a As pr´ximas se¸oes descrevem o Prot´g´ e sua API e o formato UBF. ´ z=StarshipZone(st). ser´ utilizada a distribui¸ao ca a c˜ padr˜o. com extens˜o “. Por estender a OWL.1 O Prot´g´ e e O Prot´g´ ´ uma plataforma flex´ e configur´vel para o desenvolvimento de e ee ıvel a aplica¸˜es dirigidas a modelos arbitr´rios e componentes. o a c˜ 5. Caso contr´rio. em esquema XML. pois esta API possui suporte para o tratamento de arquivos OWL. Optou-se por utilizar no UnBBayes a API do Prot´g´-OWL para fazer e e o carregamento e o armazenamento de arquivos escritos em PR-OWL. Novamente cabe ao UnBBayes fazer estas verifica¸oes. por exemplo. o A avalia¸˜o dos n´s de contexto de um MFrag ´ feita em cadeia at´ que a ca o e e primeira avalia¸˜o retorne falso. com extens˜o a “.3. utilizamos um arquivo co pr´prio. chamado de UBF. por exemplo. N˜o a pode haver vari´veis ordin´rias n˜o substitu´ a a a ıdas. apresentada na Figura 5.Ao ser avaliada para uma Starship !Enterprise . Caso isto ocorra. O Prot´g´ permite a co a e e 75 . Certas informa¸˜es peculiarmente tratadas pelo UnBBayes para representar co a MEBN n˜o s˜o armazenadas diretamente nos arquivos PR-OWL.owl”.

c˜ a Editor de formul´rios permite alterar o visual dos outros editores atrav´s da a e altera¸˜o do esquema de formul´rios. a e 76 . sendo e os mais importantes: Editor de classes permite a navega¸˜o. atribui¸ao de propriedade inversa e coment´rios. ca Editor de propriedades exibe uma lista de todas as propriedades entre as classes presentes na ontologia e permite sua edi¸ao. c˜ a ca Editor de meta-dados permite gerenciar ontologias importadas. OWL e XML Schema.edi¸˜o visual de ontologias por dois caminhos: via o editor Prot´g´-Frames e via o ca e e editor Prot´g´-Owl. A Figura 5.owl) atrav´s deste editor. incluindo RDF. remo¸ao e edi¸ao sobre classes ca ca c˜ c˜ OWL. como altera¸ao de dom´ c˜ c˜ ınio e imagem. cria¸˜o. Ao editar uma ontologia PR-OWL diretamente no Prot´g´. a e e Figura 5.14: Tela de edi¸ao de classes/indiv´ c˜ ıduos no Prot´g´. um passo inicial seria e e importar a biblioteca b´sica (pr-owl. Este editor permite moa dificar a organiza¸ao desses formul´rios e a posi¸˜o dos blocos. Provˆ diferentes classes de editores para uma ontologia em OWL.14 ilustra a interface gr´fica do Prot´g´. Todos os editores s˜o formados por ca a a “blocos” de formul´rios com campos de entrada. e e O Prot´g´-OWL provˆ muitas facilidades de edi¸ao e navega¸˜o para modelos e e e c˜ ca OWL. incluindo edi¸ao avan¸ada de restri¸˜es e atribui¸ao de propriedades c˜ c co c˜ padr˜o da OWL e RDF. a Editor de indiv´ ıduos permite navega¸˜o sobre diferentes instˆncias das classes ca a presentes na ontologia e edi¸˜o de seus atributos. As ontologias podem ser salvas em uma grande variedade de e e formatos.

Provˆ m´todos para: e e • abrir e salvar arquivos OWL.jena. e apagar recursos de v´rios tipos e utilizar os a objetos retornados pelo OWLModel para opera¸oes espec´ c˜ ıficas. indiv´ ıduos e propriedades descritos na ontologia.protegex.ProtegeOWL: ´ a classe n´cleo da API.jena.hpl. Essas interfaces fornecem acesso ao modelo OWL e aos seus diversos elementos.owl.protegex. • realizar queries. podendo apenas operar sobre elas: o usu´rio n˜o a a precisa conhecer os detalhes internos sobre como o Prot´g´ armazena suas ontoe e logias.smi. que propic´ acesso e ıa ao container de alto n´ ıvel de recursos na ontologia. A API Prot´g´ OWL ´ centrada em uma cole¸ao de interfaces Java para o e e e c˜ pacote model. remover e buscar classes. • manipular modelos de dados OWL.hp. e u No UnBBayes. As classes utilizadas pelo m´dulo de armazenamento de MEBN do UnBBayes o est˜o listadas abaixo: a • com. A API Prot´g´ OWL pode ser utilizada em dois modos: e e • modo de arquivos OWL (classe JenaOWLModel). O modelo de interface mais importante ´ o OWLModel. ´ utilizada como uma builder para a instancia¸˜o do e ca JenaOWLModel. Assim pode-se utilizar o OWLModel para criar.stanford.stanford. ca e alterar. ´ uma biblioteca Java e e e e e open source para OWL e RDF.JenaOWLModel: OWLModel em modo de manipula¸˜o de arquivos OWL. • realizar racioc´ ınios. 77 .owl. • edu. fazer queries.smi. Atrav´s desta classe. atrav´s da constante e FileUtils. parte do pacote Prot´g´-OWL. pode-se criar.util. • modo de arquivos Database (classe OWLDatabaseModel). • edu.langXMLAbbrev. Desenvolvedores de aplica¸ao n˜o podem acessar a implementa¸˜o c˜ a ca destas interfaces diretamente.FileUtils: utilizada para especificar o formato de armazenamento do arquivo OWL. co A API Prot´g´-OWL.O Prot´g´ provˆ tamb´m uma s´rie de API e possibilidade de extens˜o de e e e e e a sua funcionalidade atrav´s de desenvolvimento de plugins (veja [19] para mais e informa¸˜es).

smi.stanford. Os coment´rios a s˜o iniciados com o s´ a ımbolo % e se estendem at´ o final da linha. Esta classe ainda ´ uma placeholder para futuras a e adapta¸˜es. Quando ca e m´ltiplos valores s˜o declarados.stanford.owl.smi. no UnBBayes. a • edu.smi.protegex.model.stanford. a • edu. O arquivo gerado tem c˜ extens˜o “. 5. Como s˜o identificadas pelo nome.OWLObjectProperty: classe Java que representa uma propriedade OWL que liga uma classe a uma outra classe qualquer.. a uma busca por nome pode ser feita pelo JenaOWLModel.owl.owl. Discutiu-se se estas informa¸˜es espec´ co ıficas deveriam ser acopladas a uma nova vers˜o da PR-OWL.smi.VALOR2.owl.protegex. ca c˜ a O UBF ´ um arquivo texto com extens˜o “. armazenando informa¸oes espec´ c˜ ıficas utilizadas pelo UnBBayes para a representa¸˜o ca da MEBN. o arquivo 78 . • edu.model.impl. foi poss´ implementar o meca ıvel canismo de armazenamento do arquivo PR-OWL no UnBBayes. e O UBF est´ intimamente acoplado a um arquivo PR-OWL.. armazeco a nados no arquivo PR-OWL.2 Arquivo UBF .owl. que por sua vez s˜o propriedades OWL. co Com a combina¸˜o das classes listadas acima. onde ATRIBUTO ´ um nome co e interno para a informa¸˜o utilizada pelo UnBBayes e VALOR ´ o seu valor. para ligar classes OWL de CPT ` sua declara¸ao a c˜ em texto ou para ligar argumentos aos numerais indicando sua ordem.3.model.UnBBayes File O arquivo UBF foi elaborado como um arquivo de projeto do UnBBayes.protegex. Maiores informa¸oes sobre o uso da API Prot´g´-OWL podem ser encontradas c˜ e e em [24]. pois estas n˜o fazem parte da ontologia.OWLDatatypeProperty: classe Java que representa uma propriedade em OWL que liga uma classe OWL (ou indiv´ ıduo) a um tipo simples de dado (como texto ou numerais). • edu.protegex. Foi utilizado. Para manter controle deste acoplamento.• edu. pois suas dea clara¸˜es indicam parˆmetros especiais dos componentes da MTheory.model...protegex. por´m chegou-se a conclus˜o que a PR-OWL a e a n˜o deveria conter informa¸oes espec´ a c˜ ıficas de softwares utilizados para a sua edi¸˜o/visualiza¸ao.stanford.repository.stanford.OWLIndividual: classe Java que representa um indiv´ ıduo ou instˆncia de uma classe OWL. Utilizada para declarar as propriedades da PR-OWL.smi.OWLNamedClass: classe Java que representa uma classe em OWL. eles s˜o separados por v´ u a a ırgulas.ubf” contendo uma lista de dee a clara¸˜es no formato: ATRIBUTO=VALOR1.LocalFile Repository: utilizada para criar um reposit´rio local que armazena alguo mas informa¸oes pertinentes da Dublin Core DL.repository”.

Cabe¸alho contendo meta dados do UBF. a estrutura do UBF j´ permite a declara¸ao de diversas MTheories a c˜ em um unico arquivo PR-OWL.03 PrOwl indica a URI relativa do arquivo PR-OWL que o arquivo UBF descreve. Lista de declara¸˜o de MFrags: declara atributos referentes a conte´dos de ca u MFrags. c Version indica a vers˜o do arquivo UBF. NextInput). • NextEntity=1 3.03): 1. Declara¸˜es da MTheory: na vers˜o atual.UBF cont´m a referˆncia explicita de ` qual arquivo PR-OWL ele se refere. a • NextResident=24 NextInput numeral usado como sufixo para o nome do pr´ximo n´ de eno o trada que ser´ criado pelo UnBBayes. c˜ • NextMFrag=10 NextResident numeral usado como sufixo para o nome do pr´ximo n´ reo o sidente que ser´ criado pelo UnBBayes.owl’’ 2. ´ MTheory nome da MTheory tratada pelo UBF. 79 . e e a Um UBF completo ´ dividido em trˆs partes (a formaliza¸ao se refere ao e e c˜ formato 0. a • Version=0. entre´ tanto. • PrOwl=‘‘StarTrek27. a • NextInput=19 NextContext numeral usado como sufixo para o nome do pr´ximo n´ de o o contexto que ser´ criado pelo UnBBayes. Este n´mero ´ tipicamente impora u e tante para evitar que os nomes automaticamente gerados choquem ´ com nomes existentes. o UnBBayes presume que um co a unico arquivo PR-OWL tenha somente uma MTheory declarada. S˜o diversos blocos de declara¸ao que iniciam com a declara¸ao a c˜ c˜ de nome do MFrag e terminam ou com o in´ do pr´ximo bloco ou com o ıcio o fim do arquivo. E armazenado o n´mero para o pr´ximo obu o jeto de todos os objetos que possuem nomes autom´ticos gerados pelo a UnBBayes no ato de cria¸ao destes (NextResident. Seu valor deve estar entre aspas. • MTheory=StarshipMTheory NextMFrag numeral usado como sufixo para o nome do pr´ximo MFrag o que ser´ criado pelo UnBBayes. a • NextContext=15 NextEntity numeral usado como sufixo para o nome da entidade que ser´ a criada pelo UnBBayes.

pois uma vari´vel ordin´ria ´ declarada c˜ a a a e localmente no MFrag. ContextNode. a a a futuramente pode ser usada para especificar um n´ de contexto o IsA. GenerativeInputNode. A Figura 5. Possu´ um dos seguintes valores: ContextNode.io. • MFrag=DangerToOthersMFrag NextOrdinaryVar numeral usado como sufixo para o nome da vari´vel ora din´ria que ser´ criada pelo UnBBayes para aquele MFrag. Apesar o c˜ de no momento n˜o fazer sentido para uma vari´vel ordin´ria. o contexto ou vari´veis ordin´rias.280. • Type=DomainResidentNode Position dois numerais que representam a coordenada X. Este modo ´ baseado na classe JenaOWLModel. 5. • Position=165.Y da posi¸ao c˜ do n´ referente no painel de visualiza¸ao. ou DomainResidentNode.3. Seu valor pode ser OrdinalVar. a a Node nome do n´.20 Aquelas declara¸oes no arquivo UBF que n˜o forem identificadas na especic˜ a fica¸˜o ou que n˜o tenham representantes no arquivo PR-OWL ser˜o simplesca a a mente ignoradas. Esta dea a clara¸ao est´ neste escopo.3 Implementa¸˜o no UnBBayes ca Para a implementa¸˜o do suporte a IO de MEBN foi utilizado o modo de ca arquivos OWL. Pacote unbbayes. Isso permite que uma distribui¸ao do UnBBayes que leia uma c˜ vers˜o antiga do UBF (ou PR-OWL) possa ler uma vers˜o recente sem maiores a a danos.15 mostra o diagrama das classes que comp˜em o suporte ` abero a tura e armazenamento de MTheories. separada por v´ o c˜ ırgulas.mebn possui as classes necess´rias para abrir e salvar as a MEBN nos formatos suportados. Type tipo do n´.0 Size largura e altura do n´ referente no painel de visualiza¸ao. em particular para fazer o parsing de arquivos a OWL/RDF. ca ca 80 . o ı OrdinalVar. al´m de sub-pacotes contendo classes de e exce¸˜o e classes resource para regionaliza¸˜o. de entrada. • NextOrdinaryVar=4 Lista de declara¸˜o de n´s s˜o diversos blocos que declaram atributos ca o a referentes a n´s em particular. O Prot´g´ usa e e e a API Jena para v´rias tarefas.MFrag nome do MFrag tratado naquele bloco. que podem ser residentes. o GenerativeInputNode ou DomainResidentNode.0. o • Node=DangerToOthers Type tipo do n´. • Size=100.

Classe UbfIO classe que implementa a interface MebnIO. Classe LoaderPrOwlIO classe que concentra rotinas de carregamento da MTheory descrita em PR-OWL. o a saveMebn salva uma MEBN em um arquivo v´lido. a saveMebn utiliza o m´todo saveMebn da classe PrOwlIO para o armazee namento do arquivo PR-OWL e posteriormente realiza a escrita de parˆmetros internos do UnBBayes no arquivo UBF. Utiliza a API Protege-OWL para esse fim. a Classe PrOwlIO classe que implementa a interface de MebnIO para abrir e salvar arquivos no formato PR-OWL. adicionando funcionali´ dades de manipula¸˜o de arquivos UBF. a A API do Prot´g´ ´ utilizada no UnBBayes apenas para fazer o carregamento e ee e o salvamento das ontologias em PR-OWL. Padr˜o de projeto Singleton foi utilizado. a loadMebn utiliza o m´todo loadMebn da classe PrOwlIO para a leitura do e arquivo PR-OWL e posteriormente realiza a leitura do arquivo UBF para o ajuste de parˆmetros internos do UnBBayes.Figura 5. exigee se que se use este m´todo de instancia¸ao para a gera¸˜o de objetos e c˜ ca desta classe. Para tal. As outras funcionalidades da API n˜o a 81 . As classes que a implementam devem ıda prover os seguintes m´todos: e loadMebn reconstr´i a MEBN a partir de um arquivo v´lido. e ca c getInstance como a visibilidade do construtor da classe ´ privada. E uma extens˜o da classe PrOwlIO ca a atrav´s da agrega¸˜o no lugar de heran¸as. utiliza as classes LoaderPrOwlIO e SaverPrOwlIO. Utiliza a API Protege-OWL para esse fim. Classe SaverPrOwlIO classe que concentra rotinas de armazenamento da MTheory descrita em PR-OWL.15: Modelagem de IO de MEBN Interface MebnIO interface para classes que implementam funcionalidades de entrada e sa´ de MEBN no UnBBayes.

foram aproveitadas. a ontologia ´ transferida do modelo e de dados do UnBBayes para o modelo de dados do Prot´g´ e ent˜o salva. a ontologia ´ armazenada no o e modelo de dados do UnBBayes. e 82 . Para salvar. Esta e e a independˆncia entre o UnBBayes e o Prot´g´ possibilita que novos formatos para e e e a persistˆncia de modelos MEBN sejam implementados sem grandes dificuldades. Ap´s ser feito o carregamento.

verifique se o tipo de ENTITY-LIST ´ e o mesmo que OV-LIST. Se n˜o. o Uma vez encontrado NODE(OV-LIST).Cap´ ıtulo 6 SSBN . v´ e a a para o pr´ximo passo. procure pela evidˆncia e na base de conhecimento. Para o e c˜ UnBBayes um novo algoritmo foi proposto. A primeira vers˜o do algoritmo de gera¸ao de SSBN ima c˜ plementada no UnBBayes foi descrita em [10]. O c˜ algoritmo utiliza uma abordagem bottom-up para gera¸˜o dos n´s. detalhando as diferen¸as e o funcionamento do a o c algoritmo atual. Caso a o contr´rio. o 2. Segue a formaliza¸˜o do algoritmo. a base de conhecimento e a MTheory geradora s˜o utilizadas para a a montagem da rede bayesiana. por´m esta apresentou algumas e limita¸˜es e uma nova vers˜o est´ sendo proposta neste trabalho. retorne erro. adaptada de [10]: ca 1. Em [26] ´ descrito um primeiro algoritmo para a gera¸ao da SSBN. visando facilitar a implementa¸ao. v´ para o pr´ximo passo. criando os pais ca o recursivamente. que ´ o n´ correspondente ao questionamento o e o feito. a partir do n´ raiz. Se for o mesmo tipo. 6. a 83 . Quando um questionamento ´ feito. Para uma dada entrada na forma NODE(ENTITY-LIST).Algoritmos de gera¸˜o ca Para realizar inferˆncia em modelos MEBN. deve-se montar uma rede bayesie ana espec´ ıfica para a situa¸˜o. pric˜ e meiro procura-se pela informa¸˜o na base de conhecimento. Com a rede bayesiana montada. o uso ´ o mesmo ca e de uma rede normal. Se existir uma evidˆncia. Caso ela n˜o seja ca a encontrada. termine.1 Bottom-Up SSBN Generation A inferˆcia em MEBN ´ feita atrav´s da montagem de uma rede bayesiana e e e espec´ ıfica para uma dada situa¸ao. Neste cap´ co a a ıtulo ser˜o descritas as duas vers˜es. Procure pelo n´ residente que tem o nome NODE e recupere seu MFrag.

3. Monte uma lista contendo todos os n´s de contexto que fazem referˆncia o e para OV-LIST e n˜o fazem referˆncia a nenhuma vari´vel ordin´ria n˜o a e a a a presente em OV-LIST. Substitua as vari´veis de OV-LIST pelos valores de a ENTITY-LIST e avalie os n´s de contexto. Caso algum n´ de contexto o o seja falso, marque o MFrag para utilizar a distribui¸ao padr˜o. V´ para c˜ a a o pr´ximo passo. o 4. Para cada pai de NODE, v´ para o passo inicial (1), substituindo as OV pelas a entidades conhecidas (presentes no questionamento ou na KB). 5. Crie a CPT de NODE. 6. Fim. A Figura 6.1 mostra a SSBN gerada para a query HarmPotential(ST4, T3) a partir da ontologia StarTrek. Por n˜o haver evidˆncias para HarmPotential(ST4, a e T3) na base de conhecimento (omitida aqui) e pelos n´s de contexto terem sido o corretamente avaliados, obtem-se os pais de HarmPotential: DistFromOwn e StarshipClass. Avaliando-se DistFromOwn(ST4, T3) na base de conhecimento, verifica-se que n˜o h´ evidˆncia para ele, repetindo-se o processo, procurando a a e os seus n´s pais. Cada caminho subir´ at´ que seja encontrado uma evidˆncia o a e e ou at´ que o n´ sendo avaliado n˜o possua pais. H´ uma evidˆncia na base de e o a a e conhecimento para DistFromOwn(ST4, T0), justificando que este n´ n˜o tenha o a sido criado. A justificativa utilizada para n˜o transformar os n´s que s˜o evidˆncias em n´s a o a e o da rede (que estava errada, conforme explicado na se¸ao seguinte) ´ que tendo-se c˜ e que o estado do pai de um n´ ´ conhecido, a montagem da tabela do n´ filho ´ oe o e facilitada atrav´s da avalia¸ao do seu pseudo-c´digo considerando o dado estado. e c˜ o A tabela de um n´ ´ gerada assim que a avali¸˜o de todos os seus n´s pais tiver oe ca o sido conclu´ (a tabela de HarmPotential ser´ a ultima a ser construida). ıda a Um dos problemas enfrentados na implementa¸˜o foi o tratamento dos n´s ca o de contexto que por n˜o conterem as entidades correspondentes as vari´veis ora a din´rias, obrigavam a se utilizar todas as entidades que fossem do tipo desejado. a Conforme descrito em [10]: Isso acontece quando todas as vari´veis ordin´rias no conjunto de pais a a da vari´vel aleat´ria residente n˜o aparecem no pr´prio termo resia o a o dente. Nesse caso, deve haver um n´mero arbitr´rio, possivelmente u a infinito, de instˆncias de um pai para cada instˆncia dada do filho. Por a a exemplo, no MFrag Starship, apresentado na Figura 5.13, se a zona onde a espa¸onave est´ localizada ´ desconhecida, o n´mero de inimic a e u gos e amigos (ZoneEStarships(z) e ZoneFStarships(z)) em cada zona onde possa estar localizada ´ relevante para a distribui¸˜o da e ca vari´vel aleat´ria OpSpec(st). Se o tempo t tiver tempos anteriores, a o ent˜o, mais de uma distˆncia (DistanceFromOwn(st,tprev)) deve a a ser avaliada, fazendo com que distˆncias medida em todos os tempos a 84

Figura 6.1: SSBN gerada para HarmPotential(ST4, T3) utilizando o BottomUp sejam relevantes para a distribui¸ao da vari´vel aleat´ria DistFromOwn c˜ a o (st,tprev) no tempo t. Logo, qualquer n´mero de instˆncias das u a vari´veis aleat´rias ZoneEShips(z), ZoneFShips(z) e a o DistFromOwn(st,tprev) podem ser relevantes para a distribui¸ao c˜ das vari´veis aleat´rias OpSpec(st) e DistFromOwn (st,tprev) no a o tempo t. Nesse caso, a distribui¸˜o local para a vari´vel aleat´ria deve ca a o especificar como combinar as influˆncias de todas instˆncias relevantes e a de seus pais. Ainda conforme [10], a abordagem descrita pode ter um forte impacto na performance do algoritmo, especialmente em f´rmulas complexas. Na implementa¸ao o c˜ do UnBBayes, optou-se por reportar erro caso a informa¸ao necess´ria n˜o seja c˜ a a encontrada na base de conhecimento. O algoritmo implementado permite que sejam definidos limites de passos recursivos, evitando que a cria¸ao de pais prossiga indefinidamente. Ao alcan¸ar o c˜ c limite estabelecido, o algoritmo para, reportando erro. O algoritmo apresentado em [27] sugeria que todos os n´s de contexto do o MFrag fossem avalidados, antes de utiliz´-lo. O algoritmo implementado otimiza a este processo avaliando apenas os n´s de contexto referentes `s vari´veis ordin´rias o a a a utilizadas no momento.

6.2

Novo algoritmo de gera¸˜o de SSBN ca

O novo algoritmo implementado resolve uma grave limita¸ao do algoritmo anc˜ terior: como o algoritmo bottom-up montava a rede estritamente de baixo para 85

Figura 6.2: Classes utilizadas na gera¸ao do SSBN c˜ cima a partir do n´ de questionamento, as evidˆncias que ficavam abaixo do n´ o e o de questionamento n˜o eram consideradas (assim como as evidˆncias que ficasa e sem abaixo de algum dos outros n´s criados). A distribui¸˜o probabil´ o ca ıstica a posteriori de um n´ de uma rede bayesiana ´ influˆnciada tanto pelos n´s pais o e e o quanto pelos n´s filhos e portanto a abordagem anterior gerava redes que deixao vam de considerar informa¸oes importantes para a defini¸ao das probabilidades. c˜ c˜ Esta foi a principal motiva¸ao para o estudo e implementa¸˜o do algoritmo aqui c˜ ca apresentado.

6.2.1

Modelagem das classes envolvidas no algoritmo

As figuras 6.2 e 6.3 mostram as principais classes envolvidas no processo de gera¸˜o da SSBN. A modelagem foi feita de tal forma a facilitar a cria¸˜o de ca ca diversas vers˜es do algoritmo (esta preocupa¸˜o pr´via facilitou a constru¸ao do o ca e c˜ novo algoritmo com m´ ınimas modifica¸oes necess´rias). Segue abaixo a descri¸˜o c˜ a ca das interfaces e classes envolvidas. • Interface ISSBNGenerator cont´m o m´todo generateSSBN, respons´vel por e e a gerar uma rede bayesiana espec´ ıfica a partir de um questionamento (Query). • Classe AbstractSSBNGenerator cont´m m´todos gerais que podem ser utie e lizados pelo algoritmo de gera¸ao de SSBN independentemente da estrat´gia c˜ e adotada. • Classe ExplosiveSSBNGenerator implementa o algoritmo de gera¸ao de c˜ SSBN utilizando a estrat´gia descrita nesta se¸˜o. Explosive se refere a e ca forma como os n´s s˜o gerados: a rede vai crescendo em todas as dire¸˜es o a co (em contra-posi¸˜o com Bottom-Up, a abordagem anterior). ca 86

• Classe ContextNodeAvaliator cont´m os m´todos necess´rios para interae e a gir com a base de conhecimento a fim de realizar as opera¸˜es necess´rias co a ` avalia¸˜o dos n´s de contexto no algoritmo de gera¸ao de SSBN. c˜ c˜ • Classe SSBNNode ´ um n´ utilizado no algoritmo de SSBN.2. contendo os objetos necess´rios a para a inicializa¸ao do algoritmo de gera¸ao de SSBN. Encapsula um e o n´ probabil´ o ıstico que poder´ ou n˜o ser utilizado na rede final. • Classe ContextFatherSSBNNode ´ um n´ especial. 6. juntamente com os objetos OVInstance. al´m dos objetos que deram origem a ele: o n´ e o Residente. dependendo a a do atributo permanent.3: Classe SSBNNode e classes relacionadas • Classe SituationSpecificBayesianNetwork encapsula o resultado da gera¸ao c˜ da SSBN: a rede probabil´ ıstica gerada.2 Descri¸˜o do algoritmo ca Os passos gerais do algoritmo consistem no seguinte: Passo 1 Montar a rede probabil´ ıstica com todos os n´s necess´rios para a avao a lia¸˜o ca 87 . utilizado no algoritmo do e o SSBN para representar um n´ de contexto que virou pai de um SSBNNode o por ter seu estado indeterminado. que representam os argumentos do n´ Residente instanciado. a ca o c˜ • Classe Query encapsula um questionamento.Figura 6. a lista dos findings e a lista das queries. o • Classe OVInstance representa uma vari´vel ordin´ria instanciada para uma a a entidade.

As regras que definem se um n´ o a a o ´ permanente s˜o as seguintes: e a Regra 1 O SSBNNode correspondente a query ´ sempre permanente. a Uma grande modifica¸˜o foi feita em rela¸ao aos findings: eles aparecem como ca c˜ n´s na rede gerada e possuem uma tabela de distribui¸ao probabil´ o c˜ ıstica que deve ser utilizada na compila¸˜o da rede. que indica se o n´ dever´ ser eliminado ou n˜o. e e e a Isto funciona perfeitamente na busca de evidˆncias abaixo: o algoritmo descer´ e a recursivamente at´ encontrar uma evidˆncia e ap´s encontr´-la e setar o n´ como e e o a o permanente.C . sendo eles o o criados temporariamente ainda no passo 1 do algoritmo (estes pais ser˜o permaa nentes apenas se al´m de serem pais do n´ de finding. subir´ marcando todos os pais como permanentes. sendo as evidˆncias setadas apenas posteca e riormente. os seus pais s˜o necess´rios o a a (o pseudo-c´digo gera CPT considerando os conjuntos de pais do n´). Todos os outros ser˜o eliminados no passo 3 do algoritmo. para cada n´ o a partir do questionamento (raiz) ´ feita. caso tenhamos um caminho A . B. C e D tamb´m o ser˜o. e n˜o o mais cedo poss´ a ıvel. recursivamente. a montagem dos n´s e o abaixo e a seguir a montagem dos n´s acima. o SSBNNode tem um atributo chamado permanent. como no algoritmo anterior. caso A seja permanente. e que ´ pai de C. As CPT s˜o geradas apenas ap´s todos os n´s probabil´ a o o ısticos terem sido criados. Para a trabalhar com este conceito. a o a 88 . se encaixarem em uma das e o regras descritas acima). onde A ´ pai de B. e Regra 2 Um n´ que seja pai de um n´ permanente tamb´m ´ permanente (exceto o o e e em casos de findings).D.B . para a montagem da rede probabil´ ıstica. o Apenas os caminhos abaixo que terminem em um n´ de evidˆncia s˜o mantio e a dos na rede final. No passo 3 os n´s o n˜o permanentes (n´s filhos em caminhos que n˜o terminam em evidˆncia e pais a o a e tempor´rios dos n´s findings) s˜o eliminados. Regra 3 Os n´s de finding s˜o sempre permantentes. o a Pela regra 2. que ´ pai de D.Passo 2 Montar as CPT para cada um dos n´s criados o Passo 3 Retirar os n´s n˜o permanentes o a Passo 4 Compilar a rede Passo 5 Setar as evidˆncias e propag´-las e a No primeiro passo. Para gerar a CPT dos n´s de findings.

No passo 4 a rede ´ compilada. T3 ) utilizando o novo algoritmo DistFromOwn(ST4. as distribui¸˜es a posteriori dos n´s da rede). Figura 6. T0 ) e difere do algoritmo Bottom-Up por ser corretamente propagada (alterando. portanto. T3 ) utilizando o novo algoritmo.T0 ) e CloakMode(ST4 ) s˜o evidˆncias existentes na base a e de conhecimento. No passo 5 estas evidˆncias s˜o setadas e propagadas. a evidˆncia CloakMode(ST4 ) co o e nem ao menos era considerada no outro algoritmo. 89 .4 mostra a rede gerada para o questionamento HarmPotential(ST4. Observe que enquanto a evidˆncia DistFromOwn(ST4. com as evidˆncias ainda n˜o setadas como e e a evidˆncias. e e a A Figura 6.4: SSBN gerada para HarmPotential(ST4.

Cap´ ıtulo 7 An´lise de qualidade e a manuten¸˜o ca 7. ue 90 .1 Profiling e Tuning ´ Figura 7.1: Tela de profiling do TPTP. E poss´ analisar seq¨ˆncia de execu¸˜o ıvel ue ca e gerar diagramas UML de seq¨ˆncia.

ca 91 . Sua distribui¸˜o padr˜o ´ acompanhada por a ca a e um ambiente integrado de teste JUnit. acessar´ o aplicativo testado com o interm´dio do AgentController. Para a coleta de informa¸˜es de desempenho. uma ferramenta adicional ´ utico e lizada pelo TPTP. 3.1 e 7. abertura do arquivo UBF do StarTrek (e conseq¨entemente de um arquivo u PR-OWL associado). inicializa¸˜o do UnBBayes. O plugin TPTP (Test & Performance Tools Platform Project)[3] do ambiente de desenvolvimento Eclipse foi utilizado como ferramenta para a an´lise de tempo a de execu¸ao e uso de mem´ria do UnBBayes-MEBN na gera¸ao de SSBN da onc˜ o c˜ tologia StarTrek (vide Se¸˜o 8. O algoritmo utilizado para a gera¸ao de SSBN ca c˜ foi a descrita na Se¸ao 6.1). os seguinte passos foram testados na avalia¸ao de performance c˜ do UnBBayes-MEBN: 1. c˜ O Eclipse TPTP. 4. abertura da base de conhecimento PLM que incorpora evidˆncias ao arquivo e PR-OWL aberto anteriormente.Figura 7. O AgentController. Basicamente.T3). Tanto o TPTP a e quanto o AgentController podem ser obtidos no site principal [3]. ca 2.2 mostram capturas de tela da ferramenta. Essa ferramenta gerencia um processo daemon que interliga dois processos clientes. analisador de desempenho (tanto local ou remoto). execu¸˜o da query de HarmPotential(ST4. rodando no Eclipse. ´ um framework para a constru¸˜o de ferramentas e ca de teste e an´lise de performance. isolado. O TPTP. As figuras 7.2: Tela de log (esquerda) e testes (direita) do TPTP. uteis durante todo o ciclo de vida de desenvolvimento de ´ sistemas. mecanismo de inser¸ao de c´digo em bytecode e um analisador gr´fico c˜ o a de logs de sistemas.1.

o classe Compiler : elevado n´mero de instˆncias.independente das instˆncias de entidades e vari´veis aleat´rias a a a o nas situa¸oes espec´ c˜ ıficas . para pseudo-c´digos suficientemente complexos.T2) ca e o e DistFromOwn(ST4. antes e depois das otimiza¸oes. DistFromOwn(ST4. O laudo foi armazenado em arquivos HTML. 7. e classes internas utilizavam u a elevada quantidade de mem´ria. O uso de mem´ria tamb´m tem deca´ c o e ıdo. Como essa ´rvore o a a a era sempre acessada duas vezes (uma durante a an´lise semˆntica do pseudoa a c´digo e outra na gera¸ao da tabela definitiva). entretanto.2 Manutenibilidade O UnBBayes-MEBN possui alguns pontos de extens˜o. propaga¸˜o de evidˆncia dos n´s DistFromOwn(ST4.5. a A an´lise de mem´ria resultou nas seguintes observa¸oes: a o c˜ classe NodeList : grande uso de mem´ria total. o Uma refatora¸ao completa da classe NodeList foi realizada atrav´s de sua c˜ e substitui¸˜o pela classe ArrayList<Node>. pois sub-express˜es est´ticas o o a eram substitu´ ıdas pelo seu valor num´rico. gra¸as c ao fato das express˜es se tornarem mais compactas.durante o processo de an´lise semˆntica. acredita-se que a classe tenha se tornado threado safe. a a A altera¸ao acima tornou o novo compilador at´ dez vezes mais eficiente do c˜ e que o seu antecessor.4. A classe Compiler destacava-se como os dez maiores gargalos tanto no tempo de execu¸ao quanto no uso de mem´ria. 6.T1) do SSBN gerado para o estado Phaser2Range. Os laudos da avalia¸˜o dos dez ca maiores tempos de execu¸ao para o UnBBayes. armazenamento do arquivo UBF (PR-OWL). onde incorpora¸oes de a c˜ diferentes tecnologias podem ser feitas. era poss´ “podar” galhos cujo o c˜ ıvel valor seja est´tico . As figuras o 7. armazenamento do arquivo PLM. Isso era efetivamente causado pela ´rvore c˜ o a de express˜es booleanas e matem´ticas da tabela tempor´ria.4 mostram tal diferen¸a. tal substitui¸ao n˜o acarretou aumento significativo de performance c˜ a (tempo ou mem´ria).T3). classe padr˜o da linguagem. Infeca a lizmente. e 7.3 e 7. c˜ c˜ est˜o apresentados respectivamente nas figuras 7.3 e 7. Esses pontos s˜o particularmente uteis a ´ 92 .

Podemos utilizar API diferentes de FOL utilizando uma implementa¸˜o ca dessa interface. Atualmente. como o UnBBayes-MEBN permite o uso de instˆncias dia ferentes de compiladores para cada n´. permitindo a f´cil internacionaliza¸˜o do software. c˜ Classes que implementam ICompiler s˜o pontos de acesso da GUI e do a algoritmo de gera¸ao de SSBN para a especifica¸ao da CPT em MEBN. Interface MebnIO : ponto de acesso aos mecanismos de armazenamento de MTheory. c˜ Interface ISSBNGenerator : diversos algoritmos de gera¸ao de SSBN podem c˜ conviver no UnBBayes-MEBN pela implementa¸ao desta interface. E poss´ que em a ıvel algum futuro pr´ximo as especifica¸oes que definem a declara¸˜o de CPT o c˜ ca em MEBN sejam alteradas. mais implementa¸oes de MebnIO podem se tornar necess´rias. c˜ resources : as classes ResourceBundle permitem a sele¸ao autom´tica de rec˜ a cursos de acordo com a localidade do usu´rio. c˜ c˜ podendo ser criados novos compiladores implementando-se essa interface. ou mais de uma especifica¸ao esteja em vigor. 1 93 . Com o surgimento de novos formatos de arquivos. • Classes como ResidentNode e DomainResidentNode foram integradas para ResidentNode. Adicionalmente.quando ocorrem altera¸oes de especifica¸oes ou quando tecnologias tornam-se obc˜ c˜ soletas. A exemplo: c˜ • Classes como GenerativeInputNode e InputNode foram integradas para InputNode. c˜ a 7.2. Alguns pontos de extens˜o s˜o: a a ´ Interface ICompiler : extens˜o para o tratamento de CPT.1 Simplicidade estrutural No presente trabalho. a ca Interface KnowledgeBase : serve de ponto de acesso do UnBBayes ` engine a FOL. o formato PR-OWL (atrav´s da classe PrOwlIO) ´ utie e lizado. Classes que estendem a ResourceBundle podem armazenar mensagens em diversas l´ ınguas. ´ poss´ que n´s de uma mesma o e ıvel o MTheory usem declara¸oes diferentes de CPT. Classes que n˜o representavam funcionalidade pr´pria e n˜o eram generaliza¸˜es de duas a o a co classes distintas. a estrutura geral de MFrags do UnBBayes-MEBN passou por uma s´rie de refatora¸˜es para eliminar classes redundantes que somente e co atuavam como uma camada adicional de abstra¸ao1 .

Para evitar o forte acoplamento entre a classes de representa¸ao com classes de persistˆncia. Tais objetos s˜o ligados e e a ` classe que representa uma MTheory3 . IBridgeImplementor : interface de utilidade que deve ser implementada pelas classes que utilizam Bridge design-pattern em algum n´ de abstra¸ao. a classe MultiEntityBayesianNetwork 94 .5. Portanto. ıvel c˜ MEBNStorageImplementorDecorator : classe respons´vel por implementar mea canismos de persistˆncia de dados da MTheory. que e ´ uma especializa¸ao do IProtegeOWLModelUser. foi utilizada uma combina¸ao c˜ e c˜ parcial das design-patterns Bridge e Decorator. ao salvar tal ontologia.PR-OWL Na vers˜o anterior do UnBBayes-MEBN. descri¸oes/coment´rios da PR-OWL tornaram-se edit´veis c˜ a a via interface gr´fica do UnBBayes. e c˜ Adicionalmente. com m´ ınima perda de generaliza¸ao.3. a 2 3 O OWLModel ´ a classe que permite acesso a todos os elementos da ontologia em OWL e Seja. o carregamento de arquivos PRa OWL somente considerava as partes probabil´ ısticas da ontologia. para que por¸oes n˜o-probabil´ e o c˜ a ısticas da ontologia possam ser persistidas. Ela est´ respons´vel por e a a manter a OWLModel acess´ pela MTheory de forma indireta.• Classes como MFrag e DomainMFrag foram integradas para MFrag.6 e 7. oferecidos pela API do prot´g´. Esse tipo de problema foi resolvido atrav´s do armazenamento em mem´ria e o dos objetos OWLModel2 .7 detalham os passos de como esse mecanismo mant´m o OWLModel em mem´ria. a Essas altera¸oes diminu´ c˜ ıram drasticamente a complexidade do framework. implementa a interface PROWLModelUser. ıvel As classes que utilizam a OWLModel devem implementar a interface IProtegeOWLModelUser.3 Outras altera¸oes importantes c˜ 7. A classe PrOwlIO. • MEBNTableParser foi eliminada e integrada ` classe Compiler. descartando qualquer por¸ao n˜o-probabil´ c˜ a ıstica. c˜ 7. As figuras 7. O diagrama de classes que implementam essa nova funcionalidade est´ aprea sentado na Figura 7. que fornece uma camada de persistˆncia para arquivos PR-OWL.1 Compatibilidade OWL . toda a informa¸˜o n˜o-probabil´ ca a ıstica era perdida.

3: Laudo de tempo-base antes da otimiza¸ao c˜ 95 .Figura 7.

Figura 7.4: Laudo de tempo base de execu¸ao ap´s a otimiza¸ao. c˜ o c˜ 96 .

o 97 .5: Diagramas de classe da compatibilidade OWL .6: Seq¨ˆncia de carregamento de arquivo PR-OWL.PR-OWL Figura 7. mantendo o OWLue Model em mem´ria.Figura 7.

7: Seq¨ˆncia de armazenamento de arquivos PR-OWL mantendo OWLue Model em mem´ria.Figura 7. o 98 .

apresentada em c˜ [15] consiste em um dominio de brinquedo criado para exemplificar as constru¸˜es co da PR-OWL.StarTrek e PizzaVinho As duas ontologias apresentadas neste cap´ ıtulo foram utilizadas para validar a implementa¸ao de MEBN no UnBBayes. e TimeStep.1: MTheory para o dom´ ınio StarTrek A MTheory implementada no UnBBayes n˜o necessita de MFrags IsA. O UnBBayes possu´ implementa¸oes internas co ı c˜ 99 .1 Ontologia StarTrek A Figura 8.1 mostra a MTheory sugerida em [15] para modelagem do dom´ ınio StarTrek. A ontologia StarTrek.Cap´ ıtulo 8 Ontologias . Figura 8. A ontologia Pizza e Vinho foi criada como parte dos trabalhos de desenvolvimento do UnBBayes e baseia-se em duas ontologias bastante conhecidas na literatura ` saber: a ontologia para Pizzas e a ontologia para Vinhos e a Comidas. Tais MFrags s˜o utilizados como base para algumas consa tru¸˜es da MTheory apresentada. c˜ 8. Entity a Type. As se¸oes seguintes descrevem as duas ontologias.

ca a IsOwnStarship vari´vel booleana que indica se st ´ a pr´pria espa¸onave. seu condicionante deveria ser um n´ de identidade (veja o Figura 8.que fornecem a base para tais constru¸oes. est˜o descritos os MFrags modelados no UnBBayes. a MFrag StarshipData Figura 8. a e o c A princ´ ıpio. c • N´s residentes: o StarshipZone indica em que zona a espa¸onava espa¸onave st se enconc c tra. + a espa¸onave que possui os sensores. ca Abaixo. • N´s de contexto: o Exists garante que a espa¸onave st est´ presente na base de conhecic a mento. as instˆncias de entidades e evidˆncias que a e consituem a situa¸˜o para a qual a rede bayesiana ser´ montada). eliminando a necessidade da consc˜ tru¸˜o de tais MFrags. MFrag SRData • Vari´veis ordin´rias: a a sr tipo SensorReport. a o IsOwnStarship foi mantido sem pai.2: MFrag StarshipData • Vari´veis ordin´rias: a a st tipo Starship. Os possiveis valores s˜o as instˆncias da entidade Zone existentes a a na base de conhecimento (base de conhecimento aqui se refere a situa¸ao espec´ c˜ ıfica. Representa o relat´rio obtido pelo sensor. mas como o UnBBayes ainda n˜o implementa esses n´s. ou seja.1). o 100 .

Entidade orden´vel utilizada a nesse MFrag para recursividade temporal.Figura 8. ou seja. ca e MFrag Zone Figura 8. Zona onde se encontra a espa¸onave st no momento t . as instˆncia da entidade o a Starship. tPrev tipo TimeStep. c st tipo Starship. Representa o tempo atual.3: MFrag SRData • N´s residentes: o Subject tem como seu valor poss´ ıvel todas as entidades que podem ser objeto do relat´rio sr do sensor. c e • N´s de entrada: o 101 .4: MFrag Zone • Vari´veis ordin´rias: a a t tipo TimeStep. Tempo imediatamente anterior ao tempo t . Espa¸onave cujo CloakMode ´ testado. z tipo Zone. A distribui¸˜o de probabilidades ´ uniforme.

102 . presente no MFrag Starship. ZoneEShips relaciona a possibilidade de uma zona conter naves inimigas ao redor. ZoneMD representa o valor de dist´rbio magn´tico na zona z no tempo t .ZoneMD representa o n´ residente de mesmo nome. DeepSpace e PlanetarySystem.5: MFrag DangerToOthers modelada no UnBBayes. Esta constru¸˜o ´ utilizada para a modelar a recursividade ca e temporal. Representar o tempo atual. • N´s de contexto: o (StarshipZone(st ) = z ) indica que para as distribui¸oes de probabilic˜ dade apresentadas no MFrag sejam v´lidas. o • N´s residentes: o ZoneNature n´ sem condicionante que representa a natureza de uma zona. presente no mesmo o MFrag. u e ZoneFShips relaciona a possibilidade de uma zona conter naves amigas ao redor. o Possui como poss´ ıveis valores BlackHoleBoundary. CloakMode representa o n´ residente. • Vari´veis ordin´rias: a a t tipo TimeStep. c MFrag DangerToOthers Figura 8. a zona z deve ser a zona a onde a espa¸onave st se encontra.

6: MFrag DangerToSelf • Vari´veis ordin´rias: a a t tipo TimeStep. E a pr´pria espa¸onave testada. o c ´ st tipo Starship. c a MFrag DangerToSelf Figura 8. o • N´s residentes: o DangerToOthers representa a capacidade da espa¸onave s de infligir perigo c a espa¸onave st . Representa o tempo atual. E a espa¸onave cuja distˆncia com s ´ testada. ´ s tipo Starship. c • N´s de contexto: o IsOwnStarship indica que a espa¸onave s ´ a pr´pria espa¸onave. E a pr´pria espa¸onave testada. c a e • N´s de entrada: o DistFromOwn representa o n´ residente. E a espa¸onave que representa um perigo potencial para c a espa¸onave s. c • N´s de entrada: o 103 . presente no MFrag Starship. c e o c (not(s = st )) garante que as duas espa¸onaves s e st s˜o distintas.´ s tipo Starship. o c ´ st tipo Starship.

presente no MFrag o Starship. • N´s de contexto: o IsOwnStarship indica que a espa¸onave s ´ a pr´pria espa¸onave. • N´s de entrada: o Exists representa o n´ residente. presente no MFrag o StarshipExistance. o st tipo Starship.7: MFrag SensorReport • Vari´veis ordin´rias: a a t tipo TimeStep.HarmPotential representa o n´ residente. c e o c (not(s = st )) garante que as duas espa¸onaves s e st s˜o distintas. sr tipo SensorReport. c a MFrag SensorReport Figura 8. 104 . • N´s residentes: o DangerToSelf representa o perigo que a pr´pria espa¸onave s est´ exposta o c a no tempo t . Indica o relat´rio obtido pelo sensor. Representa o tempo atual. Espa¸onave cuja distˆncia com a espa¸onave s ´ tesc a c e tada. OpSpec representa o n´ residente. presente no MFrag o Starship.

o • N´s residentes: o SRClass representa que tipo de classe de espa¸onave foi reportada por sr c em um tempo t . c a e o c (Subject(sr ) = st ) garante que a espa¸onave st ´ a reportada pelo senc e sor em sr . E uma entidade orden´vel a que ser´ utilizada nesse MFrag para recursividade temporal.CloakMode representa o n´ residente. SRDistance representa a distˆncia reportada entre a pr´pria espa¸onave e a o c a espa¸onave detectada pelo relat´rio sr no tempo t . o DistFromOwn representa o n´ residente.8: MFrag SRData • Vari´veis ordin´rias: a a ´ t tipo TimeStep. c o • N´s de contexto: o not IsOwnStarship indica que a espa¸onave s n˜o ´ a pr´pria espa¸onave. presente no MFrag Starship. presente no MFrag Starship. presente no MFrag Starship. o StarshipClass representa o n´ residente. MFrag Starship Figura 8. Representa o tempo atual. a 105 .

Phaser1Range. c e 106 . Seus e a c poss´ ıveis valores s˜o: Cardassian. Seus poss´ c ıveis valores s˜o WarBird. a • N´s de entrada: o DistFromOwn representa o n´ residente. c st tipo Starship. A distˆncia ´ medida de acordo com o alcance das armas dispon´ a e ıveis (este n´ pode ser utilizado para se fazer questionamentos sobre que tipo o de arma se deve utilizar contra uma espa¸onave st). st tipo Starship. (StarshipZone(st ) = z ) indica que a zona z ´ onde a espa¸onave st e c est´ contida. Unknown a e absurd. Explorer. Frigate. a MFrag StarshipExistence • Vari´veis ordin´rias: a a z tipo Zone. HarmPotential representa o potencial de st em danificar a espa¸onave c s no tempo t . Indica o tempo imediatamente anterior a t . presente no mesmo MFrag. StarshipClass representa a classe da espa¸onave st . ZoneEShip representa o n´ residente. Phaser2Range. Seus poss´ c ıveis valores s˜o: OutOfRange. e sim a possibilidade de a ca danificar ou n˜o. Cruiser. o ZoneFShip representa o n´ residente. • N´s de contexto: o not IsOwnStarship indica que a espa¸onave st n˜o ´ a pr´pria espa¸onave. Espa¸onave cujo CloakMode ´ testado. Friend. TorpedoRange. Romulan. a CloakMode vari´vel booleana que indica se a espa¸onave em quest˜o est´ a c a a em modo invis´ ıvel. a OpSpec representa a esp´cie que est´ pilotando a espa¸onave st . o • N´s residentes: o DistFromOwn representa a distˆncia entre a pr´pria espa¸onave e a espa¸onave a o c c st. Espa¸onave cuja distˆncia com a espa¸onave s ´ tesc a c e tada. N˜o representa a inten¸˜o. Freighter e absurd. z tipo Zone. presente no MFrag Zone. Zona onde se encontra a espa¸onave st no momento t . presente no MFrag Zone. a PulseCanonRange e absurd. Zona em que st est´ contida. Klingon. Mais o um caso de recursividade. c a e o c Exists garante que a espa¸onave st existe na situa¸ao espec´ c c˜ ıfica.tPrev tipo TimeStep.

2 Ontologia Pizza e Vinho A ontologia Pizza e Vinho desenvolvida procura juntar duas ontologias bem conhecidas na literatura e montar uma ontologia probabil´ ıstica. N˜o houve presen¸a de especialista na montagem da ontologia. ZoneEShips representa o n´ residente de mesmo nome. co ca 107 . necessitando de um melhor estudo caso haja e interesse em utiliz´-la em aplica¸˜es reais. Contudo. O objetivo de tal ontologia ´ permitir que uma pessoa fa¸a inferˆncias a respeito de combina¸oes e c e c˜ entre pizzas e vinhos.9: MFrag SRData • N´s de entrada: o ZoneFShips representa o n´ residente de mesmo nome. como por exemplo: “Que vinho ´ recomendado para acome panhar uma pizza Margherita”. • N´s de contexto: o (StarshipZone(st ) = z ) indica que a zona z ´ a zona onde a espa¸onave e c st se encontra.Figura 8. ela mostrou-se util para criar a co ´ situa¸˜es de teste para validar a implementa¸˜o do UnBBayes. 8. e Possui valor booleano. presente no MFrag o Zone. presente no MFrag o Zone. O resultado a c obtido ´ uma ontologia de brinquedo. • N´s residentes: o Exists representa se uma espa¸onave est´ presente em uma determinada c a zona dado as chances de existˆncia de inimigos (ou amigos) na zona.

w3. Representa uma cobertura de pizza. t tipo Topping.org/TR/owl-guide/. Ainda como base para este trabalho.A ontologia Pizza utilizada como base para este trabalho baseia-se na vers˜o a apresentada em [23].1 MFrag Pizza • Vari´veis ordin´rias: a a p tipo Pizza. A ontologia Comidas e Vinho utilizada. dispon´ no site ıvel http://www. c˜ 8. extra´ a ıda de [18] As se¸oes seguintes descrevem os MFrags montados neste trabalho.10: Uma sugest˜o de MTheory para a ontologia Pizza e Vinho. baseia-se na vers˜o encontrada no a guia da linguagem OWL criado pelo W3C. realizado na c˜ University Of Manchester.ac. w tipo Wine.org/TR/2004/REC-owl-guide-20040210/#wine3).man. Representa uma pizza.2. que por sua vez baseia-se na ontologia utilizada em um curso de edi¸ao de ontologias DAML+OIL em OilEd(http://oiled.w3. c˜ Figura 8.10 extra´ de [18] e reproduzida ıda aqui com a devida autoriza¸ao dos autores.uk). Representa um vinho. utilizou-se a ontologia Pizza e Vinho descrita em [18] e exemplificada na Figura 8. Esta vers˜o foi constru´ a partir da ontoa ıda logia criada por McGuiness como um exemplo de l´gica descritiva (dispon´ no o ıvel site http://www. • N´s residentes: o 108 .

Representa uma pizza. Representa uma cobertura de pizza. Moderate e Strong.w) garante que a pizza p e o vinho w s˜o servidos juna tos.Figura 8.t) garante que t ´ cobertura de p. tendo os poss´ c ıveis valores Sweet. Dry e OffDry. WineColour representa a colora¸˜o do vinho w . WineFlavour representa o sabor do vinho w . WineSugar representa o n´ ıvel de a¸ucar do vinho w . Medium e Full.2 MFrag Served Together • Vari´veis ordin´rias: a a p tipo Pizza. • N´s de contexto: o ServedTogether(p.11: MFrag Pizza WineBody representa o corpo do vinho w . e 8. tendo os poss´ ca ıveis valores White. t tipo Topping. tendo os poss´ ıveis valores Light. • N´s residentes: o 109 . tendo os poss´ ıveis valores Delicate.2. ToppedBy(p. Rose e Red.

12: MFrag Served Together ServedTogether propriedade booleana que liga uma pizza a um vinho.13: MFrag Topped By • Vari´veis ordin´rias: a a p tipo Pizza.2. 110 . Representa uma pizza. a a 8. indicando se os dois s˜o servidos juntos ou n˜o. • N´s residentes: o ToppedBy propriedade booleana que indica se uma pizza p possui t como cobertura.Figura 8. Representa uma cobertura de pizza. t tipo Topping.3 MFrag Topped By Figura 8.

o WineFlavour refere-se ao n´ residente no MFrag Pizza.2. por exemplo. O cliente. • N´s residentes: o WineType Representa o tipo de um vinho. o WineColour refere-se ao n´ residente no MFrag Pizza.4 MFrag Wine Figura 8. • N´s de entrada: o WineBody refere-se ao n´ residente no MFrag Pizza. a safra ou a 111 . o 8. A modelagem das propriedades do vinho poderia incluir coisas como o tipo de uva. o WineSugar refere-se ao n´ residente no MFrag Pizza.14: MFrag Wine • Vari´veis ordin´rias: a a w tipo Wine. A complexidade do exemplo poderia ser facilmente aumentada considerando outras entidades no modelo.5 Algumas considera¸oes c˜ A ontologia apresentada utiliza como entidades apenas o vinho. podendo ser considerados os seus gostos.8. Representa um vinho.2. poderia ser colocado como entidade. a pizza e a cobertura da pizza.

a o Uma forma de adicionar recursividade na ontologia proposta ´ ilustrada na e Figura 8. Identificar agrupamentos l´gicos (entender que existem “grupos” de ino forma¸˜es que est˜o ou poderiam estar logicamente agrupados) para que co a se possa ter uma id´ia abstrata de um “conjunto” de entidades. Identifica¸ao e delimita¸ao do problema a ser resolvido.15. Identifica¸ao das entidades (elementos) do dominio. Caso haja dificuldade c˜ em se definir as entidades ou haja apenas uma entidade.15: MFrag Wine com recursividade 8.3 Processo de modelagem de ontologias probabil´ ısticas Uma modelagem qualitativa de um dom´ ınio poderia ser feita utilizando os seguintes passos: 1. e 112 . escolher dois vinhos diferentes ao consumir uma pizza. c˜ c˜ 2. Figura 8. o vinho indicado anteriormente para que uma pessoa possa. provavelmente uma rede bayesiana normal poder´ ser utilia zada). 3. A id´ia ´ levar em considera¸ao ao se escolher um vinho para uma e e c˜ pizza. por exemplo.regi˜o onde ele foi produzido (estas seriam outros n´s residentes). ´ prov´vel que e a a MEBN n˜o seja a abordagem ideal para a resolu¸˜o do problema (no a ca segundo caso.

algumas altera¸˜es poco dem ser necess´rias na modelagem original devido as singularidades do UnBa Bayes (como por exemplo a forma como o UnBBayes modela a recursividade. Identificar os atributos que as entidades/vari´veis possuem (valores que uma a entidade/vari´vel pode assumir). por´m pertencentes ca e a um conjunto vasto. a 6. Identificar crit´rios que possam classificar de alguma maneira as entidades e identificadas. pode-se optar por divid´ ı-los em parti¸oes. Este passo ca pode ajudar a detectar incertezas sobre “existˆncia” de informa¸ao ou para e c˜ identificar “contextos” em que uma determinada informa¸ao possa ser conc˜ siderada “v´lida”. Mapear as entidades. Caso os valores sejam discretos. Identificar regras que relacionem entidades presentes em um mesmo agrupamento l´gico e regras que relacionem entidades em grupos diferentes. para que possa ser definido quais entidades s˜o importantes a para a resolu¸˜o do problema e quais podem ser descartadas.4. Avaliar se MEBN ´ necess´rio e/ou suficiente para modelar o problema. a 113 . 11. Avaliar se as entidades identificadas s˜o suficientes para a modelagem em a MEBN). Node). e a 9. o 8. ou as restri¸˜es que ele faz na defini¸˜o dos poss´ co ca ıveis valores de uma vari´vel residente). c˜ 7. Implementar o modelo no UnBBayes. a 5. decidir como deve ser feita a discretiza¸˜o. Neste passo. Se um valor identificado no passo anterior for cont´ ınuo. agrupamentos. restri¸˜es e rela¸˜es identificadas para co co os elementos da MEBN (MFrag. 10.

e a A fronte ´ a parte superior frontal do crˆnio. 4 Os incisivos (dentes anteriores) s˜o os dentes que cortam alimentos. abaixo do l´bio inferior. ca • forma dos dentes anteriores4 e • forma orbit´ria5 . a rela¸ao entre sexo e diverc˜ sas vari´veis percept´ a ıveis na face de pessoa viva. entre quatro alternativas.401 pessoas. por interm´dio de procedimentos de inteligˆncia e e artificial do tipo racioc´ ontol´gico probabil´ ınio o ıstico. ap´s explana¸˜o e obten¸˜o de Conu o ca ca ´ sentimento Livre e Esclarecido previamente aprovado pelo Comitˆ de Etica em e Glabela ´ a regi˜o proeminente compreendida entre as sobrancelhas. ca • forma mentoniana3 . situados na parte a anterior dos dois maxilares. e a e 3 O mento ´ a parte inferior da face. • proje¸˜o mentoniana. por observa¸˜o direta. e • inclina¸˜o da fronte2 . 5´ Orbita seria relativa ` cavidade ocular. a subjetividade das informa¸˜es e a necessidade de dois grupos. a Cada vari´vel foi classificada. Os sujeitos da c˜ pesquisa foram recrutados em vias p´blicas.Cap´ ıtulo 9 Projeto de identifica¸˜o humana ca baseada em racioc´ ınio probabil´ ıstico A pesquisa visou estabelecer. a 2 1 114 . a ca A amostra para este estudo tem 1. tendo em vista a variabilidade dos atributos. • proeminˆncia da glabela1 . A saber: • idade. um co para cria¸ao do modelo probabil´ c˜ ıstico e outro para valida¸ao. tamb´m conhecida como “testa”. vulgarmente conhecida como e a queixo.

o desavisado pode confundir uma a ca massa p´trida humana com uma animal. 9. a identifica¸ao gen´rica.EUA • Rommel Novaes Carvalho . um cad´ver humano ou fragmentos humanos. contra a c˜ luz.Graduando em Ciˆncia da Computa¸˜o na UnB e ca 9. de Medicina Legal da UNIPLAC a a • Malthus Fonseca Galv˜o6 . Na a pessoa viva pode parecer absurdo que possa restar alguma d´vida. civilmente incapazes. um vulto pode parecer humano sem o ser e tamb´m o contr´rio pode ocorrer.George Mason University .Mestrado em Inform´tica na UnB a • Shou Matsumoto .Graduando em Ciˆncia da Computa¸˜o na e e ca UnB • F´bio Cardoso Trist˜o . um de 934 (2/3 do total) registros destinado ` cria¸ao de um a c˜ modelo probabil´ ıstico e o segundo.Prof. conforme co Resolu¸˜o CNS 196/96.Prof. da Volgenau School of Information Technology & Engineering . O processo de identifica¸˜o humana ´ reaa ca e lizado em trˆs etapas distintas. ou pessoas em situa¸˜es de vulnerabilidade. e a No cad´ver. de 467 registros (1/3 do total). ca • Paulo Cesar Guerreiro da Costa .Pesquisa da Universidade de Bras´ ılia. para valida¸ao c˜ do modelo. de Medicina Legal da Faculdade de a Medicina da UnB • Marcelo Ladeira7 . em especial na fase de putrefa¸˜o. ou o contr´rio. como em uma filmagem de baixa qualidade.Prof. N˜o foram sujeitos deste estudo analfabea tos.Prof.2 Descri¸˜o do projeto ca A identifica¸˜o humana ´ tema que sempre despertou interesse pelas aplica¸oes ca e c˜ tanto na pessoa viva como no cad´ver. Adjunto do Departamento de Ciˆncia da Come puta¸˜o da UnB. O banco de dados obtido foi dividido aleatoriamente ca em dois conjuntos. a espec´ e c˜ e ıfica e a individual.1 Membros da equipe de pesquisa • La´cio Lima dos Santos . entretanto. u em determinadas condi¸oes. Ossos isolados tamb´m u a e 6 7 Respons´vel M´dico do experimento a e Respons´vel em Ciˆncia da Computa¸˜o do experimento a e ca 115 . Identifica¸˜o gen´rica ´ o processo que visa ` constata¸ao de que o analica e e a c˜ sado se trata de uma pessoa.

c˜ e Identifica¸˜o espec´ ca ıfica ´ processo que visa determinar caracter´ e ısticas da pessoa ou do cad´ver. 9. v´ a ıtimas de violˆncia. Como co ´ a exemplo encontram-se a papiloscopia. por interm´dio de um modelo probae e bil´ ıstico. a No processo de identifica¸˜o. com elevado n´mero de v´ e u ıtimas fatais a serem identificadas. reduzindo pela metade as dificuldades. a determina¸˜o do sexo ´ de fundamental imca ca e portˆncia. cicatrizes. sem grandes distor¸oes. Muitos dos atributos cranianos podem ser facilmente observados na a pessoa viva. asc˜ o simetrias entre outros. que dee e e pender´ da quantidade e da qualidade dos atributos confrontados. de tecidos moles. idade. e ca Identifica¸˜o individual ´ o processo pelo qual se estabelece uma corresca e pondˆncia entre pessoas ou entre pessoa e cad´ver. No caso de um desastre de massa. presentes em todos. composto por uma rede bayesiana multi-entidade (MEBN) e respectiva ontologia probabil´ ıstica. imut´veis e perenes.2 Hip´tese o Um sistema apoiado em ontologias e inteligˆncia artificial (racioc´ e ınio probabil´ ıstico) pode prever. Este processo depende do e a confronto de informa¸˜es.podem trazer certa dificuldade na determina¸ao da esp´cie. sexo. Em pequenos fragc˜ e mentos. como a estatura. seguidos dos situados e no crˆnio.2. c˜ 9. etnia. nos quais a anatomia macrosc´pica o n˜o seja suficiente. Este processo ´ fundamental para a triagem preliminar e em uma identifica¸ao quando o universo de pessoas ou cad´veres ou de suspeitos c˜ a ´ grande. recomenda-se dividir o grande problema em desafios menores. a antropologia forense e a gen´tica forense. o que possibilita a implementa¸˜o de rotinas c˜ ca computadorizadas para identifica¸ao humana. a ´ E certo que. o que se obt´m pela separa¸˜o em grupos. o sexo por atributos faciais.2. a probae bilidade maior ´ de que se trate de individuo do sexo masculino. em casos de cad´veres esqueletizados. e Neste processo o que se obt´m ´ uma probabilidade de correspondˆncia. pois divide o universo em dois. e No esqueleto. probabilisticamente. o sexo pode ser macroscopicamente observado por diversos atributos. calos ´sseos. sendo os melhores localizados na cintura p´lvica.1 Objetivo principal O objetivo deste trabalho ´ verificar. preferencialmente unicas. ossos ou dentes. imunol´gicos ou gen´ticos a o o e para determina¸ao da esp´cie. a probabilidade do acerto na determina¸ao do sexo por c˜ cada um dos atributos analisados e pelo conjunto dos mesmos. pode-se utilizar exames histol´gicos. 116 . a al´m de caracter´ e ısticas eventuais como malforma¸oes.

1: Formul´rio para coleta de dados a Os pesquisadores que fizeram a coleta dos dados receberam instru¸˜es e treinaco mento para homogeneizar as observa¸˜es e formas de abordagem e perguntaram. os dados foram digitalizados para a forma¸˜o de um banco de dados. ca A amostra para este estudo teve 1.9. de forma subjetiva. a necessidade de local esca pecial para an´lise. a subjetividade das informa¸oes e a necessidade de dois c˜ 117 .2. Posteriormente. Os dados foram anotados em fichas de papel. co para os sujeitos da pesquisa.3 Material e m´todo e A escolha dos atributos embasou-se na possibilidade de constata¸ao por simc˜ ples observa¸˜o direta. a idade cronol´gica e o sexo e observaram de forma o direta.401 pessoas. por conseguinte. evitando-se. de aparelhos especiais e de qualquer tipo de a constrangimento para os sujeitos da pesquisa. Os sujeitos da pesquisa n˜o foram fotografados. os atributos cranianos acima a relacionados. Os seis atributos selecionados. foa ram inicialmente classificados em quatro estados. tendo em vista a variabilidade dos atributos analisados. desnudamento. j´ conhecidos da literatura como elementos do dimorfismo sexual [6][13][33]. conforme o formul´rio a seguir: a Figura 9. sem uso de instrumentos cl´ssicos de medida.

e o segundo para valida¸ao deste c˜ modelo. observadas as propor¸oes c˜ populacionais para sexo e idade. um para cria¸ao do modelo probabil´ c˜ ıstico e outro para valida¸ao. a 8 118 . Malthus Fonseca Galv˜o. como o CRISP-DM. e o a o que n˜o foi feito na presente pesquisa por termos acesso a um especialista. previamente aprovado ca ca ´ pelo Comitˆ de Etica em Pesquisa da Faculdade de Medicina da Universidade de e Bras´ ılia. a o 9. pessoas civilmente a a incapazes ou em situa¸˜o de vulnerabilidade. sendo o primeiro ca destinado ` cria¸˜o de um modelo probabil´ a ca ıstico. ap´s breve exu o plana¸˜o e obten¸˜o de consentimento livre e esclarecido. c˜ Os sujeitos da pesquisa foram recrutadas em vias p´blicas8 . inseridos em um banco de dados do Microsoft Access. 9. projeto e popula¸ao da base de dados ficou sob a superc˜ vis˜o do Professor de Medicina Legal da Universidade de Bras´ a ılia.2. 9.1 Passos gerais para modelagem do dom´ ınio Como dito na Se¸ao 8. independentemente da a extens˜o das conclus˜es.3.grupos. e a modelagem do dom´ a ınio probabil´ ıstico sob a supervis˜o do Proa fessor do Departamento de Ciˆncia da Computa¸ao da Universidade de Bras´ e c˜ ılia.2.3.3. conforme Resolu¸˜o CNS 196/96 ca ca 9 Podemos tamb´m utilizar metodologias padr˜es de an´lise de dados. posteriormente.4 Responsabilidades A pesquisa de campo.3 An´lise dos resultados a Os dados coletados est˜o organizados da maneira descrita na Se¸˜o 9. Os registros foram aleatoriamente divididos em dois. na propor¸˜o de dois para um. Os a ca valores poss´ ıveis podem ser observados na Figura 9. Marcelo Ladeira.1. as observa¸oes foram anotadas em fichas de c˜ papel e. um modelador de dom´ c˜ ınio guiado por dados pode 9 passar pelas seguintes etapas : N˜o foram sujeitos da pesquisa analfabetos do ponto de vista pr´tico.5 Da publicidade dos resultados Os resultados obtidos pela pesquisa ser˜o publicados. 9. No momento da coleta dos dados.2.

Identificar regras de neg´cios que relacionem entidades/vari´veis presentes o a em um mesmo agrupamento l´gico. 7.entender que existem “grupos” de ino forma¸˜es que est˜o ou poderiam estar logicamente agrupados . A exemplo. decidir como poder´ ıamos discretiz´-los. 9. ´rbita. incisivos superiores. No nosso exemplo. o mesmo ocorre com a proeminˆncia da glabela e a inclina¸ao da e c˜ fronte.1. No nosso exemplo. Isso pode ser util na identifica¸˜o de MFrags. nada proeminente. Identificar o(s) conjunto(s) de problema(s) que deve(m) ser resolvido(s). Identificar crit´rios e condi¸oes que possam comprometer o sentido dos elee c˜ mentos identificados. temos a classifica¸˜o de proeminˆncia da ca e glabela em: pouco proeminente. No nosso exemplo. 8. Ex. No nosso exemplo. 3. prioridade dos dados. glabela) e n˜o facial (idade o a e sexo). Identificar os atributos que as entidades possuem . Isso pode nos ajudar a dea o tectar incertezas sobre “existˆncia” de informa¸˜o ou descartar elementos e ca insignificantes. Se co campos s˜o obrigat´rios. a 4.valores que uma entidade pode assumir. 2. No nosso exema plo. intuitivamente sao bemos que a proeminˆncia e o arredondamento do mento est˜o intimamente e a ligados. identificar elementos que “deixem de existir” ou “deixem de influenciar” em determinadas configura¸˜es. Selecionar em qual(is) problema(s) a modelagem deve focar para que o formalismo computacional o(s) resolva(m).para que co a possamos obter id´ias abstratas de um “conjunto” de entidades/vari´veis. Identificar agrupamentos l´gicos . a idade e o sexo como o vari´veis/entidades. arredondamento do e mento. dois grupos principais foram identificados: caracter´ ıstica facial (mento. Por exemplo. a idade entraria nessa classe de valores.// Foi descoberto posteriormente que esse um (1) foi um marco decis´rio no fracasso da moo delagem em MEBN. isso j´ foi restrito ` identifica¸˜o do sexo de um indiv´ a a ca ıduo. No nosso caso. incisivos superiores. estudos da anatomia humana o indicam que o sexo e a idade determinam o formato craniano. de acordo com o problema que se quer resolver. Se algum valor identificado no passo anterior for um valor cont´ ınuo ou possuir muitos valores. ca a 6. a coleta de dados j´ foi guiada por esse a objetivo. fronte. Identificar elementos decis´rios no dom´ o ınio. Identificar regras de neg´cios que relacionem entidades presentes em agrupao mentos l´gicos diferentes. ou at´ para identificar “contextos” em que uma determinada e informa¸˜o possa ser considerada “v´lida”. Foram identificadas para os indiv´ ıduos/pessoas as caracter´ ısticas da estrutura cranial/facial (proeminˆncia do mento. glabela). 10 119 . fronte. ´rbita. proeminente e muito proeminente. ´ ca 5. seria identificar o sexo de um10 indiv´ ıduo. e a No nosso exemplo.

Alguns dos passos acima exigem a presen¸a de um especialista no dom´ c ınio, ou de pelo menos um membro que o entenda abstratamente. A partir desta etapa, o(s) modelador(es) MEBN podem realizar os seguintes passos: 1. Avaliar se MEBN seria necess´rio, suficiente e plaus´ para solucionar o a ıvel problema; verificando se as entidades identificadas s˜o suficientes tamb´m a e para a modelagem em MEBN. 2. Mapear as entidades, vari´veis, agrupamentos, restri¸oes e rela¸oes identifia c˜ c˜ ´ a etapa de cadas para os elementos tratados pela MEBN (MFrag, N´s). E o modelagem propriamente dita. 3. Caso necess´rio, ajustar o modelo - ou a ferramenta - para que o modelo a seja comput´vel em tempo razo´vel. Simplifica¸˜es (ou complica¸oes) adia a co c˜ cionais podem ser feitas. Com isso, j´ podemos identificar primordialmente os seguintes fatos: a • Vari´vel de classe (objetivo): sexo. a • Poss´ ıveis entidades s˜o: Pessoa e Idade. a • Poss´ ıveis vari´veis aleat´rias s˜o: Idade, sexo, fronte, glabela, arredondaa o a mento do mento, proeminˆncia do mento, ´rbita e incisivos superiores. e o • Rela¸˜es macrosc´picas: o sexo e a idade (se modelado como vari´vel) inco o a fluenciam todas outras vari´veis. a • Outras rela¸˜es ser˜o identificadas por an´lise computacional dos dados. co a a Infelizmente, o fato da an´lise do sexo ser somente para um (1) unico indiv´ a ´ ıduo implica que todas as outras poss´ ıveis vari´veis (como idade, mento ou glabela) a estejam relacionadas uma unica vez com a vari´vel sexo; pois como cada dado ´ a coletado representa uma unica pessoa por vez e sempre sabemos que as tuplas de ´ vari´veis s˜o relacionadas a um unico indiv´ a a ´ ıduo, o n´mero de condicionantes ser´ u a 11 sempre fixo para a de classe (sexo). Para for¸ar a varia¸ao de n´mero de condicionantes/condicionados da vari´vel c c˜ u a sexo, podemos pensar no uso avan¸ado da entidade “Pessoa”, que entraria como c argumento das vari´veis aleat´rias do dom´ a o ınio, para separar os n´s de acordo com o a pessoa em que ele se refere (Ex. glabela da pessoa P1 e incisivo da pessoa P2). Como ´ aceit´vel que informa¸˜es de pessoas de um grupo de indiv´ e a co ıduos anatomicamente similares (como fam´ ou etnia) sejam uteis para cobrir informa¸˜es ılia ´ co
11 Note que o estado “indispon´ ıvel” de um n´ tanto pode ser modelado como a inexistˆncia o e do n´ quanto por uso de distribui¸˜o estat´ o ca ıstica padr˜o. a

120

incertas de um indiv´ ıduo, essa abordagem poderia ser interessante. Todavia, n˜o a foram coletadas informa¸oes de etnia ou parentesco; portanto, essa abodagem n˜o c˜ a ´ vi´vel atrav´s dados presentes no momento. e a e Outra poss´ abordagem seria utilizar a idade como uma entidade, inserindoıvel a como argumento das vari´veis aleat´rias. Com isso, seria poss´ modelar uma a o ıvel id´ia similar ` recursividade temporal. Isso seria aceit´vel em termos te´ricos, e a a o pois sabe-se que caracter´ ısticas decis´rias do crˆnio para a diferencia¸˜o de sexo o a ca torna-se mais vis´ no passar dos anos. No entanto, tamb´m n˜o temos dados ıvel e a da mesma pessoa em diferentes idades. Com isso, foi conclu´ que, com os dados dispostos, o modelo se simplificaria ıdo em uma rede bayesiana convencional. Como n˜o vale a pena utilizar recursos a MEBN para modelar um dom´ ınio represent´vel por BN comum, a ontologia de a Identifica¸˜o Humana foi modelada no UnBBayes como BN convencional12 . ca

9.4

Modelagem do dom´ ınio no UnBBayes

Como foi identificado que o dom´ ınio poderia ser modelado em BN normal, foi utilizado mecanismos computacionais de data-mining e aprendizagem para a gera¸˜o e valida¸ao dos modelos bayesianos. ca c˜

9.4.1

Metodologia de modelagem no UnBBayes

1. Exporta¸˜o da base de dados do MS-Access para formato texto aceito pelo ca m´dulo de aprendizagem do UnBBayes (vide tabela 9.1). o 2. Discretiza¸˜o de valores de idade. ca • P´s-puberal: de 16 ` 20 anos. o a • Adulto: de 21 ` 59 anos. a • Idoso: acima de 60 anos. 3. Uso do m´dulo de aprendizagem do UnBBayes para a gera¸˜o autom´tica de o ca a BN. Dois ter¸os dos dados foram selecionados aleatoriamente para compor c os dados de aprendizagem. Para cada algoritmo utilizado, ser´ gerado uma a BN diferente. Os algoritmos usados foram: • Pontua¸˜o ca – K2
12

Afinal, vale a pena usar um formalismo avan¸ado se j´ basta um formalismo simples? c a

121

– B • IC – CBL-A – CBL-B • TAN (algoritmo Chow-Liu) • BAN/CBG – Pontua¸ao c˜ ∗ K2 ∗ B – IC ∗ CBL-A ∗ CBL-B • Naive Bayes Classifier (presente no UnBMiner) 4. Uso do pr´-processador do UnBMiner13 para converter o arquivo-texto que e representa um ter¸o dos dados coletados (que s˜o os dados restantes da c a aprendizagem) para gerar um arquivo “.arff”. Um arquivo ARFF permite melhor rastreabilidade de cada entrada de dado aos nomes das vari´veis e a seus estados. 5. Uso do m´dulo UnBMiner para o teste das BN geradas. Relat´rios de o o valida¸ao s˜o gerados. c˜ a 6. A BN de melhor avalia¸˜o ´ selecionada para que sejam adicionadas desca e cri¸˜es e explica¸oes, que ser˜o utilizadas pela met´fora do UnBBayes (vide co c˜ a a Se¸˜o 9.5). ca Segue abaixo um exemplo de estrutura de um arquivo de dados manipulado pelo m´dulo de aprendizagem do UnBBayes. o
idadenumero Adulto Idoso Adulto PosPuberal sexo Feminino Feminino Masculino Masculino glabela NadaProeminente Proeminente PoucoProeminente Proeminente fronte MuitoVertical Inclinada Vertical Inclinada incisivos Quadrado Quadrado Quadrado Quadrado

Tabela 9.1: Formato do arquivo de entrada do m´dulo de aprendizagem do UnBo Bayes.
13

UnBMiner ´ uma branch do projeto UnBBayes que se especializa em data-mining e

122

4327 0.2273 0.544 0.5673 Idoso Feminino 0. e 123 .4.9.2: Arredondamento do mento Glabela Sexo Adulto P´s Puberal o Idoso N˜o Proeminente a Feminino 0.5301 0. O crit´rio utilizado para essa recatee goriza¸˜o foi: quando existiam estados indicando “muito”.3: Faixa et´ria a Faixa et´ria a Sexo Vertical Inclinada N˜o Proeminente a Feminino 0.5504 0. os estados poss´ c˜ ıveis das vari´veis.2 0.4. Nada Proeminente e “Pouco Proeminente” ambos se toram N˜o Proeminente).5517 Idoso Masculino 0.0603 Tabela 9.0485 N˜o Proeminente a Masculino 0.2 Ajuste de dados Os 934 dados (um ter¸o dos 1401 dados totais) de 8 vari´veis que possu´ c a ıam em torno de 5 estados poss´ ıveis n˜o foram suficientes para gerar redes bayesianas a que fossem bem avaliadas pelo UnBMiner. usando termos como “nada” ou “pouco” (Ex.4496 Adulto Masculino 0.1898 0. com exce¸ao a c˜ da idade. Seguem abaixo a BN gerada e as CPT das vari´veis aleat´rias.1663 0.4: Fronte N˜o Proeminente a Masculino 0. Idem para estados que se qualificavam negativamente.6081 0.7726 0. o algoritmo e ca TAN mostrou melhor n´mero de ocorrˆncias classificadas corretamente pelo UnBu e 14 Miner .7852 0.4699 Tabela 9. todos os algoritmos ca testados geraram menos de 60% de ocorrˆncias avaliadas corretamente nos testes.7 0.1022 Proeminente Masculino 0.2 anterior.708 0.6667 Tabela 9. estes eram integrados ca ao seu estado menos marcante (Ex.456 14 81% de ocorrˆncias corretamente classificadas.3333 0.1671 0.3919 P´s Puberal o Feminino 0. Muito Proeminente tornava Proeminente e Muito Redondo se tornou Redondo).4.5556 Proeminente Feminino 0.9412 Proeminente Masculino 0.3 Resultado da modelagem Utilizando o crit´rio de reajuste dos dados da Se¸˜o 9.7727 P´s Puberal o Masculino 0. foram recategorizados em dois.1 Proeminente Feminino 0. a 9. a o Faixa et´ria a Sexo Arredondado Quadrado Adulto Feminino 0.4483 0.4444 0. Nessa condi¸˜o.0588 0. e Para a solu¸ao desse problema.

2711 Tabela 9.3784 0. e Faixa et´ria a Sexo Quadrado Redondo Adulto Feminino 0.5: Glabela 9.3) e e outra de leitura de resultado da inferˆncia (Figura 9.8391 0.7471 0. acessando somente dom´ ınios previamente modelados por outros. ´ E basicamente composta por uma tela de entrada de evidˆncias (Figura 9.9818 Masculino 0.9722 0.9545 0.4).2529 Idoso Masculino 0.7118 Adulto Masculino 0.0455 P´s Puberal o Masculino 0.2: BN de identifica¸ao humana c˜ Sexo Proeminente N˜o Proeminente a Feminino 0.2882 0.5 Met´fora UnBBayes a A met´fora ´ uma branch do projeto UnBBayes que visa prover uma intera e face voltada para o usu´rio comum. Esconde as informa¸˜es desnecess´rias para a co a pessoas que n˜o v˜o modelar dom´ a a ınios.1609 Idoso Feminino 0.Figura 9.7289 0.0182 0.6: Incisivos superiores 124 .6216 P´s Puberal o Feminino 0.0278 Tabela 9.

n˜o provˆ muitos servi¸os especiais.0278 Tabela 9.9: Sexo do indiv´ ıduo 125 . AFINMetaphorMainPanel : Integra os pain´is de entrada de evidˆncia e o painel e e de laudo em abas diferentes.5522 0. a AFINMetaphorFrame : JFrame principal do programa. AFINMetaphorTree : Representa a ´rvore para entrada de evidˆncias.Faixa et´ria a Sexo Quadrado Redondo Adulto Feminino 0.7118 Adulto Masculino 0.5926 N˜o Proeminente a Masculino 0.6 e 9. a e AFINMetaphorResult : Representa o painel para verifica¸ao de resultados (laudo) c˜ da inferˆncia bayesiana. Como ´ basicamente uma interface gr´fica para as funcionalidades do e a UnBBayes.5.7778 Proeminente Feminino 0.9545 0.6216 P´s Puberal o Feminino 0. Veja as figuras 9.9722 0.1 Arquitetura da met´fora a A arquitetura da met´fora ser´ mostrada atrav´s de diagramas UML na Fia a e gura 9.7132 0.2529 Idoso Masculino 0. Cont´m a barra de menu e e a barra de status.2882 0.4684 0.7471 0.5316 Tabela 9.4478 ´ Tabela 9.2222 0.7: Proeminˆncia do mento e Glabela Sexo Angulosa Redonda N˜o Proeminente a Feminino 0.8: Orbita 9.8391 0.1609 Idoso Feminino 0. respectivamente.7 para a e c descri¸˜es da seq¨ˆncia de abertura de arquivos e de propaga¸ao das evidˆncias co ue c˜ e na met´fora. e Feminino Masculino 0.0455 P´s Puberal o Masculino 0.2868 Proeminente Masculino 0.4074 0.3784 0.5.

4: Tela de laudo da met´fora.Figura 9.3: Entrada de evidˆncias pela met´fora. a 126 . e a Figura 9.

5: Diagrama de classes da met´fora. a .127 Figura 9.

propaga¸ao de evidˆncias.. ue ca c˜ e 128 .7: Seq¨ˆncia de execu¸˜o de queries.Figura 9. ue Figura 9.6: Diagrama de seq¨ˆncia de abertura de BN.

2). Muitos problemas podem ainda ser dea compostos e resolvidos individualmente por redes bayesianas convencionais. apesar de todos co ca esses problemas.2 e 9.4). Entretanto. para c´digos suficientemente complexos. A inexistˆncia de mecanismo automatizado de aprendizagem em MEBN torna e a an´lise de dados um processo bastante repetitivo e exaustivo. apresentada no cap´ ca ıtulo 9. e os problemas que podem ser resolvidos em prazos razo´veis n˜o a a s˜o complexos o suficiente para demonstrarmos a necessidade da MEBN como a formalismo bayesiano e extens˜o da FOL. necessitando a sempre de observa¸˜es humanas na defini¸˜o da CPT. esta pesquisa tem sugerido bases para duas abordagens distintas de modelagem: guiada por dados (projeto Identifica¸˜o Humana) e guiada por ca observa¸oes do modelador/especialista (ontologia Pizza e Vinho). sendo a usabilidade um fator dec˜ cis´rio na aceita¸˜o de uma ferramenta computacional. como o aumento da velocidade do compilador de pseudo-c´digo em o at´ dez vezes. as altera¸˜es que resultao ca co ram na nova GUI (cap´ ıtulo 5) s˜o de natureza importante na vis˜o de engenharia a a de software. c˜ 10.Cap´ ıtulo 10 Conclus˜o a Acreditamos que o presente trabalho tem realizado avan¸os consider´veis na c a ferramenta UnBBayes-MEBN. Adicionalmente. reparando falhas existentes inclusive em n´ de ıvel algoritmo (vide Se¸ao 6. e o Apesar de termos concretizado algumas metodologias para a identifica¸ao de c˜ dom´ ınio e modelagem de ontologias em MEBN/PR-OWL (vide se¸oes 8. como ocorreu no projeto de identifica¸˜o humana. A an´lise de performance tamb´m tem nos mostrado resultados sura e preendentes. problemas que necessitam de expressividade da MEBN tˆm e escopo grande. c˜ percebe-se que a MEBN possui expressividade demasiadamente grande. De forma geral. dificultando a identifica¸ao de problemas reais e coleta de dados que sejam realiz´veis a c˜ a curto prazo e exercitem suficientemente as funcionalidades ofertadas pela MEBN.1 Trabalhos futuros ou correlatos 129 .

um problema identificado no momento est´ na alta complexidade a da MEBN. Podemos citar sistemas pagos como o Quiditty Suite. Abordagens utilizando l´gica Fuzzy o tamb´m s˜o populares [34] [31]. existem diversos outros projetos que tentam incorporar incertezas `s ontologias. conseq¨ente da sua alta expressividade. ele permitir´ agilidade c˜ a na engenharia de modelos bayesianos. Adicionala a a mente. que integra o formalismo de redes bayesianas com um pouco de fragmenta¸˜o. para que haja armazenamento e processamento centralizado de ontologias. h´ a chance da PR-OWL a a ser utilizada como uma linguagem recomendada pelo W3C para representar ontologias na Web Semˆntica. Existem tamb´m ca e trabalhos acadˆmicos como o projeto “Probabilistic Description Logic”[30]. acess´ ıveis ao p´blico u por navegadores convencionais e incorpor´veis a outros sitemas atrav´s de servi¸os a e c Web. portanto. Como uma futura extens˜o do UnBBayes. Entretanto. que ine corpora probabilidades ao Description Logic. Esperamos que a documenta¸ao a e c˜ gerada no nosso projeto sirva de um consolo para futuras modelagens de dom´ ınios. e a 130 . A modelagem de um dom´ u ınio em MEBN n˜o ´ uma atividade intuitiva ainda. de forma diferente da abordagem da MEBN no a UnBBayes. ´ poss´ e ıvel que aplica¸oes que hoje c˜ utilizam redes bayesianas convencionais passem a adotar o formalismo MEBN. podemos pensar em incorporar a modelo SOA (Service Oriented Architecture) ou interfaces Web. como a MEBN permite reutiliza¸ao de fragmentos. Como trabalho correlato.Como j´ apresentamos nas justificativas do projeto. aplicabilidade futura n˜o faltar´. logo.

http://www. N. HAWKE.eclipse.M. HENDLER.A. S. [11] H. M.net/.G. a a [3] P´gina web do plugin Eclipse TPTP. [10] R. PhD thesis. e [5] Resource Description Framework. and M. Department of Systems Engineering and Operational Research. [8] T. http://www. ARBENS.org/TR/daml+oil-reference. Scientific American Magazine. Madrid. W3C Semantic Web Activity.org/2001/sw/. MAC-GREGOR. 1999. CARVALHO. I.isi. 131 .C.sourceforge. P´gina web do a projeto UnBBayes. [9] R. Medicina Legal e Antropologia Forense. COSTA. http://www. Portal do PR-OWL. http://ist-socrates. http://www. Universidade de Bras´ ca ılia.startrek. PRUDHOMMEAUX. CARVALHO. 2001.crisp-dm.edu/isd/LOOM/PowerLoom/documentation/manual.pdf. e [14] P. E.N. [7] T.org/. [12] E. http://www. http://unbbayes. RUSS. CONNOLLY. HERMAN. George Mason University. American Association for Artificial Intelligence. 2005.w3. and T. [15] P. COMA. BERNERS-LEE.pdf.pr-owl. J. 2001. Powerloom manual.C.O. [13] R.w3.G. CHARNIAK. Master’s thesis.edu/ fitelson/269/Charniak BNWT. Bayesian network without tears.Referˆncias e [1] P´gina web da s´rie Star Trek.org/RDF/.berkeley. Minist´rio de Justicia. VIEIRA. Bayesian Semantics for the Semantic Web. and O. www.w3. SWICK. R. H. Antropologia Forense. University of Southern California. a [4] Referˆncia W3C DAML+OIL. BERNERS-LEE.com. 2008. LASSILA. D. COSTA. [6] G. and R. 1988. http://www. 2006.com/. Atheneu. P.org/tptp/. Departamento de Ciˆncia e da Computa¸˜o. http://www. CHALUPSKY.mebn. The Semantic Web. 1991. a e [2] P´gina web do padr˜o CRISP-DM. Rio de Janeiro. LADEIRA. Racioc´ ınio plaus´ na web semˆntica atrav´s de redes ıvel a e bayesianas multi-entidades .

G COSTA. COSTA. 2008.G. SILVA. [24] H.J.P.edu/plugins/owl/api/guide. SILVA. [20] IBM Eclipse Foundation. WROE. Microsoft Research. 1. Multi-entity bayesian networks without multi-tears. [21] Z. KNUBLAUCH. guide. ONISHI. LADEIRA. http://www. 2006. Uncertainty Reasoning for the World Wide Web Incubator Group Charter (W3C Incubator Activity).C. RECTOR.G.G. 2004.stanford.w3.stanford. Brazil. pages 346–353. Prot´g´-owl e e api programmer’s http://protege. HORRIDGE. K. In Encontro Nacional de Inteligˆncia Artificial e ENIA.org/2005/Incubator/urw3/charter. R.microsoft. 2003.0 e e edition. B. To be published by IGI Publishing: Hershey. 1387:168–197. Artificial Intelligence. [18] P. [22] D. P´gina a web do eclipse. HECKERMAN and E. PA.edu/. e e 01 2004.B. LASKEY. LASKEY and P.C. LASKEY. 2008. http://research. and W. In Proceedings of the Twenty-first Conference Uncertainty in Artificial Intelligence (UAI -05). [17] P. STEVENS. and C. and T. 2007.htm.C. Of Klingons and Starships: Bayesian Logic for the 23rd Century.H. R. and K. [26] K. Lecture Notes in Computer Science. Scotland. Inferring informational goals from free-text queries: A bayesian approach. [27] K. M.com/research/dtg/horvitz/aw. 2006. [23] M. COSTA and K. LASKEY. COSTA. Ferramenta Aberta e Independente de Plataforma para Redes Probabil´ ısticas. 2007. 2005. 2006. M. USA. D. PhD thesis.J. GHAHRAMANI. First-Order Bayesian Logic.N.C. LASKEY. Prot´g´-owl.B.B.eclipse. LASKEY. www. A Practical Guide To Building OWL Ontologies Using The Prot´g´-OWL Plugin and CO-ODE Tools.S. Uncertainty representation and reasoning in the semantic web.C. A. LUKASIEWICZ. and P. VIEIRA.html. 2005.[16] P. COSTA. 1998. University Of Manchester. LASKEY. CARVALHO. George Mason University. [28] K.C.B. LASKEY. http://protege. 1998. Learning dynamic Bayesian networks. H. [25] M. MEBN: A Language for First-Order Bayesian Knowledge Bases. K. Pr-owl: A bayesian ontology language for the semantic web. HORVITZ. Decision Theory and Adaptive Systems Group. Campinas.G.T. Edinburgh. In (in press) Semantic Web Engineering in the Knowledge Society.org. KNUBLAUCH.B. [19] Stanford Center for Biomedical Informatics Research. LASKEY. [29] K. 132 . K.B.

w3. Stratified probabilistic description logic programs. STOILOS. The fuzzy description logic f-shin. OWL Web Ontology Language . PATEL-SCHNEIDER. and P. Dipartimento di Informatica e Sistemistica.C. [33] C. 1979. Technical report. e o a [34] G. PAN. Imprensa Universit´ria. National Technical University of Athens.B. Italy. PEREIRA and M. Department of Electrical and Computer Engineering. NASA. G. UK. Ames Research Center. 133 . 2005. TAYLOR. HAYES. STUTZ. J. LUKASIEWICZ. www. P. Technical report.Semantics and Abstract Syntax (W3C Recommendation). Manual para estudos craniom´tricos e craniosc´picos. CHEESEMAN. F.[30] T. [32] P. DE M. W. [35] J. Technical report. AutoClass C . V. DRAGONI. Universit‘ a di Roma La Sapienza. Santa Maria.General Information. HORROCKS. [31] M. 2006. 2004.F. HORROCKS. 1998. TZOUVARAS. Greece.org/TR/owl-semantics/. 2004. The University of Manchester. STAMOU. and I. and I. Universit´ Politecnica delle Marche Dipartie mento di Elettronica. Intelligenza Artificiale e Telecomunicazioni (DEIT). School of Computer Science. MAZZIERI and A. Z. ALVIN. A fuzzy semantics for semantic web languages.

9.0.w3. v.html.Apˆndice A e Exemplos de c´digo em OWL o Veja abaixo para um exemplo de cabe¸alho OWL: c <owl:Ontology rdf:about=""> <owl:versionInfo> webont.org/2002/07/owl"/> <dc:creator>Shou Matsumoto</dc:creator> </owl:Ontology> Exemplo de defini¸˜o de classe e propriedade: ca <owl:Class rdf:ID="Homem"> <rdfs:subClassOf rdf:resource="#Humano"/> <owl:disjointWith rdf:resource="#Mulher"/> </owl:Class> <owl:ObjectProperty rdf:ID="hasChild"> <owl:inverseOf rdf:resource="#hasParent"/> </owl:ObjectProperty> Exemplo de defini¸~o de indiv´duo: ca ı <meuOwl:Estudante rdf:ID="Shou"> <owl:sameAs rdf:resource="#Shou Matsumoto"/> < meuOwl :isAutorDe rdf:resource="#Slide Ontologia e Web Semantica"/> </ meuOwl : Estudante > 134 . 2002-08-25 Exp </owl:versionInfo> <owl:imports rdf:resource="http://www.

um tradutor deve 135 . Da mesma maneira que ocorre na MEBN. e indiv´ ıduos dessa classe s˜o utilizadas para criar PR-OWL tables. a – pr-owl:DeclarativeDist: ´ aplicada usando xsd:string na propriedade e hasDeclaration. a c´lula da tae bela de distribui¸ao ´ condicionada por pares de CondRelationship (um por c˜ e cada n´ parente). comparador o o de igualdade. quantificadores. esta classe ´ somente recomendada em modelos simples com e m´xima compatibilidade com OWL. Para ser convertido em uma MEBN. Pode ser declarada por formatos o propriet´rios. • pr-owl:BuiltInRV: indiv´ ıduos desta classe representa as vari´veis randˆmicas a o dos MFrags embutidos. Cada a CondRelationship representa um par parente/estado. que organiza atribui¸oes de probabilidades por c´lulas. c˜ e – pr-owl:PR-OWLTable: A tabela PR-OWL possui todas as atribui¸˜es co probabil´ ısticas por cada estado da vari´vel aleat´ria armazenada no a o formato xsd:decimal. como tabelas Netica ou fun¸oes Quiddity. esses indiv´ ıduos permitem a PR-OWL a representar uma rica fam´ de distribui¸˜es proılia co babil´ ısticas atrav´s de interpreta¸ao da FOL. o • pr-owl:ProbDist: esta classe representa a distribui¸˜o probabil´ ca ıstica definida em cada n´ residente em um MFrag.1 Listagem das classes definidas na PR-OWL Esta se¸ao descrever´ as classes presentes na biblioteca PR-OWL.owl [14]. e c˜ • pr-owl:CondRelationship: representa o n´ parente e seus valores poss´ o ıveis. como conex˜es l´gicas. definidas c˜ a no arquivo pr-owl. ou utilizando uma a c˜ tabela PR-OWL. logo.Apˆndice B e Elementos da PR-OWL B. Portanto. pois cada c´lula ´ representada por um indiv´ e e ıduo da classe ProbAssign. Este formato n˜o pode representar casos coma plexos de distribui¸˜o probabil´ ca ıstica e geram grandes ontologias.

logo. ∗ pr-owl:Domain Res: inclui n´s residentes convencionais. Cada input deve estar ligada a algum n´ residente. Podem servir de nome para determinados tipos da entidade. c˜ • pr-owl:Node: parte de MFrag e pode ser um n´ de contexto. Devem e e a e possuir somente 2 n´s: o input e o residente. o – pr-owl:Context: condicionante do tipo de argumento passado para RV. Cada indiv´ o ıduo desta classe representa MFrags. u Esta classe permite declara¸ao de probabilidades em uma maneira bem c˜ compacta. – pr-owl:ObjectEntity: agrega entidades da MEBN com representa¸oes c˜ da realidade. ∗ pr-owl:Finding res: todos os n´s findings. cada entidade deve possuir um identificador unico. o – pr-owl:Resident: s˜o RVs que possuem distribui¸˜es probabil´ a co ısticas definidas no MFrag. • pr-owl:ProbAssign: representa cada c´lula da PR-OWL table com condicie onantes que representam os estados dos pais • pr-owl:MFrag: MEBN Fragments (MFrags) s˜o a estrutura b´sica do moa a delo l´gico MEBN. – pr-owl:MetaEntity: inclui entidades que definem entidades espec´ ıficas. a um MFrag pode pertencer a mais de uma MTheory.. S˜o o equivalente a objetos em modelos orientado a a objeto e frames em sistemas baseados em frames.ser exercitado para interpretar o conte´do da string armazenada aqui. – pr-owl:Domain MFrag: conjunto de MFrags generativos. que ´ o m´todo padr˜o para entrada de evidˆncias. – pr-owl:Finding MFrag: MFrags usados para conter informa¸˜es de finco dings. o ∗ pr-owl:Finding input: n´s de entrada para findings. podem ca existir mais de uma MTheory v´lida para representar RVs. que acrescenta novas o evidˆncias ao sistema probabil´ e ıstico. o ∗ pr-owl:Generative input: n´s de entrada convencional. o • pr-owl:MTheory: cole¸˜o de MFrags consistentes. Na PR-OWL. ´ a unica classe que aceita termos compostos de RV e e ´ seus valores poss´ ıveis devem ser BooleanRVStates – pr-owl:Input: c´pia do n´ residente que ´ usado como entrada para o o e um MFrag. o • pr-owl:Entity: MEBN trata o mundo como composto de entidades com atributos e s˜o relacionados ` outras entidades. A l´gica assume que conceitos a a o sejam unicos. 136 . Na PR-OWL. adicionalmente. refe´ ´ renciado pela propriedade hasUID. mas que exija um interpretador da linguagem utilizada para a declara¸ao. n´ de input ou o o n´ de contexto.

• hasInnerTerm:conecta os n´s com diversos termos internos poss´ o ıveis em uma equa¸˜o MEBN. Esta classe define o n´mero e a ordem esperada para um argumento esperado por cada RV o u tipo e uma referˆncia para o RV que o utiliza. pois s˜o somente propriedades inverılia a a a sas da fam´ ”has”. Esta classe pode represene tar argumentos complexos que v˜o al´m de simples s´ a e ımbolos vari´veis ou a constantes. pr-owl:Ovariable: Vari´veis ordin´rias s˜o espa¸os de MFrags usados para referir as entidades a a a c n˜o especificadas como argumentos de uma RV. • hasDeclaration: xsd:string que descreve a distribui¸ao condicional atrav´s c˜ e de linguagens como Netica e Quiditty.– pr-owl:CategoricalRVStates: entidades que representam conceitos mutualmente exclusivos. • hasArgNumber: utiliza um numeral inteiro n˜o negativo para identificar a a ordem dos argumentos passados para RVs. • hasArgument: indica a um n´ quais argumentos ele possui. Descri¸oes das proc˜ priedades da fam´ ”is”n˜o ser˜o tratadas. – pr-owl:BooleanRVStates: representa valores booleanas da verdade e s˜o aplicadas a RVs booleanos. ılia Veja abaixo listagem das propriedades. a B. a • pr-owl:ArgRelationship: cada RV pode ter argumentos. – pr-owl:SimpleArgRelationship: esta classe representa argumentos que s˜o simples s´ a ımbolos vari´veis ou constantes. Cada RV de quantifica¸ao ´ uma f´rmula FOL c˜ e o iniciada por quantificadores universais ou existenciais. • hasArgTerm: indica ao ArgRelationship um argumento de tipo geral. o • hasConditionant: indica ao ProbAssign o condicionante em uma c´lula da e PR-OWL table. a • pr-owl:Skolem: os indiv´ ıduos dessa classe representam Skolems das RVs quantificadores na MEBN. ca 137 . • hasContextInstance:liga n´s residentes ou BuiltInRVs com os n´s de cono o texto que as usam.2 Listagem das propriedades definidas na PROWL Descrevemos aqui as propriedades definidas na PR-OWL.

• hasPossibleValues: indica quais s˜o os valores que um n´ pode assumir. 138 . o identificador unico de uma ´ entidade. o • hasOVariable: relaciona um MFrag com as vari´veis ordin´rias utilizadas a a internamente. ´ Esta propriedade armazena. em xsd:string. • hasNode: liga MFrag com os n´s que a comp˜e. e ca • hasProbDist: liga uma RV com sua respectiva tabela de distribui¸ao conc˜ dicional. a o • hasProbAssign: liga a PR-OWL table com as suas in´meras ProbAssign. o • hasParentName: liga uma CondRelationship com o respectivo pai (n´ reo sidente) que condiciona uma entrada da tabela de distribui¸˜o condicional ca do tipo PR-OWL table. o o – hasContextNode: liga um MFrag com n´s de contexto. o – hasResidentNode: liga um MFrag com n´s residentes. • hasStateProb: armazena um xsd:decimal que representa a probabilidade designada para uma determinada ProbAssign ()c´lula da PR-OWL table). • hasUID: MEBN assume que entidades possuam um identificador unico. u que representa uma c´lula da tabela de distribui¸˜o de probabilidade. o o o Representa a RV condicionante do n´ residente. e • hasType: liga¸˜o entre uma entidade com seu tipo (representado pela Meca taEntity). • hasParentState: relaciona o CondRelationship com o estado do pai que condiciona uma entrada da PR-OWL table.• hasInputInstance: liga o n´ residente com os diversos n´s de input poss´ o o ıveis para aquela ontologia. • hasSkolem: liga um MFrag com constantes Skolems presentes. • hasParent: liga um n´ residente com outro n´ residente ou n´ de input. • hasMFrag: liga a MTheory com MFrag componente. o – hasInputNode: liga um MFrag com n´s de input. a • subsOVar: lista vari´veis ordin´rias que pode substituir um determinado a a MetaEntity. • hasStateName: indica qual estado da RV que a ProbAssign (c´lula da PRe OWL table) se refere. • representsOVar: liga uma constante Skolem com a vari´vel ordin´ria que a a ela representa em uma express˜o com quantificadores.

est˜o listadas propriedades inversas das propriedades j´ descritas. isInpua a tInstanceOf ´ inversa de hasInputInstance). e • isInputInstanceOf • isMFragOf • isNodeFrom – isContextNodeIn – isInputNodeIn – isResidentNodeIn • isOVariableIn • isParentOf • isPossibleValueOf • isProbAssignIn • isProbDistOf • isRepBySkolem • isTypeOf • isArgTermIn • isArgumentOf • isConditionantOf • isContextInstanceOf • isDefault • isInnerTermOf • isRepresentedAs • isSkolemIn • isSubsBy 139 .Abaixo. a a Seus nomes j´ indicam quais propriedades s˜o inversas e de quais (ex.

Sign up to vote on this title
UsefulNot useful