4. SISTEMAS PERICIAIS DE TEMPO REAL

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

Download "4. SISTEMAS PERICIAIS DE TEMPO REAL"

Transcrição

1 4. SISTEMAS PERICIAIS DE TEMPO REAL O que é a Inteligência Artificial? A inteligência artificial pode analisada segundo diversas perspectivas: 1. Inteligência Tornar as máquinas inteligentes -- espera-se que reajam da mesma forma que um humano. 2. Investigação A inteligência artificial é o estudo de como fazer com que os computadores façam coisas que, neste momento, os humanos fazem melhor" [Rich and Knight, 1991, p.3]. 3. Comercial Conjunto de ferramentas e metodologias utilizadas para resolver problemas comerciais. 4. Programação Estudo de programação simbólica, problem solving e pesquisa. Áreas de Investigação em IA 4.1 UNL/jab

2 Programação em IA As caracteristícas fundamentais da programação em IA são: Centralizada no processamento de símbolos Problem solving - atingir objectivos Pesquisa - várias técnicas As Linguagens mais utilizadas em IA são: Lisp - programação funcional; processamento de listas Prolog - baseia-se na lógica de 1ª ordem; declarativa OOP - Smalltalk, CLOS, Prolog L&O, C++, Java Os conceitos mais importantes da programação orientada por objectos são: Existência de objectos e mensagens. Os objectos encapsulam os dados e métodos que manuseiam os dados. O emissor especifica o que vai ser utilizado enquanto que o receptor determina o modo como o vai fazer. O mecanismo de herança é fundamental para a classificação e reutilização. Definições de Expert Systems Existem várias definições do que faz um sistema pericial (expert system) que variam de acordo com os várias aplicações deste tipo de sistemas. Algumas das mais significativas: "... a computer program that behaves like a human expert in some useful ways." [Winston & Prendergast, 1984, p.6] "... solve problems efficiently and effectively in a narrow problem area." [Waterman, 1986, p.xvii] "... typically, pertains to problems that can be symbolically represented" [Liebowitz, 1988, p.3] "... apply expert knowledge to difficult real world problems" [Waterman, 1986, p.18] "... solve problems that are difficult enough to require significant human expertise for their solution" [Edward Feigenbaum in Harmon & King, 1985, p.5] "... address problems normally thought to require human specialists for their solution" [Michaelsen et al, 1985, p. 303]. 4.2 UNL/jab

3 ... can offer intelligent advice or make an intelligent decision about a processing function." [British Computer Society's Specialist Group in Forsyth, 1984, pp.9-10] "... the capability of the system, on demand, to justify its own line of reasoning in a manner directly intelligible to the enquirer." [British Computer Society's Specialist Group in Forsyth, 1984, p.9-10] Existem também várias maneiras de um sistema pericial fazer a sua tarefa, que se reflectem nas definições seguintes: Usa técnicas de IA "... using the programming techniques of artificial intelligence, especially those techniques developed for problem solving" [Dictionary of Computing, 1986, p.140] Conhecimento - knowledge "a computer based system in which representations of expertise are stored..." [Edwards and Connell, 1989, p.3] Separação entre conhecimento e control... make domain knowledge explicit and separate from the rest of the system" [Waterman, 1986, p.18] Utilização de inferência - heuristicas - incerteza "... an intelligent computer program that uses knowledge and inference procedures" [Edward Feigenbaum in Harmon & King, 1985, p.5] "Exhibit intelligent behavior by skillful application of heuristics." [Waterman, 1986, p.18]. Modelar o conhecimento "... representation of domain-specific knowledge in the manner in which the expert thinks" [Liebowitz, 1988, p.3] Como funciona o raciocínio humano? Criação de categorias uma resistência é um componente passivo; um componente passivo é um componente Utilização de regras if alarme_temperatura then liga_arrefecimento; Utilização de Heurísticas 4.3 UNL/jab

4 se vou utilizar apenas operações de stacking então é mais conveniente utilizar um robot do tipo SCARA. Podem-se utilizar regras para exprimir heurísticas Experiência anterior (case based reasoning) Expectativas tipos de comportamentos se o comportamento for diferente da expectativa então algo se passa Como raciocinar em termos computacionais? O raciocínio computacional pode ser suportado através de: Frames Regras Os frames têm atributos que representam as propriedades das entidades que representam enquanto que os métodos representam a funcionalidade. Podem ser criadas hierarquias através de relações is-a. O conjunto de regras chama-se knowledge base Experiência case based reasoning O conjunto da informação que representa a experiência chama-se case base Pattern matching verificação e validação de determinadas entidades como por exemplo cartões de crédito Conhecimento versus Dados Apesar da semelhança existe uma grande diferença entre dados e conhecimento como se pode verificar a seguir: Processamento de Dados Representação e Utilização de Dados 4.4 UNL/jab

5 Utilizam-se algoritmos Processos Repetitivos Grandes Bases de Dados Engenharia de Conhecimento Representação e Utilização de Conhecimento Utilizam-se heurísticas Processos de Inferência Grandes Bases de Conhecimento Sistemas Periciais Expert Systems Os princípios fundamentais associados aos sistemas periciais são: O conhecimento envolve pensamento lógico A modelação do conhecimento faz-se através de proposições lógicas O conhecimento é feito à custa de transformações impostas por regras, seguindo um pouco o modelo euclediano em que a partir de um conjunto de axiomas se gera um conjunto de teoremas Os sistemas periciais têm passado por várias fases, desde o seu aparecimento. Numa primeira fase começaram por ser meros solucionadores de problemas. Com o avanço da investigação em IA, passou-se a uma segunda fase em que para além de se solucionar problemas procurava-se também representar o conhecimento. De seguida evoluiu-se para conhecimento especializado num domínio restrito, conduzindo-se posteriormente a investigação para a utilização de sistemas periciais em ambientes de tempo real. Os sistemas periciais podem agrupar-se nas seguintes categorias: Interpretação Previsão Diagnóstico Desenho / Planeamento Monitorização Reparação Instrução 4.5 UNL/jab

6 Controle Arquitectura Os blocos fundamentais de um sistema pericial são o núcleo e a interface. O núcleo engloba a base de conhecimento e o motor de inferência. A interface engloba a interface com o utilizador e a interface com o knowledge engineer. Na figura seguinte mostra-se os diferentes blocos da arquitectura de um sistema pericial: User interface Interface inteligente com utilizador, nomeadamente ao nível da apresentação da informação e no conhecimento das preferências do utilizador - multimédia Base de dados Armazena informação relevante para o problema 4.6 UNL/jab

7 Motor de inferência As expert system shells incluem à partida um motor de inferência que pode ser configurado Base de Conhecimento Contém a maior parte do conhecimento utilizado para resolver o problema Como se pode ver também na figura seguinte a base de conhecimento é separada do motor de inferência. O conhecimento é mantido de uma forma explícita e declarativa. O motor de inferência leva ao conhecimento útil através do conhecimento. Num Sistema Pericial o domínio de aplicação é restringido, de forma a permitir que o motor de inferência possa obter conhecimento útil, num tempo aceitável. Expert System Base de Conhecimento Motor de Inferência Factos Regras Interpretador Escalonador Sobre a base de conhecimento podem ainda considerar-se os seguintes comentários: As regras podem ser do tipo backward (prolog) ou do tipo forward (clips) Nas regras do tipo forward - IF cond THEN acção, ou backward -accão SE cond, as condições são geralmente um facto existente na base de conhecimento. As accões podem ser: operações sobre o mundo exterior, por exemplo, movimentar um robô. verificar uma outra regra adicionar um novo facto à base de conhecimento, como por exemplo: IF nao_existe_garra THEN assert(operação_impossível) As regras podem ser sobre conhecimento prévio como é o caso do conjunto de regras sobre como fazer o encaminhamento de paletes num dado sistema As regras podem representar heurísticas Os factores de confiança - CF, indicam o grau de certeza que se tem na validade da regra ou facto 4.7 UNL/jab

8 Sobre o motor de inferência pode-se ainda referir o seguinte: É responsável pela execução das regras (BC) que levam à solução do problema, de acordo com os factos que existem na BC. A execução implica uma estratégia de pesquisa e selecção das regras que é possível executar em cada momento. Em problemas muito complexos é impossível pesquisar todos os possíveis caminhos, descritos pelas regras e factos, devendo, por isso, utilizarem-se métodos heurísticos e não algorítmicos, por forma a garantir uma solução em tempo útil - explosão combinatória. O scheduler determina qual a regra que vai ser considerada (algoritmo de Rete) A facilidade de fornecer explicações é uma das características mais importantes de um Sistema Pericial. A sua existência conduz à validação dos resultados do Sistema Pericial, por utilizadores que desconhecem completamente quais as inferências utilizadas. Como escolher um problema para resolver com um sistema pericial? A necessidade deve compensar os custos envolvidos O conhecimento humano não existe para todas as situações em que é necessário O problema pode ser resolvido utilizando técnicas simbólicas O problema está bem estruturado e não requere muito conhecimento de senso comúm. O problema não pode ser resolvido utilizando os paradigmas de programação mais tradicionais Existem especialistas sobre o problema em análise com disponibilidade para participar no desenvolvimento sistema pericial O problema deve ter um domínio perfeitamente definido e de tamanho aceitável Agenda Num Sistema Pericial Comúm as regras que estão em condições de disparar são colocadas num local denominado AGENDA. Existem diversas filosofias sobre qual a regra, entre as existentes na AGENDA, que vai ser disparada. A filosofia mais conhecida para disparo das regras é o Algoritmo de Rete. 4.8 UNL/jab

9 Dispara a regra Regra seleccionada Factos Pattern matching Regras Resolução de conflicto Agenda Exemplo de um sistema pericial clássico Suponha-se que se pretende implementar um sistema pericial de apoio à manutenção de um circuito eléctrico muito simples, como se mostra na figura seguinte. AC O conjunto de regras indicado para resolver este problema poderia ser: if alimentacao is no then type.avaria is falta.alimentação if tensao.no.interruptor is yes and interruptor is yes then type.avaria is interruptor.estragado if alimentacao is yes and tensao.na.lampada is yes then type.avaria is lampada.fundida if alimentacao is yes and interruptor is yes then type.avaria is interruptor.estragado if alimentacao is yes and interruptor is no then type.avaria is ligue.interruptor 4.9 UNL/jab

10 Vantagens dum SP (Sistema Pericial) Permanência Humanos esquecem-se, os ES não. Replicação Facilmente pode-se duplicar um ES Eficiência aumento da produtividade, mesmo considerando os elevados custos de desenvolvimento e de manutenção. Apesar disto são muito baratos de operar. Consistência Os ES tratam uma mesma situação sempre da mesma forma. Documentação existe documentação permanente sobre a forma como foi tomada a decisão. Completude Ess podem rever todas as decisões Breadth - alargamento do campo de intervenção conhecimento de vários especialistas pode ser integrado, alargando o campo de especialização do sistema Desvantagens dum SP Senso Comúm como representar senso comúm? Criatividade os humanos são capazes de criar em situações inesperadas, os ES não. Aprendizagem Os ES clássicos são incapazes de aprender, sem a realização de acções explícitas. Os case based reasoning tentam limitar este aspecto. Aquisição Sensorial Os humanos têm acesso a uma grande quantidade de informação sensorial enquanto que os ES estão limitados a informação simbólica 4.10 UNL/jab

11 Degradação Os Ess têm grande dificuldade em identificar as situações para as quais não têm resposta Exemplo CLIPS (deftemplate goal (slot move) (slot on-top-of)) (deffunction print-moved-message (?A?B) "Prove that deffunctions work" (printout t?a " moved on top of "?B "." crlf) ) ;; STACK RULES (defrule push-value?push-value <- (push-value?value)?stack <- (stack $?rest) => (retract?push-value?stack) (assert (stack?value?rest)) (printout t "Pushing value "?value crlf)) (defrule pop-value-valid?pop-value <- (pop-value)?stack <- (stack?value $?rest) => (retract?pop-value?stack) (assert (stack?rest)) (printout t "Popped value "?value " " $?rest crlf)) (defrule pop-value-invalid?pop-value <- (pop-value) (stack) => (retract?pop-value) (printout t "Popping from empty stack" crlf)) ;; BLOCKS RULES (defrule move-directly?goal <- (goal (move?block1) (on-top-of?block2))?stack1 <- (stack?block1 $?rest1)?stack2 <- (stack?block2 $?rest2) => (retract?goal?stack1?stack2) (assert (stack?rest1)) (assert (stack?block1?block2?rest2)) (print-moved-message?block1?block2)) 4.11 UNL/jab

12 (defrule move-to-floor?goal <- (goal (move?block1) (on-top-of floor))?stack1 <- (stack?block1 $?rest) => (retract?goal?stack1) (assert (stack $?block1)) (assert (stack $?rest)) (print-moved-message?block1 "floor")) (defrule clear-upper-block (goal (move?block1)) (stack?top $?X?block1 $?Y) => (assert (goal (move?top) (on-top-of floor)))) (defrule clear-lower-block (goal (on-top-of?block1)) (stack?top $?X?block1 $?Y) => (assert (goal (move?top) (on-top-of floor)))) ;; Initial conditions (deffacts initial-data (stack A B C) (stack D E F) (goal (move C) (on-top-of E))) Sistemas Periciais de Tempo Real Um sistema de tempo real define-se como sendo um sistema em que a correcta execução não depende apenas da execução lógica das operações mas do tempo em que essas operações são executadas Existem algumas incompatibilidades entre os sistemas periciais e os sistemas de tempo real. Essencialmente devido a problemas de gestão de memória. Nos sistemas periciais o garbage collection limita bastante a resposta de tempo real. Os tempos de resposta não são garantidos e utilizam-se recursos desconhecidos do ponto de vista de resposta temporal. Uma vez que os dados não são estáticos surgem os seguintes problemas: não monoticidade os dados não se mantêm ao longo da execução do programa os dados podem não ser duráveis ou perdem validade ao longo da execução, obrigando a que todas as conclusões dependentes sejam removidas 4.12 UNL/jab

13 temporal reasoning o sistema tem necessidade de raciocinar sobre eventos passados, presentes e futuros ligação com software externo o sistema tem de ser integrado com software convencional para o processamento das entradas e saídas eventos assíncronos o sistema deve ser capaz de ser interrompido e tratar de eventos não previstos focalização do problema o sistema deve ser capaz de alterar o foco do problema. Existem diversas bases de conhecimento, cada uma com a sua área de especialização. O sistema deve poder focalizar muito rapidamente conhecimento específico sem deterioração das tarefas. Por estas razões existem muito poucas shells capazes de suportar estes problemas. A excepção é o G2. No controlo de tempo real digital é muito importante o período de amostragem. O tempo que a máquina de inferência demora a avaliar as regras está directamente relacionado com esse período, daí que se utilize progressive reasoning. A ideia geral do progressive reasoning é: dividir o raciocínio em várias bases de regras (progressive deepening). Cada parte da base de regras detalha melhor o problema. quando uma base de regras foi avaliada e continua a existir tempo, avalia-se uma nova base de regras com conhecimento mais aprofundado, para obter uma melhor conclusão. Em qualquer altura o sistema pode utilizar uma das conclusões intermédias, desde que pelo menos uma conclusão tenha sido gerada, diminuindo o período de amostragem. O progressive reasoning é muito adequado para o controlo de processos. As camadas de conhecimento mais gerais são utilizadas para implementar directamente o controlador, enquanto que as camadas seguintes lidam com formas mais avançadas de control, tais como supervisão ou controlo adaptativo. O período de amostragem nunca poderá ser inferior ao tempo necessário para lidar com a camada de conhecimento mais geral UNL/jab

14 Dois problemas aparecem associados ao progressive reasoning: nem sempre é possível dividir o problema em várias camadas este problema deixa-se para o designer tempo de amostragem é tão baixo que apenas as camadas mais gerais são processadas resolve-se utilizando amostragem adaptativa - varia-se o tempo de amostragem Truth Maintenance Systems TMS O novo conhecimento vai sendo adicionado à base de conhecimento e aí permanece até que seja explicitamente removido. Mas, em sistemas de tempo real, o conhecimento pode ser válido apenas durante um certo tempo ou deixar de ser válido a partir de uma determinada altura, necessitando-se por isso de um TMS. O TMS fornecem non monotonic reasoning, isto é o crescimento do conhecimento não é monótono com o tempo. Eventos que podem tornar o conhecimento inválido: novo conhecimento gerado pelas regras que tornam inválido conhecimento antigo algum conhecimento pode ser válido apenas durante um certo tempo dado que o sistema pode alterar a sua condição. Todo o conhecimento que dependa de valores relacionados com desempenho deve ser retirado da base de conhecimento. O TMS anota todos os passos do processo de inferência, o que apesar de ser um processo que requer tempo é fundamental. Representação Temporal Importante a utilização de lógica que expresse informação temporal. Os modelos temporais mais significativos em IA são: baseados em intervalos (interval based models) representação explicíta (point based) A informação temporal mais importante são os seus valores passados, o valor corrente e eventualmente uma lista de valores previsiveis. Arquitectura Utilização de um blackboard com várias fontes de conhecimento que comunicam paralelamente permite uma aproximação distribuída. Cada uma das fontes de conhecimento implementa uma visão possível do sistema a controlar. Cada uma delas coopera com as restantes para a resolução do problema global UNL/jab

15 Cada fonte de conhecimento tem as seguintes características: contém o conhecimento acerca de um subproblema os dados são armazenados numa estrutura comúm partilham informação através de um mecanismo do blackboard nenhuma fonte de conhecimento partilha directamente os dados com outra fonte de conhecimento A arquitectura consiste em vários sistemas periciais a trabalhar em paralelo (fontes de conhecimento), cada um dedicado a um subproblema, e comunicando entre si através de um blackboard. Os componentes do blackboard são os seguintes: base de dados Armazena a informação dos vários sub sistemas periciais e fornece meios para a sua gestão. A concorrência no acesso é um dos pontos críticos. Alguns pontos importantes na organização da base de dados: representação de conhecimento temporal actualização e leitura da informação presente na base de dados gestão da incerteza formalismo de cada subsistema pericial (fonte de conhecimento) cada fonte de conhecimento engloba uma tarefa que tem de ser executada usando a sua própria máquina de inferência existem diversos algoritmos de reasoning sendo os mais conhecidos o de Rete e o Progressive Reasoning componentes de control determina qual o subsistema pericial que é escalonado com a mais alta prioridade para cumprir o deadline e qual o que acede à base do blackboard. Soluções típicas de escalonamento prioridades 4.15 UNL/jab

16 deadline progressive reasoning Um outro tipo de arquitectura para sistemas periciais de tempo real é a arquitectura state based. Nesta arquitectura existe apenas um processo em execução simultânea, eliminado-se as necessidades de acesso exclusivo à informação. A utilização desta arquitectura elimina a necessidade de previsão de alguns dos tempos associados à execução do sistema pericial, mas não evita a necessidade de prever o tempo de execução do processo de inferência. Para resolver este último aspecto utiliza-se um compilador de regras que transforma o conjunto de regras num conjunto de funções não recursivas de uma linguagem tradicional. Estas funções têm um tempo de execução quase completamente independente dos dados de entrada, sendo possível determinar os tempos de execução para o pior dos casos. As funções representam o conhecimento existente na base de conhecimento. Exemplo de um sistema pericial de tempo real O NECTAR - Neural and Expert ConTrol of AircRafts é uma aplicação de inteligência artificial aplicada ao controlo de voo, tendo sido desenvolvido pela Universidade de Delft. Esta aplicação desenvolveu Sistemas Periciais para atingir 3 objectivos supervisão de outros controladores (redes neuronais) assistência a algumas fases críticas de voo que requerrem procedimentos muito restritos, como por exemplo as situações de emergência. Os sistemas periciais são muito mais indicados para tarefas discretas como posicionamento de flaps e trem de aterragem do que as redes neuronais. monitorar o desempenho dos controladores com redes neuronais e desencadear acções correctivas. O sistema pericial pode garantir o funcionamento do sistema mesmo fora dos limites de validade do controlador neuronal As duas funções fundamentais do NECTAR são: (1) controlo de alto nível - pode, por exemplo, abortar uma aterragem no caso de acontecer uma qualquer situação limitativa e (2) monitoração do desempenho do controlador de baixo nível, impondo alterações se necessário. Integrar regras com aplicações Neste ponto pretende-se discutir o desenvolvimento de aplicações que têm de interagir com sistemas periciais ou o desenvolvimento do próprio sistema de regras. A integração das regras no sistema a desenvolver pode acontecer das seguintes formas: Codificar manualmente as regras em linguagens como Basic, Pascal, C, sujeita a erros e muito demorada, sendo muito difícil verificar que as regras foram correctamente codificadas Usar ferramentas gráficas de geração de aplicações, como por exemplo, Powerbuilder 4.16 UNL/jab

17 funciona bem apenas para um limitado número de regras Utilizar um sistema pericial clássico é uma solução bastante boa já que evita a necessidade de escrever o código de sequenciação das regras. Mas o facto de o sistema pericial interpretar as regras em runtime torna-o mais lento. Por outro lado a sua integração com outras aplicações é também mais difícil Utilizar um compilador de regras - RTExpert as regras são codificadas seguindo uma sintaxe típica de um sistema de regras sendo transformadas em código de uma das linguagens tradicionais. As regras podem assim ser verificads por programadores não tradicionais antes de serem transformadas em código. Posteriormente são ligadas com a aplicação e asua execução em run-time é bastante mais rápida do que no sistema pericial clássico. O RTExpert é um sistema de desenvolvimento de sistemas periciais cuja arquitectura de desenvolvimento é indicada na figura seguinte: Business Rules Automated Code Translation Compiler C++ Code Artis Code Libraries Compile & Link Operational Software Other Code No RT-Expert as regras são compiladas em subrotinas C e o processo de linkagem é feito ao mesmo tempo. A integração faz-se chamando apenas uma subrotina C. Contém um mecanismo de execução de regras data-flow, que é linkado directamente com a aplicação, e transfere a execução de fluxo de umas regras para as outras. As regras são agrupadas em subrotinas. A linguagem de declaração de regras chama-se DSL (Decision Support Language). De seguida mostram-se exemplos de regras em RTExpert UNL/jab

18 RTSUB mostra_posicao (pos: ATTRIB integer) IS BEGIN IF pos = undefined THEN pos := 1; IF time_now - pos'time < 3 second THEN BEGIN PRINC "Estou no andar ", pos, " as ", time_now; END; END; RTSUB get_ctl (botao : ATTRIB integer; sandar : ATTRIB integer) IS DECLARE RUN, STOP ARE SYMBOLIC CONSTANT; c IS CHAR; BEGIN IF kbhit /= 0 THEN c := getch; IF c = 'ESC' THEN exit (0); IF c = '1' THEN botao := 1; IF c = '2' THEN botao := 2; IF c = '3' THEN botao := 3; IF c = '4' THEN botao := 4; IF c = '5' THEN botao := 5; IF c = 'a' OR c = 'A' THEN sandar := 1; IF c = 'b' OR c = 'B' THEN sandar := 2; IF c = 'c' OR c = 'C' THEN sandar := 3; IF c = 'd' OR c = 'D' THEN sandar := 4; IF c = 'e' OR c = 'E' THEN sandar := 5; IF c HAS CHANGED THEN PRINC "Control is ", c; END; G2 - Real Time Expert System Ambiente de desenvolvimento para aplicações de controlo inteligente em tempo real. As suas principais características são: execução concorrente em tempo real programação orientada a objectos gráficos interactivos 4.18 UNL/jab

19 raciocínio rule-based e model-based. Procedimentos em execução concorrente através de multithreads modelação dinâmica e simulação interfaces com sistemas reais (PLCs, PCs, ) e bases de dados Os objectos representam os comportamentos e propriedades das entidades presentes no sistema a controlar. É possível atribuir regras a classes de objectos e estabelecer relações entre eles. A modelação dinâmica faz-se através de regras, relações, e fórmulas. As regras podem ser event-driven (forward) ou data-driven (backward). Inclui uma ferramenta de desenvolvimento de interfaces gráficas (GUIDE) que permite desenvolver interfaces com janelas. É suportado por uma grande variedade de plataformas como: IBM, HP, SUN, MS Windows, Windows NT,... Nas figuras seguintes mostram-se imagens de aplicações desenvolvidas em G UNL/jab

20 4.20 UNL/jab

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

Estrutura de um Sistema Especialista

Estrutura de um Sistema Especialista Sistemas Especialistas Difusos Estrutura de um Sistema Especialista Prof. Max Pereira http://paginas.unisul.br/max.pereira Áreas de Aplicação da IA SISTEMAS Sistemas Especialistas (Baseados em Conhecimento)

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2 Testes de Software Sumário Objectivos Técnicas Casos Notáveis Exemplo Conclusões Testes de Software 2 Objectivos Verificação o programa está de acordo com a especificação (construímos bem o produto?) Validação

Leia mais

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng. Aula teórica 3 Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java Preparado por eng.tatiana Kovalenko Linguagens de Programação Para escrever programas é necessário

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: sergio.nunes@fe.up.pt web: www.fe.up.pt/~ssn Sumário Definição

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

Sistemas de Apoio à Decisão. Vocabulário e conceitos Vista geral

Sistemas de Apoio à Decisão. Vocabulário e conceitos Vista geral Sistemas de Apoio à Decisão Vocabulário e conceitos Vista geral Decisão A escolha de uma entre várias alternativas Processo de tomada de decisão (decision making) Avaliar o problema Recolher e verificar

Leia mais

SISTEMAS INTELIGENTES DE APOIO À DECISÃO

SISTEMAS INTELIGENTES DE APOIO À DECISÃO SISTEMAS INTELIGENTES DE APOIO À DECISÃO As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas

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

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

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários...

NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX. No Renascimento de uma Nova Era... IX PREÂMBULO... XIII. Organização do livro... xiii. Destinatários... NOTA À 2ª EDIÇÃO... VII PREFÁCIO... IX No Renascimento de uma Nova Era... IX Índice PREÂMBULO... XIII Organização do livro... xiii Destinatários... xiv Utilização do livro... xiv Agradecimentos... xiv

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Sistemas Robóticos. Sumário. Introdução. Introdução. Arquitecturas de Controlo. Carlos Carreto

Sistemas Robóticos. Sumário. Introdução. Introdução. Arquitecturas de Controlo. Carlos Carreto umário istemas Robóticos de Controlo Introdução deliberativas reactivas híbridas baseadas em comportamentos Carlos Carreto Curso de Engenharia Informática Ano lectivo 2003/2004 Escola uperior de Tecnologia

Leia mais

Características do Software

Características do Software Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso

Leia mais

Metodos de Programação

Metodos de Programação Metodos de Programação Métodos de Programação Introdução Informática, Computador, Algoritmo Informática: Ciência do processamento da informação Computador: Máquina que serve para processar informação Algoritmo:

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

Protótipo tipo de Sistema Especialista Para Área Comercial Utilizando a Ferramenta SPIRIT

Protótipo tipo de Sistema Especialista Para Área Comercial Utilizando a Ferramenta SPIRIT Protótipo tipo de Sistema Especialista Para Área Comercial Utilizando a Ferramenta SPIRIT Jonas Luchtenberg Orientador: Maurício Capobiano Lopes Roteiro de Apresentação Introdução Objetivo Principal Sistemas

Leia mais

SISTEMAS DE APOIO À DECISÃO SAD

SISTEMAS DE APOIO À DECISÃO SAD SISTEMAS DE APOIO À DECISÃO SAD Conceitos introdutórios Decisão Escolha feita entre duas ou mais alternativas. Tomada de decisão típica em organizações: Solução de problemas Exploração de oportunidades

Leia mais

Módulo 6: Inteligência Artificial

Módulo 6: Inteligência Artificial Módulo 6: Inteligência Artificial Assuntos: 6.1. Aplicações da IA 6.2. Sistemas Especialistas 6.1. Aplicações da Inteligência Artificial As organizações estão ampliando significativamente suas tentativas

Leia mais

Desenvolvendo um Sistema Especialista baseado em regras para resolução de problemas na conexão de Internet no Software ExpertSinta

Desenvolvendo um Sistema Especialista baseado em regras para resolução de problemas na conexão de Internet no Software ExpertSinta Desenvolvendo um Sistema Especialista baseado em regras para resolução de problemas na conexão de Internet no Software ExpertSinta Fhabiana Thieli dos Santos Machado Universidade Regional Integrada do

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Desenho de Software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt desenho Desenho (dicionário Priberam on-line) do Lat.! designu s. m., arte de representar

Leia mais

Aspectos técnicos do desenvolvimento baseado em componentes

Aspectos técnicos do desenvolvimento baseado em componentes Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos

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

TABELA 3.1 Requisitos do Windows Server 2008 Standard

TABELA 3.1 Requisitos do Windows Server 2008 Standard 3 3INSTALAÇÃO DE UM SERVIDOR 2008 Feita a apresentação das funcionalidades do Windows Server 2008, eis que chega a hora mais desejada: a da implementação do nosso servidor. No entanto não é de todo recomendável

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Curso Técnico em Redes

Curso Técnico em Redes Curso Técnico em Redes Prof. Airton Ribeiro - 2012 Histórico das Linguagens de Programação O que é? É um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 10: Construção de GUIs Parte I Sumário das tarefas e objectivos da aula: 1. Identificar os vários componentes das GUIs 2.

Leia mais

Sistemas especialistas

Sistemas especialistas Sistemas especialistas Motor de Inferência para Sistemas Especialistas baseados em Regras de Produção Arquitetura geral: Base de conhecimento Mecanismo de raciocínio Interface com o usuário Motor de inferência

Leia mais

Parte II Introdução a Linguagens de Programação

Parte II Introdução a Linguagens de Programação Programação de Computadores III Aula 1 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática Curso Conexão Noções de Informática Aula 2 Arquitetura de Computadores (Software) Agenda Introdução; Tipos de Software; Básico; Aplicativo; Livre; Proprietário. Pirataria de Software; Demos, Freewares

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

AUTOMAÇÃO E ROBÓTICA 2002/2003

AUTOMAÇÃO E ROBÓTICA 2002/2003 AUTOMAÇÃO E ROBÓTICA 2002/2003 CONTROLO DO ELEVADOR EXISTENTE NO LABORATÓRIO ATRAVÉS DO PROGRAMA BORLAND DELPHI 7 Realizado por: Ana Luísa Martins Carla sofia Flores 1. Objectivo O objectivo deste trabalho

Leia mais

SISTEMA INTELIGENTE PARA DETECÇÃO DE FALHAS COM RACIOCÍNIO NÃO-MONOTÔNICO

SISTEMA INTELIGENTE PARA DETECÇÃO DE FALHAS COM RACIOCÍNIO NÃO-MONOTÔNICO SISTEMA INTELIGENTE PARA DETECÇÃO DE FALHAS COM RACIOCÍNIO NÃO-MONOTÔNICO Abílio de Assis * e Roberto Schirru ** * Instituto de Engenharia Nuclear - IEN - CNEN/RJ Caixa Postal 68550 21945-970, Rio de Janeiro,

Leia mais

Representação do Conhecimento

Representação do Conhecimento UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Representação do Conhecimento Licenciatura em Engenharia Informática e de Computadores Repescagem Segundo teste 0 de Julho de 004, 9:00H 0:0H Nome:

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

RBC no Auxílio de Avaliações Imobiliárias

RBC no Auxílio de Avaliações Imobiliárias RBC no Auxílio de Avaliações Imobiliárias Adauto Trigueiro, Alcione da Costa Pinheiro, Clerton Filho, Kátia Silva Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande (UFCG)

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Projecto de Reengenharia dos Postos de Trabalho BANIF e BCA

Projecto de Reengenharia dos Postos de Trabalho BANIF e BCA Projecto de Reengenharia dos Postos de Trabalho BANIF e BCA 19 November 2007 Objectivos para o BANIF Standardização dos postos de trabalho Focar a equipa de IT em tarefas pro-activas de gestão, minimizando

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Sistemas Baseados em Regras Aula2: Conceituação Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Um problema de matemática... 4 jogadores de golfe estão organizados em

Leia mais

Guião de Introdução ao Eclipse IDE Índice

Guião de Introdução ao Eclipse IDE Índice Índice 1. Introdução... 2 1.1. O que é um ambiente de desenvolvimento (IDE)?... 2 1.2. Visão geral sobre o Eclipse IDE... 2 2. Iniciar o Eclipse... 3 2.1. Instalação... 3 2.2. Utilizar o Eclipse... 3 3.

Leia mais

Projeto de Sistemas de Tempo Real

Projeto de Sistemas de Tempo Real Projeto de Sistemas de Tempo Real Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides elaborados pelo professor Marcio Cornélio O autor

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2011 / 2012 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem

Leia mais

2.3. Sistemas de Informação

2.3. Sistemas de Informação 2.3. Sistemas de Informação 2.3.1. Sistema Comecemos por observar como definem diversos autores o que será um sistema, sistema é um conjunto complexo de inúmeras partes que interagem (MAXIMIANO, Antonio

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

Sistemas de Manutenção da Verdade-4. "Truth Maintenance System" Objectivos de um TMS: 1. Identificar a responsabilidade pelas conclusões

Sistemas de Manutenção da Verdade-4. Truth Maintenance System Objectivos de um TMS: 1. Identificar a responsabilidade pelas conclusões Sistemas de Manutenção da Verdade-1 Sistemas de Manutenção da Verdade-2 Sistemas de Manutenção da Verdade TMS "Truth Maintenance System" Um sistema de manutenção da verdade ou TMS é um mecanismo que auxilia

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux System API Máquinas virtuais System ISA (Instruction Set Architecture) Aplicações Chamadas ao sistema Sistema de Operação Hardware User ISA (Instruction Set Architecture) Uma máquina virtual executa software

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Programas e Programação

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.

Leia mais

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas Programa Programação de Microprocessadores 1º Ano 2º Semestre A arquitectura dos computadores A linguagem C 1 aula 7 aulas Talvez haja mais algum assunto a abordar nas aulas seguintes Mestrado Integrado

Leia mais

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas

Informática. Conceitos Básicos. Informação e Sistemas de Informação. Aula 3. Introdução aos Sistemas Informática Aula 3 Conceitos Básicos. Informação e Sistemas de Informação Comunicação Empresarial 2º Ano Ano lectivo 2003-2004 Introdução aos Sistemas A Teoria dos Sistemas proporciona um meio poderoso

Leia mais

PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B

PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B PLANIFICAÇÕES SECUNDÁRIO PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B 12º ANO DE ESCOLARIDADE CONTEÚDOS PROGRAMÁTICOS Introdução à Programação Introdução Linguagens naturais e formais Algoritmos

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Introdução à Inteligência Artificial (Capítulo 1 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Áreas de Apoio para IA 3. Sub-Áreas da IA 4.

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Curso Engenharia Civil Modalidade Superior Professora Michelle Nery Agenda Introdução a Programação Algoritmos VS Programa 2 Algoritmos Um algoritmo pode ser definido como uma

Leia mais

Tolerância a Faltas. Índice. Terminologia. Replicação Passiva e activa Modelo Transaccional Transacções distribuídas

Tolerância a Faltas. Índice. Terminologia. Replicação Passiva e activa Modelo Transaccional Transacções distribuídas Tolerância a Faltas Índice Terminologia Falta, erro, falha Fiabilidade, disponibilidade Replicação Passiva e activa Modelo Transaccional Transacções distribuídas Sistema Computacional Sistema computacional:

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br Algoritmos Partes básicas de um sistema computacional: Hardware, Software e Peopleware Hardware - Componentes físicos de um sistema de computação, incluindo o processador, memória, dispositivos de entrada,

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação DOMÍNIOS (Unidades) UNIDADE 1 INTRODUÇÃO À PROGRAMAÇÃO Introdução Conteúdos Objetivos Estratégias/ recursos Conceitos fundamentais Teste e controlo de erros em algoritmia Estruturas de controlo Arrays

Leia mais

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino

Sistemas Baseados em Regras. Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Sistemas Baseados em Regras Aula3: Drools Profa. Patrícia Dockhorn Costa pdcosta@inf.ufes.br www.inf.ufes.br/~pdcosta/ensino Drools Business Logic integration Platform Plataforma integrada para gerenciamento

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Aula I Apresentação Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Professor EDILBERTO M. SILVA edilms@yahoo.com Bacharel em Ciência

Leia mais

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional Tolerância a Faltas Sistema Computacional Sistema computacional: Formado por um conjunto de componentes internas Contém um estado interno Está sujeito a um conjunto de entradas, ou estímulos externos Tem

Leia mais

Curso Técnico Superior Profissional em Desenvolvimento Web

Curso Técnico Superior Profissional em Desenvolvimento Web Curso Técnico Superior Profissional em Desenvolvimento Web PROVA DE AVALIAÇÃO DE CAPACIDADE REFERENCIAL DE CONHECIMENTOS E APTIDÕES Áreas relevantes para o curso de acordo com o n.º 4 do art.º 11.º do

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

Leia mais

Introdução. Capítulo 1

Introdução. Capítulo 1 Capítulo 1 Introdução Em computação, muitos problemas são resolvidos por meio da escrita de um algoritmo que especifica, passo a passo, como resolver um problema. No entanto, não é fácil escrever um programa

Leia mais

Manual do Utilizador Aluno

Manual do Utilizador Aluno Manual do Utilizador Aluno Escola Virtual Morada: Rua da Restauração, 365 4099-023 Porto PORTUGAL Serviço de Apoio ao Cliente: Telefone: (+351) 707 50 52 02 Fax: (+351) 22 608 83 65 Serviço Comercial:

Leia mais

Capítulo 1. Linguagens e processadores

Capítulo 1. Linguagens e processadores Capítulo 1. 1. Linguagens 1.1. Definição Definição : Uma linguagem L sobre um alfabeto, também designado com frequência por vocabulário, V, é um conjunto de frases, em que cada frase é uma sequência de

Leia mais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Princípios de sistemas operativos Rui Maranhão (rma@fe.up.pt) Agenda objectivos de um computador objectivos de um sistema operativo evolução dos sistemas operativos tipos de sistemas

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

em torno do Planeamento da Produção e da Gestão de Operações

em torno do Planeamento da Produção e da Gestão de Operações workshop Competir e Inovar na Gestão em torno do Planeamento da Produção e da Gestão de Operações Jorge Pinho de Sousa (jsousa@inescporto.pt) Fevereiro 2008 agenda 1. planeamento e escalonamento de operações

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial As organizações estão ampliando significativamente suas tentativas para auxiliar a inteligência e a produtividade de seus trabalhadores do conhecimento com ferramentas e técnicas

Leia mais

Satisfação de Restrições. Capítulo 5 (disponível online)

Satisfação de Restrições. Capítulo 5 (disponível online) Satisfação de Restrições Capítulo 5 (disponível online) Sumário Problemas de Satisfação de Restrições (CSPs) Procura com Retrocesso para CSPs Procura Local para CSPs Estrutura dos CSPs Problemas de Satisfação

Leia mais

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / 2013. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / 2013. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2012 / 2013 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem

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

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária Execução do a calcula-se determinada solução (output) para determinado problema (input) usando um a que é executado no dados do problema (informação de entrada) a solução (informação resultante) Codificação

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

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente

Um compilador é um programa que lê um programa escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num programa equivalente Capítulo 1 Introdução Um compilador é um que lê um escrito numa dada linguagem, a linguagem objecto (fonte), e a traduz num equivalente numa outra linguagem, a linguagem destino Como parte importante neste

Leia mais

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X Índice Traduzindo e iniciando uma aplicação Compiladores Assembladores Linkers Loaders DLLs Iniciando um programa em Java Após toda a matéria abordada nesta

Leia mais

Introdução à Programação 2006/07. Computadores e Programação

Introdução à Programação 2006/07. Computadores e Programação Introdução à Programação 2006/07 Computadores e Programação Objectivos da Aula Noção de computador. Organização Interna de um Computador Noção de Sistema Operativo. Representação digital de informação

Leia mais

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções) Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando

Leia mais

Artigo desnecessario escrever a palavra artigo. SISTEMAS ESPECIALISTAS Definições e Exemplos.

Artigo desnecessario escrever a palavra artigo. SISTEMAS ESPECIALISTAS Definições e Exemplos. Artigo desnecessario escrever a palavra artigo SISTEMAS ESPECIALISTAS Definições e Exemplos. Autor: Marcelo Strehl. (centrado; faltou dizer de onde é, isto é sua filiação; além disto não se coloca a palara

Leia mais

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL PERFIL 3001 - Válido para os alunos ingressos a partir de 2002.1 Disciplinas Obrigatórias Ciclo Geral Prát IF668 Introdução à Computação 1 2 2 45 MA530 Cálculo para Computação 5 0 5 75 MA531 Álgebra Vetorial

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

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