• Nenhum resultado encontrado

Integração de Conhecimento Temporal em Sistemas Inteligentes

N/A
N/A
Protected

Academic year: 2021

Share "Integração de Conhecimento Temporal em Sistemas Inteligentes"

Copied!
327
0
0

Texto

(1)

Integração de Conhecimento

Temporal em Sistemas

Inteligentes

Universidade de Trás-os-Montes e Alto Douro Vila Real, Maio de 2008

(2)
(3)

Integração de Conhecimento

Temporal em Sistemas

Inteligentes

Tese submetida à Universidade de Trás-os-Montes e Alto Douro para a obtenção do grau de Doutor, de acordo com o

D.L.216/92 de 13 de Outubro

Orientado por

Doutora Zita Maria Almeida do Vale Professora Coordenadora com Agregação do Departamento de Engenharia Electrotécnica do

Instituto Superior de Engenharia do Porto Doutor Carlos Manuel José Alves Serôdio

Professor Auxiliar do Departamento de Engenharias da Universidade de Trás-os-Montes e Alto Douro

Universidade de Trás-os-Montes e Alto Douro Vila Real, Maio de 2008

(4)
(5)
(6)
(7)

O rol de pessoas e instituições que contribuíram para que este trabalho fosse realizado é vasto, facto que constitui para mim motivo de orgulho, pelo que gostaria desde já lamentar qualquer eventual esquecimento.

Em primeiro lugar, agradeço aos meus orientadores, os Professores Doutores Zita Vale e Carlos Serôdio, o apoio e a orientação; ao Professor Doutor Carlos Ramos, director do GECAD, a revisão cuidada da tese; ao Professor Doutor João Rocha, Presidente do Conselho Directivo do ISEP, a disponibilização dos meios e das verbas para deslocações a conferências e congressos, e muito especialmente, o tempo e amizade que sempre me dispensou; aos Professores Doutores Steffen Staab e Rudi Studer, o acolhimento e orientação científica no período em que permaneci na Universidade de Karlsruhe.

Agradeço também à Fundação Luso-Americana para o Desenvolvimento, à Fundação para a Ciência Tecnologia e à Fundação Calouste Gulbenkian que contribuíram com verbas que me permitiram participar em conferências cien-tíficas relevantes para o desenvolvimento deste trabalho.

No ISEP, gostaria de agradecer ao Nuno Silva, as revisões meticulosas, os envolventes debates, o ânimo, a amizade e o exemplo de rigor que sempre transmitiu; ao Owen Gilson a revisão do Abtract; ao Paulo Matos a amizade e as sempre úteis dicas de LATEX; ao Hélio e à Luíza a paciência e companhia

(8)

Para além das pessoas citadas, muitas outras, incluindo os revisores anónimos de diversas conferências, contribuíram com correcções e sugestões para o tra-balho desenvolvido. Apesar disso, serei o único responsável por qualquer erro ou gralha que possa ter subsistido.

Naturalmente, gostaria também de agradecer à minha família pela compreen-são, carinho e atenção que me dedicam.

Finalmente, agradeço aqueles que são a luz e a razão de ser dos meus dias, o David e a Sofia, sem os quais este trabalho não faria qualquer sentido.

(9)

O tempo, tal como o espaço ou o movimento, é uma categoria de conhecimento fundamental à cognição humana e é ortogonal à generalidade dos domínios de conhecimento. Como consequência, a representação e raciocínio temporal assumem importância crucial no desenvolvimento de aplicações inteligentes. No entanto, a integração do tempo em aplicações inteligentes é um processo complexo devido à necessidade de capturar os diferentes elementos ontológicos do tempo, a par das questões intrínsecas à qualidade da aplicação, como a eficácia, a exequibilidade e a adequação aos requisitos do utilizador. O trabalho desenvolvido focou ambos os aspectos, através de duas componentes distintas e complementares: a verificação e a especificação.

A verificação é um processo que visa garantir que um determinado sistema foi desenvolvido com recurso a técnicas e métodos adequados, satisfazendo os requisitos do utilizador. No contexto da verificação de sistemas inteligentes, a detecção de anomalias do conhecimento é o método que proporciona melhores resultados. Neste âmbito, foram desenvolvidos algoritmos para a detecção au-tomática de anomalias em sistemas com conhecimento temporal. O resultado deste trabalho foi materializado numa ferramenta designada Veritas. Como caso de estudo foi considerado o Sparse, um sistema pericial para o auxílio aos operadores da Rede Eléctrica Nacional no diagnóstico de incidentes. No que diz respeito à especificação temporal, foi desenvolvido um método, que utiliza uma estratégia de dividir-para-conquistar, de forma a facilitar o desen-volvimento de sistemas inteligentes com recurso à composição de ontologias que capturam diferentes categorias de conhecimento. A ferramenta Fonte foi desenvolvida com o objectivo de suportar este método, sendo capaz de itera-tivamente produzir sugestões para a integração automática de uma categoria ortogonal à ontologia objectivo. Esta ferramenta foi aplicada com sucesso na engenharia de conceitos temporais em ontologias para diversos domínios, com particular destaque para a ontologia DFault, relacionada com o diagnóstico de incidentes em redes eléctricas.

(10)
(11)

Time, as space or movement, is a fundamental category of knowledge in human cognition and is orthogonal to the majority of knowledge domains. Hence, temporal reasoning and representation play a major role in the development of intelligent applications. However, assembling temporal knowledge in this kind of applications is still a complex and time-consuming process. It needs to consider the capture of many ontological aspects as well as satisfy application quality restrictions like performance, efficiency and user specifications. In order to address both aspects, in the developed work, two different components were considered: verification and formalisation.

The verification process aims to ensure that a particular system was developed using suitable techniques and methods, satisfying end-user specifications. In the context of verification of intelligent systems, anomaly detection remains as one of the methods with best results. Hence, we developed a set of algorithms for automatic detection of anomalies in knowledge with temporal characteri-zation. The result of this work materialized as a tool, named Veritas, that was applied in the Sparse verification, an expert system for incident diagnosis in the Portuguese electrical network.

Concerning time formalisation, we propose a method which uses a divide-and-conquer approach, in order to assist time engineering in intelligent systems through the assembling of ontologies, which capture multiple knowledge cate-gories. A tool, named Fonte, was developed to support the proposed method. This tool is able to produce, in an iterative and interactive fashion, suggestions for automatic assembly of the knowledge categories. The developed tool was successfully applied in the engineering of time aspects of DFault, an ontology related to incident diagnosis in electrical networks.

(12)
(13)

ATMS – Assumption based Truth Maintenance System, Sistemas de Ma-nutenção de Verdade baseados em Assunções

BR – Base de regras BF – Base de factos

DIP – Dividing Instant Problem, Problema da Divisão do Instante EC – Event Calculus, Cálculo de Eventos

FND – Forma Normal Disjuntiva

GIP – Gerador de Impulsos Programável

LHS – Left Hand Side, condições que formam o lado esquerdo das regras (antecedentes)

MVI – Maximal Validity Interval, Intervalo Máximo de Validade

RHS – Right Hand Side, conclusões que formam o lado direito das regras (consequentes)

SBC – Sistema Baseado em Conhecimento

SC – Situational Calculus, Cálculo de Situacional

SCADA – Supervisory Control And Data Acquisition, este sistema reco-lhe e difunde mensagens relativas ao estado dos aparelhos eléctricos e/ou mecânicos instalados na rede eléctrica, bem como da ocorrência de eventos que afectam o seu funcionamento

TCN – Temporal Constraint Network V&V – Verificação e Validação UML – Unified Modeling Language UTR – Unidade Terminal Remota

(14)
(15)

Pref´acio v

Resumo vii

Abstract ix

Acr ´onimos xi

Counte ´udo xxi

Lista de Tabelas xxiii

Lista de Figuras xxvii

1 Introduc¸˜ao 1

1.1 Contexto e Motivações . . . 1

1.2 Verificação de Conhecimento Temporal . . . 3

1.3 Especificação de Conhecimento Temporal . . . 6

1.4 Roteiro de Leitura da Tese . . . 8

2 Representac¸˜ao e Racioc´ınio Temporal 15 2.1 Introdução . . . 16

(16)

2.3 Considerações sobre Topologia . . . 20

2.3.1 Ordem Total ou Parcial . . . 21

2.3.2 Modelos Discretos ou Densos . . . 22

2.3.3 Granularidade . . . 22

2.3.4 Primitivas Temporais . . . 24

2.4 Representação e Raciocínio Temporal . . . 27

2.4.1 Cálculo Situacional . . . 27

2.4.2 Álgebra de Intervalos de Allen . . . 28

2.4.3 Cálculo de Eventos . . . 31

2.5 A Ontologia Temporal Proposta . . . 34

2.5.1 Entidades Temporais e Relações Topológicas . . . 37

2.5.2 Especificação da Álgebra de Intervalos de Allen . . . . 40

2.5.3 Processos e Eventos . . . 45

2.5.4 Especificação Temporal no Domínio . . . 46

2.6 Trabalho Relacionado . . . 48 2.6.1 Time-DAML . . . 49 2.6.2 SUMO . . . 50 2.7 Conclusões . . . 51 3 Verificac¸˜ao e Validac¸˜ao de SBC 53 3.1 Introdução . . . 54 3.2 Definições Fundamentais . . . 56

3.3 Diferenças entre Software Convencional e SBC . . . 59

(17)

3.3.3 Inexistência de um Modelo Físico . . . 62

3.3.4 Exactidão/Correcção dos Resultados Obtidos . . . 62

3.3.5 Actuação Dinâmica . . . 63

3.4 Técnicas Utilizadas em V&V . . . 63

3.4.1 Inspecção . . . 63

3.4.2 Verificação Estática . . . 64

3.4.3 Prova Formal . . . 64

3.4.4 Verificação Cruzada . . . 65

3.4.5 Testes Empíricos . . . 65

3.5 Classificação e Detecção de Anomalias . . . 66

3.5.1 Definições . . . 66

3.5.2 Redundância . . . 71

3.5.2.1 Regra Não Disparável . . . 72

3.5.2.2 Regra com Consequente Não Utilizado . . . . 72

3.5.2.3 Regra Especialista ou Sub-Assumida . . . 72

3.5.2.4 Regra Duplicada . . . 73

3.5.2.5 Literal Redundante . . . 73

3.5.3 Circularidade . . . 74

3.5.4 Ambivalência . . . 75

3.5.4.1 Através de uma Cadeia de Inferência Simples 75 3.5.4.2 Através de Múltiplas Cadeias de Inferência . . 76

3.5.5 Inconsistência . . . 76

3.5.5.1 Através de Cadeia de Inferência Simples . . . 76

(18)

3.5.6.1 Literal Não Utilizado . . . 79

3.5.6.2 Valor em Falta . . . 79

3.6 Ferramentas de Verificação . . . 79

3.6.1 Rule Checker Program . . . 82

3.6.1.1 Descrição do Funcionamento . . . 82

3.6.1.2 Anomalias Detectadas . . . 83

3.6.2 Expert System Check . . . 83

3.6.3 CHECK . . . 84

3.6.3.1 Descrição do Funcionamento . . . 84

3.6.3.2 Anomalias Detectadas . . . 86

3.6.4 Knowledge Base Reducer . . . 87

3.6.4.1 Descrição do Funcionamento . . . 87

3.6.4.2 Anomalias Detectadas . . . 88

3.6.5 Expert System Validation Associate . . . 89

3.6.5.1 Descrição do Funcionamento . . . 90 3.6.5.2 Anomalias Detectadas . . . 90 3.6.6 Comprehensive Verifier . . . 92 3.6.6.1 Descrição do Funcionamento . . . 92 3.6.6.2 Anomalias Detectadas . . . 93 3.7 Conclusões . . . 95 4 O Problema da Verificac¸˜ao 97 4.1 Introdução . . . 98

4.2 Sparse, um Caso de Estudo . . . 99

(19)

4.2.1.2 Base de Factos . . . 104 4.2.1.3 Base de Meta-regras . . . 104 4.2.2 Mecanismo de Inferência . . . 105 4.3 Validação do Sparse . . . 106 4.3.1 Testes de Campo . . . 108 4.3.2 Simulação de Cenários . . . 108 4.4 Verificação do Sparse . . . 110 4.5 Problema da Verificação . . . 111

4.5.1 Mecanismo de Selecção de Regras . . . 113

4.5.2 Determinação do Valor das Variáveis . . . 114

4.5.3 Raciocínio Temporal . . . 115

4.5.4 Comportamento Declarativo versus Procedimental . . . 116

4.6 Conclusões . . . 117

5 VERITAS 119 5.1 Introdução . . . 120

5.2 Caracterização Temporal de Anomalias e de Restrições . . . . 122

5.2.1 Anomalias . . . 123

5.2.2 Conjuntos Impermissíveis . . . 124

5.2.2.1 Restrições Semânticas . . . 125

5.2.2.2 Restrições de Valor Único . . . 126

5.2.2.3 Restrições Lógicas . . . 127

5.3 Funcionamento do Veritas . . . 128

(20)

5.4.2 Tuplo cvmr/5 . . . 134

5.5 Criação da Base de Conhecimento . . . 135

5.5.1 Tuplo item/1 . . . 137 5.5.2 Tuplo tipo/2 . . . 137 5.5.3 Tuplo literal/3 . . . 139 5.5.4 Tuplo literalArgs/3 . . . 140 5.5.5 Tuplo ligLiteral/3 . . . 143 5.5.6 Tuplo regra/3 . . . 145 5.5.7 Tuplo lhs/7 . . . 145 5.5.8 Tuplo rhs/8 . . . 146 5.5.9 Tuplo metaRegra/7 . . . 147 5.5.10 Tuplo ligacao/7 . . . 148 5.5.11 Tuplo cst/5 . . . 149 5.6 Detecção de Anomalias . . . 150 5.6.1 Hipergrafos Dirigidos . . . 150

5.6.2 Algoritmo de Detecção de Anomalias . . . 152

5.6.3 Cálculo de Expansões . . . 153

5.6.4 Anomalias Detectadas . . . 159

5.6.4.1 Considerações sobre as Anomalias Detectadas 159 5.6.4.2 Análise Temporal . . . 162

5.6.4.3 Detecção de Circularidade . . . 164

5.6.4.4 Detecção de Ambivalência . . . 165

5.6.4.5 Detecção de Redundância . . . 168

(21)

6 Ontologias 173

6.1 Introdução . . . 174

6.2 Definições . . . 176

6.2.1 Ontologia . . . 176

6.2.2 Parentes Próximos das Ontologias . . . 180

6.2.2.1 Vocabulário Controlado . . . 180 6.2.2.2 Taxonomia . . . 181 6.2.2.3 Thesaurus . . . 182 6.2.2.4 Meta-modelo . . . 183 6.2.3 Motivações . . . 183 6.2.4 Tipos de Ontologias . . . 185

6.2.5 Anatomia de uma Ontologia . . . 188

6.2.5.1 Captura e Definição de Conceitos . . . 189

6.2.5.2 Definição da Taxonomia de Conceitos . . . 191

6.2.5.3 Captura e Definição de Relações . . . 193

6.2.5.4 Captura e Definição de Axiomas . . . 195

6.3 Metodologia ODCA . . . 197

6.3.1 Formalização da Metodologia ODCA . . . 199

6.3.2 Meta-propriedades . . . 200

6.3.2.1 Rigidez . . . 200

6.3.2.2 Identidade . . . 201

6.3.2.3 Unidade . . . 202

6.3.2.4 Dependência . . . 203

(22)

6.4.1 Junção de Ontologias . . . 207 6.4.1.1 ONION . . . 209 6.4.1.2 PROMPT . . . 210 6.4.2 Integração de Ontologias . . . 210 6.4.3 Mapeamento de Ontologias . . . 211 6.4.3.1 MAFRA . . . 213 6.4.4 Composição de Ontologias . . . 215 6.5 Conclusões . . . 216 7 FONTE 219 7.1 Introdução . . . 220 7.1.1 Definições . . . 222 7.1.2 A Estratégia de Dividir-Para-Conquistar . . . 224 7.2 Algoritmo e Estruturas de Dados . . . 226 7.2.1 O Algoritmo de Composição . . . 227 7.2.2 Estruturas de Dados . . . 229 7.3 Interacção com o Utilizador . . . 233 7.4 Funcionamento do Fonte . . . 236 7.4.1 Composição de Conceitos . . . 237 7.4.1.1 Conceitos Temporais com Recurso a Papéis . 238 7.4.1.2 Conceitos Temporais sem Recurso a Papéis . 242 7.4.1.3 Processos e Eventos . . . 246 7.4.2 Composição de Relações . . . 248 7.4.3 Composição de Axiomas . . . 250 7.5 Resultados . . . 253

(23)

8 Conclus ˜oes e Trabalho Futuro 257 8.1 Introdução . . . 257 8.2 Resultados Obtidos . . . 257 8.3 Trabalho Futuro . . . 265

A FONTE– Casos de Estudo 271

A.1 Introdução . . . 271 A.2 Casos de Estudo . . . 271 A.2.1 Caso de Estudo A – Ontologia SWRC . . . 272 A.2.2 Caso de Estudo B – Ontologia SOCCER . . . 273 A.3 Resultados . . . 274 A.3.1 Ontologia SWRC . . . 274 A.3.2 Ontologia SOCCER . . . 275

(24)
(25)

2.1 Relações da Álgebra de Intervalos de Allen . . . 29 6.1 Excerto da Taxonomia das Relações isA e partOf . . . 193 6.2 Formulação de um Excerto das Relações da Ontologia DFault . 194 6.3 Operadores Unários (O.U.) e Formas Aristotélicas (F.A.) . . . 200 6.4 Tipos Base . . . 204 6.5 Álgebra de Ontologias . . . 209 7.1 Tarefas de Composição . . . 234 7.2 Manipulação de Lista de Tarefas . . . 235 7.3 Manipulação da Lista Histórico . . . 235 7.4 Manipulação de Ficheiros . . . 236 7.5 Comandos Auxiliares . . . 236 A.1 Resumo dos Resultados Obtidos – SWRC . . . 275 A.2 Resumo dos Resultados Obtidos – SOCCER . . . 276

(26)
(27)

1.1 Roteiro de Leitura . . . 9 2.1 Calendário – Relações entre Granularidades Naturais . . . . . 23 2.2 Lançamento de um Projéctil na Vertical . . . 26 2.3 Problema da Divisão do Instante . . . 26 2.4 Grafo Temporal com Relações de Allen . . . 30 2.5 Grafo Temporal com Relações de Allen (normalizado) . . . 31 2.6 Ontologia Temporal Proposta . . . 36 2.7 Ontologia SUMO – Principais Categorias . . . 50 3.1 Evolução Histórica da Inteligência Artificial . . . 55 3.2 Classificação de Aplicações de Inteligência Artificial . . . 60 3.3 Classificação de Anomalias . . . 71 3.4 Tabela SE-ENTÃO . . . 85 3.5 Funcionamento do Sistema EVA . . . 91 4.1 Arquitectura do Sistema Sparse . . . 100 4.2 Algoritmo de Processamento de Mensagens do Sparse . . . . 107 4.3 Esquema com Simulação de Incidentes . . . 109 4.4 Problema da Verificação – Perspectiva Clássica . . . 112 4.5 Problema da Verificação – Perspectiva Veritas . . . 112

(28)

5.2 Funcionamento do Veritas . . . 128 5.3 Módulo de Conversão . . . 131 5.4 Esquema da Base de Conhecimento do Veritas . . . 136 5.5 Grafo Definido pelo Emparelhamento dos Índices do Literal st9 144 5.6 Representação de um Hipergrafo . . . 152 5.7 Algoritmo Principal de Detecção de Anomalias . . . 153 5.8 Hipergrafos do Literal st8 . . . 157 5.9 Hipergrafos das Expansões dos Literais st1 e st2 . . . 161 5.10 Intersecção de Conjuntos com Caracterização Temporal . . . . 167 6.1 Áreas de Aplicação de Ontologias . . . 175 6.2 Triângulo da Semiótica . . . 177 6.3 Tipos de Ontologias . . . 185 6.4 Excerto da Taxonomia da Ontologia DFault . . . 192 6.5 Diagrama de Classes e Relações . . . 194 6.6 Taxonomia de Propriedades . . . 206 6.7 Junção de Ontologias . . . 207 6.8 Algoritmo Principal da Ferramenta PROMPT . . . 210 6.9 Integração de Ontologias . . . 211 6.10 Mapeamento de Ontologias . . . 212 6.11 Exemplo Mapeamento entre Ontologias . . . 213 6.12 Arquitectura do MAFRA . . . 214 6.13 Composição de Ontologias . . . 216 7.1 Processo de Composição de Ontologias . . . 223 7.2 Algoritmo Utilizado na Composição de Ontologias . . . 228

(29)

7.4 Resultado de Composição de Conceitos com Recurso a Papéis 243 7.5 Extracto da Ontologia DFault – Conceito ObjectoFisico . . . . 244 7.6 Composição de Relações . . . 249 7.7 Relação Temporal a Definir no Axioma ligadaA . . . 252 A.1 Excerto da Ontologia SWRC . . . 272 A.2 Excerto da Ontologia SOCCER . . . 273

(30)
(31)

5.1 Criação do Tuplo literalArgs/3 . . . 142 5.2 Cálculo de Expansões . . . 154 5.3 Detecção de Ambivalência numa Expansão Singular . . . 166 5.4 Detecção de Ambivalência ao Longo de Múltiplas Expansões . . 167 5.5 Detecção de Redundância entre Pares de Expansões . . . 168 7.1 Dividir-para-conquistar na Construção de Ontologias . . . 224 7.2 Composição de Conceitos usando Papéis . . . 239 7.3 Composição de Sub-conceitos de um Conceito . . . 239 7.4 Composição de Relações de um Conceito . . . 240 7.5 Definição de um Conceito como Papel . . . 241 7.6 Composição de Conceitos sem Papéis . . . 245 7.7 Composição de Processos . . . 247 7.8 Composição de Relações . . . 248 7.9 Composição de Axiomas . . . 251

(32)
(33)

Introdução

“Mas a resignação passiva, a resignação por ensurdecimento pro-gressivo do ser, é o falhar completo e sem remédio. Mas os revol-tados, mesmos aqueles a quem tudo - a luz do candeeiro e a luz da Primavera - dói como uma faca, aqueles que se cortam no ar e nos seus próprios gestos, são a honra da condição humana. Eles são aqueles que não aceitaram a imperfeição. E por isso a sua alma é como um grande deserto sem sombra e sem frescura onde o fogo arde sem se consumir.”

Sophia de Mello Breyner Andresen, “Contos Exemplares”, 1962

1.1 Contexto e Motivações

O tempo, tal como o espaço, é uma categoria de conhecimento fundamental à cognição humana e é ortogonal à generalidade dos domínios de conhecimento. A representação e o raciocínio temporal são fundamentais na Inteligência Ar-tificial, designadamente no contexto de problemas relacionados com planea-mento, escalonaplanea-mento, processamento de língua natural, raciocínio qualitativo e de senso comum e sistemas multi-agente.

(34)

Fruto da intensa e bem sucedida pesquisa das últimas décadas, há actual-mente um conjunto significativo de teorias sobre o tempo bem compreendi-das e disseminacompreendi-das [McCarthy e Hayes, 1969; McDermott, 1978; Allen, 1983; Kowalski e Sergot, 1986; Galton, 1987; Vilain et al., 1989; Freksa, 1992; Meiri, 1995; Irvine, 2000; Fisher et al., 2005]. Por outro lado no que diz respeito aos sistemas inteligentes a situação é semelhante, i.e., existe uma gama variada de metodologias e técnicas que podem ser empregues com sucesso no seu desen-volvimento [OLeary, 1991; Gonzalez e Dankel, 1993; Tansley e Hayball, 1993; Schreiber et al., 1999]. No entanto, no que diz respeito ao desenvolvimento de sistemas inteligentes nos quais o tempo desempenhe o papel significativo, os resultados são ainda incipientes.

A integração do tempo em aplicações inteligentes é, ainda, um processo intrin-secamente complexo. Em parte porque os modelos de tempo propostos pela Matemática e Física não se adequam ao raciocínio automático [Anger et al., 2003]. Nestes modelos, o tempo é entendido como uma grandeza contínua, linear e, fundamentalmente, quantitativa. Contudo, as aplicações inteligentes requerem modelos que descrevem o tempo em termos qualitativos e como tal necessitam de considerar diferentes aspectos ontológicos do tempo, designa-damente, a topologia, as primitivas temporais, a granularidade e a densidade. Adicionalmente, a integração dos aspectos temporais em aplicações inteligentes tem também que tomar em consideração aspectos relacionados com a própria solução a desenvolver, como a eficiência, a exequibilidade e, mais generica-mente, a adequação aos requisitos do utilizador.

O desenvolvimento de sistemas inteligentes e, mais genericamente, de software, é um processo complexo no qual podem ser identificadas as diferentes fases compreendidas na metodologia genérica de resolução de problemas

(35)

promo-vida por Deming no contexto da gestão [Deming, 1989] planear-fazer-verificar-actuar. Note-se que, de acordo com diferentes metodologias de desenvolvi-mento de software, estas fases podem surgir sub-divididas, agregadas, ou serem referidas com diferentes designações. A integração de conhecimento temporal em sistemas inteligentes pode ser entendida como um processo integrado no de-senvolvimento de sistemas inteligentes ou como sinónimo de dede-senvolvimento de sistemas inteligentes que compreendam uma componente de conhecimento temporal. Independentemente do entendimento, este processo compreende diversas etapas e tarefas. O trabalho desenvolvido e descrito no presente do-cumento focou fundamentalmente duas fases deste processo, a verificação e a especificação. A primeira diz respeito ao desenvolvimento de soluções para a verificação automática de propriedades temporais em sistemas inteligentes. A segunda compreende a identificação das propriedades temporais, a espe-cificação de ontologias temporais (implícita ou explícita) e a composição do conhecimento temporal com o conhecimento específico do domínio.

1.2 Verificação de Conhecimento Temporal

A verificação e validação (V&V) de software tem por objectivo assegurar que uma qualquer solução, desenvolvida para resolver um determinado problema, satisfaz completa e correctamente as especificações do dito problema e que os meios, técnicas e metodologias, utilizados no processo de desenvolvimento da solução foram adequados.

Os sistemas inteligentes apresentam um conjunto de características que os distinguem dos sistemas normalmente referidos como software convencional, razão pela qual as técnicas e metodologias desenvolvidas pela engenharia de software se mostraram inadequadas para a verificação dos sistemas inteligentes

(36)

[Gonzalez e Dankel, 1993]. Curiosamente, e apesar de não existirem definições comummente aceites neste domínio [Hoppe e Meseguer, 1991; Preece, 1998], as definições propostas por Boehm no âmbito do software convencional são as mais referidas, provavelmente pela sua generalidade.

Assim, de acordo com Boehm, validação significa produzir o sistema correcto [Boehm, 1984], i.e., este processo pretende assegurar que um sistema produz resultados com um grau de confiança similar, ou mesmo superior, àquele pro-videnciado por peritos do domínio de actuação considerado. Este processo baseia-se em testes realizados preferencialmente em ambiente real e sob condi-ções semelhantes àquelas que seriam encontradas durante o funcionamento do sistema. Durante os testes, o sistema é considerado uma caixa preta, signifi-cando que apenas as entradas e saídas do sistema são consideradas relevantes na análise a realizar.

Por sua vez, verificação significa produzir o sistema da forma correcta [Boehm, 1984], i.e., este processo pretende assegurar que um sistema foi correctamente implementado e não contém erros técnicos. Durante a verificação o sistema é considerado uma caixa de cristal, significando que o seu interior é examinado com vista a detectar possíveis erros na forma como as entradas são processadas e gerados os resultados.

Assim sendo, a verificação e a validação permitem determinar se os requisitos do problema foram completa e correctamente satisfeitos de forma a assegurar a robustez, segurança, qualidade e eficiência do sistema. De forma sintética, a V&V é o processo que visa produzir o sistema correcto da forma correcta [Preece, 1998].

No contexto da verificação de sistemas inteligentes, a detecção de anomalias do conhecimento é a abordagem que proporciona melhores resultados, sendo

(37)

que uma anomalia é um sintoma que permite por sua vez indiciar a existência de potenciais erros [Preece e Shinghal, 1994].

No trabalho anteriormente desenvolvido pelo autor [Pereira, 1998; Santos et al., 1999] foram investigadas técnicas de detecção de anomalias em sistemas ba-seados em conhecimento. No âmbito da referida investigação foi desenvolvida uma ferramenta, Veritas1, que permitia detectar de forma automática a

pre-sença de anomalias em bases de regras. As anomalias detectadas podem ser agrupadas em três famílias: redundância, circularidade e ambivalência. Esta ferramenta foi aplicada em três sistemas baseados em conhecimento distintos: o ARCA [Rocha, 1990], um sistema de diagnóstico e terapia de arritmias car-díacas, um sistema pericial também para o diagnóstico e terapia mas neste caso da área clínica da otologia [Sampaio, 1996], e por último, o Sparse [Vale et al., 1994, 1997a], um sistema pericial para o auxílio aos operadores da Rede Eléctrica Nacional (REN) no diagnóstico de incidentes. A ferramenta de verificação mostrou-se muito eficaz na detecção de anomalias nos dois primei-ros sistemas mas os resultados obtidos na verificação do último foram menos satisfatórios. Não obstante o facto destas questões serem posteriormente ana-lisadas com detalhe neste documento, de forma muito resumida, o sistema detecta um número significativo de anomalias que após a análise temporal se prova serem falsos-positivos. Sendo que o facto de se produzirem demasiados falsos-positivos redunda em desmotivação para os peritos e/ou engenheiros do conhecimento que têm de realizar uma aturada prospecção entre os resultados obtidos, por forma a identificarem as anomalias genuínas. Concluiu-se que a lacuna principal das técnicas investigadas e vertidas na ferramenta Veritas se situava ao nível da análise dos mecanismos utilizados na representação e

1Note-se que esta ferramenta constitui uma versão anterior da ferramenta com o mesmo

nome descrita neste documento. Assim, todas as referências ao nome Veritas dirão respeito à evolução e não à ferramenta primitiva, salvo as excepções devidamente assinaladas.

(38)

raciocínio temporal.

Uma parte significativa do trabalho descrito no presente documento consistiu na investigação e desenvolvimento de técnicas e algoritmos para a detecção automática de anomalias em sistemas com conhecimento temporal, de modo a solucionar o problema anteriormente descrito. O resultado deste trabalho foi materializado numa ferramenta designada Veritas. Como se verá, o Veritas é uma ferramenta que permite a detecção automática de um conjunto alargado de anomalias caracterizadas temporalmente. Sendo que a sua arquitectura foi dotada de módulos de conversão bidireccional para que o formato utilizado na representação do conhecimento não tivesse implicações relevantes no processo de verificação propriamente dito, garantindo desta forma a independência da ferramenta face ao sistema a verificar. No desenvolvimento do Veritas foi concebido um conjunto de algoritmos e técnicas para o processo de verificação, permitindo optimizar o funcionamento deste processo. As funcionalidades da ferramenta foram testadas com o sistema Sparse.

1.3 Especificação de Conhecimento Temporal

Durante a prossecução do trabalho de verificação de propriedades temporais do Sparse observou-se que o conhecimento de cariz temporal estava intrin-secamente codificado com o conhecimento particular do domínio, neste caso, os sistemas de energia. Este facto foi também observado no CHAR (Corpo-rate History AnalyseR) [Angele et al., 2000], um sistema que recolhe, processa e analisa, informação com cariz temporal sobre negócios envolvendo compa-nhias, de forma a elaborar relatórios e sumários sobre as mesmas. A codifica-ção simultânea do conhecimento temporal e conhecimento de domínio torna a reutilização do conhecimento temporal muito difícil. Assim, o resultado

(39)

do desenvolvimento de sistemas inteligentes baseados em raciocínio temporal redunda geralmente em artefactos únicos.

No que diz respeito à especificação temporal, foram investigadas técnicas que visam o desenvolvimento de ontologias complexas com recurso à combina-ção de ontologias existentes. Esta abordagem visa a producombina-ção de ontologias através de uma estratégia de dividir-para-conquistar. A ferramenta Fonte foi desenvolvida para suportar esta abordagem, sendo capaz de, iterativa e interactivamente, produzir sugestões para a integração automática de uma categoria de conhecimento ortogonal à ontologia objectivo, em particular, o tempo.

Efectivamente, no passado foi proposta uma grande variedade de aborda-gens para reduzir a complexidade da engenharia de sistemas baseados em regras, e.g., através da análise de tarefas [Schreiber et al., 1999], ou de sis-temas baseados em ontologias, e.g., através do desenvolvimento de padrões [Clark et al., 2000; Staab et al., 2001a; Hou et al., 2002] ou ainda através do desenvolvimento de sub-ontologias para posterior junção [Noy e Musen, 2000; Rahm e Bernstein, 2001]. Apesar das diferenças óbvias entre as referidas abor-dagens, todas se caracterizam pelo facto de subdividirem a tarefa de desen-volver uma ontologia complexa em engenharia, reutilização e composição de partes menores da solução final. Apesar da ferramenta Fonte partilhar o objectivo com estas abordagens, distingue-se claramente pela forma como o atinge. Assim, a abordagem proposta não pretende a partição e reunificação (por exemplo, através da junção ou alinhamento das similaridades) do espaço do problema mas antes a factorização em categorias de conhecimento primor-diais e posterior composição. De facto, fazendo uma analogia com a álgebra proposta por Wiederhold [Wiederhold, 1994] para a junção de ontologias, o

(40)

resultado obtido será mais um produto cartesiano do que uma união de onto-logias.

Note-se que apesar desta diferença fundamental, a ferramenta Fonte imple-menta uma abordagem iterativa e interactiva que foi anteriormente utilizada com grande sucesso em várias ferramentas de junção e alinhamento de ontolo-gias [Noy e Musen, 2000; Mitra e Wiederhold, 2001; McGuinness et al., 2000]. Por último, o Fonte foi aplicado com sucesso na engenharia de conceitos temporais em ontologias para diversos domínios. Neste trabalho é explorada a generalidade da abordagem utilizada e é antecipada a sua utilização futura na integração dos outros aspectos ortogonais do conhecimento, como por exemplo o espaço.

1.4 Roteiro de Leitura da Tese

Esta tese é constituída por oito capítulos e um anexo. O tema principal deste trabalho é a integração de conhecimento temporal em sistemas inteligentes e compreende duas componentes complementares deste processo, a especificação e a verificação. No diagrama da figura 1.1 são apresentadas as dependências mais significativas entre os capítulos que compõem esta tese. Para os leito-res mais inteleito-ressados no tema verificação sugere-se a leitura dos capítulos 2, 3, 4 e 5, enquanto que para os mais interessados no tema especificação de conhecimento temporal sugere-se a leitura dos capítulos 2, 6 e 7.

Dos oito capítulos que compõem a tese, para além dos relativos à introdução e conclusões, existem três capítulos dedicados ao estudo do estado-da-arte dos temas, Representação e Raciocínio Temporal (capítulo 2), Verificação e Valida-ção de Sistemas Baseados em Conhecimento (capítulo 3) e Ontologias (capítulo

(41)

6). Existem também dois capítulos dedicados ao trabalho prático desenvol-vido, a ferramenta Veritas para a Verificação de Conhecimento Temporal (capítulo 5) e a ferramenta Fonte para a Especificação de Conhecimento Temporal através da Composição de Ontologias (capítulo 7), e um dedicado à sistematização dos aspectos a considerar na verificação de sistemas existentes (capítulo 4). 1.Introdução 2.Representação e Raciocínio Temporal 3.V&V de Sistemas Baseados em Conhecimento 5. VERITAS, uma Ferramenta de Verificação Automática 6. Ontologias

7. FONTE, uma Ferramenta para a Composição de Ontologias 8. Conclusões e Trabalho Futuro 4. O Problema da Verificação

Figura 1.1: Roteiro de Leitura

Os capítulos relativos ao estado-da-arte têm como objectivo situar o traba-lho prático desenvolvido, definindo não só o âmbito mas também as relações com outros trabalhos existentes, sendo expectável que facilitem a leitura dos capítulos relativos ao trabalho prático propriamente dito.

No primeiro capítulo o tema focado na tese é sucintamente caracterizado e contextualizado, são também introduzidos os conceitos mais relevantes para o trabalho desenvolvido e apresentadas as motivações para a realização do mesmo. Para além disso, o presente capítulo fornece sugestões para a leitura da tese.

No segundo capítulo é focado o tema do tempo, na perspectiva da Inteligên-cia ArtifiInteligên-cial, com particular ênfase nas vertentes de representação e raciocínio. Inicialmente é feito um enquadramento histórico da evolução da discussão sus-citada pelo tema. De seguida são apresentados os aspectos mais relevantes da

(42)

topologia temporal, designadamente, a granularidade, a ordem, a densidade e as suas primitivas. No que diz respeito à representação e raciocínio tempo-ral são referidas algumas das abordagens mais significativas, designadamente, o Cálculo Situacional2, o Cálculo de Eventos3 e a Álgebra Baseada em

In-tervalos proposta por Allen. Posteriormente será apresentada uma ontologia temporal que foi desenvolvida no contexto do presente trabalho e permitiu cristalizar num artefacto muitos conceitos relacionados com a representação e raciocínio temporal. Finalmente são estudadas outras ontologias temporais (e.g., Time-DAML), ou ontologias de topo que incluem a componente tempo-ral (e.g., SUMO ou CyC), disponíveis no domínio público. Este capítulo, pelo tema abordado e pela forma intencionalmente transversal como está estrutu-rado, fornece referências importantes para a leitura dos restantes capítulos que compõem a tese.

No terceiro capítulo é introduzida a questão da verificação e validação de soft-ware, em geral, e de sistemas baseados em conhecimento, em particular. São apresentadas algumas das definições mais relevantes na área de V&V e algu-mas das técnicas utilizadas no processo de V&V. As anomalias de uma base de conhecimento são definidas como sintomas de possíveis erros cuja detecção constitui a base de muitas ferramentas de verificação. As anomalias referi-das são: redundância, ambivalência, deficiência e circularidade. Finalmente são apresentadas as ferramentas que marcaram a evolução da área de V&V de sistemas baseados em conhecimento como por exemplo: RCP, CHECK, EVA, COVER e KB-Reducer. A leitura deste capítulo é importante para uma correcta contextualização do trabalho desenvolvido relativo à V&V, descrito posteriormente no capítulo 5.

2Situation Calculus 3Event Calculus

(43)

No quarto capítulo são abordadas diversas questões relacionadas com a verifi-cação de sistemas baseados em conhecimento, com particular ênfase naqueles que recorrem ao raciocínio e representação temporal no seu funcionamento. O Sparse é um sistema baseado em conhecimento que utiliza o raciocínio tem-poral com vista a solucionar um problema real no domínio do diagnóstico de incidentes em redes eléctricas. No âmbito do trabalho realizado, o Sparse é apresentado na perspectiva de um caso de estudo e são sistematizadas algumas das suas características na perspectiva do trabalho de verificação. A discus-são sobre o problema da verificação é o ponto de partida para a apresentação do Veritas, a ferramenta de verificação automática que materializa algumas soluções para o referido problema.

No quinto capítulo é apresentado o Veritas, uma ferramenta de verificação automática para a detecção de anomalias em sistemas baseados em conheci-mento com a componente temporal. Relativamente ao Veritas serão deta-lhadas, a arquitectura, a base de conhecimento e os principais módulos, com particular ênfase na criação da base de conhecimento interna e na detecção de anomalias. Na demonstração do funcionamento da ferramenta são descritos os métodos utilizados na detecção das anomalias de conhecimento. São ainda discutidas a caracterização temporal das anomalias, bem como os algoritmos propostos para a sua detecção. Por último, são apresentados os resultados da aplicação do Veritas e apontadas futuras direcções de trabalho.

No sexto capítulo é introduzido o tema das ontologias na perspectiva da In-teligência Artificial e da Engenharia de Conhecimento. Inicialmente são apre-sentadas algumas das definições de ontologia, com particular ênfase nas carac-terísticas de “entendimento partilhado”, “formalização” e “explicitação”. São discutidas as potencialidades das ontologias e referidas algumas das áreas de

(44)

aplicação mais promissoras. Posteriormente é apresentada a ontologia DFault, relativa ao diagnóstico de avarias em redes eléctricas, de forma a explicitar alguns dos componentes fundamentais de uma ontologia (conceitos, relações e axiomas) e parte do processo da construção da mesma. Também é dis-cutida a utilização das meta-propriedades ontológicas propostas por Guarino (identidade, rigidez, unidade e dependência) como uma metodologia para o refinamento de ontologias e a sua aplicação na modelação de propriedades temporais. Por fim, é discutida a integração de conhecimento através da jun-ção, integrajun-ção, composição e mapeamento de ontologias.

A leitura deste capítulo fornece referências e conceitos utilizados posterior-mente no capítulo 7, relativo à especificação temporal através da composição de ontologias proposta pela ferramenta Fonte.

No sétimo capítulo é proposta uma ferramenta, designada Fonte, para a especificação de conhecimento temporal em sistemas inteligentes, através da composição de ontologias. Inicialmente, são referidos os conceitos mais rele-vantes envolvidos no método e as motivações que estiveram na base do traba-lho. O método desenvolvido utiliza uma abordagem baseada na estratégia de dividir-para-conquistar, de forma que a ontologia objectivo é obtida através da composição de ontologias ortogonais ao domínio a modelar, que permitem cap-turar diferentes categorias de conhecimento compreendidas no problema. Na demonstração do método é utilizada a ontologia DFault, relativa ao domínio do diagnóstico de avarias em redes eléctricas, sendo detalhados os exemplos da composição de conceitos, relações e axiomas. Por último, é realizada uma comparação com métodos baseados na junção de ontologias, sendo focadas as vantagens da estratégia de dividir-para-conquistar e discutida a possibilidade de estender o método proposto a outros domínios que não apenas o tempo,

(45)

como por exemplo, o espaço e o movimento. Apesar de neste capítulo ser usada apenas a ontologia DFault, a generalidade da abordagem proposta no Fonte foi testada com duas outra ontologias disponíveis no domínio público: a ontologia SWRC, relacionada com a Web Semântica, e a ontologia SOC-CER, relacionada com o futebol. No anexo A são apresentados os resultados estatísticos da composição temporal destas ontologias.

No oitavo e último capítulo são discutidas as conclusões dos trabalho realizado e apontadas direcções futuras de investigação.

(46)
(47)

Representação e Raciocínio

Temporal

O tempo não sabe nada, o tempo não tem razão O tempo nunca existiu, o tempo é nossa invenção Se abandonarmos as horas não nos sentimos sós Meu amor, o tempo somos nós

O espaço tem o volume da imaginação

Além do nosso horizonte existe outra dimensão O espaço foi construído sem princípio nem fim Meu amor, tu cabes dentro de mim

Jorge Palma, “Eternamente Tu”

Resumo

Neste capítulo é focado o tema do tempo, na perspectiva da Inteligência Artifi-cial, com particular ênfase nas vertentes de representação e raciocínio. Inicial-mente, é feito um enquadramento histórico da evolução da discussão suscitada pelo tema. De seguida, são apresentados os aspectos mais relevantes da to-pologia temporal, designadamente, a granularidade, a ordem, a densidade e

(48)

as suas primitivas. No que diz respeito à representação e raciocínio temporal são referidas algumas das abordagens mais significativas, designadamente, o Cálculo Situacional, o Cálculo de Eventos e a Álgebra Baseada em Interva-los de Allen. Posteriormente será apresentada uma ontologia temporal que foi desenvolvida no contexto do presente trabalho e permitiu cristalizar num artefacto muitos dos conceitos relacionados com a representação e raciocínio temporal. Finalmente são apresentadas outras ontologias temporais, ou on-tologias de topo que incluem a componente temporal, disponíveis no domínio público.

2.1 Introdução

O tempo, tal como o espaço, é um conceito fundamental à cognição humana e é ortogonal à generalidade dos domínios de conhecimento. A representação e raciocínio temporal são fundamentais na Inteligência Artificial e desempenham um papel relevante em problemas relacionados com o planeamento, o escalona-mento, o processamento de língua natural, o raciocínio qualitativo e de senso comum e os sistemas multi-agente [Gerevini, 1997; Fisher et al., 2005].

O conceito tempo é omnipresente na generalidade das línguas humanas, sendo possível encontrar uma grande quantidade de vocábulos e expressões que per-mitem não apenas definir e representar conceitos temporais mas também ra-ciocinar sobre o tempo, tanto em termos quantitativos como qualitativos. O próprio conceito é definido de diferentes formas em função do domínio de co-nhecimento.

A evolução das teorias e modelos temporais é resultante da necessidade de satisfazer os requisitos impostos por diferentes áreas de aplicação e do

(49)

co-nhecimento como a Matemática, Física, Filosofia, Psicologia e Informática, incluindo naturalmente a Inteligência Artificial. Embora com objectivos di-versos, as diferentes áreas necessitam de abordar alguns conceitos comuns, como a representação de eventos ou a duração de uma determinada proprie-dade temporal ou ainda as noções de ordem e de sequência.

No que diz respeito à Inteligência Artificial, esta preocupa-se em investigar algoritmos práticos que permitam ao computador a execução de tarefas mais complexas abrangendo o tempo. De entre essas tarefas, destacam-se, o enten-dimento e a produção de narrativas, o planeamento, a comunicação avançada com o ser humano e a elaboração de relatórios inteligíveis e coerentes, nos quais se reporte um conjunto de eventos (relacionados entre si) ocorridos num determinado intervalo de tempo.

Neste capítulo será focado o tema do tempo na perspectiva Inteligência Artifi-cial e da Engenharia de Conhecimento, com particular ênfase nas vertentes de representação e raciocínio. Na secção 2.2 é apresentado um resumo dos mo-mentos mais marcantes da discussão, por natureza multi-disciplinar, suscitada pelo tema desde a antiguidade até aos dias de hoje. Após o enquadramento histórico, na secção 2.3 serão discutidos os aspectos mais relevantes da to-pologia temporal, nomeadamente, a granularidade, a ordem, a densidade e a suas primitivas. No que diz respeito ao raciocínio e representação temporais, serão referidas e discutidas algumas das abordagens mais relevantes no âmbito deste tópico, designadamente, o Cálculo Situacional, o Cálculo de Eventos e a Álgebra Baseada em Intervalos de Allen (secção 2.4). De seguida, na secção 2.5 será apresentada uma ontologia temporal que foi desenvolvida no contexto do presente trabalho. Conforme será explicitado posteriormente, foram di-versas as razões que levaram à definição desta ontologia, sendo um dos efeitos

(50)

laterais mais significativos, a cristalização/materialização de uma parte impor-tante do trabalho de pesquisa realizado no tópico do raciocínio e representação temporal. Posteriormente, na secção 2.6 serão apresentadas outras ontologias temporais, ou ontologias de topo que incluem a componente temporal, dis-poníveis no domínio público, designadamente, o Time-DAML, o SUMO e o CyC.

2.2 Contexto e Evolução Histórica

Os filósofos gregos foram os primeiros a teorizar o conceito do tempo. Desde muito cedo estes pensadores intuíram que o tempo e o espaço apresentavam características díspares dos restantes fenómenos percepcionáveis na natureza. A escola Eleática, à qual pertenceram os filósofos Parménides e Zenão, atribuiu uma grande importância ao espaço e um papel menor ao tempo, sendo o último normalmente identificado com uma grandeza auxiliar na definição de outros modelos, como por exemplo do movimento. O tempo como quantidade era mensurado mas a definição do próprio conceito não era fundamental.

A escola de Heráclito, que advogou a doutrina da transmutação, introduziu a noção do tempo cíclico. Esta noção é posteriormente retomada por Pla-tão, segundo o qual o tempo é produzido pela revolução constante da esfera celestial.

Aristóteles foi o primeiro pensador grego a separar os conceitos de tempo e espaço. Segundo ele o tempo era um dos componentes do movimento, distinguindo-se de outros (e.g., velocidade) porque não podia ser terminado. No entanto, mantém a noção de tempo como infinito e contínuo, por analogia com o movimento circular uniforme, de acordo com o modelo de Platão.

(51)

A escola Atomista, à qual pertenceu o filósofo Demócrito, discordou do movi-mento circular, pois defendia que o tempo em si mesmo não podia ser criado e como tal não tinha início nem fim, o tempo era uma sucessão de transformações de estados.

Posteriormente, na Idade Média, Santo Agostinho debruçou-se sobre inúmeras questões relacionadas com o tempo, designadamente, a percepção do tempo, passado, presente e futuro, tendo acabado por estabelecer a linearidade tem-poral com base em argumentos teológicos. Aliás, note-se que ao contrário do que acontece com outras religiões (e.g., hindu) o modelo linear está de acordo com a tradição judaico-cristã.

No século dezoito, Immanuel Kant introduziu a noção de intuição como a combinação da sensibilidade externa (a percepção do espaço) e da sensibili-dade interna (a percepção do tempo). Após Kant, o tempo e espaço foram formulados como objectos científicos distintos.

Com o advento da Física Moderna, o tempo passa a ser referido como variável independente, assumindo um papel preponderante nas teorias de Johannes Kepler e Isaac Newton. Aliás, para este último, o tempo era mesmo uma entidade matemática absoluta. Enquanto que o matemático Gottfried Leibniz define o espaço e tempo como relações de ordem relativa, posteriormente este trabalho abriu o caminho à Teoria da Relatividade, formulada por Albert Einstein.

As questões relacionadas com a dualidade coisa/evento têm sido discutidas desde a antiguidade clássica e recentemente, no contexto da Inteligência Ar-tificial, ganharam nova importância com a discussão dos modelos temporais 3-d (três dimensões) e 4-d (quatro dimensões), também referidos como

(52)

mo-delos endurantista1 e perdurantista2, respectivamente. Estas duas correntes

de pensamento advogam modelos distintos do tempo. No modelo defendido pela escola endurantista, as entidades estão situadas no tempo e no espaço e são modeladas de forma persistente no tempo, sofrendo alterações mas não perdendo a identidade. Por outro lado, a corrente perdurantista advoga um modelo, que considera entidades imutáveis. Estas entidades estão situadas no tempo e no espaço, sendo que as suas diferentes manifestações estão relacio-nadas entre si em diferentes pontos do tempo. As diversas “fatias” de uma determinada entidade quando consideradas num corpo comum representam a história dessa mesma entidade (para mais detalhes consultar [Hayes et al., 2002]). Com base nesta distinção, Bittner e seus colegas caracterizam as onto-logias, ou modelos de descrição de domínio, temporais, como SNAP ou SPAN [Bittner et al., 2004], conforme utilizem modelo temporal endurantista ou per-durantista, respectivamente.

2.3 Considerações sobre Topologia

Nesta secção são apresentados e discutidos os aspectos mais relevantes a ter em consideração na escolha e no desenvolvimento de um modelo temporal, desig-nadamente, a ordem (secção 2.3.1), a densidade (secção 2.3.2), a granularidade (secção 2.3.3) e as primitivas temporais (secção 2.3.4). Muito embora estas escolhas possam reflectir opções filosóficas e/ou psicológicas3, as implicações

são fundamentalmente de ordem prática e determinadas pela aplicação a que se destina o modelo [Gerevini, 1997].

1Do anglo-saxónico endurantism. 2Do anglo-saxónico perdurantism.

3Ernst Poppel designa como experiências elementares do tempo os aspectos mais

signifi-cativos da percepção do tempo, designadamente, a duração, a não-simultaneidade, a ordem, o passado, o futuro e a mudança, que inclui a passagem do tempo (em [Irvine, 2000]).

(53)

2.3.1 Ordem Total ou Parcial

É comummente aceite que o tempo apresenta um comportamento dinâmico, descrevendo trajectórias, pelo que desta forma quaisquer duas entidades per-tencentes a uma trajectória podem ser ordenadas. No entanto, esta ordem pode ser total ou parcial, conforme as descrições seguintes:

Ordem parcial – neste caso, o tempo diz-se ramificado, i.e., descreve múltiplas trajectórias, tanto no passado como no futuro. Modelos com fu-turos ramificados foram utilizados com sucesso nas ciências da computação com especial ênfase no domínio do planeamento [McDermott, 1978, 1997]. A ordem parcial é axiomatizada através da relação <, que significa que o operando à esquerda precede temporalmente o operando da direita. Esta relação é irreflexiva (axioma 2.3.1), assimétrica (axioma 2.3.2) e transitiva (axioma 2.3.3).

∀i: ¬(i < i) (2.3.1)

∀i, j : (i < j) → ¬(j < i) (2.3.2) ∀i, j, k: (i < j) ∧ (j < k) → (i < k) (2.3.3)

Ordem total – neste caso, o tempo é definido como linear (infinito e aberto) ou periódico (infinito e circular). Este modelo é o mais utilizado nas ciências como por exemplo na Física. Formalmente, a ordem total define-se através da relação <, que terá que exibir adicionalmente a todas as propriedades necessárias à ordem parcial (irreflexividade, transitividade e assimetria) a comparabilidade formulada através do axioma 2.3.4.

(54)

2.3.2 Modelos Discretos ou Densos

Um modelo temporal pode ser também caracterizado relativamente ao facto de ser discreto ou denso, conforme as descrições seguintes:

Modelo Denso – neste caso, entre duas quaisquer entidades é sempre possível encontrar um número ilimitado de entidades, como acontece por exemplo no caso dos números reais4. Formalmente, a densidade pode ser

formulada através do axioma 2.3.5.

∀i, j ∃k : (i < j) → (i < k) ∧ (k < j) (2.3.5)

Modelo Discreto – neste caso, entre duas entidades ordenadas pode existir (no máximo) um número limitado de entidades. Este caso ocorre quando se utilizam números inteiros como representação das incidências temporais. Formalmente, a densidade é axiomatizada através da fórmula 2.3.6. ∀i, j, k : (i < j) → [∃i, u: (i < i) ∧ (j< j)∧ ¬((i < k < i′) ∨ (j< k < j))] (2.3.6)

2.3.3 Granularidade

A granularidade, ou granulosidade, de um modelo está directamente relaci-onada com as unidades métricas utilizadas e com as eventuais hierarquias definidas entre si. O surgimento de diferentes granularidades foi resultado

4Refira-se que em rigor as representações dos números reais em sistemas informáticos são

(55)

da necessidade de caracterizar a ocorrência de fenómenos naturais (e.g., fa-ses lunares, estações, anos e dias solares) e mais recentemente fenómenos de organização social (e.g., semestres lectivos, anos judiciais e religiosos, dia de trabalho). Aliás, um calendário (ver figura 2.1) é a materialização da tentativa de encontrar relações matemáticas simples entre as diferentes granularidades naturais [Bettini, 2001].

dia dia ... dia

semana semana dia ... ... ano ... mês mês ... semana dia ...

Figura 2.1: Calendário – Relações entre Granularidades Naturais

Os seres humanos utilizam no dia-a-dia diferentes granularidades em função do domínio e da situação, da adequação da medida ao evento e do ênfase que atribuem a esse mesmo evento.

No contexto da Inteligência Artificial, a selecção da granularidade adequada ao domínio e à aplicação é por isso um aspecto relevante, não só em termos de exequibilidade (desempenho) mas também de expressividade.

Formalmente, de acordo com Bettini e seus colegas [Bettini et al., 1998], a granularidade é definida como o mapeamento G entre os inteiros (conjunto do índices) e os subconjuntos do domínio temporal. Considere-se, por exemplo, o mapeamento entre os índices [1,2,3,. . . ,12] e os meses [Janeiro, Fevereiro, Março, . . . , Dezembro]. Assim, o axioma 2.3.7 estabelece que não existem sobreposições numa determinada granularidade e que a ordem do conjunto dos índices tem a mesma ordem que os elementos do domínio temporal. Por

(56)

sua vez, o axioma 2.3.8 estabelece que o conjunto dos índices é contínuo. ∀i, j : i < j ∧ G(i) 6= ∅ ∧ G(j) 6= ∅ →

[∀x, y : x ∈ G(i) ∧ y ∈ G(j) ∧ x < y] (2.3.7) ∀i, j, k: i < k < j ∧ G(i) 6= ∅ ∧ G(j) 6= ∅ → G(k) 6= ∅ (2.3.8)

2.3.4 Primitivas Temporais

Uma teoria do tempo não pode ser definida sem a referência às entidades primi-tivas que o constituem. Originalmente, no contexto da Inteligência Artificial, a escolha residia entre a selecção de períodos ou instantes5, também

desig-nados, numa perspectiva geométrica, intervalos ou pontos, respectivamente. A questão “Pontos ou intervalos?” gerou um intenso debate, principalmente na década de oitenta, sobre as (des)vantagens das abordagens baseadas em qualquer uma das primitivas [McDermott, 1978; Allen, 1983; Vilain e Kautz, 1986; Ladkin, 1987; Galton, 1990; Allen, 1991].

Enquanto que a escolha de um modelo baseado em pontos parece mais efec-tiva em termos de eficiência, os modelos baseados em intervalos privilegiam a expressividade (e.g., no domínio da língua natural). Note-se que tanto um modelo como outro estão fortemente ligados à percepção que fazemos dos eventos. Assim, existem fenómenos relativamente aos quais a duração é uma característica pertinente, enquanto que outros são referidos como instantâneos.

5Efectivamente, existe uma outra abordagem, baseada em eventos. Esta teoria baseia-se

na intuição de que a definição do tempo é a descrição dos eventos e processos, e das relações existentes entre eles. As abordagens baseadas em eventos são conceptualmente distintas das abordagens baseadas em pontos ou intervalos. No entanto, como as teorias baseadas em intervalos partem do princípio que os intervalos são os períodos de tempo ao longo dos quais decorrem os eventos, as propriedades dos períodos e eventos são similares. Embora as teorias baseados em eventos tenham tido grande acolhimento no ramo da Filosofia, em particular por parte de Bertrand Russel, na Inteligência Artificial a sua aplicação foi muito pouco explorada.

(57)

Note-se que a granularidade desempenha um papel preponderante nesta ques-tão. Por exemplo, o fenómeno abrir uma porta em determinadas aplicações ou domínios pode ser considerado instantâneo enquanto que noutras pode ser re-levante fazer a sua divisão em sub-eventos não simultâneos (e.g., colocar chave na fechadura, colocar a mão no puxador, empurrar a porta), implicando por definição a duração não nula do fenómeno agregador, abrir uma porta.

Do ponto de vista meramente formal, a escolha entre pontos ou intervalos não é relevante, visto que é possível definir uma teoria temporal baseada em pontos capaz de expressar intervalos e vice-versa [Galton, 1995].

Assim, as principais implicações da escolha entre uma teoria baseada em ins-tantes ou períodos reflectem-se ao nível da expressividade e da exequibilidade da respectiva teoria. No que diz respeito à exequibilidade, o número de relações fundamentais possíveis entre instantes é apenas de três (≺,≻,=), significativa-mente menor do que o número de relações existentes entre intervalos, que é de treze [Allen, 1983]. Tal facto, implica naturalmente uma maior complexidade em termos de raciocínio quando este se baseie em intervalos. No que diz res-peito à expressividade, a noção de duração é uma consequência da percepção da passagem do tempo, podendo por isso resultar contra-intuitivo descrever determinados cenários com recurso apenas a instantes.

Considere-se o cenário do lançamento de um projéctil na vertical (original-mente designado por Tossed Ball Scenario [Vila e Schwalb, 1996]). Aquando do lançamento do projéctil a velocidade é maior que zero, diminuindo pro-gressivamente durante um período de tempo (p1) até que num determinado instante (i) atinge o valor zero. Após este instante o projéctil inicia a descida que ocorre durante um período (p2), durante a qual a velocidade aumentará progressivamente em valor absoluto (isto porque por convenção a velocidade

(58)

será negativa por oposição à apresentada na subida) (ver figura 2.2).

V = 0 [i]

V > 0 [p1]

V < 0 [p2]

Figura 2.2: Lançamento de um Projéctil na Vertical

Este cenário exemplifica bem as vantagens em termos de expressividade de uma teoria baseada simultaneamente em instantes e intervalos.

Por outro lado, este cenário permite também introduzir a necessidade de ca-racterizar fluentes (propriedades) instantâneos como resultado das questões levantadas pelo Problema da Divisão do Instante6 (ver figura 2.3). Entre as

questões suscitadas pelo problema destaca-se a que diz respeito ao valor valor lógico do fluente f no instante i. Apesar de ser possível nos modelos baseados em intervalos, por exemplo na Álgebra de Intervalos de Allen, a utilização de intervalos de duração nula, a solução surge pouco natural e contra-intuitiva.

p1

tempo

p2

f

~f

i

Figura 2.3: Problema da Divisão do Instante

(59)

Por fim, note-se que actualmente existem abordagens baseadas noutras pri-mitivas que não os pontos ou intervalos, como por exemplo semi-intervalos [Freksa, 1992] e intervalos não convexos [Ladkin, 1987; Ribeiro, 1993].

2.4 Representação e Raciocínio Temporal

Nas secções seguintes são apresentados três dos formalismos mais significativos do raciocínio temporal, o Cálculo Situacional (secção 2.4.1), a Álgebra de Intervalos de Allen (secção 2.4.2) e o Cálculo de Eventos (secção 2.4.3).

2.4.1 Cálculo Situacional

O Cálculo Situacional (SC) [McCarthy e Hayes, 1969] foi historicamente a pri-meira tentativa de formalizar a representação do tempo no domínio da Inte-ligência Artificial. O SC é um formalismo em lógica de primeira ordem que permite representar e raciocinar sobre domínios dinâmicos.

Na arquitectura proposta por McCarthy e Hayes, na representação da mu-dança, o fluir do tempo é caracterizado como uma sucessão de imagens sob a forma de narrativa. Os principais componentes ontológicos do SC são as situações e os eventos. Desta forma, é suposto uma situação ser a descrição completa de um cenário (também referido como mundo) num determinado instante. Por sua vez, os eventos actuam como funções que produzem transi-ções de uma situação Si para Si+1. Assim, entre duas situações consecutivas só pode existir um único evento, excluindo desde logo a hipótese de acções compostas.

Este sistema foi longa e profundamente estudado pela comunidade científica, tendo sido propostas inúmeras extensões à versão original apresentada por

(60)

John McCarthy [Reiter, 1991; Pinto e Reiter, 1993; Levesque et al., 1998] que permitem resolver total ou parcialmente alguns dos problemas inicialmente apontados por McCarthy, designadamente, o Problema do Encadeamento7,

Ramificação8 e Qualificação9. Note-se que apesar destes problemas surgirem

na literatura normalmente associados ao Cálculo Situacional, de facto eles são intrínsecos a qualquer mecanismo de raciocínio sobre a mudança [Gerevini, 1997].

2.4.2 Álgebra de Intervalos de Allen

James Allen fez um conjunto de contribuições notáveis na campo do raciocí-nio e representação temporal, com particular ênfase na sua aplicação na área da Inteligência Artificial [Allen, 1983, 1984]. Algumas das suas propostas, apresentadas no início da década de oitenta representaram um enorme salto qualitativo na área. De entre as contribuições, destaca-se, a enunciação das treze relações definitivas e fundamentais entre os intervalos (ver tabela 2.1), e a Álgebra de Intervalos que relaciona as ditas relações.

O funcionamento da Álgebra de Intervalos proposta por Allen baseia-se nos seguintes princípios:

7Do anglo-saxónico, Frame-problem. Este problema herdou o nome de uma técnica do

desenho animado que consiste em redesenhar em cada nova imagem (frame) apenas os elementos que se alteraram. No contexto do raciocínio temporal a dificuldade reside em determinar/especificar de forma eficiente quais os fluentes que não foram afectados por uma determinada acção, porque a especificação extensiva é fastidiosa e o raciocínio automático dispendioso.

8Do anglo-saxónico, Ramification. Este problema está directamente relacionado com

frame-problem e consiste em determinar/especificar de forma eficiente quais os efeitos de uma determinada acção.

9Do anglo-saxónico, Qualification. O problema da qualificação consiste em determinar

e especificar de forma eficiente quais as pré-condições necessárias à execução de uma deter-minada acção.

(61)

Nome Símbolo Representação Símbolo gráfica da inversa equal = X Y before < X Y > meets m X Y mi overlaps o X Y oi during d X Y di starts s X Y si finishes f X Y f i Tabela 2.1: Relações da Álgebra de Intervalos de Allen

Dado um determinado intervalo P , para cada uma das treze relações existe um intervalo Pque se relaciona com P através desta;

• Cada uma das treze relações é mutuamente exclusiva;

• As relações exibem um comportamento transitivo de acordo com a tabela de transições apresentada em [Allen, 1983].

Considere-se o seguinte exemplo10, no qual as relações temporais são

identifi-cadas:

O Pedro leu o jornal durante o almoço. Quando terminou o almoço estava a chover. O Samuel saiu de casa antes de começar a chover. O telefone tocou

(62)

mas não enquanto o Pedro estava a almoçar.

O exemplo anterior pode ser representado através de um grafo11 (ver figura

2.4) no qual os nodos correspondem as acções e os arcos a diversas relações temporais (da Álgebra de Intervalos de Allen) possíveis entre um determinado par de nodos. Almoçar Ler o jornal Chover Tocar o telefone Sair de casa d o, s, d < >, <, m, mi

Figura 2.4: Grafo Temporal com Relações de Allen

Após a construção do grafo seria necessário proceder à sua normalização, o que consistiria em:

• Adicionar arcos com as relações inversas das existentes, isto é, para cada restrição (i, j) : R existente, adiciona-se uma nova restrição (j, i) : R−1.

Por exemplo, se existe a restrição (i, j) : {<, m, fi, =} então é adicionada a restrição (j, i) : {>, mi, f, =};

Se existem duas restrições (i, j) : R1 e (i, j) : R2 para o mesmo par

de intervalos, estas são substituídas pela (i, j) : R1 ∩ R2. Por exemplo,

se existem as restrições (i, j) : {m, s} e (i, j) : {s, f} então estas são substituídas por (i, j) : {s} pois {s} = {m, s} ∩ {s, f};

Adicionar uma restrição (i, i) : {=} para cada intervalo;

• Adicionar a totalidade das relações (plausíveis) para cada par de inter-valos para os quais não existe informação.

(63)

Após a normalização, seria obtido o grafo apresentado na figura 2.5. Almoçar Ler o jornal Chover Tocar o telefone Sair de casa d o, s, d < >, <, m, mi di oi, si, di >, <, m, mi > = = = = = 13 relações da álgebra de intervalos de Allen

Figura 2.5: Grafo Temporal com Relações de Allen (normalizado)

No contexto do raciocínio temporal é crucial a verificação da consistência tem-poral do modelo. No modelo em questão esta pode ser determinada relativa-mente a cada arco e/ou num caminho (conjunto de arcos entre dois nodos) e/ou na totalidade do grafo. No entanto, a determinação da consistência do grafo é efectivamente um problema não polinomial completo [Vilain et al., 1989], sendo este aspecto um dos problemas de exequibilidade da abordagem proposta.

2.4.3 Cálculo de Eventos

O Cálculo de Eventos [Kowalski e Sergot, 1986] é um formalismo, inicialmente proposto no âmbito da Programação em Lógica, que permite raciocinar sobre eventos temporais. A ideia básica do mecanismo de raciocínio do Cálculo de Eventos baseia-se no conceito de evento (acontecimento), cuja ocorrência determina o início ou fim da validade de um determinado fluente (propriedade).

(64)

Fundamentalmente, esta solução compreende três elementos:

• Um conjunto de axiomas que determinam o funcionamento do sistema, isto é, regras que determinam a validade temporal de um fluente. Estas regras em conjunto com o mecanismo de prova existente nas linguagens de programação em lógica (e.g., PROLOG) constituem o mecanismo de inferência.

Assim, o axioma 2.4.1 específica que um fluente f é verdadeiro no ins-tante t se um acontecimento a ocorreu no insins-tante t1 (anterior a t),

acon-tecimento esse que inicia o fluente f e entretanto o fluente não deixou de ser verdadeiro (Clipped(t1, f, t)).

∀f, t: HoldsAt(f, t) ←

∃ a, t1 : Happens(a, t1) ∧ Initiated(a, f, t1)∧

(t1 < t) ∧ ¬Clipped(t1, f, t) (2.4.1)

Por sua vez, o axioma 2.4.2 especifica que um fluente f é falso durante o intervalo [t1, t2].

∀f, t1, t2 : Clipped(t1, f, t2) ↔

∃ a, t : Happens(a, t) ∧ (t1 ≤ t < t2)∧

Terminates(a, f, t) (2.4.2)

• Um conjunto de declarações que descrevem o domínio da aplicação (axi-omas 2.4.3 e 2.4.4), ou seja, a ontologia de domínio, que especifica, entre outros, a relação entre a ocorrência de eventos e as propriedades (fluen-tes):

∀a, f, t: Initiates(a, f, t) (2.4.3) ∀a, f, t: Terminates(a, f, t) (2.4.4)

Imagem

Figura 1.1: Roteiro de Leitura
Figura 2.1: Calendário – Relações entre Granularidades Naturais
Figura 2.3: Problema da Divisão do Instante
Figura 2.4: Grafo Temporal com Relações de Allen
+7

Referências

Documentos relacionados

174-18969 apresentaram valores médios de deslocamento químico para sistema ABX do ciclo pirazol compatíveis com o esperado para esses compostos, principalmente o efeito de

Prejuízo estético, em grau médio ou máximo, quando atingidos crânios, e/ou face, e/ou pescoço ou perda de dentes quando há também deformação da arcada

A finalidade do “Documento de Arquitetura de Software - DAS” é definir um modelo arquitetural para ser aplicado ao desenvolvimento dos jogos do Desafio SEBRAE, bem como

A clínica gestáltica tem o intuito de desenvolver um trabalho baseado na relação dialógica, que facilita o processo de autorregulação e ajustamento criativo para as pessoas.. Tais

O candidato poderá obter informações e orientações sobre o Simulado Virtual, tais como Editais, processo de inscrição, horário de prova, gabaritos, ranking e resultados

Acidente de Trabalho é o que ocorre pelo exercício do trabalho a serviço da empresa, provocando lesão corporal ou perturbação funcional que cause a morte, a perda ou

Contamos ainda com vários itens para fotografia de Newborn, toda linha de suprimentos para sublimação e um Guia de Negócios especial, com todos os nossos kits de prensas

Eu tenho rugas, porque tive filhos e fiquei preocu- pada com eles desde a concepção, mas também porque sorri, para to- das as suas novas descober- tas e porque passei muitas noites