Inteligência Artificial

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

Download "Inteligência Artificial"

Transcrição

1 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

2 Sistemas Baseados em Regras Índice 1 REGRAS CONDIÇÃO-CONCLUSÃO RACIOCÍNIO DEDUTIVO ENCADEADO PARA A FRENTE 5 Novos factos 5 Raciocínio RACIOCÍNIO DEDUTIVO ENCADEADO PARA TRÁS 5 2 REGRAS CONDIÇÃO-AÇÃO (REGRAS DE PRODUÇÃO) RESOLUÇÃO DE CONFLITOS 8 3 GERAÇÃO AUTOMÁTICA DE EXPLICAÇÕES SISTEMA PARA AVALIAÇÃO DE PEDIDOS DE FINANCIAMENTO GERAÇÃO AUTOMÁTICA DE EXPLICAÇÕES 12 Explicações Why 12 Explicações How 13 4 VALIDAÇÃO DA BASE DE CONHECIMENTOS VERIFICAÇÃO DE CONSISTÊNCIA BASE DE CONHECIMENTOS NÃO COMPLETA 16 5 IMPLEMENTAÇÃO EM PROLOG DE MECANISMOS DE REPRESENTAÇÃO E RACIOCÍNIO META-INTERPRETADORES (PROLOG EM PROLOG) EXPLICAÇÕES WHY EXPLICAÇÕES HOW VALIDAÇÃO DA BASE DE CONHECIMENTOS Incompletude da Base de Conhecimentos Inconsistência da Base de Conhecimentos IMPLEMENTAÇÃO DE UM SISTEMA DE REGRAS DE PRODUÇÃO 28 6 REFERÊNCIAS 31 2

3 Sistemas Baseados em Regras As regras SE ENTÃO são as estruturas mais usadas para representar conhecimento em sistemas baseados em conhecimento, sobretudo em sistemas periciais ( expert systems ). Existem dois tipos de regras: as regras condição-conclusão e as regras condição-ação (mais vulgarmente chamadas regras de produção). Em ambos os casos, as regras podem ser descritas através de estruturas com o formato IF LHS THEN RHS, em que LHS significa o lado esquerdo da regra ( left hand side ) e RHS significa o lado direito da regra ( right hand side ). O raciocínio usado com este método de representação de conhecimento pode ser encadeado para trás (no caso das regras condição-conclusão) ou encadeado para a frente (tanto nas regras condição-conclusão como nas regras condição-ação). 3

4 1 Regras condição-conclusão As regras condição-conclusão são regras que especificam a conclusão que pode ser gerada quando uma determinada condição é verdadeira. Dito de outra forma, uma regra condição-conclusão diz que a conclusão é verdade quando a condição é verdade. Em geral, uma regra condição-conclusão representa-se através de uma estrutura de representação com o formato IF condição THEN conclusão. Também é relativamente vulgar deparar-se com a notação condição conclusão. Esta última notação realça a semelhança que existe entre a representação baseada em regras e a representação baseada em lógica. Na maioria dos sistemas de representação baseados em regras, a condição pode ser uma condição atómica ou uma condição composta através das conectivas lógicas not, and e or, enquanto que a conclusão é, em geral, uma proposição atómica. Para exemplificar a utilização de regras condição-conclusão, considere-se o caso em que uma pessoa ou uma empresa pretendem escolher o sistema operativo a instalar nos seus computadores. Para isso, poderão recorrer a um conjunto de regras simples como as apresentadas na Figura 1. Regra 1 SE o ambiente de utilização é um ambiente empresarial; e é necessário usar software aplicativo da Microsoft ENTÃO o sistema operativo selecionado é o Windows NT Regra 2 SE o ambiente de utilização é um ambiente particular; e é necessário usar software aplicativo da Microsoft ENTÃO o sistema operativo selecionado é o Windows98 Regra 3 SE o sistema operativo selecionado é o Windows NT; e é necessário disponibilizar serviços a vários clientes ENTÃO a versão do sistema operativo é Windows NT Server Regra 4 SE é necessário usar Excel ENTÃO é necessário usar software aplicativo da Microsoft Regra 5 SE é necessário usar Access ENTÃO é necessário usar software aplicativo da Microsoft Figura 1 - Regras condição-conclusão para escolha de um sistema operativo As regras exibidas na Figura 1 poderão integrar a base de conhecimentos de um sistema pericial. Para utilizar as regras para responder a perguntas ou para reagir à introdução de nova informação, o sistema tem que efetuar raciocínio. Em geral, o tipo de raciocínio mais usado com este método de representação é o raciocínio dedutivo, isto é, o raciocínio em que se usam as regras de inferência da dedução (e.g., o modus ponens, o modus tolens, a introdução e eliminação da conjunção e da disjunção, ver capítulo Error! Reference source not 4

5 found.). No entanto, também seria possível usar regras condição-conclusão através de outros tipos de raciocínio, entre os quais a abdução (ver capítulo Error! Reference source not found.) e uma forma muito particular de raciocínio não monótono conhecida pela hipótese do mundo fechado (CWA, Closed world assumption, capítulo Error! Reference source not found.). Qualquer destes tipos de raciocínio pode ser encadeado para trás ou encadeado para a frente. Em certas ferramentas computacionais usadas para representar conhecimento através de regras utiliza-se um encadeamento misto. 1.1 Raciocínio dedutivo encadeado para a frente As regras condição-conclusão da Figura 1 podem ser usadas por um mecanismo de inferência com encadeamento para a frente ( forward reasoning, ou forward chaining ) também conhecido por encadeamento guiado pelos dados ( data-driven ). Neste modo de utilização, o raciocínio é desencadeado por dados geralmente introduzidos pelo utilizador (ou por outro programa) ou por resultados produzidos pelo próprio sistema. O sistema determina as regras com as condições satisfeitas e produz as conclusões especificadas. As conclusões produzidas juntamente com os factos previamente existentes são, de novo, comparadas com as condições das regras e o processo é repetido. A figura mostra uma interação do sistema em que a introdução de nova informação despoleta um raciocínio. Novos factos Raciocínio Utilizador: é necessário disponibilizar serviços a vários clientes Utilizador: é necessário usar o Access Sistema: é necessário usar software aplicativo da Microsoft Regra 5 Utilizador: o ambiente de utilização é um ambiente empresarial Sistema: o sistema operativo selecionado é o Windows NT Regra 1 Sistema: a versão do sistema operativo é Windows NT Server Regra 3 Figura 2 - Interação guiada pelos dados (Raciocínio encadeado para a frente) Na interação, assume-se que todos os novos factos são memorizados pelo sistema na sua memória de trabalho. No primeiro passo da interação, o utilizador informa o sistema que é necessário disponibilizar serviços a vários clientes. Este novo facto memorizado pelo sistema é usado para verificar se há regras com a condição satisfeita. Nesta altura, nenhuma regra fica com as condições totalmente satisfeitas. Apenas uma parte da condição da regra 3 fica satisfeita, mas não toda a condição. No segundo passo da interação, o utilizador informa o sistema que é necessário usar o MS-Access. Este facto é memorizado e o sistema determina se a condição de alguma das suas regras fica satisfeita. A condição da regra 5 fica completamente satisfeita dando origem à geração da conclusão especificada, i.e., o sistema produz o novo facto é necessário usar software aplicativo da Microsoft que é memorizado. Dado que existe um novo facto, o sistema volta a verificar a satisfação das condições das regras. Tanto a regra 1 como a regra 5 têm a condição satisfeita. Desta vez, a regra 5 não é usada porque nenhuma regra pode ser usada duas vezes com a mesma informação. Aplicando a regra 1, o sistema produz o novo facto o sistema operativo selecionado é o Windows NT. Dado que existe um novo facto, as regras são de novo verificadas. As regras 1 e 5 têm a condição satisfeita mas não são usadas porque as regras não podem ser usadas mais do que uma vez com a mesma informação. Mas a condição da regra 3 fica agora totalmente satisfeita, pelo que a conclusão especificada é produzida, gerando o novo facto a versão do sistema operativo é Windows NT Server que é igualmente memorizado. Agora nenhuma regra está em condições de poder ser aplicada. 1.2 Raciocínio dedutivo encadeado para trás As regras da Figura 1 podem ser usadas de forma diferente da usada na interação descrita na secção 1.1. Em vez de introduzir informação de forma voluntária, o utilizador poderá fazer perguntas ao sistema. Para responder, o sistema percorre toda a sua base de conhecimentos procurando um facto ou uma regra cujo lado direito (i.e., conclusão) emparelhe com a pergunta do utilizador. Quando uma regra adequada é 5

6 encontrada, o sistema verifica se a condição é verdadeira. Para isso, volta a procurar regras (ou factos) e o processo repete-se. Supondo que o utilizador pergunta se P é verdade, o sistema vai procurar o facto P na sua base de conhecimentos ou uma regra com o formato SE condição ENTÃO P. Tendo encontrado esta regra, o sistema só pode responder afirmativamente se a condição for verdadeira. Supondo que a condição tem a forma A B, o sistema tem que verificar se A é verdade e se B também é verdade. Para isso procura os factos A e B na sua base de conhecimentos ou regras que permitam concluir A e B. Para isso, o processo repete-se. A este método de encadeamento das regras chama-se encadeamento para trás ( backward chaining, backward reasoning ) ou raciocínio guiado pelos objetivos ( goal-driven ) porque é aquilo que se pretende provar que guia a seleção de regras na base de conhecimentos. Vejamos agora o que acontece quando o utilizador pretende saber que sistema operativo deve instalar. A Figura 3 (b) representa uma interação entre o utilizador e um sistema com raciocínio encadeado para trás. Assume-se que a base de conhecimentos do sistema é constituída pelas regras apresentadas na Figura 1 e pelos factos representados na Figura 3 (a). (a) Factos É necessário usar o Access O ambiente de utilização é um ambiente empresarial (b) Interação Utilizador: Qual é o sistema operativo selecionado? Sistema: O sistema operativo selecionado é o Windows NT Figura 3 - Interação guiada pelos objetivos Na interação da Figura 3, o utilizador pergunta qual é o Sistema Operativo selecionado (sugerido) pelo sistema. Para responder a esta pergunta, o sistema percorre a sua base de conhecimentos procurando um facto ou uma regra que permitem responder afirmativamente à pergunta do utilizador. Se não encontrar, falha. Neste caso, encontra a Regra 1 cuja conclusão é o sistema operativo selecionado é o Windows NT. Para poder responder afirmativamente ao utilizador, o sistema tem que verificar se a condição da regra está satisfeita. Neste caso, tem que verificar se o ambiente de utilização é um ambiente empresarial e se é necessário usar software aplicativo da Microsoft. Começando pela primeira parte da condição, o sistema tenta encontrar o facto o ambiente de utilização é um ambiente empresarial ou uma regra com esta conclusão. O facto 2 permite-lhe satisfazer esta parte da condição. Agora tem que verificar se é necessário usar software da Microsoft. A conclusão da Regra 4 diz que é necessário usar software Microsoft. Para que o sistema possa usar esta regra, tem que verificar se a sua condição está satisfeita, isto é, tem que verificar se é necessário usar Excel. Dado que não existe qualquer regra nem facto que permitam satisfazer esta condição, a Regra 5 é abandonada. No entanto, a Regra 6 também permite concluir que é necessário usar software aplicativo da Microsoft. Para isso é necessário verificar se é necessário usar Access. O facto 1 satisfaz esta parte da condição. Assim, a condição da Regra 1 ( o ambiente de utilização é um ambiente empresarial; e é necessário usar software aplicativo da Microsoft ) é satisfeita. Emparelhando a conclusão da regra ( o sistema operativo selecionado é o Windows NT ) com a pergunta ( o sistema operativo selecionado é Qual?, obtém-se a instanciação da variável Qual com a expressão Windows NT. É o valor desta variável que é exibido ao utilizador. 6

7 2 Regras condição-ação (regras de produção) As regras usadas nos exemplos anteriores são regras condição-conclusão. Nesta secção apresenta-se um exemplo com regras de produção, isto é, com regras que especificam a execução de ações quando a sua condição se encontra satisfeita. As regras de produção são encadeadas para a frente. No exemplo usado para apresentar este assunto, temos um mundo quadriculado com um vilão e um herói, como se mostra na Figura 4. Figura 4 - O mundo do vilão O vilão ocupa uma quadrícula fixa no mundo (1,2), e o herói vai movimentar-se de acordo com a aplicação de um conjunto de regras de produção apresentadas na Figura 5. O objetivo é controlar o herói desde a sua posição atual (3,3) até à mesma posição do vilão. Quando o herói tiver atingido o vilão, deverá liquidá-lo. As regras são escritas do ponto de vista do herói. Regra 1 Regra 2 Regra 3 Regra 4 Regra 5 SE a posição atual for a mesma que a posição do vilão ENTÃO Liquidar o vilão SE o número da coluna da posição atual for superior ao número da coluna da posição do vilão ENTÃO Dar um passo para a esquerda SE o número da coluna da posição atual for inferior ao número da coluna da posição do vilão ENTÃO Dar um passo para a direita SE o número da linha da posição atual for inferior ao número da linha da posição do vilão ENTÃO Dar um passo para baixo SE o número da linha da posição atual for superior ao número da linha da posição do vilão ENTÃO Dar um passo para cima Figura 5 - Regras de produção As ações possíveis no mundo do vilão são liquidar o vilão e dar um passo para baixo, para cima, para a direita e para a esquerda. Além das regras, um sistema baseado em regras de produção tem que ter um mecanismo de aplicação das regras e a programação das ações. 7

8 Figura 6 - Sequências de ações do herói Na Figura 6 mostra-se a sequência de ações efetuadas pelo herói, de acordo com as regras de produção representadas na Figura 5. No início, as posições do vilão (1,2) e do herói (3,3) são introduzidas. O sistema determina as regras com a condição satisfeita. Tanto a regra 2 como a regra 5 têm a condição satisfeita. Em princípio qualquer delas poderia ser usada. O sistema escolhe a regra 2 (não há razão especial para preferir a regra 2 em relação à regra 5). De acordo com a regra 2, o herói dá um passo para a esquerda, alterando a representação interna do estado atual (a posição do herói passa a ser (3,2). A segunda configuração exibida na Figura 6 representa o resultado desta ação. Devido à alteração na posição do herói, o sistema volta a verificar se alguma regra tem a condição satisfeita. Apenas a regra 5 tem a condição satisfeita pelo que o herói dá um passo para cima ficando na posição (2,2). Devido à nova alteração da posição do herói, o sistema volta a verificar as suas regras. De novo, a regra 5 é a única com a condição satisfeita. Ela é usada porque a satisfação da sua condição foi obtida à custa de novos dados. No passo anterior, as posições do vilão e do herói eram (1,2) e (3,2) respetivamente. Na situação atual, as suas posições são (1,2) e (2,2). A regra 5 especifica que o herói dá um passo para cima. Como resultado desta ação, o herói e o vilão ficam ambos na posição (1,2) (quarto quadro da Figura 6). A alteração da posição do herói conduz o sistema a verificar as condições das suas regras. Desta vez, a regra 1 é a única cuja condição está satisfeita. De acordo com a regra 1, o herói mata o vilão. 1.3 Resolução de conflitos Quando é usado raciocínio encadeado para a frente, pode acontecer que as condições de mais que uma regra fiquem satisfeitas. Nesta eventualidade o sistema tem que escolher a que vai usar porque não poderá usar mais do que uma. De facto, ao executar a ação da primeira regra com a condição satisfeita, o estado do mundo altera-se e, consequentemente, é possível que as regras que tinham a condição satisfeita deixem de a ter. Ao conjunto de regras com a condição satisfeita chama-se conjunto de conflito ( conflict set ). Aos critérios usados pelo sistema para selecionar apenas uma regra do conjunto de conflito chama-se política ou estratégia de resolução de conflitos ( conflict resolution strategy ). Os vários sistemas usam diferentes políticas de resolução de conflitos constituídas por vários critérios, entre os quais os seguintes: 1 Nenhuma regra pode ser usada duas vezes com os mesmos dados 2 Escolhe-se a regra que depende dos dados mais recentes 3 Escolhe-se a regra mais específica (i.e., a regra cuja condição é constituída pelo maior número de subcondições) 8

9 4 Escolhe-se a regra mais importante (neste caso, as regras têm que ser associadas a um fator de importância ou prioridade). 5 Escolhe-se a regra cuja ação seja a mais importante O primeiro critério é bastante útil porque evita que a mesma regra possa continuar a ser usada devido aos mesmos factos. Ainda assim, há muitos sistemas que não implementam esse critério, nas suas políticas de resolução de conflitos. Nesse caso cabe ao programador criar mecanismos que invalidem a utilização repetida da regra. A escolha da regra que depende de factos mais recentes (critério 2) é muito útil em sistemas que devem reagir rapidamente às alterações do mundo em que existem. De facto, se o sistema continuar a reagir a informação mais antiga, negligenciando alterações recentes, pode acontecer que o seu comportamento se torne desatualizado. No entanto, haverá aplicações em que seria preferível reagir a alterações mais antigas. De acordo com o critério 3, quando duas ou mais regras têm a condição satisfeita, escolhe-se a regra mais específica. De facto, se o programador criou regras mais específicas do que outras é porque tinha em menta a sua utilização, sempre que as circunstâncias o permitissem. Os critérios 4 e 5 permitiriam ao programador atribuir graus de importância (ou de prioridade) às regras ou mesmo às ações. Desta forma, se duas regras tiverem a condição satisfeita, seria natural que o sistema escolhesse aquela com maior importância ou aquela cujas ações fossem mais importantes. Infelizmente, este critério tem sido muito criticado porque as importâncias de regras e de ações pode variar, de acordo com as circunstâncias. 9

10 3 Geração automática de explicações Este capítulo centra-se na descrição de funcionalidades desejáveis dos sistemas baseados em conhecimento e das ferramentas computacionais usadas para o seu desenvolvimento. Entre as funcionalidades dos sistemas baseados em conhecimento, analisa-se a capacidade de geração automática de explicações para o utilizador. Esta funcionalidade pode ser criada graças à arquitetura dos sistemas baseados em conhecimento. Para facilitar a sua compreensão, recorre-se a um exemplo de aplicação de sistemas baseados em conhecimento. Trata-se de um sistema para avaliar o mérito de pedidos de financiamento para subsidiar atividades de investigação e desenvolvimento (I&D) num centro de investigação. A primeira secção deste capítulo descreve os aspetos mais relevantes do sistema, a segunda secção descreve a geração automática de explicações. 1.4 Sistema para avaliação de pedidos de financiamento A UIDIA (Unidade de Investigação e Desenvolvimento em Inteligência Artificial) 1 é uma organização que faz a gestão de fundos para o financiamento de atividades de investigação e desenvolvimento em áreas da inteligência artificial, nomeadamente em Sistemas Baseados em Conhecimento, e em Sistemas de Agentes, entre outros. A UIDIA financia diversos tipos de despesas, tais como a aquisição de livros, a aquisição de equipamentos, e a deslocação a reuniões de organizações de I&D e a conferências científicas. De todas estas despesas, as mais significativas são as deslocações a reuniões e a conferências. Esta secção analisa muito sumariamente um sistema baseado em conhecimento para avaliar o mérito das propostas de financiamento para suportar a deslocação a conferências dos membros da UIDIA. Os critérios de que depende a avaliação do mérito de uma proposta de financiamento são o seu mérito quanto à apresentação de trabalhos na dita conferência, o seu mérito quanto à participação na organização da conferência e a importância da conferência para a UIDIA. O mérito quanto à apresentação de trabalhos depende não linearmente do número de trabalhos. O mérito da proposta será tende a aumentar com o número de trabalhos a apresentar, mas o aumento não é linear. O mérito relativo à participação na organização da conferência depende não linearmente da quantidade de papéis desempenhados pelo delegado nas comissões e cargos da conferência: comissão de programa ("program committee"), comissão de organização local ("local-arrangements committee"), presidente da conferência ("conference chairman"), ou presidente de sessão ("session chairman"). O mais importante é a participação em uma destas comissões ou o desempenho de um desses cargos. Se o delegado desempenhar mais do que um papel, o mérito do pedido será maior mas o aumento não é linear. A importância da conferência para a UIDIA depende da relação entre os temas da conferência e as atividades científicas da UIDIA, e da importância da conferência em termos da sua projeção internacional e do seu reconhecimento pelas entidades que atribuem o financiamento geral à UIDIA. A concessão de financiamento depende de muitos outros fatores além do mérito da proposta. O mais importante desses fatores é a disponibilidade orçamental na altura em que o pedido é feito. Outro fator importante é a capacidade de previsão dos proponentes. Se uma deslocação for prevista com antecedência (i.e., no início do ano), a proposta tem mais possibilidades de ser contemplada do que se não for prevista. Seguidamente, apresentam-se regras que ilustram o conhecimento usado no sistema. 1 A unidade de investigação UIDIA não tem existência real; foi inventada para estes apontamentos. No entanto, o problema descrito é um problema real das unidades de investigação. 10

11 Regra 1 Se o mérito da proposta em termos da participação na organização da conferência tem o valor MéritoParticipação, e o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação, e a importância da conferência para a UIDIA tem o valor Importância Então o mérito global da proposta tem o valor Mérito 0.4 MéritoApresentação 0.4 MéritoParticipação 0.2 Importância Regra 2 Se o número de artigos apresentados é maior ou igual a 2 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 5 Regra 3 Se o número de artigos apresentados é 1 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3 Regra 4 Se o número de artigos apresentados é 0 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 0 Regra 5 Se a importância da conferência para a área científica da UIDIA tem valor ImportânciaAreaCientifica, e a importância da conferência para o reconhecimento da UIDIA tem valor ImportânciaReconhecimento Então a importância da conferência para a UIDIA é Importância 0.4 ImportânciaAreaCientifica 0.6 ImportânciaReconhecimento Regra 6 Se o delegado à conferência pertence ao Program Committee, e o delegado à conferência NÃO pertence ao Local-Arrangements Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 4 Regra 7 Se o delegado à conferência pertence ao Local-Arrangements Committee, e o delegado à conferência NÃO pertence ao Program Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 4 Regra 8 Se o delegado à conferência pertence ao Program Committee e ao Local-Arrangements Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 5 Figura 7 Exemplos de regras do sistema de avaliação de mérito A Figura 7 não contém todo o conhecimento do sistema; apenas um número significativo de regras. O sistema de avaliação do mérito de propostas de financiamento de deslocações a conferências pode conter outras regras e também factos. 11

12 As regras da Figura 7 serão usadas seguidamente para ilustrar o conceito de geração de explicações e o funcionamento dos mecanismos que as geram. 1.5 Geração automática de explicações Uma das vantagens da utilização de representações explícitas é a possibilidade de usar o próprio conhecimento do sistema para gerar explicações acerca do seu raciocínio. Esta característica dos Sistemas Baseados em Conhecimento (os quais têm forçosamente representações explícitas) tem as seguintes vantagens: Facilita a tarefa de depurar, atualizar e gerir o conhecimento do sistema. Contribui para que o utilizador perceba e reforce a sua confiança nas sugestões do sistema. Existem essencialmente dois tipos de explicações que um SBC pode gerar: explicações why e explicações how. Quando o sistema faz uma pergunta ao utilizador para poder prosseguir o seu raciocínio, o utilizador pode querer saber por que razão o sistema fez a pergunta. A explicação apresentada neste tipo de situação é uma explicação why (i.e., Porque razão perguntas isso? ). Quando o sistema apresenta uma conclusão, uma sugestão ou qualquer outro tipo de resultado, o utilizador poderá querer saber como é que o sistema chegou ao resultado apresentado. As explicações apresentadas pelo sistema, em situações deste tipo, são explicações how (i.e., Como chegaste a esse resultado? ). Pelo facto de ser possível usar o conhecimento armazenado na base de conhecimento para produzir quer as soluções para os problemas apresentados ao sistema, quer para gerar explicações automaticamente, a geração de explicações é desempenhada pelo próprio mecanismo de inferência, sem ter de ser programado pelo programador do sistema. O programador tem apenas de preencher o conhecimento na base de conhecimento do sistema. Tanto a resolução de problemas como a geração de explicações estão a cargo do seu mecanismo de inferência, o qual é oferecido pela ferramenta usada para a criação do sistema baseado em conhecimento. Explicações Why Um sistema gera uma explicação why quando, após ter pedido ao utilizador para este lhe fornecer uma dada informação, o utilizador lhe pergunta Porque queres saber isso? ( Why do you ask? ). A explicação why consiste em mostrar a regra que se pretende usar e salientar que a utilização dessa regra depende da informação pedida e permite produzir uma determinada conclusão (intermédia ou final). Considerando o exemplo do sistema baseado em conhecimento para auxiliar na tomada de decisões de financiamento de deslocações a conferências (secção 1.4), as explicações why podem ser compreendidas através da interação representada na Figura 8. Sistema: O delegado à conferência pertence ao Program Committee (sim / não / why)? Utilizador: why // Porque queres saber isso? Sistema: Utilizador: Porque se o delegado à conferência pertencer ao program committee e não pertencer ao local arrangements committe, o mérito devido à participação na organização da conferência é MeritoParticipação = 4, e eu preciso saber qual é o valor de MeritoParticipação. O delegado à conferência pertence ao Program Committee (sim /não / why)? não. Figura 8 - Explicações why numa interação Na Figura 8, a explicação do sistema consiste em apresentar a regra usada no seu raciocínio. Neste caso, o texto da explicação obtém-se da regra 6: se o delegado à conferência pertencer ao program committee e não pertencer ao local arrangements committe, o mérito devido à participação na organização da conferência é MeritoParticipação = 4. Esta é exatamente uma das regras da BC do sistema, a regra que despoleta a pergunta do sistema. Se, na interação, em vez de ter respondido à segunda vez que o sistema apresenta a pergunta (mostrando a sua satisfação com a explicação), o utilizador voltasse a pedir explicações, o sistema daria uma explicação baseada na regra que utiliza a conclusão da regra 6 (usada na explicação anterior). A regra 6 produz a variável MeritoParticipação. A regra 1 utiliza o valor dessa variável para determinar o mérito global da proposta de financiamento. Seria produzida uma explicação com base na regra 1: 12

13 Porque se o mérito da proposta em termos da participação na organização da conferência tem o valor MéritoParticipação, o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação, e a importância da conferência para a UIDIA tem o valor Importância, então o mérito global da proposta tem o valor Mérito 0.4 MéritoApresentação 0.4 MéritoParticipação 0.2 Importância, e eu preciso saber qual é o valor de Mérito. Se, depois desta explicação, o utilizador voltasse a exigir mais explicações, o sistema procuraria a regra que iria utilizar o resultado da regra 1, a qual fi usada na última explicação. Como não existe nenhuma regra que use o valor do mérito global (Mérito), o sistema não teria mais explicações a dar. A próxima secção ocupa-se da geração de explicações do tipo How. Explicações How Um sistema gera uma explicação how quando o utilizador pretende que o sistema explique como é que chegou a um determinado resultado. Recorrendo ao exemplo da avaliação de propostas de deslocação a conferências, podemos admitir que o utilizador não percebe por que razão o sistema produziu uma dada avaliação para uma determinada proposta. Neste caso, o sistema pode apresentar as regras que usou para produzir essa avaliação. A interação da Figura 9 mostra este tipo de explicações. Sistema: A proposta A tem mérito 2 (numa escala de 0 a 5). Utilizador: Sistema: Utilizador: Sistema: How? (Como foi produzida essa avaliação?) Se o mérito da proposta em termos da participação do seu delegado na organização da conferência tem o valor MéritoParticipação, o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação, e e a importância da conferência para a UIDIA tem o valor Importância, então o mérito global da proposta tem o valor dado pela fórmula Mérito 0.4 MéritoApresentação 0.4 MéritoParticipação 0.2 Importância. O mérito da proposta em termos da participação do seu delegado na organização tem o valor MéritoParticipação 0. O mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3. A importância da conferência para a UIDIA tem o valor Importância 4. Portanto o mérito global da proposta é Mérito Como se conclui que o mérito da conferência em termos da apresentação de trabalhos tem o valor 3? Se o número de artigos apresentados é 1 então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3. O número de artigos a apresentar é igual a 1 Portanto, o mérito da proposta em termos da apresentação de trabalhos é MéritoApresentação 3. Figura 9 - Interação com explicações how Para que o sistema produza uma explicação how, o utilizador tem que perguntar como é que ele chegou a determinado resultado. Em reposta, o sistema mostra a regra e os factos que lhe permitiram chegar ao resultado. Na geração automática de explicações que serviu de base à interação da Figura 9, o sistema mostra a regra usada para produzir o resultado final, neste caso, a regra 1. Essa regra depende de resultados que podem ser conhecidos do sistema (i.e., são factos na base de conhecimento) ou que podem ser gerados pela utilização de outras regras. A explicação produzida na Figura 9 apresenta apenas os resultados usados pela regra que usou para gerar a explicação, sem explicar se eles eram conhecidos pelo sistema ou se foram produzidos por outras regras. Neste caso, o sistema apresenta os seguintes resultados: 13

14 O mérito da proposta em termos da participação do seu delegado na organização tem o valor MéritoParticipação 0. O mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3. A importância da conferência para a UIDIA tem o valor Importância 4. No entanto, quando o utilizador pretende obter mais explicações sobre um destes resultados intermédios, o sistema de geração automática de explicações apresenta a forma como ele foi produzido. No caso desta interação, o utilizador pretende obter explicações adicionais sobre o mérito da proposta em termos da apresentação de trabalhos (MéritoApresentação). Mais uma vez, o sistema apresenta uma explicação que consiste em mostrar a regra usada para produzir MéritoApresentação (regra 3) e os resultados intermédios de que essa regra depende (neste caso, o número de artigos apresentados): Se o número de artigos apresentados é 1 então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3. O número de artigos a apresentar é igual a 1. Tal como acontece com a geração automática de explicações do tipo Why, a geração automática de explicações do tipo How também recorre ao conhecimento explicitamente representado na base de conhecimentos para gerar a explicação. Se esse conhecimento não estivesse explicitamente representado, não poderiam ser geradas explicações automáticas sem que o programador do sistema, para cada aplicação específica, tivesse de programar as próprias explicações. Pelo contrário, num sistema com conhecimento representado explicitamente, as explicações podem ser automaticamente geradas pelo mecanismo de inferência do sistema, sem que o programador tenha de a programar. A próxima secção trata da validação automática da base de conhecimentos, a qual é também uma possibilidade que se deve à representação explícita de conhecimento. 14

15 4 Validação da base de conhecimentos Uma ferramenta computacional para desenvolvimento de sistemas baseados em conhecimento pode permitir a validação automática da base de conhecimentos em termos da sua consistência e completude. Em termos de consistência pode verificar-se se os conhecimentos que a compõem são contraditórios. A verificação de inconsistência consiste em determinar se é possível derivar uma proposição (P) e a sua negação ( P) a partir da base de conhecimentos do sistema. Em termos de completude, podem fazer-se duas coisas: verificar se os factos existentes na base de conhecimento e se as conclusões geradas pelas regras são usados (noutras regras), e verificar se existe a informação necessária à avaliação das condições das regras. Estas validações podem ser feitas por mecanismos existentes no motor de inferência, sem qualquer intervenção do programador do sistema baseado em conhecimento. Como o conhecimento é representado explicitamente, os mecanismos de validação da base de conhecimentos limitam-se a percorrer toda a base de conhecimentos e detetar as deficiências para que tiverem sido concebidos. Se não fossem usadas representações explícitas, seria impossível (ou muito difícil) criar mecanismos capazes de examinar o conhecimento do sistema e detetar deficiências. Os exemplos que ilustram os mecanismos de validação da base de conhecimentos foram inspirados num sistema pericial, descrito na secção Error! Reference source not found., concebido para auxiliar decisões de atribuição de financiamento a deslocações a conferências científicas, numa unidade de investigação imaginada, designada UIDIA (Unidade de Investigação e Desenvolvimento em Inteligência Artificial) Verificação de consistência Para explicar em que consiste a deteção de contradições / inconsistências, considerem-se as três regras e os dois factos apresentados na Figura 10. As duas primeiras regras são versões deficientes das regras 6 e 7 da Figura 7. 2 A unidade de investigação UIDIA não tem existência real; foi inventada para estes apontamentos. No entanto, o problema descrito é um problema real das unidades de investigação. 15

16 Regra 1 Se o delegado à conferência pertence ao Program Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 4 Regra 2 Se o delegado à conferência pertence ao Local-Arrangements Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 4 Regra 3 Se o delegado à conferência pertence ao Program Committee e ao Local-Arrangements Committee Então o mérito devido à participação na organização da conferência é MéritoParticipação 5 Facto 1 o delegado à conferência pertence ao Program Committee Facto 2 o delegado à conferência pertence ao Local-Arrangements Committee Figura 10 - Regras e factos inconsistentes A base de conhecimentos apresentada na Figura 10 é inconsistente no sentido em que é possível derivar que o mérito da proposta devido à participação na organização tem o valor 4 (regra 1 e facto 1; ou regra 2 e facto 2) e também é possível derivar que o mérito tem o valor 5 (i.e., não tem o valor 4). Seria útil que a ferramenta computacional usada para implementar o sistema de avaliação do mérito de pedidos de financiamento pudesse detetar este tipo de inconsistências. 4.2 Base de conhecimentos não completa A base de conhecimentos da Figura 11 serve de exemplo para ilustrar dois tipos de não completude: a BC contém factos que não são usados; e a BC tem regras que dependem de factos que não são conhecidos nem se podem derivar, nem se podem perguntar ao utilizador. 16

17 Regras Regra 1 Se o mérito da proposta em termos da participação na organização da conferência tem o valor MéritoParticipação, e o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação, e a importância da conferência para a UIDIA tem o valor Importância Então o mérito global da proposta tem o valor Mérito 0.4 MéritoApresentação 0.4 MéritoParticipação 0.2 Importância Regra 2 Se o número de artigos apresentados é maior ou igual a 2 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 5 Regra 3 Se o número de artigos apresentados é 1 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 3 Regra 4 Se o número de artigos apresentados é 0 Então o mérito da proposta em termos da apresentação de trabalhos tem o valor MéritoApresentação 0 Regra 5 Se a importância da conferência para a área científica da UIDIA tem valor ImportânciaAreaCientifica, e a importância da conferência para o reconhecimento da UIDIA tem valor ImportânciaReconhecimento Então a importância da conferência para atividades existentes na área da UIDIA é ImportânciaUIDIA 0.4 ImportânciaAreaCientifica 0.6 ImportânciaReconhecimento Informação que pode ser pedida ao utilizador Número de artigos a apresentar Importância da conferência para a área científica da UIDIA Importância da conferência para o reconhecimento da UIDIA Figura 11- Base de conhecimentos incompleta para o sistema de atribuição de financiamento da UIDIA As regras incluídas na base de conhecimento apresentada na Figura 11 constituem versões com alterações das regras realmente existentes na base de conhecimento do sistema (Figura 7). Nomeadamente, o resultado produzido pela versão alterada da regra 5 designa-se ImportânciaUIDIA, enquanto a versão original da regra produz o resultado Importância. Esta alteração foi introduzida propositadamente para que o mecanismo de deteção de incompletude pudesse detetar um problema. Para facilitar a compreensão do problema de determinar que conhecimento/informação faltam na base de conhecimento, apresenta-se uma representação gráfica do conhecimento nela armazenado e das relações entre os seus diversos componentes. Para isso recorremos aos diagramas de dependências da metodologia de análise e conceção de sistemas baseados em conhecimento descrita em [Botelho e Ramos 1992]. Os diagramas de dependência são constituídos por unidades de decisão que representam dependências entre variáveis do domínio. Cada unidade de decisão é representada graficamente por um triângulo. As variáveis do domínio são representadas por retângulos. As variáveis de input (variáveis 17

18 independentes) são também representadas por retângulos mas com um ponto de interrogação antes do seu nome. A Figura 12 representa o diagrama de dependências correspondente à Base de Conhecimentos de papel da Figura 11. Figura 12 - Diagrama de decisão para o sistema de atribuição de financiamento da UIDIA Os dois retângulos da Figura 12 com linha a tracejado não fazem parte do diagrama de decisão; apenas servem para indicar explicitamente a insuficiência do conhecimento disponível. Falta de informação Uma ferramenta computacional para sistemas baseados em conhecimento pode analisar o conhecimento disponível e detetar possíveis insuficiências. Em termos simplistas, a deteção de insuficiências de informação consiste essencialmente em determinar se existe alguma implicação A B e não se pode provar se A nem se A a partir da Base de Conhecimentos, nem se pode perguntar se A é verdade. Usando, como exemplo, a base de conhecimentos descrita na Figura 11 e na Figura 12, a deteção de informação insuficiente produziria o seguinte resultado: O mérito da proposta depende do mérito devido à apresentação de trabalhos (MéritoApresentação), do mérito devido à participação na organização da conferência (MéritoParticipação) e da importância da conferência para a UIDIA (Importância). A importância da conferência para a UIDIA (Importância) não é conhecida nem é perguntada ao utilizador. O mérito da proposta devido à participação na organização da conferência (MéritoParticipação) não é conhecida nem é perguntada ao utilizador. Repare-se que esta variável não é conhecida porque, talvez por engano, a unidade de decisão U3 produz um resultado com a designação ImportânciaUIDIA em vez de Importância. Não há pois uma ligação entre o resultado da unidade de decisão U3 e a unidade de decisão U1. Relativamente ao mérito devido à participação na organização da conferência (MéritoParticipação), de facto essa variável não é conhecida, nem pode ser perguntada, nem pode ser determinada por uma ou mais regras. Factos e conclusões não usadas Além da deteção de informação insuficiente, a ferramenta de desenvolvimento de sistemas baseados em conhecimento poderá também detetar se existem factos inúteis na base de conhecimento ou se podem ser geradas conclusões não usadas. Em termos simples, a deteção de informação não usada consiste essencialmente em determinar se existe algum facto B ou alguma implicação A B e não existe nenhuma implicação D C, tal que D seja igual ou contenha B.. 18

19 Considere-se uma vez mais o exemplo da Figura 11 e da Figura 12. Por exemplo, a importância da conferência para atividades existentes no âmbito da UIDIA (variável ImportânciaUIDIA, unidade de decisão U 3 ) é determinada por uma das regras da base de conhecimentos e não é usada. A análise da base de conhecimentos em termos de informação não usada produziria o seguinte relatório. A importância da conferência para atividades existentes no âmbito da UIDIA (variável ImportânciaUIDIA) é determinada pela regra 5 e não é usada. O mérito global da conferência (variável Mérito) é determinado pela regra 1 e não é usado. O mérito global da proposta é determinado e não usado em nenhuma outra regra, no entanto este é o objetivo final do sistema. Ou seja, o aviso produzido pelo mecanismo de deteção de insuficiências na base de conhecimento, relativamente à variável Mérito pode ser ignorado. 19

20 5 Implementação em Prolog de mecanismos de representação e raciocínio 5.1 Meta-interpretadores (Prolog em Prolog) Os mecanismos de geração automática de explicações são mecanismos que usam o próprio conhecimento do domínio do sistema para gerar explicações que podem ser exibidas ao utilizador. Idealmente, a geração destas explicações não exige nenhum trabalho adicional ao Engenheiro do Conhecimento que cria o sistema. O Engenheiro do Conhecimento apenas tem que representar o conhecimento da aplicação. A utilização desse conhecimento para gerar explicações é da exclusiva responsabilidade do sistema. Esta secção analisa a implementação de um sistema de raciocínio dedutivo encadeado para trás. Este programa será estendido em secções posteriores. Os mecanismos de geração de explicações apresentados são definidos para o caso concreto do raciocínio dedutivo encadeado para trás. Para outros tipos de raciocínio ou para outras estratégias de encadeamento teriam que ser criados outros mecanismos de geração de explicações. Através de uma tecnologia de programação muito simples chamada meta-programação é possível criar um programa em Prolog capaz de interpretar o próprio Prolog. Este programa não tem qualquer utilidade por si só, mas a sua análise permite compreender mecanismos indispensáveis noutras secções deste documento. Um programa capaz de interpretar Prolog é um programa que recebe um objetivo Prolog e verifica se o objetivo pode ser satisfeito pela instanciação de variáveis. Para isso, o programa verifica se o objetivo que recebe é o objetivo verdade, ou se é uma conjunção cujos componentes são objetivos que se podem satisfazer, ou se existe alguma cláusula na base de conhecimentos do Prolog que possa ser usada na satisfação do objetivo. Posteriormente, o programa será sofisticado com a verificação de outras condições (negações e objetivos built-in ). A Figura 13 mostra a definição do predicado solve/1 o qual é capaz de verificar se um objetivo Prolog se pode satisfazer. solve(verdade). solve((a, B)):- solve(a), solve(b). solve(p):- clause(p, Body), solve(body). Figura 13 Meta-interpretador de Prolog Embora simples, o predicado solve/1 constitui a base do Prolog. solve(p) tem sucesso, se o objetivo P puder ser satisfeito, isto é, se existir uma instanciação das variáveis de P tal que P seja verdade (i.e., tal que P se possa derivar da Base de Conhecimentos). A primeira cláusula da definição de solve/1 (Figura 13) diz que o objetivo verdade é verdade. A segunda cláusula de solve/1 diz que uma conjunção (A, B) pode ser satisfeita se tanto A com B puderem ser satisfeitos. É importante referir que, devido ao mecanismo de associatividade do Prolog, (A, B) pode ser uma conjunção com mais do que dois argumentos. A é o primeiro argumento da conjunção, B é o resto (eventualmente, outra conjunção). A terceira cláusula de solve/1 diz que o objetivo P pode ser satisfeito se existir uma cláusula para P com o formato P:-Body e se Body puder ser satisfeito. Para verificar se existe uma cláusula para um dado objetivo, usa-se o predicado especial clause/2. clause(head, Body) tem sucesso se existir uma clausula com o formato Head:-Body na Base de Conhecimentos. Isto é, clause/2 devolve o corpo de cada cláusula de um determinado predicado. Para verificar se Body pode ser satisfeito, solve/1 recorre a si próprio. Para melhor compreender o funcionamento de solve/1, analisa-se um exemplo simples. A Figura 14 mostra uma pequena Base de Conhecimentos com cláusulas de relações familiares. 20

21 avo(x, Y):- pai(x, Z), pai(z, Y). avo(x, Y):- pai(x, Z), mae(z, Y). pai(bernardo, luis). pai(luis, miguel). Figura 14 Pequena base de conhecimentos A Figura 15 ilustra a utilização do predicado solve/1 no interpretador de Prolog. Na interação usa-se a pequena Base de Conhecimentos da Figura 14.?- solve(avo(bernardo, miguel)). yes?- solve(avo(x, Y)). X bernardo, Y miguel; no?- Figura 15 Interação com o predicado solve/1 Na segunda interação, o Prolog não pode usar a primeira cláusula da definição de solve/1 porque o objetivo avo(x, Y) não emparelha com verdade. A segunda cláusula da definição também não pode ser usada porque o objetivo avo(x, Y) não emparelha com a conjunção (A, B). Como existe a cláusula avo(x, Y):- pai(x, Z), pai(z, Y), o Prolog tenta usar a terceira cláusula da definição de solve/1. De acordo com a terceira cláusula, avo(x, Y) pode ser satisfeito se (pai(x, Z), pai(z, Y)) também puder ser satisfeito. Portanto, o objetivo inicial solve(avo(x, Y)) é substituído pelo novo objetivo solve((pai(x, Z), pai(z, Y))). A primeira cláusula da definição não pode ser usada porque (pai(x, Z), pai(z, Y)) não emparelha com verdade. A segunda cláusula pode ser usada porque (pai(x, Z), pai(z, Y)) emparelha com (A, B). Seguindo a segunda cláusula, a conjunção (pai(x, Z), pai(z, Y)) pode ser satisfeita se o objetivo pai(x, Z) puder ser satisfeito e se o objetivo pai(z, Y) também puder ser satisfeito. O objetivo inicial é agora substituído pelos dois objetivos solve(pai(x, Z)) e solve(pai(z, Y)). Mais uma vez, o objetivo solve(pai(x, Z)) não pode ser resolvido pela primeira nem pela segunda cláusula de solve/1. O mesmo acontece em relação ao objetivo solve(pai(z, Y)). Como um facto P é equivalente à cláusula P:-verdade, a terceira cláusula pode ser aplicada para resolver o objetivo solve(pai(x, Z)), desde que X bernardo, Z luis e Body verdade. Consequentemente, solve(pai(x, Z)) é substituído por solve(verdade). solve(verdade) é resolvido pela primeira cláusula da definição de solve/1. A instanciação da variável Y é propagada para o segundo objetivo por resolver, nomeadamente solve(pai(luis, Y)). solve(pai(luis, Y)) é resolvido por um processo análogo ao da resolução de solve(pai(x, Z)), resultando na instanciação de X com a constante bernardo. Como solve(pai(x, Z)) e solve(pai(z, Y)) foram resolvidos, então solve((pai(x, Z), pai(z, Y))) também foi resolvido. Consequentemente, solve(pai(x, Y)) também foi resolvido. O predicado solve/1 definido na Figura 13 pode ser facilmente aumentado de modo a que a negação por falha seja resolvida. Para isso basta dizer que not(p) é satisfeito se a satisfação de P falha. Em Prolog, a satisfação de diversos predicados e a avaliação de diversos operadores recorrem a procedimentos específicos: são os chamados predicados e operadores built-in. Destes destacam-se os operadores aritméticos, certos predicados relacionais, e procedimentos para ler e escrever, operadores de manipulação da base de conhecimentos (i.e., assert e retract) e operadores de controlo. Um meta-interpretador pode recorrer ao predicado call/1 para avaliar a satisfação de predicados pré-construídos na linguagem. Na Figura 16 apresenta-se a extensão do meta-interpretador solve/1 com a negação e com predicados pré-construídos. 21

22 solve(verdade). solve((a, B)):- solve(a), solve(b). solve(not(p)):- \+ solve(p). solve(p):- clause(p, Body), solve(body). solve(p):- system(p), call(p). Figura 16 Meta-interpretador com negação e predicados built-in Na última cláusula da Figura 16, surge o predicado especial system/1. system/1 serve para testar se um predicado é pre-construído a linguagem. A sintaxe de system/1 não é sempre a mesma, varia de implementação para implementação. Em certas implementações, o argumento do predicado system/1 é um termo formado pelo nome do predicado e pela sua aridade, por exemplo write/1. Também pode acontecer que system/1 nem sequer exista e que tenha que se utilizar outro com o mesmo objetivo. 5.2 Explicações Why Quando o sistema faz uma pergunta ao utilizador, este pode não perceber porque razão o sistema o faz. Se o sistema tiver a capacidade de gerar explicações Why, será capaz de explicar ao utilizador qual é a finalidade da pergunta. A interação da Figura 17 ilustra esta situação. O sistema explica ao utilizador que quer saber se o Luís é pai da Catarina porque se o Bernardo é pai do Luís e o Luís é pai da Catarina, então o sistema conclui que o Bernardo é avô da Catarina que é o que ele está a tentar fazer.?- avo(bernardo, catarina). pai(luis, catarina) (sim/nao/porquê)? porquê Porque Se pai(bernardo, luis) e pai(luis, catarina) Então avo(bernardo, catarina) pai(luis, catarina) (sim/nao/porquê)? sim yes?- Figura 17 Interação com explicações Why Como as explicações do tipo Why servem para o sistema explicar por que razão faz determinada pergunta, este mecanismo de geração de explicações está intimamente ligado à possibilidade de fazer perguntas ao utilizador. O meta-interpretador que vamos analisar tenta provar se um determinado objetivo é verdade. Se necessário, pede ao utilizador para dizer se uma dada proposição é verdade ou falsa. Para isso tem que se poder especificar que factos podem ser perguntados ao utilizador. Vamos usar o predicado especial askable/1. askable(p) significa que o sistema pode perguntar ao utilizador se P é verdade ou falso. Quando o meta-interpretador tenta provar um dado objetivo P, e o sistema não sabe que P é falso e P não é igual a verdade, nem é uma conjunção, nem é uma negação, nem há uma cláusula para P, e P pode ser perguntado, então o meta-interpretador pergunta se P é verdade. Se o utilizador responder que sim, P é acrescentado à base de conhecimentos. Se o utilizador responder que não, untrue(p) é acrescentado à base de conhecimentos. Se o utilizador quiser saber porque razão o sistema faz a pergunta, este apresenta uma explicação de tipo why. Se o sistema guardar as regras usadas no seu raciocínio, poderá apresentá-las como explicação daquilo que tenta provar em cada passo. Para isso, o predicado solve/2 terá dois argumentos: objetivo que se pretende provar e a lista das regras usadas até ao passo de prova atual. 22

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Usando o Conference Manager do Microsoft Outlook

Usando o Conference Manager do Microsoft Outlook Usando o Conference Manager do Microsoft Outlook Maio de 2012 Conteúdo Capítulo 1: Usando o Conference Manager do Microsoft Outlook... 5 Introdução ao Conference Manager do Microsoft Outlook... 5 Instalando

Leia mais

Início Rápido: Registar para o Centro de Negócios da Microsoft

Início Rápido: Registar para o Centro de Negócios da Microsoft Guia do Cliente O Centro de Negócios da Microsoft permite que as pessoas em sua organização exibam com segurança contratos de compras, exibam pedidos de licenciamento por volume, efetuem o download do

Leia mais

Manual Web.Newhotel Configuração NewHotel

Manual Web.Newhotel Configuração NewHotel Manual Web.Newhotel Configuração NewHotel Versão: 1.1 Rev. 2008-11-17 Av. Almirante Gago Coutinho, 70 1700-031 Lisboa PORTUGAL Tel. 21 7817810, 53-52631959 Faxx 21 7971579 marketing@newhotel.com helpdesk@newhotel.com

Leia mais

Criar as tabelas para um banco de dados

Criar as tabelas para um banco de dados Treinamento Criar as tabelas para um banco de dados ANTES DE COMEÇAR O primeiro curso desta série, "Criar as tabelas de um novo banco de dados", forneceu uma lista de tabelas e campos para uso no banco

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Manual das planilhas de Obras v2.5

Manual das planilhas de Obras v2.5 Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo

Leia mais

Guia rápido de criação e gestão de um espaço no SAPO Campus

Guia rápido de criação e gestão de um espaço no SAPO Campus Guia rápido de criação e gestão de um espaço no SAPO Campus O SAPO Campus é uma plataforma online, disponível em http://campus.sapo.pt, que permite a comunicação e a colaboração entre membros de uma Instituição

Leia mais

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO 4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?

Leia mais

Concurso Externo, Contratação Inicial e Reserva de Recrutamento

Concurso Externo, Contratação Inicial e Reserva de Recrutamento MANUAL DE INSTRUÇÕES Reclamação da Candidatura Eletrónica Concurso Externo, Contratação Inicial e Reserva de Recrutamento Tipo de candidato Externo e LSVLD Nos termos do Aviso n.º 3597-K/2016, publicado

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama

Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 Usar o Skanlite 6 2.1 Seleção do Scanner.................................... 6 3 Janela Principal do Skanlite 8 3.1 Digitalizando........................................

Leia mais

SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL

SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL SISTEMA BRENA DE AUTOMAÇÃO COMERCIAL VERSÃO 359 U N I P A C K NOTA FISCAL ELETRÔNICA CONTENDO ITENS COM CFOP S DISTINTOS RIO DE JANEIRO 25 DE JULHO DE 2013 SUMÁRIO 1- INTRODUÇÃO... 03 2- MOTIVAÇÃO... 03

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

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

Themis Serviços On Line - Publicações

Themis Serviços On Line - Publicações Nome do documento Guia do Usuário Themis Serviços On Line - Publicações Sumário Introdução:... 3 1 - Cadastro dos Usuários do Themis Serviços On Line:... 3 2 - Acesso ao Sistema Themis Serviços On Line:...

Leia mais

SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA)

SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA) 1 / 16 SISTEMA MEDLINK E-TISS PASSO-A-PASSO (USE JUNTO COM A VÍDEO AULA) Este guia passo-a-passo tem o objetivo de facilitar o entendimento: - da ordem de execução dos processos. - dos conceitos do sistema.

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Como enviar e receber correio eletrónico utilizando o Gmail

Como enviar e receber correio eletrónico utilizando o Gmail Como enviar e receber correio eletrónico utilizando o Gmail Este módulo pressupõe que que já tenha criado uma conta de correio eletrónico no Gmail (caso já não se recorde como deve fazer, consulte o nosso

Leia mais

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0 agosto de 2007 As informações contidas neste documento, incluíndo quaisquer URLs e outras possíveis referências a

Leia mais

EW1085R2 Recetor Bluetooth MICRO USB Classe 2

EW1085R2 Recetor Bluetooth MICRO USB Classe 2 EW1085R2 Recetor Bluetooth MICRO USB Classe 2 EW1085R2 Recetor Bluetooth MICRO USB Classe 2 2 PORTUGUÊS Índice 1.0 Introdução... 2 1.1 Funções e funcionalidades... 2 1.2 Conteúdo da embalagem... 3 2.0

Leia mais

Tabelas vista de estrutura

Tabelas vista de estrutura Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47 Tabelas vista

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.

Leia mais

Como produzir e publicar uma apresentação online dinâmica (Prezi)

Como produzir e publicar uma apresentação online dinâmica (Prezi) Como produzir e publicar uma apresentação online dinâmica (Prezi) Este módulo irá ensinar-lhe como produzir e publicar uma apresentação online dinâmica usando o programa Prezi. A produção de uma apresentação

Leia mais

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Python e AI (Re)-introdução ao Python. Problemas de busca e principais abordagens. Exemplos em Python Por que

Leia mais

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice 2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Definição de Planilha Eletrônica

PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO 2. BASE TEÓRICA. 2.1 Definição de Planilha Eletrônica PRINCÍPIOS DE INFORMÁTICA PRÁTICA 07 1. OBJETIVO Apresentar a planilha eletrônica MS-Excel e algumas de suas operações básicas, incluindo inserção de fórmulas, utilização de funções da planilha e a criação

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Bem-vindo ao tópico Múltiplas filiais.

Bem-vindo ao tópico Múltiplas filiais. Bem-vindo ao tópico Múltiplas filiais. 1 Ao final deste tópico, você estará apto a: Explicar as opções disponibilizadas com o recurso Múltiplas filiais. Definir as configurações necessárias para trabalhar

Leia mais

A Torre de Hanói e o Princípio da Indução Matemática

A Torre de Hanói e o Princípio da Indução Matemática A Torre de Hanói e o Princípio da Indução Matemática I. O jogo A Torre de Hanói consiste de uma base com três pinos e um certo número n de discos de diâmetros diferentes, colocados um sobre o outro em

Leia mais

Algumas vantagens da Teoria das Descrições Definidas (Russel 1905)

Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Textos / Seminário de Orientação - 12 de Março de 2005 - Fernando Janeiro Algumas vantagens da Teoria das Descrições Definidas (Russel 1905) Assume-se que o objecto de uma teoria semântica é constituído

Leia mais

Processo de Bolonha. Regime de transição na FCTUC

Processo de Bolonha. Regime de transição na FCTUC Processo de Bolonha Regime de transição na FCTUC Aprovado na Comissão Coordenadora do Conselho Pedagógico a 20 de Setembro de 2006, na Comissão Coordenadora do Conselho Científico a 22 de Setembro de 2006,

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

Serviço para implementação de atualização de firmware HP

Serviço para implementação de atualização de firmware HP Dados técnicos Serviço para implementação de atualização de firmware HP Serviços HP Vantagens do serviço Fornece atualizações de firmware com o intuito de minimizar quaisquer interrupções ao seu ambiente

Leia mais

Descrição do Produto. Altus S. A. 1

Descrição do Produto. Altus S. A. 1 Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

BSC Balance Score Card

BSC Balance Score Card BSC (Balance Score Card) BSC Balance Score Card Prof. Gerson gerson.prando@fatec.sp.gov.br Uma das metodologias mais visadas na atualidade éobalanced ScoreCard, criada no início da década de 90 por Robert

Leia mais

Atualizações de Software Guia do Usuário

Atualizações de Software Guia do Usuário Atualizações de Software Guia do Usuário Copyright 2009 Hewlett-Packard Development Company, L.P. Windows e Windows Vista são marcas registradas da Microsoft Corporation nos EUA. Aviso sobre o produto

Leia mais

ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL Resumo Executivo PARA BAIXAR A AVALIAÇÃO COMPLETA: WWW.IADB.

ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL Resumo Executivo PARA BAIXAR A AVALIAÇÃO COMPLETA: WWW.IADB. ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL Resumo Executivo PARA BAIXAR A AVALIAÇÃO COMPLETA: WWW.IADB.ORG/EVALUATION ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL

Leia mais

O Manual do ssc. Peter H. Grasch

O Manual do ssc. Peter H. Grasch Peter H. Grasch 2 Conteúdo 1 Introdução 6 2 Usar o ssc 7 2.1 Gerir os utilizadores.................................... 7 2.1.1 Adicionar um utilizador.............................. 8 2.1.1.1 Associar-se

Leia mais

Observação das aulas Algumas indicações para observar as aulas

Observação das aulas Algumas indicações para observar as aulas Observação das aulas Algumas indicações para observar as aulas OBJECTVOS: Avaliar a capacidade do/a professor(a) de integrar esta abordagem nas actividades quotidianas. sso implicará igualmente uma descrição

Leia mais

www.pwc.pt Auditoria nos termos do Regulamento da Qualidade de Serviço Relatório resumo EDP Serviço Universal, S.A.

www.pwc.pt Auditoria nos termos do Regulamento da Qualidade de Serviço Relatório resumo EDP Serviço Universal, S.A. www.pwc.pt Auditoria nos termos do Regulamento da Qualidade de Serviço Relatório resumo EDP Serviço Universal, S.A. Janeiro 2014 Enquadramento A promoção da melhoria contínua da qualidade de serviço no

Leia mais

Tendo em conta o Tratado sobre o Funcionamento da União Europeia, nomeadamente o artigo 127. o, n. o artigo 132. o,

Tendo em conta o Tratado sobre o Funcionamento da União Europeia, nomeadamente o artigo 127. o, n. o artigo 132. o, L 314/66 1.12.2015 DECISÃO (UE) 2015/2218 DO BANCO CENTRAL EUROPEU de 20 de novembro de 2015 relativa ao procedimento para excluir membros do pessoal da aplicação da presunção de que as suas atividades

Leia mais

Preparação do Trabalho de Pesquisa

Preparação do Trabalho de Pesquisa Preparação do Trabalho de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Pesquisa Bibliográfica Etapas do Trabalho de Pesquisa

Leia mais

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Integração de livros fiscais com o Microsoft Dynamics AX 2009 Microsoft Dynamics AX Integração de livros fiscais com o Microsoft Dynamics AX 2009 White paper Este white paper descreve como configurar e usar a integração de livros fiscais entre o Microsoft Dynamics

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

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários

Leia mais

MDI Facturação Alterações Fiscais DL 197 e 198 de 24 de agosto de 2012

MDI Facturação Alterações Fiscais DL 197 e 198 de 24 de agosto de 2012 Introdução O conteúdo deste documento, por não ser uma descrição exaustiva, não invalida a consulta dos decretos-lei mencionados ou de qualquer informação complementar. Alterações fiscais Com efeito a

Leia mais

Tutorial 7 Fóruns no Moodle

Tutorial 7 Fóruns no Moodle Tutorial 7 Fóruns no Moodle O Fórum é uma atividade do Moodle que permite uma comunicação assíncrona entre os participantes de uma comunidade virtual. A comunicação assíncrona estabelecida em fóruns acontece

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

GATI Gestão de Atendimento Inteligente. Manual de Uso. powered by OPUS Software v1.0

GATI Gestão de Atendimento Inteligente. Manual de Uso. powered by OPUS Software v1.0 GATI Gestão de Atendimento Inteligente Manual de Uso powered by OPUS Software v1.0 2 Gestão de Atendimento Inteligente A Gati Gestão de Atendimento Inteligente registra todo tipo de comunicação entre as

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

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições

Leia mais

Data 23/01/2008. Guia do Professor. Introdução

Data 23/01/2008. Guia do Professor. Introdução Guia do Professor Data 23/01/2008 Introdução A inserção de tópicos da Eletricidade nas escolas de nível básico e médio é fundamental para a compreensão de alguns fenômenos da vida moderna. Você já imaginou

Leia mais

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software. Engenharia de Software Aula 06 Tópicos da Aula Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 26 Março 2012 Funcionais e não funcionais De usuário e do Engenharia de Estudo

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

Trabalho de Implementação Jogo Reversi

Trabalho de Implementação Jogo Reversi Trabalho de Implementação Jogo Reversi Paulo Afonso Parreira Júnior {paulojr@comp.ufla.br} Rilson Machado de Olivera {rilson@comp.ufla.br} Universidade Federal de Lavras UFLA Departamento de Ciência da

Leia mais

Cotagem de dimensões básicas

Cotagem de dimensões básicas Cotagem de dimensões básicas Introdução Observe as vistas ortográficas a seguir. Com toda certeza, você já sabe interpretar as formas da peça representada neste desenho. E, você já deve ser capaz de imaginar

Leia mais

Movie Maker. Fazer download de vídeos no You Tube. Para publicar no You Tube. O Windows Movie Maker 2 torna fácil para qualquer pessoa

Movie Maker. Fazer download de vídeos no You Tube. Para publicar no You Tube. O Windows Movie Maker 2 torna fácil para qualquer pessoa Colégio Imperatriz Leopoldina Formação de Professores 2010 Movie Maker Fazer download de vídeos no You Tube O Movie Maker permite a edição de vídeos que estejam publicados no You Tube. É preciso fazer

Leia mais

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP. http://eweb.ipportalegre.pt. ged@ipportalegre.

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP. http://eweb.ipportalegre.pt. ged@ipportalegre. Manual de Utilizador Caderno Recursos da Unidade Curricular Gabinete de Ensino à Distância do IPP http://eweb.ipportalegre.pt ged@ipportalegre.pt Índice RECURSOS... 1 ADICIONAR E CONFIGURAR RECURSOS...

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O servidor de arquivos fornece um ponto centralizado na rede para armazenamento e compartilhamento de arquivos entre os usuários. Quando

Leia mais

Medição tridimensional

Medição tridimensional A U A UL LA Medição tridimensional Um problema O controle de qualidade dimensional é tão antigo quanto a própria indústria, mas somente nas últimas décadas vem ocupando a importante posição que lhe cabe.

Leia mais

www.aluminiocba.com.br Manual do Usuário Fornecedor

www.aluminiocba.com.br Manual do Usuário Fornecedor Manual do Usuário Fornecedor Manual do Usuário - Fornecedor Versão 1.2 Página 2 CBA Online Manual do Usuário Fornecedor Versão 1.2 3 de agosto de 2004 Companhia Brasileira de Alumínio Departamento de Tecnologia

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Tópicos Avançados II 5º período Professor: José Maurício S. Pinheiro AULA 3: Políticas e Declaração de

Leia mais

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da 6 Conclusões No âmbito do framework teórico da Engenharia Semiótica, este trabalho faz parte de um esforço conjunto para desenvolver ferramentas epistêmicas que apóiem a reflexão do designer durante o

Leia mais

AULA 2 Planos, Vistas e Temas

AULA 2 Planos, Vistas e Temas 2.1 AULA 2 Planos, Vistas e Temas Essa aula apresenta os conceitos de Plano de Informação, Vista e Tema e suas manipulações no TerraView. Para isso será usado o banco de dados criado na AULA 1. Abra o

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP Business One, em apenas uma etapa usando um assistente guiado.

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One.

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One. Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One. 1 Neste tópico, você aprenderá a usar a ferramenta Quick Copy durante um projeto de implementação.

Leia mais

3 Metodologia 3.1. Tipo de pesquisa

3 Metodologia 3.1. Tipo de pesquisa 3 Metodologia 3.1. Tipo de pesquisa Escolher o tipo de pesquisa a ser utilizado é um passo fundamental para se chegar a conclusões claras e responder os objetivos do trabalho. Como existem vários tipos

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

A importância do Software Livre no mundo de hoje

A importância do Software Livre no mundo de hoje A importância do Software Livre no mundo de hoje Date : 15 de Janeiro de 2014 Por Luis da Costa para o Pplware! Uma questão de conceitos, termos e liberdades. Uma das grandes e mais importantes temáticas

Leia mais

Início Rápido para o Templo

Início Rápido para o Templo Início Rápido para o Templo O FamilySearch.org facilita realizar as ordenanças do templo por seus antepassados. Todo o processo tem apenas alguns passos simples: 1. Descobrir antepassados que precisam

Leia mais

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

O QUE É A CENTRAL DE JOGOS?

O QUE É A CENTRAL DE JOGOS? O QUE É A CENTRAL? A Central de Jogos consiste de duas partes: Um site na Internet e um programa de computador (Central) que deve ser instalado em sua máquina. No site www.centraldejogos.com.br, você pode

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

5 Exemplo de aplicação

5 Exemplo de aplicação 111 5 Exemplo de aplicação Este capítulo apresenta um exemplo de uso da linguagem proposta como forma de validação. Através da implementação da linguagem utilizando o potencial de extensão da ferramenta

Leia mais

Início Rápido. Nero BackItUp. Ahead Software AG

Início Rápido. Nero BackItUp. Ahead Software AG Início Rápido Nero BackItUp Ahead Software AG Informações sobre copyright e marcas comerciais O manual do utilizador Nero BackItUp e a totalidade do respectivo conteúdo estão protegidos por copyright e

Leia mais

2-Introdução e Conceitos Básicos das TIC

2-Introdução e Conceitos Básicos das TIC Agrupamento de escolas de Pevidém 2-Introdução e Conceitos Básicos das TIC Conhecer e adotar regras de ergonomia e exploração de diferentes tipos de software Prof.: Alexandra Matias Sumário Conhecer as

Leia mais

Notas de versão. Versão 3.16.1.0

Notas de versão. Versão 3.16.1.0 Notas de versão Sistema Gescor Versão 3.16.1.0 Lançamento Abril/2016 Interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 1. Nova interface e usabilidade do sistema.

Leia mais

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6 Universidade Católica Portuguesa Direcção de Sistemas de Informação Manual de Transição TWT Sítio de Disciplina para Moodle 2.6 Manual de utilização - Docentes DSI Outubro 2014 V2.6 ÍNDICE 1 OBJETIVO DESTE

Leia mais

Sistema de Reserva de Laboratório Trabalho Semestral 2014.2. Versão 1.0

Sistema de Reserva de Laboratório Trabalho Semestral 2014.2. Versão 1.0 Sistema de Reserva de Laboratório Trabalho Semestral 2014.2 Versão 1.0 Conteúdo 1. Histórico 1 1.1 Solicitantes 1 1.2 Equipe envolvida 1 2. Conhecedor de domínio e descrição de usuário 1 2.1 Sumário dos

Leia mais