Instituto Superior de Engenharia do Porto

Tamanho: px
Começar a partir da página:

Download "Instituto Superior de Engenharia do Porto"

Transcrição

1 Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Anabela Soares Pinto Monteiro Projecto de Licenciatura Porto, Setembro de 2004

2

3 Tema: Desenvolvimento de Interface Gráfica para Representação de Hipergrafos Dirigidos. Aplicada a ferramentas de Verificação de Sistemas Baseados em regras. Realizado por: Anabela Soares Pinto Monteiro N.º Orientador: Eng. António Jorge dos Santos Pereira Disciplina: Projecto de Licenciatura Curso: Licenciatura em Engenharia de Informática Ramo de Computadores e Sistemas Data de realização: Setembro de 2004

4

5 Resumo Os gráficos permitem transformar simples dados em informação com significado, promovendo a exploração e, mais importante, a compreensão de domínios complexos. Este trabalho consiste no desenvolvimento de uma aplicação capaz de representar graficamente hipergrafos dirigidos, constituindo assim um meio de representação de problemas. Este formalismo é um caso geral de grafos, que permite estabelecer relações n-árias entre elementos, apresentando, desta forma, uma alternativa para a modelação de problemas em que as relações binárias usuais não são adequadas. Para o âmbito deste projecto, a interface gráfica desenvolvida foi aplicada a um caso de estudo de ferramentas de verificação de Sistemas Baseados em Regras. Estes sistemas são caracterizados por resolverem problemas complexos, possuindo normalmente Bases de Conhecimento muito extensas, com inúmeras regras de forma a caracterizarem correctamente o domínio que pretendem tratar, reforçando assim a necessidade de existirem métodos gráficos que facilitem a sua compreensão e análise. Desta forma, o objectivo é gerar automaticamente a visualização de uma Base de Conhecimento, representando-a através de hipergrafos dirigidos, após esta ter sido devidamente processada por uma ferramenta de verificação. Depois de ter sido gerado o desenho da Base de Conhecimento, é possível efectuar a exploração de cada um dos seus componentes e alterar determinadas propriedades de modo a salientar características importantes para a análise das regras. Para efectuar testes à interface gráfica foi utilizado uma ferramenta de verificação automática designada VERITAS e foi de acordo com a sua arquitectura que se desenvolveu a interface. Apesar de ter sido a partir do VERITAS que a aplicação foi elaborada, esta é independente do contexto, podendo ser utilizada por qualquer tipo ferramenta, desde que sejam fornecidas as entradas necessárias. Na base do trabalho desenvolvido esteve inerente um estudo sobre a teoria que está subjacente aos Sistemas Baseados em Conhecimento, nomeadamente as suas principais características, as várias formas de representação gráfica de regras e a temática de Validação e Verificação deste tipo sistemas. i

6 ii

7 Dedico este trabalho ao meu pai, que apesar de já não se encontrar ao meu lado, vai viver para sempre no meu coração. iii

8 iv

9 Agradecimentos Ao iniciar este relatório, não posso deixar de nele incluir o meu reconhecimento a todos os que me acompanharam, apoiaram e ofereceram os seus conhecimentos e ajuda para concretizar este projecto. Em primeiro lugar queria agradecer ao meu orientador, Eng. Jorge Santos, pela ajuda depositada ao longo destes meses, imprescindível para a realização deste trabalho. Agradeço à minha queridíssima mãe, que por mais que eu tente, não tenho palavras para descrever o excelente papel que tem desempenhado na minha vida. Às minhas irmãs, Sara e Mónica, por terem sido sempre minhas grandes amigas, muito mais do que simples irmãs. Também não posso deixar de incluir a minha mais recente família, os meus amores pequeninos Matilde e Diogo, por terem a capacidade de encher o meu coração de alegria com apenas um simples sorriso. Ao meu namorado, Nuno, por todo o carinho que me tem dedicado e principalmente por me ajudar a descontrair nos momentos mais difíceis, um obrigado do fundo do coração. Queria agradecer a todos os meus amigos, especialmente à Sindy e à Isabel, pela amizade que há tanto tempo me dedicam e por estarem sempre presentes quando eu mais preciso. Agradeço às minhas queridas amigas de Cabo Verde, Rosa e Marlene, que me acompanharam ao longo destes anos no ISEP sempre com a sua boa disposição e simpatia. Por último agradeço a todos aqueles de que directa ou indirectamente me ajudaram a concretizar este projecto. v

10 vi

11 Índice RESUMO... I AGRADECIMENTOS... V ÍNDICE... VII ÍNDICE DE FIGURAS... XI NOTAÇÃO UTILIZADA... XIII CAPÍTULO INTRODUÇÃO DESCRIÇÃO DO PROBLEMA PROPOSTO MOTIVAÇÕES ESTRUTURA DA TESE... 4 CAPÍTULO REPRESENTAÇÃO GRÁFICA DE SISTEMAS BASEADOS EM CONHECIMENTO SISTEMAS BASEADOS EM CONHECIMENTO Vantagens dos SBC Desvantagens dos SBC Sistemas Baseados em Regras Definições gerais e Notação de uma Base de Regras Inferência baseada em regras O processo de raciocínio Desvantagens dos Sistemas Baseados em Regras Vantagens dos Sistemas Baseados em Regras REPRESENTAÇÃO GRÁFICA DE REGRAS Grafos Conceitos gerais Representação de regras usando grafos Árvores AND/OR Conceitos gerais vii

12 Representação de regras usando árvores AND/OR Hipergrafos Dirigidos Conceitos gerais Representação de regras usando hipergrafos dirigidos Análise comparativa das formas de representação gráfica VERIFICAÇÃO E VALIDAÇÃO DE SBC A Validação de um SBC A Verificação de um SBC Anomalias de uma Base de Regras Circularidade Redundância Ambivalência / Inconsistência Deficiência CAPÍTULO A INTERFACE GRÁFICA DESENVOLVIDA DESCRIÇÃO VERITAS, UM CASO DE ESTUDO Ficheiro de expansão de regras Ficheiro de descrição de regras e literais ANÁLISE Análise de requisitos Constituição de um hipergrafo Classe Nodo Classe Hipernodo Classe Ramo Classe RamoCiclico Classe Hipergrafo Constituição geral da aplicação Classe Aplicacao Classe DialogNovoHipergrafo Classe Parser Classe DesenhaHipergrafo Classe Janela Classe DialogCoresHipergrafo Classe DialogAlterarHipergrafo SOLUÇÃO Construção do hipergrafo Desenho do hipergrafo viii

13 Desenho de um nodo Desenho de um hipernodo Desenho de um ramo Desenho de um ramo cíclico RESULTADO CAPÍTULO CONCLUSÃO CONCLUSÕES TRABALHO FUTURO BIBLIOGRAFIA ANEXO A DOCUMENTAÇÃO DAS CLASSES A.1. APLICACAO A.2. DESENHAHIPERGRAFO A.3. DIALOGALTERARHIPERGRAFO A.4. DIALOGCORESHIPERGRAFO A.5. MYTABLECELLRENDERER A.6. DIALOGNOVOHIPERGRAFO A.7. HIPERGRAFO...96 A.8. HIPERNODO A.9. JANELA A.10. NODO A.11. PARSER A.12. PRINTUTILITIES A.13. RAMO A.14. RAMOCICLICO ix

14 x

15 Índice de Figuras FIGURA 2.1 ADQUIRIÇÃO DE CONHECIMENTO... 8 FIGURA 2.2 ESTRUTURA BÁSICA DE UM SISTEMA BASEADO EM CONHECIMENTO FIGURA CLASSIFICAÇÃO DE APLICAÇÕES DE INTELIGÊNCIA ARTIFICIAL FIGURA EXEMPLO DE UM GRAFO FIGURA 2.5 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UM GRAFO FIGURA 2.6 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UM GRAFO FIGURA 2.7 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UM GRAFO FIGURA 2.8 EXEMPLO DE UMA ÁRVORE FIGURA 2.9 EXEMPLO DE UMA ÁRVORE AND/OR FIGURA 2.10 EXEMPLO DE UMA ÁRVORE AND/OR FIGURA 2.11 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UMA ÁRVORE AND/OR FIGURA 2.12 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UMA ÁRVORE AND/OR FIGURA 2.13 EXEMPLO DE UM HIPERGRAFO DIRIGIDO FIGURA 2.14 REPRESENTAÇÃO DE REGRAS ATRAVÉS DE UM HIPERGRAFO DIRIGIDO FIGURA 2.15 GRAFO FIGURA 2.16 ÁRVORE AND/OR FIGURA 2.17 HIPERGRAFO FIGURA CLASSIFICAÇÃO DE ANOMALIAS FIGURA 2.19 EXEMPLO DE CIRCULARIDADE FIGURA 2.20 EXEMPLO DE CIRCULARIDADE DIRECTA FIGURA 2.21 EXEMPLO DE UMA REGRA REDUNDANTE (SUB-ASSUMIDA) FIGURA 2.22 EXEMPLO DE INCONSISTÊNCIA ATRAVÉS DE UMA CADEIA DE INFERÊNCIA SIMPLES FIGURA 2.23 EXEMPLO DE INCONSISTÊNCIA ATRAVÉS DE MÚLTIPLAS CADEIAS DE INFERÊNCIA FIGURA 3.1 ARQUITECTURA DO VERITAS FIGURA 3.2 FORMATAÇÃO DO FICHEIRO DE EXPANSÃO DE REGRAS FIGURA 3.3 EXEMPLO DE UM FICHEIRO DE EXPANSÃO DE REGRAS E O RESPECTIVO HIPERGRAFO FIGURA 3.4 MODELO DE DADOS DA BD INTERNA DO SISTEMA VERITAS FIGURA 3.5 DIAGRAMA DE CASOS DE USO DA APLICAÇÃO FIGURA 3.6 DIAGRAMA DE CLASSES DO HIPERGRAFO E SEUS COMPONENTES FIGURA 3.7 NÍVEIS DO HIPERGRAFO FIGURA 3.8 DIAGRAMA DE CLASSES DA APLICAÇÃO xi

16 FIGURA 3.9 JANELA PRINCIPAL DA APLICAÇÃO FIGURA 3.10 CAIXA DE DIÁLOGO NOVO HIPERGRAFO FIGURA 3.11 JANELAS INTERNAS DA APLICAÇÃO FIGURA 3.12 CAIXA DE DIÁLOGO DEFINIR CORES DO HIPERGRAFO FIGURA 3.13 JCOLORCHOOSER FIGURA 3.14 CAIXA DE DIÁLOGO ALTERAR HIPERGRAFO FIGURA 3.15 EXEMPLO DE UMA PEQUENA CADEIA DE INFERÊNCIA FIGURA 3.16 ADIÇÃO DE UMA REGRA FIGURA 3.17 ADIÇÃO DO HIPERNODO RHS FIGURA 3.18 ADIÇÃO DO HIPERNODO LHS FIGURA 3.19 DIAGRAMA DE OBJECTOS DO HIPERGRAFO CORRESPONDENTE AO EXEMPLO EM ANÁLISE FIGURA 3.20 VARIÁVEIS DE DESENHO FIGURA 3.21 DESENHO DE UM NODO FIGURA 3.22 DESENHO DE UM HIPERNODO FIGURA 3.23 DESENHO DE UM RAMO FIGURA 3.24 DESENHO DE UM RAMO CÍCLICO FIGURA 3.25 FICHEIRO DE EXPANSÃO DE REGRAS CORRESPONDENTE A UM PEQUENO EXTRACTO DA BC DO SPARSE FIGURA 3.26 FICHEIRO DE DESCRIÇÃO DE REGRAS CORRESPONDENTE A UM PEQUENO EXTRACTO DA BC DO SPARSE FIGURA 3.27 VISUALIZAÇÃO DO HIPERGRAFO FIGURA 3.28 EXEMPLO DE UM HIPERGRAFO ALTERADO xii

17 Notação Utilizada Neste trabalho são utilizados diferentes estilos, consoante o significado que se pretende atribuir, dos quais destacam-se os seguintes: Arial, Itálico, 11 pontos Palavras e expressões em inglês para as quais não existe uma tradução apropriada. Franklin Gothic Book, 10 pontos Extractos de código Java. Franklin Gothic Book, 10 pontos, com preenchimento a cinzento Conteúdo de ficheiros de texto. Microsoft Sans Serif, Negrito, 9 Pontos Assinatura de métodos Java, utilizando a sintaxe seguinte nomemétodo ( arg1:tipoarg1,..., argn: TipoArgN) : TipoRetorno Times New Roman, Itálico, 12 pontos Conteúdo de uma Base de Conhecimento. xiii

18 xiv

19 Capítulo 1 Introdução Neste capitulo faz-se uma descrição geral sobre o que consiste este trabalho bem como as necessidades e motivações que levaram a desenvolver o projecto em questão. Por ultimo é apresentada a estrutura presente neste documento fazendo-se um breve resumo de cada capitulo com vista a facilitar a sua leitura Descrição do problema proposto Hoje em dia, cada vez mais se verifica a necessidade de desenvolver software para uma determinada área particular, com a finalidade de se resolverem problemas para um domínio específico, ao contrário do software convencional, possuidor de um conhecimento mais generalista e aplicável a diversas áreas. Este software específico, pertence a uma das áreas mais promissoras da Inteligência Artificial e é designado de Sistemas Baseados em Conhecimento (SBC). Quando os SBC utilizam regras para representarem o conhecimento que contêm sobre um determinado domínio são designados de Sistemas Baseados em Regras. Dado que este tipo de sistemas, na maior parte dos casos, se destinam a resolver problemas complexos do mundo real, podem necessitar de centenas ou mesmo milhares de regras para modelarem todo o conhecimento que necessitam de modo a caracterizar o problema em questão. Para os analistas, a tarefa de validar e verificar essas regras torna-se cada vez mais difícil, uma vez que é praticamente impossível para o ser humano fazer a análise de milhares de regras simultaneamente. Por outro lado, bases de regras muito extensas são propicias ao surgimento de inconsistências, redundâncias, ambiguidades bem como

20 Introdução outras anomalias. Para além disso, a actualização do conhecimento adicionando novas regras ou modificando as existentes também pode fazer com que se originem erros nos respectivos sistemas. As ferramentas de Validação e Verificação (V&V) tentam ultrapassar estes problemas, detectando os possíveis erros existentes nas Bases de Conhecimento e determinando a qualidade e a robustez dos sistemas em avaliação. Deste modo, a existência de uma interface gráfica pode ser muito útil na visualização dos resultados gerados por estas ferramentas. Foi neste contexto que surgiu a necessidade de desenvolver o projecto em questão. Este trabalho visa fazer a representação gráfica de regras do conhecimento através de hipergrafos dirigidos, permitindo deste modo visualizar, de uma forma clara e precisa, o conjunto de cláusulas que compõem uma base de regras bem como as relações existentes entre elas. A representação gráfica de regras é muito vantajosa, uma vez que para além de possibilitar uma visão geral do problema em questão através da visualização de cadeias de inferência ramificadas, permite ainda salientar determinados aspectos que possam ser importantes para a análise, tais como anomalias no conhecimento, caminhos críticos, etc. É importante salientar, que este trabalho não visa substituir as ferramentas de V&V mas sim servir como ferramenta de apoio à análise de regras de produção de forma a facilitar a compreensão do conhecimento contido numa base de regras. No desenvolvimento da aplicação foi utilizada a linguagem Java, principalmente devido ao conjunto de bibliotecas que esta linguagem disponibiliza para a construção de interfaces gráficas (nomeadamente a biblioteca Swing) e também por facilitar o desenho de figuras geométricas. VERITAS foi a ferramenta de V&V que serviu de ponto de partida para o desenvolvimento da aplicação. Foi através do estudo da arquitectura desta ferramenta que se pensou numa forma de construir uma interface gráfica de mais alto nível, de modo a que possa representar qualquer tipo de Base de Conhecimento que se pretenda visualizar, independente gramática utilizada na representação das regras. 2

21 Introdução 1.2. Motivações Esta tese foi desenvolvida no âmbito da Licenciatura de Engenharia Informática do ramo de Computadores e Sistemas. Visto a importância do trabalho em questão, a escolha de um tema, dentro de um rol de variedades, revelou-se uma tarefa bastante difícil. O que tornou este projecto atraente motivando a sua escolha, foi o facto de abranger diversas áreas distintas, como Sistemas Baseados em Conhecimento, interfaces gráficas, representação de regras de produção, teoria de grafos, validação e verificação do conhecimento. Todo o estudo que lhe está subjacente, nomeadamente no que diz respeito a técnicas de representação e visualização, tão importantes para a análise de problemas complexos caracterizados por apresentarem informação abundante, fazem deste trabalho um aliciante desafio. Um outro factor que pesou bastante na escolha deste projecto foi o facto de haver a oportunidade de desenvolver um trabalho prático assente no estudo teórico efectuado. Desta forma, foi possível ter uma visão mais real do tema a desenvolver sendo assim mais fácil de compreender toda a complexidade e importância dos conceitos teóricos abordados. O referido trabalho permite complementar uma ferramenta de Validação e Verificação de Sistemas Baseados em Conhecimento, através da adição da componente gráfica. O desenvolvimento de uma interface gráfica para ferramentas V&V justifica-se devido à necessidade de visualização o domínio que pretendem tratar, nomeadamente a base de regras dos sistemas que pretendem analisar. Em suma, a importância dos conceitos abordados nesta tese, bem como a utilidade da aplicação desenvolvida fazem com que este trabalho preencha todos os requisitos que foram procurados inicialmente para a finalização desta licenciatura. 3

22 Introdução 1.3. Estrutura da tese Esta tese encontra-se dividida em quatro capítulos e um anexo, apresentando a estrutura seguinte: No primeiro capítulo (o qual onde nos encontramos) procurou-se dar uma visão geral do tema em análise, apresentando-se alguns conceitos introdutórios e descrevendo-se os principais objectivos em que recaem o estudo desta tese. Por ultimo, apontaram-se as principais motivações que levaram ao desenvolvimento do trabalho em questão. O segundo capítulo, intitulado Representação Gráfica de Sistemas Baseados em Conhecimento, faz uma análise aos conceitos teóricos que serviram de apoio ao desenvolvimento do trabalho prático. Este capítulo encontra-se dividido em três secções principais, as quais são: Sistemas Baseados em Conhecimento, Representação Gráfica de Regras e Validação e Verificação de SBC. Na primeira secção analisa-se os Sistemas Baseados em Conhecimento, de uma forma mais geral, e os Sistemas Baseados em Regras, de uma forma mais detalhada, apresentando as suas principais características, vantagens e desvantagens. Na segunda secção são apresentadas três formas de representação gráfica de um conjunto de regras, nomeadamente: Grafos, Arvores And/Or e Hipergrafos Dirigidos. Após estas serem analisadas separadamente, é feito um estudo comparativo salientado-se a mais adequada para o projecto em questão. Na terceira secção é abordada a temática de Validação e Verificação de SBC. Assim, são apresentadas as principais características e diferenças existentes entre estes dois conceitos. Por último são identificados os possíveis erros que podem surgir numa base de regras exemplificando-os através da sua representação gráfica. 4

23 Introdução No terceiro capítulo, A Interface Gráfica Desenvolvida, tal como sugere o seu nome, é feita uma análise ao trabalho prático elaborado. Este capítulo encontra-se estruturado na seguinte forma: Na primeira secção é feita uma descrição geral da aplicação desenvolvida, indicando-se os seus principais objectivos e princípios de funcionamento. Na segunda secção é apresentada a ferramenta VERITAS descrevendo-se as suas principais características e a sua arquitectura. Seguidamente analisa-se a forma de como se estabelece a ligação entre o VERITAS e a interface gráfica desenvolvida. Na terceira secção faz-se uma análise à aplicação desenvolvida, indicando as suas principais funcionalidades e a forma como se encontra constituída. Aqui são apresentadas as principais classes elaboradas e modo de como estas se encontram relacionadas. Na quarta secção apresentam-se as principais soluções implementadas na realização da interface gráfica, nomeadamente a forma como se constrói o hipergrafo e o modo como este é desenhado. Na quinta secção são apresentados, de uma forma muito sucinta, os resultados gerados pela aplicação. No capítulo quarto, Conclusão, são apresentadas as conclusões obtidas após a realização do estudo teórico e do desenvolvimento da interface gráfica e são sugeridas algumas funcionalidades que poderiam ser implementadas com vista a melhorar o trabalho prático realizado. Por último, no Anexo, encontra-se uma documentação das classes elaboradas no desenvolvimento da aplicação. 5

24 Introdução 6

25 Capítulo 2 Representação Gráfica de Sistemas Baseados em Conhecimento Neste capítulo pretende-se fazer uma abordagem aos conceitos teóricos que serviram de suporte ao desenvolvimento do trabalho prático. Para tal, começa-se por se fazer uma análise aos Sistemas Baseados em Conhecimento em geral, e aos os Sistemas Baseados em Regras em particular. Seguidamente é feita uma análise detalhada sobre várias formas de representar graficamente as regras de produção contidas nas Bases de Conhecimento. Deste modo, são abordadas três formas de representação: Grafos, Arvores And/Or e Hipergrafos Dirigidos. Por último é apresentado o tema de Verificação e Validação de SBC, identificando-se os possíveis erros que poderão surgir numa Base de Conhecimento e procedendo-se à sua análise gráfica Sistemas Baseados em Conhecimento Nos inicio dos anos 70 reconheceu-se a necessidade de considerar o conhecimento como um factor crucial no desenvolvimento aplicações de software. Hoje em dia, ouvimos regularmente a expressão Conhecimento é poder, mas será que sabemos exactamente o que ela significa? Isto é, em que consiste o conhecimento, e porque razão é tão importante? Tuthill representou o processo de adquirir conhecimento através de uma pirâmide em [Tuthill-90], a qual está ilustrada na figura 2.1.

26 Representação Gráfica de Sistemas Baseados em Conhecimento Na base desta pirâmide encontram-se os dados, que após serem analisados e relacionados transformam-se em informação, que por sua vez, após um processo de síntese se transforma em conhecimento. No entanto, salienta-se que pertence aos homens, através de julgamentos, da aplicação de conceitos morais e da experiência adquirida ao longo dos anos, a capacidade de transformar o conhecimento em sabedoria. Figura 2.1 Adquirição de Conhecimento. Na figura ainda se verifica que o volume (por exemplo em bytes) é maior dos níveis mais baixos da pirâmide e o valor (por exemplo em Euros) aumenta nos níveis mais altos. O que significa que no topo da pirâmide encontram-se os conceitos que ocupam um menor espaço de armazenamento e que possuem um valor significativamente superior. Para se compreender melhor estes conceitos, vejamos um exemplo sobre um supermercado. Quando um cliente efectua uma compra são armazenados todos os dados relativos a essa compra, tais como: o tipo de produto, a marca, o número de unidades vendidas, a data de venda, etc. Este dados são muito importantes, pois estão na base do sistema informático, no entanto são muito abundantes tornando-se complicado tirar qualquer significado relevante a partir destes. Através da análise e manipulação dos dados obtém-se a informação, por exemplo: na data x foram vendidos 500 unidades do produto y. Por último, interessa tirar conclusões sobre a informação reunida, atingindo-se assim o conhecimento que é aquilo que verdadeiramente interessa a quem tem de tomar decisões. Por exemplo, supondo que se extraia o seguinte conhecimento através das informações sobre as vendas do supermercado: quem compra o queijo da serra x, também compra o vinho tinto y. Este conhecimento poderia servir, por exemplo, para lançar uma campanha promocional sobre o queijo x e o vinho y. 8

27 Representação Gráfica de Sistemas Baseados em Conhecimento Visto a importância que o conhecimento pode ter para as empresas e organizações, começou a tornar-se clara a necessidade de adquirir, representar, manter, gerar e actualizar o conhecimento existente acerca de um determinado domínio. Esse conhecimento pode ser obtido por explicitação por parte de especialistas ou até mesmo por aprendizagem automática, como ocorre nos sistemas de baseados em técnicas de Data Mining. Desta forma surgiram os Sistemas Baseados em Conhecimento 1, que se caracterizam por valorizarem a importância do conhecimento como essência da implementação de um sistema que exibe um comportamento inteligente. A partir da década de 90 a utilização deste tipo de sistemas começou a ser abundante sendo, desta forma, responsáveis pela re-descoberta e popularização da Inteligência Artificial, tendo esta disciplina anteriormente caído em descrédito devido à criação de expectativas muito elevadas. De uma maneira geral, Sistemas Baseados em Conhecimento são aplicações de inteligência artificial desenvolvidas para executar em situações próximas do "mundo real", executando tarefas com a mesma competência de um ser humano. Como o seu próprio nome indica, baseiam o seu comportamento inteligente na posse do conhecimento que detêm sobre um determinado domínio. Uma característica intrínseca dos Sistemas Baseados em Conhecimento é o facto de haver uma separação clara entre o conhecimento e o raciocínio, ou seja, o controlo do programa, designado de motor de inferência, não se mistura com a especificação do conhecimento. 1 Knowledge-Based Systems (KBS) 9

28 Representação Gráfica de Sistemas Baseados em Conhecimento Motor de Inferência Utilizador Base de Conhecimento Base de Factos Figura 2.2 Estrutura básica de um Sistema Baseado em Conhecimento Os SBC recorrem a múltiplas formas de representação do conhecimento (tais como frames, objectos, regras, redes semânticas, etc.) por vezes usadas em simultâneo. Deste modo, os SBC que recorrem à representação por regras (uma das representações mais utilizadas) são designados por Sistemas Baseados em Regras. Dentro do domínio dos SBC encontram-se os Sistemas Periciais (SP), também denominados de Sistemas Especialistas (SE), que se distinguem por representarem o conhecimento que foi obtido a partir de um ou mais peritos ou especialistas numa determinada área e tentarem modelar o comportamento desse(s) mesmo(s) perito(s). Pelo facto de muitos SP utilizarem regras como suporte de representação, os SP podem ser simultaneamente Sistemas Baseados em Regras. A Figura 2.3 esquematiza estas diferentes subclasses de aplicações da Inteligência Artificial. [Garcia-91] 10

29 Representação Gráfica de Sistemas Baseados em Conhecimento Aplicações de IA: Sistemas que exibem replicam comportamentos inteligentes. Sistemas Baseados em Conhecimento: o conhecimento é vital, divisão entre conhecimento e raciocínio Sistemas Baseados em Regras: o conhecimento é representado através de regras Sistemas Periciais: o conhecimento é adquirido a partir do Perito Figura Classificação de aplicações de Inteligência Artificial Vantagens dos SBC Existem inúmeras vantagens advindas da utilização de SBC e SP, entre as quais destacam-se as seguintes: Explicação do seu raciocínio. Em muitos dos domínios onde os SBC e SP operam, as pessoas não aceitarão resultados a menos que estejam convencidas da precisão do processo de raciocínio que produziu esses resultados. Isto é particularmente verdadeiro, por exemplo, na medicina, onde o médico tem a responsabilidade final por um diagnóstico, mesmo quando esse for alcançado com considerável auxílio de um programa. Assim, é importante que os SBC sejam capazes de explicar como uma dada conclusão foi alcançada ('como?') e porque é que determinada informação é precisa durante o processo de resolução ('porquê?'), pois permite ao utilizador aceder e compreender o raciocínio do sistema, aumentando assim a sua confiança no sistema. 11

30 Representação Gráfica de Sistemas Baseados em Conhecimento Actualização e aquisição de conhecimento. Como o conhecimento é representado e mantido como uma entidade separada do programa de controlo existe a facilidade de se localizar facilmente o conhecimento situado na BC e por conseguinte é possível incrementar e actualizar esse conhecimento de uma forma relativamente simples. Há domínios onde o conhecimento evolui rapidamente (os tratamentos mais adequados para uma dada doença não são necessariamente os mesmos que se consideravam há 20 anos atrás) desta forma um SBC nunca é um projecto terminado, haverá sempre a possibilidade de incrementar o seu conhecimento para tratar situações ainda não previstas. Permanência do conhecimento. Os seres humanos podem esquecer o conhecimento que adquiriram por razões adversas como doença e envelhecimento, os SBC não. Preservação do conhecimento. Toda a sabedoria e experiência de um indivíduo pode ser mantida eternamente num SBC. Diminuição de custos. Permitem disponibilizar o conhecimento a um custo razoável. No caso de SP esta vantagem ainda é maior, pois reduzem a necessidade de pagamento a peritos muito caros ou, pelo menos, tornam estes peritos mais produtivos. Acessibilidade. Ao contrário dos seres humanos que apenas se encontram acessíveis no seu horário de trabalho, os SBC apresentam completa acessibilidade, pois podem trabalhar 24 horas por dia, fins de semana e feriados, não ficam doentes, nem tiram férias. Consistência. Os SBC tratam uma mesma situação sempre da mesma forma, sendo consistentes nas respostas apresentadas ao utilizador, ao contrário dos humanos que podem estar sujeitos a cansaço, stress e apresentarem respostas diferentes a uma mesma situação. Documentação. Com um SBC existe documentação permanente sobre a forma como foi tomada uma determinada decisão. 12

31 Representação Gráfica de Sistemas Baseados em Conhecimento Alargamento do campo de intervenção. O conhecimento de vários especialistas pode ser integrado, alargando o campo de especialização do sistema Desvantagens dos SBC Apesar destes sistemas apresentarem bastantes vantagens, também possuem algumas desvantagens, tais como: Senso Comum. Como representar senso comum? Para que o sistema funcione correctamente é necessário fornecer-lhe conhecimento que é óbvio para o ser humano e não apenas o de mais alto nível. Criatividade. Os humanos são capazes de criar em situações inesperadas, os SBC não. Limitação ao domínio. Os Sistemas Baseados em Conhecimento nem sempre conseguem reconhecer quando lhes é colocada uma questão fora do seu domínio de conhecimento Sistemas Baseados em Regras Até agora foram analisados os Sistemas Baseados em Conhecimento em geral, mas visto que este trabalho se encontra directamente relacionado com os Sistemas Baseados em Regras, interessa aprofundar o estudo sobre este tipo de sistemas em particular. Como já foi descrito na inicio deste capítulo, os Sistemas Baseados em Regras 2, também designados de Sistemas de Produção, são SBC s que representam o conhecimento que detêm sobre um dado domínio através de regras de produção. 2 Rule-Based Systems 13

32 Representação Gráfica de Sistemas Baseados em Conhecimento A simplicidade e a semelhança com o raciocínio humano tornaram este tipo de sistemas muito populares, sendo os mais comuns entre os Sistemas Baseados em Conhecimento. As regras representam o conhecimento usando o formato SE ENTÃO (IF - THEN), onde: A parte SE da regra, também designada LHS 3, contempla as condições que terão de ser atendidas para que a regra seja aplicável. O LHS pode envolver a conjunção, disjunção e negação de termos. Esses termos podem ser factos básicos ou termos gerados por conclusões de outras regras. A parte ENTÃO da regra, ou RHS 4, corresponde às conclusões ou acções que se podem obter caso as condições sejam verdadeiras. Alguns sistemas só permitem uma conclusão por regra (Cláusulas de Horn) outros permitem mais do que uma conclusão. As conclusões podem ser intermédias (ou hipóteses), se entrarem no LHS de outras regras, ou conclusões finais. Seguidamente encontra-se um pequeno exemplo de uma regra de produção, pertencente ao Sistema Pericial Otologia [Sampaio-96]: diag : regra 2: se [(facto_intermedio_hrsot(sim) ou facto_intermedio_oh(sim) ou facto_intermedio_ah(sim)) e otoscopia(cerumen)] entao [rolhao_cerumen]. 3 LHS: Left-Hand-Side permite designar o lado esquerdo da regra. 4 RHS: Right-Hand-Side permite designar o lado direito da regra. 14

33 Representação Gráfica de Sistemas Baseados em Conhecimento Definições gerais e Notação de uma Base de Regras Antes de se proceder à análise dos Sistemas Baseados em Regras, é conveniente identificar alguns conceitos que lhe estão associados e descrever a notação que irá ser adoptada ao longo deste capítulo, a qual foi baseada em [Preece-94] e [Preece-92]. Base de Conhecimento: Uma Base de Conhecimento K é constituída por uma base de regras e um conjunto de declarações, podendo ser expressa da seguinte maneira: K = R D onde R corresponde a uma base de regras e D ao conjunto de declarações. Base de Regras: Uma Base de Regras consiste num conjunto de regras de produção, as quais podem ser definidas na seguinte forma: r : L1 L2... Ln M onde os L s e o M são literais. Se o LHS ou antecedente L 1 L2 Ln... de uma regra é verdadeiro, a regra é disparada e é inferido o RHS ou consequente M. Por vezes, de forma a facilitar-se o processo de verificação e representação, considera-se que as regras apenas possuem um literal no consequente (cláusulas de Horn). Desta forma, uma regra com mais do que um literal na sua parte esquerda: r... 1 : L1 L2... Ln M1 M 2 M k 15

34 Representação Gráfica de Sistemas Baseados em Conhecimento pode ser substituída por um conjunto de regras equivalentes, tais como: r r r 1a : L1 L2... Ln M 1 1b : L1 L2... Ln M k : L1 L2... Ln M k O mesmo pode acontecer no caso do consequente da regra ser constituído pela disjunção ( ) de literais. Conjunto de declarações: Um conjunto de declarações D corresponde aos conjuntos de entradas e saídas do sistema e aos conjuntos restrições semânticas. D = G I C onde: G conjunto de soluções possíveis (goal literals) I conjunto de literais de entrada (input literals) C conjunto de restrições semânticas (contraint) Como restrições semânticas entende-se um conjunto de literais { L 1,..., Ln} cuja conjunção semântica L... 1 L n não tem significado no domínio. Por exemplo, a restrição { masculino( x), grávida( x)} significa que qualquer que seja x, x não pode ser simultaneamente masculino e grávida. O conjunto de todos estes tipos de restrições semânticas constitui C definido em cima. A cada conjunto de restrição semântica usualmente dá-se o nome de conjunto impossível ou conjunto não permissível. Ambiente permissível: Um ambiente é um subconjunto de literais fornecido a uma base de conhecimento (por exemplo: uma altura da pessoa, peso, sintomas, etc) que não implicam restrições semânticas. 16

35 Representação Gráfica de Sistemas Baseados em Conhecimento Quanto ao tipo de literais, distinguem-se os seguintes: Literais básicos correspondem aos literais que apenas aparecem nos antecedentes das regras e nunca nos consequentes. O que significa que o seu valor é sempre fornecido à Base de Conhecimento pelo utilizador. Hipóteses finais literais que apenas aparecem nos consequentes das regras, também designados de conclusões. Hipóteses intermédias são literais que aparecem nos consequentes de algumas regras e nos antecedentes de outras. Se considerarmos este pequeno exemplo de uma Base de Conhecimento: r r r : L 1 : M : M L L N M 3 1 M 2 verifica-se que os L s são literais básicos, os M s são hipóteses intermédias e o N é uma hipótese final Inferência baseada em regras Os Sistemas Baseados em Regras modelam o processo de raciocínio usando inferência. Mediante técnicas de pesquisa e testes de correspondência de padrões, os Sistemas Baseados em Regras automatizam os seus métodos de raciocínio e proporcionam uma progressão lógica desde os dados iniciais, até às conclusões desejadas. Esta progressão faz com que se vão adquirindo novas informações a partir do conhecimento já existente, à medida que vai atingindo a solução do problema. Em consequência, o processo de solução de um problema nos Sistemas Baseados em Regras vai realizando uma série de inferências que criam uma ligação entre a definição do problema e a sua solução. As inferências encontram-se concatenadas e realizam-se de forma progressiva, por este motivo diz-se que o processo de solução origina uma cadeia de inferências. 17

36 Representação Gráfica de Sistemas Baseados em Conhecimento O processo de raciocínio O processo de raciocínio num Sistema Baseado em Regras é uma progressão desde um conjunto inicial de factos e regras para uma solução, resposta ou conclusão. Como se chega a obter o resultado, pode variar significativamente: Pode-se partir considerando todos os dados conhecidos e ir progressivamente avançando para a solução. Este processo justifica-se quando existem poucos dados e muitas soluções possíveis, sendo assim denominado encadeamento directo 5 ou orientado pelos dados 6. Este tipo de raciocínio dedutivo, é utilizado por exemplo, na demonstração de teoremas, onde a partir de um pequeno conjunto de dados iniciais partimos em busca de novas soluções, até se chegar à solução pretendida. Pode-se seleccionar uma solução possível e tentar provar a sua veracidade pesquisando condições que a apoie. Este processo é apropriado quando existem muitos dados disponíveis e apenas uma pequena parte deles são relevantes e são poucas as hipóteses finais. A este tipo de estratégia de raciocínio dá-se o nome de encadeamento inverso 7 ou orientado pelos objectivos 8. O raciocínio inverso é muitas vezes utilizado pelos médicos, quando suspeitam que o paciente sofre de uma determinada doença e procuram saber quais os sintomas que este possui, de forma a obterem a certeza. Alguns sistemas utilizam estas duas estratégias no processo de raciocínio, sendo assim designado por encadeamento misto. Neste tipo de raciocínio vai-se avançando no sentido directo a partir dos dados disponíveis (encadeamento directo) e recuando no sentido inverso a partir de uma solução final (encadeamento inverso) até que se atinja um estado comum, sendo então possível compor um resultado pela junção do caminho directo com o caminho inverso invertido. 5 Forward Chainning 6 Data-Driven 7 Backward Chainning 8 Goal-Driven 18

37 Representação Gráfica de Sistemas Baseados em Conhecimento Desvantagens dos Sistemas Baseados em Regras Existem alguns problemas inerentes ao desenvolvimento e manutenção dos Sistemas Baseados em Regras. Estes problemas recaem dentro das seguintes categorias: Encadeamento infinito Quando é adicionada uma nova regra à base de conhecimento podem surgir circularidades indesejadas, as quais levam a ciclos de inferência infinitos. Incorporação de conhecimento novo contraditório Quando se introduz novo conhecimento é necessário ter em atenção que por vezes esse conhecimento pode contrariar o conhecimento já existente. Introdução de inconsistências por modificação de regras existentes Normalmente as regras contidas na base de conhecimento encontram-se interligadas através da partilha de termos. Desta forma, a alteração isolada de um termo numa determinada regra pode dar origem a erros laterais. Este tipo de problemas podem ser detectados com recurso a técnicas de verificação, as quais irão ser descritas na secção 2.3. Adicionalmente verificam-se outro tipo de desvantagens advindas da utilização deste tipo de sistemas, tais como: Ineficiência Em domínios onde a quantidade de conhecimento seja elevada o sistema pode-se tornar ineficiente devido à pesquisa intensiva de regras de forma a determinar se estas se aplicam ao problema em questão. Uma maneira de contornar este tipo de problemas é o uso de meta-regras, ou seja, regras sobre as próprias regras existentes no sistema. O exemplo mais vulgar corresponde à activação de um subconjunto de regras (rule set) em função de um facto que se sabe ser verdade ou de uma conclusão que se pretenda provar (meta-conhecimento) 19

38 Representação Gráfica de Sistemas Baseados em Conhecimento Opacidade É muito difícil estabelecer relações entre as regras existentes no sistema, de forma a determinar a acções que vão ocorrer e quando. Adaptação ao domínio Existem domínios muito complexos que para os caracterizar é necessário de um elevado numero de regras. O desenvolvimento de bases de conhecimento de grandes dimensões é um processo muito moroso e bastante difícil que posteriormente também pode trazer problemas de manutenção e verificação. No entanto, já existem técnicas de Validação e Verificação que permitem esbater este tipo de problemas Vantagens dos Sistemas Baseados em Regras Apesar das desvantagens descritas, os Sistemas Baseados em Regras são muito populares, permanecendo como os esquemas mais utilizados para a representação do conhecimento. Como principais vantagens podem-se mencionar as seguintes: Modularidade Cada regra, por si mesma, pode ser considerada como uma peça de conhecimento independente. Desta forma existe uma grande facilidade de edição da base de conhecimento, dado que novas regras podem ser acrescentadas e antigas podem ser modificadas com relativa independência o que faz com o sistema seja mais flexível. Uniformidade Dado que todo o conhecimento é expresso de forma semelhante, segundo a mesma estrutura, é mais fácil compreender e construir a base de conhecimento. Naturalidade para expressar o conhecimento As regras são uma forma simples e eficaz de representar o conhecimento, pois são muito semelhantes com as estruturas mentais que seres humanos utilizam no dia a dia para caracterizarem e resolverem os seus problemas. 20

39 Representação Gráfica de Sistemas Baseados em Conhecimento 2.2. Representação Gráfica de Regras Já dizia o velho ditado Uma imagem vale mais do que mil palavras, da mesma forma, as representações visuais têm vantagens significativas relativamente às representações textuais. É notório que um ser humano capta mais facilmente a informação contida numa imagem do que sob a forma de texto, no mundo da informática esta noção ainda se encontra mais evidente, pois os esquemas gráficos são extremamente úteis para ajudar a entender um determinado programa. A visualização de um conjunto de regras representadas graficamente permitem complementar uma Base de Conhecimento, da mesma forma que as legendas complementam um filme estrangeiro. Ou seja, a representação gráfica de regras ajuda a entender o conteúdo de uma BC, permitindo identificar de um modo intuitivo as várias relações de dependência existentes entre um conjunto de factos, hipóteses intermédias e conclusões. Sendo assim, através da visualização das várias cadeias de inferência é possível identificar, de uma forma clara, qual o caminho percorrido para atingir uma determinada conclusão. Neste documento vão ser analisados três tipos de representação gráfica de regras: Grafos, Árvores And/Or e Hipergrafos Dirigidos. Todas estas formas de representação são baseadas em grafos, contudo possuem diferenças significativas entre si Grafos Conceitos gerais O primeiro estudo sobre a teoria de grafos teve origem em 1736, com um artigo de Euler designado As Pontes de Königsberg. Desde essa época, este formalismo tem sido estudado de forma a resolver vários tipos de problemas, mas foi essencialmente no século XX que teve o seu grande desenvolvimento [Guedes-2001]. Um grafo é uma noção simples, abstracta e intuitiva, usada para representar a ideia de alguma espécie de relação entre os objectos. Graficamente, aparece representado por 21

40 Representação Gráfica de Sistemas Baseados em Conhecimento uma figura com nós ou vértices, significando os objectos, unidos por uma linha denominada aresta configurando a relação imaginada. Um grafo é representado matematicamente por G = ( V, E), onde V é o conjunto finito de vértices e E o conjunto finito de arestas, onde uma aresta de V com exactamente 2 elementos. a E é um subconjunto Um Grafo é dito dirigido ou Digrafo quando o sentido das ligações entre os vértices considerado. Neste caso denomina-se de arco a aresta dirigida. Neste tipo de grafo, um arco a E é um par ordenado de elementos de V, ou seja a V * V. Um caminho de um vértice v i0 para o vértice v ik é uma sequência de arestas <v i0,v i1 >,<v i1,v i2 >,...,<v k 1,v ik >. Um caminho é dito elementar se passa exactamente uma vez por cada vértice e é simples se passa exactamente uma vez por cada aresta. Os grafos permitem caminhos cíclicos, i.e., um caminho cujos vértices inicial e final são coincidentes (v i0 = v ik ). d Na figura à esquerda mostra um grafo dirigido G=(V,E). Note-se que os laços a c são permitidos pela definição. b e f Neste exemplo V = {a, b, c, d, e, f} e E = {(a, b),(c, a),(c, d),(d, e),(e, c),(f, f)} Figura Exemplo de um Grafo. Um Grafo é conexo se para todo par de vértices existe pelo menos um caminho entre eles (independentemente da orientação dos arcos), por outro lado, se existir pelo menos um par de vértices que não é unido por nenhum caminho diz-se que o grafo é desconexo. O grafo ilustrado pela figura em cima é desconexo porque não existe nenhuma ligação para o nó f. 22

41 Representação Gráfica de Sistemas Baseados em Conhecimento Representação de regras usando grafos No caso de Sistemas Baseados em Regras, um grafo representa as relações existentes entre os vários literais que compõem a Base de Conhecimento. Se consideramos o conjunto de regras definido em baixo, uma representação possível encontra-se ilustrada no grafo ao lado. Regra 1: p q Regra 2: q r Regra 3: p s Regra 4: r p Figura 2.5 Representação de regras através de um grafo Neste exemplo, tanto os antecedentes como os consequentes das regras apenas contêm um literal. Mas como representaríamos regras cujas cláusulas fossem constituídas por mais do que um componente? Se considerarmos a seguinte Base de Conhecimento, cujos antecedentes das regras são constituídos pela conjunção de dois literais, obteríamos o grafo representado pela Figura 2.6. Regra 1: p Λ q r Regra 2: s Λ t u Regra 3: u Λ v w Regra 4: r Λ w x Figura 2.6 Representação de regras através de um grafo. 23

42 Representação Gráfica de Sistemas Baseados em Conhecimento Para estes casos, os grafos são constituídos por dois tipos de nós: um tipo representa os literais e o outro que representa as regras. Esta é forma de representação de regras mais usada devido à sua simplicidade. Contudo, os grafos apresentam um problema: não são capazes de distinguir relações de conjunção e disjunção entre os literais representados. Por exemplo, se na Base de Conhecimento anterior a regra 1 fosse definida pela seguinte proposição: R1: p Λ q V y r ela teria de ser decomposta em duas regras idênticas: R1a: p Λ q r R1b: y r e assim já seria possível representar a referida BC com a regra R1 modificada, através do grafo seguinte. Figura 2.7 Representação de regras através de um grafo. 24

43 Representação Gráfica de Sistemas Baseados em Conhecimento Árvores AND/OR Conceitos gerais Uma árvore é uma estrutura de dados que possui uma relação hierárquica entre seus elementos. É constituída por um conjunto finito de nós, onde um deles é denominado raiz e os restantes, recursivamente, formam uma nova árvore (ou sub-árvore). Quando num determinado nível a sub-árvore tem um único nó (sem descendentes) ele é designado de folha. Figura 2.8 Exemplo de uma árvore. Uma árvore é um caso especial de um grafo, i.e., é um grafo conexo, sem ciclos e que todo grafo G deste tipo que possuir n vértices tem exactamente n 1 arestas. Outra característica que também pode ser observada é que todo par de vértices de G é unido por uma única cadeia simples. Por exemplo, a cadeia a c e da Figura 2.8 é a única que liga os vértices a e g. No caso das árvores AND/OR, trata-se de uma estrutura que deriva de grafos dirigidos acíclicos 9 cujos arcos estabelecem relações de dependência entre os nós do tipo E/OU. Este formalismo pode não apresentar as características de uma árvore pura dado que permitem mais do que um caminho entre um par de nós. Na figura ao lado encontra-se ilustrado um exemplo de uma árvore AND/OR. Nesta árvore, o nó a apenas é verdadeiro se b e c também o forem. Assim como b só se verifica se d e f forem verdadeiros. O nó c pode ser verdadeiro se f e g o forem ou apenas se e for verdadeiro. Figura 2.9 Exemplo de uma árvore and/or. 9 DAG Directed Acyclic Graph 25

44 Representação Gráfica de Sistemas Baseados em Conhecimento Representação de regras usando árvores AND/OR As árvores AND/OR são utilizadas em Inteligência Artificial como estruturas de redução de problemas, isto porque são úteis para representar uma solução de problemas que podem ser resolvidos através da sua decomposição num conjunto de problemas menores que, por sua vez, também precisam de ser resolvidos [Rich 91]. Um pequeno exemplo sobre uma árvore AND/OR utilizada para redução de problemas encontra-se ilustrado na Figura Figura 2.10 Exemplo de uma árvore AND/OR Em Sistemas Baseados em Regras, estas estruturas podem ser utilizadas de um modo análogo à redução de problemas de forma a representar um conjunto de conclusões que podem ser resolvidas através da sua decomposição num conjuntos de hipóteses que, por sua vez, podem ser decompostas num conjunto de factos. Uma árvore AND/OR é constituída por: Um nó raiz que corresponde à hipótese final ou solução que se pretende atingir. Nós de folha que representam os literais básicos de uma base de conhecimento, ou seja, os literais que apenas aparecem no LHS das regras. Nós intermédios que correspondem às hipóteses intermédias, i.e., os literais que aparecem no LHS e RHS das regras. Arcos OR que identificam relações independentes entre dois nós (literais). Arcos AND, os quais permitem identificar situações em que vários nós em conjunto dão origem a um nó. Desta forma, se o LHS de uma regra consiste na conjunção de vários literais, então os arcos que ligam os literais LHS à conclusão RHS são unidos através de uma linha curva. 26

45 Representação Gráfica de Sistemas Baseados em Conhecimento Considerando a seguinte Base de Conhecimento: Regra 1: a Λ b p Regra 2: c Λ d p Regra 3: e Λ f q Regra 4: g Λ h q Regra 5: p Λ q x A sua representação gráfica através de uma árvore AND/OR encontra-se ilustrada na seguinte figura. Figura 2.11 Representação de regras através de uma árvore AND/OR A grande vantagem da arvores and/or face aos grafos, é a capacidade de distinguirem relações de conjunção (and) e disjunção (or) entre os literais pertencentes a uma cláusula de uma regra, sem a necessidade de a decompor. Por exemplo, para a seguinte Base de Conhecimento: Regra 1: a Λ b V c p Regra 2: d V e q Regra 3: p Λ q x 27

46 Representação Gráfica de Sistemas Baseados em Conhecimento Seria possível representar esta BC graficamente, através da árvore and/or esquematizada na figura seguinte. Figura 2.12 Representação de regras através de uma árvore and/or Por outro lado, apesar de não ser desejável a existência de cadeias de inferência circulares numa Base de Conhecimento (como iremos ver na secção Circularidade), as árvores and/or apresentam a desvantagem de não permitirem a representação deste tipo de caminhos. Note-se que tantos nos grafos, como nas árvores and/or, as representações das regras não são efectuadas duma forma rígida e única. Estes formalismos vão-se adaptando conforme os vários cenários que poderão ocorrer. Por exemplo, é comum encontrar-se na literatura as regras identificadas por nós, mas, por vezes também se vêem as regras identificadas pelos ramos. Assim, pode-se tornar um pouco confuso escolher qual a melhor forma de representar uma BC, visto que nem sempre existem métodos formais a seguir. 28

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Linguateca e Processamento de Linguagem Natural na Área da Saúde: Alguns Comentários e Sugestões

Linguateca e Processamento de Linguagem Natural na Área da Saúde: Alguns Comentários e Sugestões Capítulo 7 Linguateca e Processamento de Linguagem Natural na Área da Saúde: Alguns Comentários e Sugestões Liliana Ferreira, António Teixeira e João Paulo da Silva Cunha Luís Costa, Diana Santos e Nuno

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Avaliação do Desempenho do. Pessoal Docente. Manual de Utilizador

Avaliação do Desempenho do. Pessoal Docente. Manual de Utilizador Avaliação do Desempenho do Pessoal Docente Manual de Utilizador Junho de 2011 V6 Índice 1 ENQUADRAMENTO... 4 1.1 Aspectos gerais... 4 1.2 Normas importantes de acesso e utilização da aplicação... 4 1.3

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Apontamentos para as aulas Luís Miguel Botelho Departamento de Ciências e Tecnologias da Informação Instituto Superior de Ciências do Trabalho e da Empresa Julho de 2015 1 Sistemas

Leia mais

Processo de análise estruturada - Abordagem clássica

Processo de análise estruturada - Abordagem clássica Processo de análise estruturada - Abordagem clássica Desenvolver modelo físico actual Modelo físico actual Modelos a desenvolver tendo em conta a abordagem clássica Desenvolver modelo lógico actual Modelo

Leia mais

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária)

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) http://curriculum.degois.pt Março de 2012 Versão 1.5 1 Introdução O objectivo deste guia é auxiliar o utilizador

Leia mais

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD) Diagrama de entidades relacionamentos (abordado anteriormente) Prod_Forn N N 1 Stock 1 1 N Prod_Enc N 1 N 1 Fornecedor Movimento Encomenda Diagrama de Fluxo de Dados (DFD) Ferramenta de modelação gráfica,

Leia mais

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

Leia mais

b : nas representações gráficas de funções do tipo

b : nas representações gráficas de funções do tipo do as suas escolhas a partir daí. Nesta situação, tendem a identificar as assímptotas verticais, as assímptotas horizontais e a associar as representações analítica e gráfica que têm estas características

Leia mais

Manual do GesFiliais

Manual do GesFiliais Manual do GesFiliais Introdução... 3 Arquitectura e Interligação dos elementos do sistema... 4 Configuração do GesPOS Back-Office... 7 Utilização do GesFiliais... 12 Outros modos de utilização do GesFiliais...

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Microsoft Word Folha

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

Leia mais

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software Juciara Nepomuceno de Souza Rafael Garcia Miani Teste de Software Técnicas de Teste de Software Testabilidade Operabilidade; Observabilidade; Controlabilidade; Decomponibilidade; Simplicidade; Estabilidade;

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Módulo 1 Microsoft Word 2007 ( 4 Horas)

Módulo 1 Microsoft Word 2007 ( 4 Horas) No final deste módulo o formando deverá estar apto a: Enunciar a definição do Microsoft Word 2007; Reconhecer as principais vantagens da utilização; Distinguir as diferentes áreas do ambiente de trabalho

Leia mais

3. Engenharia de Requisitos

3. Engenharia de Requisitos Engenharia de Software 3. Engenharia de Requisitos Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Fases do desenvolvimento de software que mais erros originam (fonte: "Software Testing", Ron Patton)

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

ZS Rest. Manual Avançado. Menus. v2011 - Certificado

ZS Rest. Manual Avançado. Menus. v2011 - Certificado Manual Avançado Menus v2011 - Certificado 1 1. Índice 2. Introdução... 2 3. Iniciar o ZSRest... 3 4. Menus... 4 b) Novo Produto:... 5 i. Separador Geral.... 5 ii. Separador Preços e Impostos... 7 iii.

Leia mais

Manual de Access 2007

Manual de Access 2007 Manual de Access 2007 Índice Introdução... 4 Melhor que um conjunto de listas... 5 Amizades com relações... 6 A Estrutura de uma Base de Dados... 8 Ambiente do Microsoft Access 2007... 9 Separadores do

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Folha de cálculo. Excel. Agrupamento de Escolas de Amares

Folha de cálculo. Excel. Agrupamento de Escolas de Amares Folha de cálculo Excel Agrupamento de Escolas de Amares Índice 1. Funcionalidades básicas... 3 1.1. Iniciar o Excel... 3 1.2. Criar um livro novo... 3 1.3. Abrir um livro existente... 3 1.4. Inserir uma

Leia mais

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo

Leia mais

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático

CAPÍTULO 4 Implementação do modelo num programa de cálculo automático CAPÍTULO 4 Implementação do modelo num programa de cálculo automático Neste capítulo, será feita a demonstração da aplicação do modelo num programa de cálculo automático, desenvolvido em linguagem de programação

Leia mais

ANEXO. Manual do utilizador

ANEXO. Manual do utilizador ANEXO Manual do utilizador A PARTE 1 Menu Principal A janela principal da aplicação é composta por uma zona destinada a mostrar a informação analítica (rodapé) e pelo Menu Principal, o qual contém opções

Leia mais

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária)

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) /curriculum Julho de 2008 Versão 1.1 1 Introdução O objectivo deste guia é auxiliar o utilizador da Plataforma

Leia mais

Escola Superior de Tecnologia de Setúbal. Projecto Final

Escola Superior de Tecnologia de Setúbal. Projecto Final Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais

Ferramentas como, por exemplo, linhas de conexão, formas automáticas, sombras pendentes, WordArt, etc.

Ferramentas como, por exemplo, linhas de conexão, formas automáticas, sombras pendentes, WordArt, etc. Ambiente de trabalho Ambiente de trabalho Porquê criar páginas web? A World Wide Web é a melhor forma das pessoas comunicarem umas com as outras. Nos dias de hoje, é importante poder comunicar com outras

Leia mais

UML (Unified Modelling Language) Diagrama de Classes

UML (Unified Modelling Language) Diagrama de Classes UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3

Leia mais

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas

Introdução. Aulas. ltodi.est.ips.pt/es. Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas Sumário Introdução Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Detalhes administrativos Definição de engenharia de software Contexto Relação com outras áreas e disciplinas 2

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

Gestão de Configurações II

Gestão de Configurações II Gestão de Configurações II Bibliografia Livro: Software Configuration Management Patterns: Effective Teamwork, Practical Integration Gestão de Projecto 14 Padrões de Gestão Os padrões de gestão de configurações

Leia mais

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais

Objetivos. Requisitos de Software. Tipos de Requisitos. O que é um requisito? Requisitos Funcionais e Não- Funcionais. Requisitos Funcionais Objetivos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Introduzir os conceitos do usuário e do Descrever requisitos funcionais e nãofuncionais (domínio) Apresentar um esqueleto de documento e notas

Leia mais

Logística e Gestão da Distribuição

Logística e Gestão da Distribuição Logística e Gestão da Distribuição Depositos e política de localização (Porto, 1995) Luís Manuel Borges Gouveia 1 1 Depositos e politica de localização necessidade de considerar qual o papel dos depositos

Leia mais

12 EXCEL MACROS E APLICAÇÕES

12 EXCEL MACROS E APLICAÇÕES INTRODUÇÃO O principal objetivo deste livro é auxiliar o leitor na sua aprendizagem sobre os recursos avançados do Excel em especial na interligação com o Visual Basic for Applications (VBA). Pretende-se

Leia mais

1.4.4 Configurar serviços de armazenamento

1.4.4 Configurar serviços de armazenamento 1.4.4 Configurar serviços de armazenamento Esta versão do Office permite guardar os documentos na nuvem do OneDrive, de modo que possa posteriormente aceder aos seus conteúdos a partir de qualquer dispositivo

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

MANUAL DE UTILIZAÇÃO DA PLATAFORMA MOODLE

MANUAL DE UTILIZAÇÃO DA PLATAFORMA MOODLE MANUAL DE UTILIZAÇÃO DA PLATAFORMA MOODLE A EQUIPA DO PTE 2009/2010 Índice 1. Entrar na plataforma Moodle 3 2. Editar o Perfil 3 3. Configurar disciplina 4 3.1. Alterar definições 4 3.2. Inscrever alunos

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento ome Designação Doc... #Disc... Docente Ensina Disciplina Abordagem proposta por Peter P. Chen (década de 70) para o processo de modelação de dados com ampla aceitação; Trabalho

Leia mais

SISTEMAS DE INFORMAÇÃO PARA GESTÃO

SISTEMAS DE INFORMAÇÃO PARA GESTÃO 07-05-2013 1 SISTEMAS DE INFORMAÇÃO PARA GESTÃO Aula I Docente: Eng. Hercílio Duarte 07-05-2013 2 Objectivo Sistemas Modelos Dados Vs. Informação Introdução aos sistemas de Informação 07-05-2013 3 Introdução

Leia mais

7 Conclusões. 7.1 Retrospectiva do trabalho desenvolvido. Capítulo VII

7 Conclusões. 7.1 Retrospectiva do trabalho desenvolvido. Capítulo VII Capítulo VII 7 Conclusões Este capítulo tem como propósito apresentar, por um lado, uma retrospectiva do trabalho desenvolvido e, por outro, perspectivar o trabalho futuro com vista a implementar um conjunto

Leia mais

INTRODUÇÃO AO MODELO DE DADOS RELACIONAL

INTRODUÇÃO AO MODELO DE DADOS RELACIONAL Departamento de Informática INTRODUÇÃO AO MODELO DE DADOS RELACIONAL Prof. Carlos Pampulim Caldeira Évora, 2004 ÍNDICE 1. Introdução às Bases de Dados Relacionais 1 1.1 Historial 1 1.2 Definição de Base

Leia mais

Perguntas e Respostas via WebCast Roadshow Mais PHC 2009 O novo SNC

Perguntas e Respostas via WebCast Roadshow Mais PHC 2009 O novo SNC Perguntas e Respostas via WebCast Roadshow Mais PHC 2009 O novo SNC PERGUNTAS VIA WEB CAST: Dado que vamos ter necessariamente durante o período de transição que efectuar lançamentos manuais na contabilidade,

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Conhecer melhor os números

Conhecer melhor os números A partir do Currículo Nacional de Matemática do 7º ano de escolaridade desenvolvem-se actividades com recurso ao computador utilizando essencialmente Excel e Geogebra Conhecer melhor os números Esta unidade

Leia mais

Plataforma de Gestão de Actualizações de Software Descrição do Problema

Plataforma de Gestão de Actualizações de Software Descrição do Problema Plataforma de Gestão de Actualizações de Software Descrição do Problema Pedro Miguel Barros Morgado Índice Introdução... 3 Ponto.C... 4 Descrição do Problema... 5 Bibliografia... 7 2 Introdução No mundo

Leia mais

Documentação sobre a Tecnologia RAID

Documentação sobre a Tecnologia RAID Documentação sobre a Tecnologia RAID Enquanto especialista no armazenamento de dados, a LaCie reconhece que quase todos os utilizadores de computadores irão necessitar de uma solução de cópia de segurança

Leia mais

Módulo III. Folhas de Cálculo

Módulo III. Folhas de Cálculo Módulo III Ferramentas do Office Folhas de Cálculo Ferramentas de produtividade 1 Folhas de Cálculo O que é: Uma Folha de Cálculo é, por tradição, um conjunto de células que formam uma grelha ou tabela

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Departamento de Engenharia Informática DISTRIBUTED PROBLEM SOLVING

Departamento de Engenharia Informática DISTRIBUTED PROBLEM SOLVING Departamento de Engenharia Informática DISTRIBUTED PROBLEM SOLVING 1000833 Henrique de Meireles Morais Maio de 2008 Disciplina: Sistemas Baseados em Agentes Professor: António Pinto de Sousa e Silva Mestrado

Leia mais

Microsoft Access. Nível I. Pedro Fernandes

Microsoft Access. Nível I. Pedro Fernandes Microsoft Access Nível I Introdução Objectivos Introdução; Criar tabelas; Fazer consultas; Elaborar formulários; Executar relatórios. 2 Introdução aos Sistemas de Gestão de Bases de Dados (SGBD) Desde

Leia mais

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

Tutores Inteligentes versus outras Abordagens de Ensino. Representação do Conhecimento nos Tutores Inteligentes

Tutores Inteligentes versus outras Abordagens de Ensino. Representação do Conhecimento nos Tutores Inteligentes Tutores Inteligentes Sistemas Periciais 2003/04 DEI-ISEP ISEP Organização I. Sistemas de Ensino Baseados em Computador II. III. IV. Tutores Inteligentes versus outras Abordagens de Ensino Representação

Leia mais

.Net Remoting Pizzaria

.Net Remoting Pizzaria .Net Remoting Pizzaria 1º Trabalho Prático Tecnologias de Distribuição e Integração 4º Ano do Mestrado Integrado em Engenharia Informática e Computação João Carlos Figueiredo Rodrigues Prudêncio ei07111@fe.up.pt

Leia mais

Data de adopção. Referência Título / Campo de Aplicação Emissor. Observações

Data de adopção. Referência Título / Campo de Aplicação Emissor. Observações NP ISO 10001:2008 Gestão da qualidade. Satisfação do cliente. Linhas de orientação relativas aos códigos de conduta das organizações CT 80 2008 NP ISO 10002:2007 Gestão da qualidade. Satisfação dos clientes.

Leia mais

NOÇÕES ELEMENTARES DE BASES DE DADOS

NOÇÕES ELEMENTARES DE BASES DE DADOS 1 NOÇÕES ELEMENTARES DE BASES DE DADOS Este primeiro capítulo aborda conceitos elementares relacionados com bases de dados. Os conceitos abordados neste capítulo são necessários para trabalhar adequadamente

Leia mais

ZS Rest. Manual Avançado. Instalação em Rede. v2011

ZS Rest. Manual Avançado. Instalação em Rede. v2011 Manual Avançado Instalação em Rede v2011 1 1. Índice 2. Introdução... 2 3. Hardware... 3 b) Servidor:... 3 c) Rede:... 3 d) Pontos de Venda... 4 4. SQL Server... 5 e) Configurar porta estática:... 5 5.

Leia mais

Guia de Consulta. Percorrer

Guia de Consulta. Percorrer Guia de Consulta Percorrer A secção "Percorrer" permite-lhe consultar uma das listas numa determinada ordem. Existem cinco listas diferentes: Comunidades, Colecções, Títulos, Autores e Datas. Poderá percorrer

Leia mais

Base de dados I. Base de dados II

Base de dados I. Base de dados II Base de dados I O que é? Uma base de dados é um simples repositório de informação, relacionada com um determinado assunto ou finalidade, armazenada em computador em forma de ficheiros Para que serve? Serve

Leia mais

Ao conjunto total de tabelas, chamamos de Base de Dados.

Ao conjunto total de tabelas, chamamos de Base de Dados. O QUE É O ACCESS? É um sistema gestor de base de dados relacional. É um programa que permite a criação de Sistemas Gestores de Informação sofisticados sem conhecer linguagem de programação. SISTEMA DE

Leia mais

Planificações 2012/2013. Tecnologias da Informação e Comunicação. 2ºAno. Escola Básica Integrada de Pedome. C E F Apoio à Família e à Comunidade

Planificações 2012/2013. Tecnologias da Informação e Comunicação. 2ºAno. Escola Básica Integrada de Pedome. C E F Apoio à Família e à Comunidade Planificações 2012/2013 Tecnologias da Informação e Comunicação C E F Apoio à Família e à Comunidade 2ºAno Escola Básica Integrada de Pedome Grupo Disciplinar de Informática Planificação a Longo Prazo

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

Licenciatura em: Design HISTÓRIA DA ARTE E DA TÉCNICA. EVOLUÇÃO DO DESIGN AUTOMÓVEL (BMW Séries 5)

Licenciatura em: Design HISTÓRIA DA ARTE E DA TÉCNICA. EVOLUÇÃO DO DESIGN AUTOMÓVEL (BMW Séries 5) Licenciatura em: Design HISTÓRIA DA ARTE E DA TÉCNICA Assim: 9; com ref. às fontes: 12-13 EVOLUÇÃO DO DESIGN AUTOMÓVEL (BMW Séries 5) Autores: André Sequeira 1º - A1 20110039 João Almeida 1º - A1 20110309

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP Departamento de Sistemas e Informática Licenciatura em Engenharia Informática Industrial Projecto ARC Ano Lectivo de 2006/2007 EDP Processamento das Leituras dos Contadores de Electricidade dos Consumidores

Leia mais

Catálogo Nacional de Compras Públicas. Manual de Fornecedores

Catálogo Nacional de Compras Públicas. Manual de Fornecedores 10 de Julho de 2009 Índice 1. Introdução... 3 1.1. Objectivo... 3 2. Fornecedor... 4 2.1. AQs/CPAs... 4 2.2. Contratos... 4 2.3. Grupos AQ/CPA... 5 3. Carregamento e Actualização do Catálogo... 7 3.1.

Leia mais

Direcção Regional de Educação do Algarve

Direcção Regional de Educação do Algarve MÓDULO 1 Folha de Cálculo 1. Introdução à folha de cálculo 1.1. Personalização da folha de cálculo 1.2. Estrutura geral de uma folha de cálculo 1.3. O ambiente de da folha de cálculo 2. Criação de uma

Leia mais

Jogo de Tabuleiro - Mancala Relatório Final

Jogo de Tabuleiro - Mancala Relatório Final Jogo de Tabuleiro - Mancala Relatório Final Inteligência Artificial 3º ano do Mestrado Integrado em Engenharia Informática e Computação Elementos do Grupo: Bruno Lima 080509068 bruno.lima@fe.up.pt Pedro

Leia mais

Aspectos genéricos - Base de Dados

Aspectos genéricos - Base de Dados Aspectos genéricos - Base de Dados 1) Ficheiros de dados, registos e campos 2) Base de Dados Flat_File (de uma tabela) 2.1) Especificação e exemplo 2.2) Limitações das bases de dados baseadas em uma só

Leia mais

Introdução ao Laboratório

Introdução ao Laboratório SISTEMAS DIGITAIS LEIC-T, LERC, LEE Ano lectivo de 2012/2013 Trab0 Introdução ao Laboratório 1 Introdução O objectivo deste trabalho de laboratório é efectuar a adaptação ao ambiente do laboratório da

Leia mais

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual Engenharia de Software Sistemas Distribuídos 2º Semestre, 2007/2008 Departamento Engenharia Informática Enunciado do projecto: Loja Virtual Fevereiro de 2008 Índice Índice...2 Índice de Figuras...3 1 Introdução...4

Leia mais

GIGrecibos. Sistema de Emissão de Recibos de Donativos. Para Igrejas. Produzido e distribuído por: VIBISinfor Rua Nova, 10 7490-250 MORA

GIGrecibos. Sistema de Emissão de Recibos de Donativos. Para Igrejas. Produzido e distribuído por: VIBISinfor Rua Nova, 10 7490-250 MORA wgig GIGrecibos Sistema de Emissão de Recibos de Donativos Para Igrejas Produzido e distribuído por: VIBISinfor Rua Nova, 10 7490-250 MORA tel: 266403273 www.vibis.com 1 Conteúdo wgig... 1 Avisos legais...

Leia mais

Dicionário de Dados (DD)

Dicionário de Dados (DD) Dicionário de Dados (DD) O dicionário de dados consiste numa lista organizada de todos os elementos de dados que são pertinentes para o sistema. Sem o dicionário de dados o modelo não pode ser considerado

Leia mais

A partir da analise dos cursos de Informática destinados ài formação profissional de técnicos

A partir da analise dos cursos de Informática destinados ài formação profissional de técnicos Resumo A partir da analise dos cursos de Informática destinados ài formação profissional de técnicos e utilizadores apresenta-se uma metodologia de concepção de cursos, que poderia ser utilizada pelos

Leia mais

Informações sobre Filmes de Cinema em Cartaz em Linguagem Natural Relatório Final

Informações sobre Filmes de Cinema em Cartaz em Linguagem Natural Relatório Final Mestrado Integrado em Engenharia Informática e Computação Inteligência Artificial 3 o Ano Informações sobre Filmes de Cinema em Cartaz em Linguagem Natural Relatório Final Autores: Carlos Tiago da Rocha

Leia mais

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0

Sistemas Operativos - 2005/2006. Trabalho Prático v1.0 Instituto Politécnico de Viseu Escola Superior de Tecnologia de Viseu Engenharia de Sistemas e Informática Sistemas Operativos - 2005/2006 Trabalho Prático v1.0 Introdução O presente trabalho prático visa

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Manual do Utilizador

Manual do Utilizador Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Electrotécnica e Computadores Software de Localização GSM para o modem Siemens MC35i Manual do Utilizador Índice

Leia mais

Índice 1 INTRODUÇÃO...2 2 PESQUISA DE ENTIDADES...8 3 CRIAÇÃO DE ENTIDADES...12 4 DEPENDÊNCIAS...17 5 BANCOS, SEGURADORAS E CONSERVATÓRIAS...

Índice 1 INTRODUÇÃO...2 2 PESQUISA DE ENTIDADES...8 3 CRIAÇÃO DE ENTIDADES...12 4 DEPENDÊNCIAS...17 5 BANCOS, SEGURADORAS E CONSERVATÓRIAS... Índice 1 INTRODUÇÃO...2 1.1 JANELA ÚNICA DE ENTIDADES...3 1.2 PERMISSÕES POR UTILIZADOR...4 1.3 RESTRIÇÕES À VISUALIZAÇÃO/MANIPULAÇÃO...6 2 PESQUISA DE ENTIDADES...8 2.1 CRITÉRIOS DE PESQUISA...8 2.2 LISTA

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Instalação e Manutenção de Microcomputadores (COI)

Instalação e Manutenção de Microcomputadores (COI) Instalação e Manutenção de Microcomputadores (COI) 4. Montagem do Computador Disco rígido limpeza; Disco rígido verificação de erros (modo gráfico); Disco rígido verificação de erros (linha de comandos;

Leia mais

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 CURSO/CICLO DE FORMAÇÃO Técnico de Eletrotecnia e Técnico de Gestão de Equipamentos Informáticos / 2015/2018 DISCIPLINA: Tecnologias da Informação e Comunicação

Leia mais

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0

PERIVER PLATAFORMA SOFTWARE REQUIREMENT SPECIFICATION. Periver_SoftwareRequirementSpecification_2008-03-31_v1.0.doc. Versão 1.0 PLATAFORMA Versão 1.0 31 de Março de 2008 TABELA DE REVISÕES Versão Autores Descrição da Versão Aprovadores Data António Rocha Cristina Rodrigues André Ligeiro V0.1r Dinis Monteiro Versão inicial António

Leia mais

Criatividade e Inovação Organizacional: A liderança de equipas na resolução de problemas complexos

Criatividade e Inovação Organizacional: A liderança de equipas na resolução de problemas complexos Criatividade e Inovação Organizacional: A liderança de equipas na resolução de problemas complexos Dizer que o grande segredo do sucesso das empresas, especialmente em tempos conturbados, é a sua adaptabilidade

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

Ajuda: Pesquisa Web na base de dados Digitarq

Ajuda: Pesquisa Web na base de dados Digitarq Ajuda: Pesquisa Web na base de dados Digitarq A pesquisa Web nos oferece duas principais possibilidades, a saber: 1) Pesquisa simples e 2) Pesquisa avançada 1) Pesquisa simples O interface da pesquisa

Leia mais

A solução Business-to-Business que permite aumentar a qualidade e eficiência das suas vendas bem como a satisfação dos seus clientes.

A solução Business-to-Business que permite aumentar a qualidade e eficiência das suas vendas bem como a satisfação dos seus clientes. Descritivo completo PHC dfront A solução Business-to-Business que permite aumentar a qualidade e eficiência das suas vendas bem como a satisfação dos seus clientes. Benefícios Aumento da qualidade e eficiência

Leia mais