Introdução a Sistemas Multiagente

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

Download "Introdução a Sistemas Multiagente"

Transcrição

1 Introdução a Sistemas Multiagente Ricardo Azambuja Silveira Junho de 2006

2 1. Introdução Entre as muitas definições de computação, uma das mais populares é aquela que define computação como a solução de um problema, ou formalmente, o cálculo de uma função, através de um algoritmo. O maior problema desta definição é que ela traz embutida o fato de que o método para a solução do problem é realizado através de um algoritmo, no entanto, existem muitos problemas, que poderíamos chamar de complexos, que não possuem solução algorítmica conhecida ou cuja solução através de um algoritmo tem complexidade NP-Completa, o que os tornam, na prática, não-computáveis, pois o tempo e recursos necessários para achar a solução do problema através de técnicas convencionais excede as capacidades computacionais atualmente disponíveis. É justamente neste ponto que surge a Inteligência Artificial (IA) como área da Ciência da Computação que se propõe e pesquisar e desenvolver métodos e estratégias para a solução de problemas complexos através da representação e manipulação de conhecimento. Assim, é de extrema importância que antes de procurar a solução de um problema, se procure analisalo tendo em vista o melhor método para a sua solução. Um problema pode ser definido como um objeto matemático P={D, R, q}, consistindo de dois conjuntos não vazios, D os dados e R os resultados possíveis e q uma relação binária, a condição, que caracteriza uma solução satisfatória, associando a cada elemento do conjunto de dados a solução desejada. Resolver um problema então, será encontrar um modo de implementar esta função, ou de aproximá-la com o conhecimento disponível. Existem vários modos de definir uma função: explicitamente ou por enumeração exaustiva; declarativamente; através de uma fórmula ou por um algoritmo; e por exemplos; podemos considerar que o modo como a função que representa um problema está definida nos guia na escolha da metodologia para a implementação desta função, ou seja, na busca da solução do problema. Um dos principais objetivos da Inteligência Artificial (IA) é pesquisar e desenvolver métodos e estratégias para a solução de problemas complexos através da representação e manipulação de conhecimento. Dependendo da abordagem adotada, tanto o modo de manipular conhecimento como a forma de adquiri-lo, armazená-lo e empregá-lo diferem Assim, podemos identificar diferentes sub-áreas da IA baseadas emdiferentes paradigmas A Inteligência Artificial Simbólica (IAS) que tem como princípio a hipótese do sistema de símbolos físicos no qual um sistema simbólico é capaz de manifestar um comportamento inteligente. Fundamenta-se na Lógica como ferramenta básica para manipular o conhecimento. O conhecimento manipulado deve se originar em algum conhecimento explícito imitando, de forma básica, um modo de raciocínio empregado por humanos na solução de problemas. A IAS costuma ser utilizada em problemas bem definidos em que se conheça o raciocínio que deve ser seguido para se chegar à solução. O paradigma da IA Simbólica apresenta, além do raciocínio lógico tradicional, outras formas de raciocínio apoiadas em outros fundamentos que envolvem situações de imprecisão, incerteza, inconsistência ou ausência do conhecimento explícito sobre o problema, tais como o Raciocínio Probabilístico ou Bayesiano, o Raciocínio Nebuloso ou Fuzzy, entre outros. A Inteligência Artificial Conexionista (IAC) é o paradigma da IA baseado na idéia de que se for construído um modelo computacional suficientemente preciso do funcionamento do cérebro ou se alguma de suas partes, este modelo apresentará um comportamento inteligente. Na IAC a ferramenta básica é um sistema formado por circuitos que se assemelham ao conjunto de circuitos de neurônios cerebrais responsáveis pelo pensamento. A IAC pode ser utilizada em problemas mal-definidos, onde falta o conhecimento explícito de como realizar a tarefa de solucionar um problema e, no entanto este problema é intrinsecamente resolvido por seres vivos sem que se conheça o algoritmo para resolvêlo. A Inteligência Artificial Evolucionária (IAE) é um paradigma da IA inspirada na evolução biológica. Na IAE os mecanismos para solução de problemas são similares aos que se acredita sejam utilizados pela natureza na evolução biológica, envolvendo seleção natural de indivíduos de uma população, mutação, competição, adaptabilidade, etc. O conhecimento passa de geração a geração através da informação contido no código genético. A IAE pode ser utilizada para a solução de problemas que envolvam a solução de problemas de otimização onde as restrições são variáveis e muitas vezes desconhecidas. A análise de um problema costuma levar em conta a forma como o problema está ou pode ser definido a fim de buscar a estratégia ou paradigma de IA mais adequada para a sua solução. Se a função for definida explicitamente ou por enumeração exaustiva, o conhecimento necessário para resolver o problema

3 está na enumeração, não é usual considerar este problema do âmbito da IA. No entanto, se o problema for definido declarativamente, o problema de IA é a construção de um transformador de semânticas. Com efeito, o enunciado é descrito em uma semântica declarativa, e o computador para resolver o problema necessita de uma descrição algorítmica, isto é, de uma descrição imperativa. Esta é a semântica operacional que guiará as ações do computador. A implementação de um transformador de semânticas leva frequentemente a problemas de busca. Utilizar um método de busca em que por passos sucessivos se aproxima da solução, usando algumas vezes passos sem grande justificativa teórica é uma abordagem da IAS e da IAE. Por outro lado, se o problema for definido através de exemplos, possivelmente deverá ser usado um método para aproximar a função solução do problema com a precisão desejada. Esta é a estratégia geralmente usada na IAC. Deste modo, verifica-se que não existe a melhor solução para todo o tipo de problema. Razão pela qual problemas de natureza complexa muitas vezes podem ser solucionados de forma híbrida combinando as melhores facilidades oferecidas por cada tipo de solução. Para que isso ocorra, no entanto, é necessário prover mecanismos que permitam a interoperabilidade de sistemas de natureza diversa, como é proposto na idéia de Sisteas Multiagentes Heterogêneos, discutida a segui. 2. Sistemas Multiagentes Heterogêneos Ambientes de aplicações reais costumam ser compostos de um grande número de sub-problemas que por sua vez podem ainda ser divididos em sub-sub-problemas a fim de facilitar a análise e a implementação de soluções. Os Sistemas Multiagentes (SMA) são uma das estratégias da Inteligência Artificial Distribuída (IAD) que se mostram adequada para manipular problemas complexos. Este enfoque baseiase no estudo e desenvolvimento de agentes autônomos em um universo multiagente. Para os SMA, o termo autônomo designa o fato de que os agentes têm uma existência própria, independente da existência de outros agentes. Usualmente, cada agente possui um conjunto de capacidades comportamentais que definem sua competência, um conjunto de objetivos, e a autonomia necessária para utilizar suas capacidades comportamentais a fim de alcançar seus objetivos. Um agente é uma entidade computacional com um comportamento autônomo que lhe permite decidir suas próprias ações. Podemos dizer que estes agentes são heterogêneos em sua natureza quando o paradigma de IA empregado na implementação de cada agente for diferente. Um agente de software é conceituado como uma entidade que funciona de forma contínua e autônoma em um ambiente em particular, geralmente habitado por outros agentes, e que seja capaz de intervir no seu ambiente, de forma flexível e inteligente, sem requerer intervenção ou orientação humana constante. De um modo ideal, um agente que funcione, continuamente, por longos períodos de tempo, deve ser capaz de aprender com a experiência e, se ele habita um ambiente com outros agentes, seja capaz de comunicar-se e cooperar com eles, e ainda mover-se de um local para outro. Uma sociedade de agentes divide um mundo comum, e cada um dos membros desta sociedade possui objetivos e pontos de vista diferentes, gerando muitas vezes alguns conflitos. Esses conflitos devem ser negociados e resolvidos entre os agentes, e devem estar comprometidos com um plano conjunto de compromissos de ações e de crenças em diferentes níveis de abstrações. Um agente pode, de acordo com o tipo de problema com o qual está habilitado a tratar, possuir, em maior ou menor grau, os seguintes atributos: Reatividade: A habilidade de perceber o ambiente de modo seletivo e manifestar um comportamento como resposta a um estímulo externo; Autonomia: Comportamento dirigido a objetivos, pró-ativo e auto-iniciado; Comportamento cooperativo: Trabalhar com outros agentes para atingir um objetivo comum; Habilidade de comunicação ao nível de conhecimento: Capacidade de comunicar-se com pessoas ou outros agentes em uma linguagem de mais alto nível que um simples protocolo de comunicação programa a programa; Capacidade de inferência: Capacidade de agir a partir de especificações abstratas de tarefas, usando conhecimentos prévios; Continuidade temporal: Persistência de identidade por longos períodos de tempo; Personalidade: Capacidade de demonstrar atributos de um personagem; Adaptabilidade: Habilidade de aprender com a experiência; Mobilidade: Habilidade de migrar de uma plataforma para outra.

4 A figura 1, a seguir apresenta uma taxionomia de agentes definida em termos de um espaço em três dimensões: Grau de Mobilidade, Grau de Inteligência e Grau de Agenciamento, adaptada de Bradshaw. Grau de agenciamento é a medida de autonomia e autoridade que o agente possui; grau de inteligência é a medida de raciocínio e capacidade de aprendizagem; e grau de mobilidade é a medida da sua capacidade de se deslocar através da rede. Grau de Agenciamento Interatividade de serviço Interatividade de aplicação Interatividade de dados Representação do usuário Asíncronia Grau de Mobilidade Estático Scripts móveis objetos móveis Agentes com função fixa FIGURA 1 - Taxinomia de Agentes. Agentes Inteligentes Sistemas Expecialistas Grau de Inteligência Preferências Raciocínio Planejamento Aprendizagem Sob o ponto de vista da constituição de uma Sociedade de Agentes Heterogêneos, a fundamentação dos sistemas multiagentes é baseada na interação social de indivíduos que convivem entre si e interagem mutuamente para alcançar objetivos comuns e individuais. Para tal, um agente é concebido como um indivíduo autônomo, com capacidades que lhe são inerentes para o desempenho de suas funções e o alcance dos seus objetivos. Uma sociedade de agentes divide um mundo comum, e cada um dos membros desta sociedade possui diferentes objetivos e pontos de vista, gerando muitas vezes alguns conflitos. Estes conflitos devem ser negociados e resolvidos entre os agentes, e devem estar comprometidos com um plano conjunto. Este plano é um conjunto de compromissos de ações e de crenças em diferentes níveis de abstrações. Uma sociedade de agentes, segundo Torsun [49], para atingir objetivos comuns, deve ser constituída por elementos capazes de desempenhar as seguintes funções: Cooperação. Resolução de conflitos. Negociação. Comprometimentos. Interação. Comunicação. A sociedade de agentes que constitui esta proposta contempla principalmente aspectos de cooperação, comprometimentos, interação e comunicação. 3. Coordenação e comunicação em sistemas multiagentes Um sistema multiagentes pode ser visto como uma rede, fracamente acoplada, de solucionadores de problemas que trabalham em conjunto para resolver problemas que vão além da sua capacidade individual. Estes solucionadores de problemas são essencialmente autônomos, distribuídos e, muitas vezes, heterogêneos em sua natureza. É de vital importância a coordenação do comportamento dos agentes e da maneira pela qual eles compartilham seus conhecimentos, objetivos, habilidades e seus planos para, em conjunto, tomar as ações necessárias para solucionar um problema. Para que diferentes agentes autônomos possam cooperar mutuamente a fim de atingirem seus objetivos é necessário que a sociedade possua organização e comunicação. A organização diz respeito à natureza e à função da sociedade e de seus elementos constituintes

5 e a comunicação é o principal instrumento que os agentes utilizam para desenvolver a coordenação de suas ações. Estas duas necessidades colocam aos projetos de ambientes multiagentes os seguintes problemas: Como formular, descrever, decompor e alocar problemas entre um grupo de agentes inteligentes; Como habilitar agentes para comunicação e interação e qual a linguagem de comunicação e protocolo empregar; Como verificar que agentes agem coerentemente em suas decisões e suas ações; Como habilitar os agentes a representar e raciocinar sobre as ações, planos e conhecimentos a respeito dos demais agentes; Como reconhecer e tratar pontos de vistas conflitantes entre diferentes agentes ou grupos de agentes e coordenar as suas ações; Como projetar e implementar sistemas práticos de IAD. Quando um agente ingressa em uma sociedade, dois tipos de problemas são identificados para que o novo agente possa se adaptar a esta sociedade: o problema da linguagem e interação e o problema do conhecimento e atuação. O primeiro refere-se ao uso das expressões adequadas e a maneira como as interações são organizadas na sociedade, enquanto que a segunda refere-se a que papel o agente deve desempenhar e que papéis ele deve esperar que os demais agentes, integrantes da sociedade, desempenham. O quadro da figura 2 a seguir resume a questão da cooperação entre agentes em um sistema multiagentes, dividindo-o em níveis ou camadas que vão desde o problema da comunicação entre os agentes até as estratégias para a solução de problemas de forma cooperativa. A comunicação forma a base da cooperação e é constituída pelo transporte de mensagens entre os agentes através da rede, pelos protocolos de comunicação e pelos métodos de comunicação resultantes. A comunicação entre agentes será tratada no item posterior. Os protocolos e as estratégias de cooperação, por sua vez, são construídos sobre os métodos de comunicação e são de fundamental importância na definição de quem, quando e como devem atuar os agentes na solução do problema. Co op era ção Co mu nic açã o Quadro de avisos Estratégias Protocolos Linguagens de comunicação Difusão de mensagens Federação Transporte Mensagens diretas

6 FIGURA 2 Comunicação e Cooperação em Sistemas Multiagentes. Se diversos agentes trabalham de forma cooperativa na solução de um problema em uma sociedade de agentes, é necessário definir uma estratégia a ser utilizada no processo de solução do problema. Costumase dividir a definição da estratégia em três etapas: a divisão do problema em subproblemas, a solução dos subproblemas e a combinação das soluções. A figura 3 ilustra este conceito. Problema Global Sub problema 1 Subsolução 1 Sub problema 2 Subsolução 2... Sub problema n Subsolução n Solução Global FIGURA 3 Distribuição da Resolução de um Problema. A divisão do problema em subproblemas e a designação de cada subproblema ao agente associado são etapas fundamentais do processo. Isto normalmente é feito na etapa de análise e projeto do sistema, mas, a fim de prover maior poder de atuação e maior grau de inteligência ao sistema, algumas decisões devem ser tomadas em tempo de execução, pelos próprios agentes. Para isso são definidos protocolos e estratégias de cooperação. Quanto mais autonomia e flexibilidade o sistema possuir para definir a estratégia de solução do problema em tempo de execução, maior o grau de adaptabilidade o sistema pode ter. Como regra, pode-se estabelecer que, quanto mais fraca for a definição prévia do problema, maior é o grau de autonomia que o sistema deve possuir para definir, em tempo de execução, a melhor estratégia a ser adotada. Uma definição das possíveis topologias de cooperação entre agentes é ilustrada na figura 4. Se os agentes do sistema trabalham de forma completamente independente e seguem seus próprios objetivos, eles se classificam entre os sistemas independentes. Se, por sua vez, os agentes têm objetivos não correlatos, eles podem ser considerados como discretos, caso contrário classificam-se como de cooperação emergente. Sistemas são cooperativos quando possuem mecanismos explícitos de cooperação. Esta categoria de sistemas multiagentes pode ser considerada como comunicativos quando possuem e utilizam protocolos e procedimentos de cooperação. Caso contrário, se utilizam meios indiretos, são considerados não comunicativos.

7 Sistemas multiagentes Independente cooperativo 2 Discreto Cooperação Comunicativo Não comunicativo emergente Deliberativo Negociador FIGURA 4 Topologia de Cooperação Entre Agentes. Sistemas multiagentes comunicativos podem ainda ser subdivididos em deliberativos e negociadores. Em sistemas deliberativos, ocorre um planejamento e um acordo a respeito da metodologia entre os agentes, enquanto que em sistemas negociadores existe um componente competitivo entre os agentes e uma metodologia de negociação deve ser utilizada para resolver conflitos e designar tarefas entre os agentes. Nos sistemas baseados em negociação, dois ou mais agentes podem executar uma mesma tarefa ou solucionar um mesmo tipo de problema. Para tanto um protocolo de negociação, conhecido como rede de contratos (contract net system), é estabelecida. O processo ocorre da seguinte forma: depois da fase da subdivisão do problema, um agente coordenador faz uma espécie de edital ou solicitação de ofertas. Os agentes, ao perceberem o edital avaliam se podem solucionar o problema, de acordo com as suas aptidões, e respondem ao coordenador, usualmente informando o custo da solução, relativo ao tempo ou carga de processamento. De posse destas informações o coordenador avalia e define um ou mais agentes para executar cada um dos processos para a solução de cada subproblema. O tipo de problema tratado por sistemas de ensino-aprendizagem parece adequar-se melhor às características dos sistemas deliberativos. Nesta proposta, assume-se como conceito de coordenação a propriedade de interação entre um conjunto de agentes na execução de alguma ação coletiva. Sem coordenação, os benefícios de realizar a solução de um problema de forma descentralizada resultam em resultados caóticos, incoerentes e individuais. Uma coordenação adequada resulta em uma solução coerente, eficaz e efetiva ao problema. Para que os agentes de um sistema possam cooperar entre si e coordenar as suas ações, é necessário que eles tenham conhecimento das capacidades, habilidades, desejos e planos dos outros agentes. Parte deste conhecimento pode ser obtida dos papéis que cada um dos agentes pode assumir em uma sociedade. O problema é como os agentes de uma sociedade percebem os papéis uns dos outros. Para tal, os objetivos de um processo de coordenação devem assegurar que todas as partes constituintes de um problema sejam designadas a, pelo menos, um agente. As principais razões pelas quais as ações de múltiplos agentes devem ser coordenadas são: Existem dependências entre as ações dos agentes; Existem restrições globais do problema que devem ser consideradas; Nenhum agente possui competência, recursos e informações suficientes para solucionar inteiramente o problema. Compartilhar de um mesmo propósito (implícito ou explícito), não garante, por si só, que agentes cooperem entre si. Dois operários pintando uma casa, por exemplo, estão imbuídos de um mesmo propósito, mas, se eles não souberem da existência um do outro, não haverá cooperação. Para que haja cooperação, é necessária uma ação conjunta e um plano de ação acordado entre os agentes. Isto não seria possível sem uma representação interna dos estados do mundo por parte do agente. Três diferentes mecanismos para identificar os papéis dos demais agentes de uma sociedade podem ser empregados: Por meio de um protocolo de apresentação: Neste mecanismo, o agente interessado questiona os demais agentes. Para tal, é necessário que todos os agentes tenham

8 conhecimento do mesmo protocolo de apresentação, tenham descrições comuns para papéis e tenham conhecimento dos seus próprios papéis. Pelo reconhecimento do processo que o agente executa: Por este mecanismo o agente observador verifica uma seqüência de eventos globais em que o agente observado está participando e traça o comportamento deste agente. Pelo reconhecimento do plano do agente: Por esta técnica o agente observador identifica a intenção do agente observado pelo reconhecimento do plano que está sendo executado pelo agente observado. Três níveis devem ser considerados na comunicação entre agentes, conforme foi mostrado anteriormente, o nível de transporte de mensagens, que trata da forma pela qual as mensagens são fisicamente transportadas entre os agentes; o nível de mecanismos de troca de mensagens; e o nível de linguagem de comunicação, que trata da forma como as mensagens são constituídas. No nível referente aos mecanismos de comunicação, é possível identificar (figura 2) quatro diferentes topologias de trocas de mensagens entre agentes: a topologia de mensagens diretas, de federação, de difusão de mensagens e de quadro de avisos [4]. O modelo de troca direta de mensagens, ou comunicação direta envolve o estabelecimento de uma ligação direta entre os agentes, através de um conjunto de protocolos que permite o estabelecimento de comunicação fim a fim. Este tipo de comunicação implica que cada um dos agentes envolvidos deve ter conhecimento da existência dos seus parceiros e da forma de endereçar mensagens a eles O modelo de sistemas federados deve ser utilizado quando o número de agentes é muito grande. Neste modelo, uma estrutura hierárquica de agentes é estabelecida e a troca de mensagens se dá através de mediadores ou facilitadores. O modelo de comunicação por difusão de mensagens (broadcasting) é utilizado quando for necessária alguma comunicação a todos os agentes do sistema, ou quando o remetente da mensagem não sabe quem é ou qual o endereço do seu destinatário. No modelo de comunicação através de quadro de avisos (blackboard) a comunicação se dá através de algum tipo de compartilhamento de memória utilizado como um repositório no qual os agentes obtêm informações e postam suas mensagens a outros agentes. Usualmente o quadro de mensagens é particionado em vários níveis de abstração, apropriado a cada problema em particular. 3.1.Linguagens de comunicação entre agentes No que diz respeito às de linguagens de comunicação em sistemas multiagente, cabe destacar dois grandes esforços para prover interoperabilidade em sistemas abertos: um promovido pela FIPA e outro pela ARPA. O trabalho desenvolvido pela ARPA (Advanced Research and Projects Agency), resultou em um projeto denominado KSE (Knowledge Sharing Effort) que tem como objetivo o desenvolvimento de metodologias e software para o compartilhamento e a reutilização de conhecimento, e que durante muito tempo tornou-se a base para um padrão na implementação de comunicação em sistemas multiagentes. Sob o ponto de vista das linguagens de comunicação, um agente é visto como um componente de software que se comunica com outros agentes através de mensagens codificadas em uma Linguagem de Comunicação de Agentes (Agent Communication Language - ACL). Os grupos de trabalho do projeto KSE desenvolveram uma ACL constituída por três camadas: uma Camada de Protocolo, que define a sintaxe das mensagens e os métodos de troca de informações; uma Camada de Conteúdo, que define a informação, propriamente dita que é trocada; e uma Camada Ontológica, que provê uma base semântica específica para o domínio para as expressões contidas na linguagem. Camada de protocolo: O grupo KSE desenvolveu uma linguagem denominada KQML (Knowledge Query and Manipulation Language) para ser utilizada na camada de protocolo da ACL. A especificação da linguagem KQML define o formato das mensagens e um conjunto de elementos denominados performativas ("performatives"), que são independentes do domínio, correspondendo a categorias de mensagens semanticamente distintas. Cada mensagem KQML deve obrigatoriamente conter uma performativa (por exemplo: tell, ask-if, reply, achieve, Etc.) e campos que incluem a identificação do destinatário, da origem, e outros. A especificação da linguagem KQML assume que a comunicação entre os agentes é confiável, e que a transferência de mensagens ocorre de um modo assíncrono em relação à operação dos agentes. Além disso, ela é neutra em relação ao método usado para codificar a mensagem, que pode ser desde uma cadeia arbitrária de caracteres até uma expressão SQL de consulta a um banco de dados.

9 Camada de conteúdo: O grupo KSE desenvolveu também uma proposta denominada KIF (Knowledge Interchange Format) com o objetivo de codificar o conteúdo das mensagens KQML. A linguagem KIF define uma sintaxe, uma semântica e um conjunto de operadores, baseados em lógica de predicados de primeira ordem com extensões para suportar raciocínio meta-nível e inferências não monotônicas. Ontologias: Uma vez que a linguagem KIF não define os termos, relações, funções, etc., específicos para modelar algum domínio, em particular, necessário para a comunicação entre sistemas arbitrários baseados em arquiteturas multiagentes, estes elementos devem constituir uma ontologia. No contexto do compartilhamento do conhecimento, uma ontologia é uma especificação de uma conceituação, isto é, uma descrição dos conceitos e relacionamentos que podem existir em uma comunidade de agentes. Ontologias reutilizáveis são importantes para a integração de informações, para o desenvolvimento de bases de dados compartilhadas e para a interoperação de sistemas. O esforço realizado pela FIPA (Foundation for Intelligent Physical Agents), é voltado para a criação de padrões concretos de comunicação que tornem possível a implementação de agentes abertos e interoperáveis. Como resultado a FIPA publicou especificações definindo os fundamentos de uma Arquitetura Abstrata para construção de sistemas multiagentes, de uma Linguagem de Comunicação entre Agentes (FIPA- ACL e de um conjunto de linguagens de descrição de conteúdos e de ontologias bastante generalista e poderoso. Estas especificações foram definidas tendo em vista evitar, ao máximo, problemas de interoperabilidade, de forma que tanto os detalhes precisos de como a serialização e encapsulamento das mensagens deveria ser feita, mas também qual seria a semântica associada a estas mensagens e protocolos foram incorporados aos padrões. É deste ponto em particular que o presente projeto pretende partir, ou seja, não se vislumbra a necessidade de se criar um novo modelo ou arquitetura de intercomunicação entre agentes inteligentes. Em princípio os padrões da FIPA, parecem generalistas e extensíveis o suficiente para permitir a modelagem da comunicação entre os sistemas multiagente de natureza heterogênea. Entretanto, existem inúmeras questões e problemas que devem ser dimensionados e resolvidos para que a iniciativa apresentada no presente projeto se torne realidade, entre as quais destacam-se:: Uma classe de problemas, que poderiam ser denominados de implementação concreta, está relacionada à forma como os serviços de comunicação serão efetivamente disponibilizados Atualmente existem algumas soluções abertas e livres que disponibilizam os serviços FIPA, porém estas soluções muitas vezes estão voltadas para um sistema operacional ou linguagem de programação particular. Ou ainda constituem um conjunto extensível de classes que por ter um campo de aplicação muito vasto, dificulta a implementação de aplicações Um segundo aspecto importante, está relacionado justamente às questões específicas da aplicação, como no caso de ambientes de aprendizagem, de como a comunicação entre diversas classes de agentes pedagógicos ou de apoio ao ensino-aprendizagem seria modelada num nível mais abstrato. A arquitetura FIPA define uma série de linguagens de conteúdo, além de oferecer um serviço padrão para registro e intercâmbio de ontologias. No contexto da FIPA também foram padronizadas algumas ontologias voltadas para aplicações específicas como por exemplo: gerenciamento de redes, integração de software, agentes assistentes de viagens, agentes para aplicações áudio-visuais, etc. Entretanto, não foi previsto até agora, dentro dos padrões da FIPA, nenhum tipo de linguagem de conteúdo, modelo ou conjunto de ontologias específico para aplicações voltadas ao ensino-aprendizagem. São estes tipos de problemas e questões que nortearão o processo de pesquisa do projeto proposto. Os problemas de implementação concreta podem ser resolvidos essencialmente pela definição de algum nível de compatibilização de comunicação que mediará a interação entre as várias aplicações disponíveis e a implementação de novas soluções, além da definição formal dos pontos em abertos no que diz respeito aos vários níveis de comunicação.

10 3. Principais Referências Bibliográficas [1] Brenner, Walter, Zarnekow, Rüdiger, Wittig, Harmut. Intelligent Software Agents: Foundations and Applications. Berlin, Springer, [2] Bradshaw, Jeffrey M. (Ed) Software Agents. Cambridge, MIT Press, [3] Ferber, Jacques. Multi-Agent Systems. London, Addison-Wesley, [4] Wooldridge, Michael. Reasoning About Rational Agents. Cambridge, MIT Press, [5] Wooldridge, Michael, An Introduction to MultiAgent Systems. Sussex, John Wiley & Sons, [6] Weiss, Gerhard (Ed). Multiagent Systems: A Modern Aproach to Distribuited Artificial Intelligence. Cambridge, MIT Press, 2000.

6. QUADRIMESTRE IDEAL 7. NÍVEL Graduação 8. Nº. MÁXIMO DE ALUNOS POR TURMA TEORIA: 60 LABORATÓRIO: 30

6. QUADRIMESTRE IDEAL 7. NÍVEL Graduação 8. Nº. MÁXIMO DE ALUNOS POR TURMA TEORIA: 60 LABORATÓRIO: 30 Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC5001 - SISTEMAS MULTIAGENTES

Leia mais

Sistemas Multi-agentes

Sistemas Multi-agentes Sistemas Multi-agentes! Projeto dos agentes «O problema é resolvido por um conjunto de agentes, fisicamente distribuídos em diversas máquinas conectadas. «Os agentes são concebidos para solucionar um problema

Leia mais

Inteligência Artificial. Conceitos Gerais

Inteligência Artificial. Conceitos Gerais Inteligência Artificial Conceitos Gerais Inteligência Artificial - IA IA é um campo de estudo multidisciplinar e interdisciplinar, que se apóia no conhecimento e evolução de outras áreas do conhecimento.

Leia mais

AGENTES INTELIGENTES. Cedric Luiz de Carvalho

AGENTES INTELIGENTES. Cedric Luiz de Carvalho AGENTES INTELIGENTES 2/60 Introdução Envolvem estudos em várias áreas: Psicologia Sociologia Filosofia Ciência da Computação: Inteligência Artifical 3/60 Críticas Qualquer coisa que possa ser feita com

Leia mais

INTELIGÊNCIA COMPUTACIONAL

INTELIGÊNCIA COMPUTACIONAL Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br A Inteligência Computacional (IC), denominada originalmente de Inteligência Artificial (IA), é uma das ciências

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Prof. Dr. Jomi Fred Hübner (FURB/SC) Prof. Dr. Jaime Simão Sichman (USP/SP)

Prof. Dr. Jomi Fred Hübner (FURB/SC) Prof. Dr. Jaime Simão Sichman (USP/SP) Organização de Sistemas Multiagentes Prof. Dr. Jomi Fred Hübner (FURB/SC) jomi@inf.furb.br Prof. Dr. Jaime Simão Sichman (USP/SP) jaime.sichman@poli.usp.br 1 Motivação Adaptado de [Erceau e Ferber 91]

Leia mais

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento

Leia mais

INE Introdução a S is temas Multiagente Modelo de Referência FIPA

INE Introdução a S is temas Multiagente Modelo de Referência FIPA INE602200 Introdução a S is temas Multiagente Modelo de Referência FIPA Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Importância de Padrões em SMA

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas

Leia mais

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs 1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

ESTRUTURA DE FUNCIONAMENTO DO PROGRAMA DE EDUCAÇÃO CONTINUADA

ESTRUTURA DE FUNCIONAMENTO DO PROGRAMA DE EDUCAÇÃO CONTINUADA ESTRUTURA DE FUNCIONAMENTO DO PROGRAMA DE EDUCAÇÃO CONTINUADA OBJETIVO Estabelecer as bases de funcionamento do Programa de Educação Continuada sob responsabilidade da Comissão de Educação do Sistema/CES

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Ontologias e sua aplicação em linguagens de Comunicação

Ontologias e sua aplicação em linguagens de Comunicação Ontologias e sua aplicação em linguagens de Comunicação Rafael de Moura Speroni Disciplina de Modelagem de Sistemas Multiagentes - 2006/2 Prof. Ricardo Silveira PPGCC - UFSC Comunicação entre agentes Pessoas,

Leia mais

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR n n n n Cliente-servidor Código móvel Agentes de software Processos pares Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Arquiteturas em Sistemas Distribuídos Cliente- Servidor Client invocation

Leia mais

Inteligência Computacional para Jogos Eletrônicos

Inteligência Computacional para Jogos Eletrônicos Inteligência Computacional para Jogos Eletrônicos Papéis da IA em Jogos Adversários Aliados Personagens de apoio NPC s (Non-player Character) Comentaristas Controle de câmera Geração de fases Nivelamento

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

SSC Engenharia de Software. Prof. Paulo C. Masiero

SSC Engenharia de Software. Prof. Paulo C. Masiero SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS Introdução www.pearson.com.br capítulo 1 slide 1 O que são Sistemas Distribuídos? Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único

Leia mais

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

2 Sistemas Multi-Agentes e Ambientes de Desenvolvimento de Software

2 Sistemas Multi-Agentes e Ambientes de Desenvolvimento de Software 21 2 Sistemas Multi-Agentes e Ambientes de Desenvolvimento de Software Resumo Este capítulo apresenta uma caracterização de Sistemas Multi-Agentes, uma breve introdução a Ambientes de Desenvolvimento de

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Sistemas de Informação e Decisão. Douglas Farias Cordeiro

Sistemas de Informação e Decisão. Douglas Farias Cordeiro Sistemas de Informação e Decisão Douglas Farias Cordeiro Decisão Tomamos decisões a todo momento! O que é uma decisão? Uma decisão consiste na escolha de um modo de agir, entre diversas alternativas possíveis,

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros

Conhecimento e Raciocínio Agente Lógicos Capítulo 7. Leliane Nunes de Barros Conhecimento e Raciocínio Agente Lógicos Capítulo 7 Leliane Nunes de Barros leliane@ime.usp.br Agentes Lógicos Agentes que podem formar representações do mundo, usar um processo de inferência para derivar

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

PROJETO DE INCLUSÃO DE DISCIPLINAS OPTATIVAS NO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO CAMPUS CURITIBA

PROJETO DE INCLUSÃO DE DISCIPLINAS OPTATIVAS NO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO CAMPUS CURITIBA PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Ministério da Educação Universidade Tecnológica Federal do Paraná Campus Curitiba Curso de Bacharelado em Sistemas de Informação PROJETO DE INCLUSÃO DE DISCIPLINAS

Leia mais

Visão de Estrutura do negócio

Visão de Estrutura do negócio Visão de Estrutura do negócio Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML: Business Patterns at work, John Wiley, 2000. Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento

Leia mais

Inteligência Artificial. Aula 1 Prof. Nayat Sánchez Pi

Inteligência Artificial. Aula 1 Prof. Nayat Sánchez Pi Inteligência Artificial Aula 1 Prof. Nayat Sánchez Pi Curso: Inteligência Artificial Página web: http://nayatsanchezpi.com Material: Livro texto: Inteligência Artiicial, Russell & Norvig, Editora Campus.

Leia mais

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro Agenda Modelo de Dados MER 2 de X; X=37 Modelo de Dados O Modelo de Dados é a principal ferramenta que fornece

Leia mais

Linguagens de Comunicação de Agentes

Linguagens de Comunicação de Agentes Linguagens de Comunicação de Agentes Introdução Comunicação tem sido reconhecida como um tópico de importância central na ciência da computação. Muitos formalismos têm sido desenvolvidos para representar

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

3 Arquitetura MVC baseada em modelos

3 Arquitetura MVC baseada em modelos Arquitetura MVC baseada em modelos 30 3 Arquitetura MVC baseada em modelos 3.1. Visão geral Na arquitetura proposta os componentes de Controle e Visão, da arquitetura tradicional do padrão de projetos

Leia mais

Sistemas Especialistas

Sistemas Especialistas Agenda Sistemas Especialistas Revisão Conceitos Básicos Entender uma ferramenta para S.E. Sistemas de Informação Inteligentes Prof. Esp. MBA Heuber G. F. Lima Aula2 Page 2 Conceitos I.A. Sistemas Especialistas

Leia mais

Programação Orientada a Objetos Introdução a POO Modelo de Objetos Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Introdução a POO Modelo de Objetos Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Introdução a POO Modelo de Objetos Técnico em Informática, M.Sc. O Modelo de Objetos Objetos Resolução de um problema: passa pela análise de uma determinada situação real o objetivo é a construção de um

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Conceitos de Inteligência e Inteligência Artificial.

Leia mais

Sistemas Operacionais (SO)

Sistemas Operacionais (SO) Sistemas Operacionais (SO) Fundamentos Prof. Eduardo Abordagens SO Moderno (importância) Funções básicas Definição Componentes de um SC Objetivos de um SO Serviços de um SO Abstrações Tipos de SO Estudo

Leia mais

Paradigmas de Representação de Conhecimento

Paradigmas de Representação de Conhecimento Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Paradigmas de Representação de Conhecimento Inteligência Artificial Site: http://jeiks.net E-mail:

Leia mais

Projeto. Observatório Nacional de Clima e Saúde

Projeto. Observatório Nacional de Clima e Saúde Projeto Observatório Nacional de Clima e Saúde Coordenação Técnica Institucional: Fiocruz e INPE Coordenação Nacional CGVAM- Coordenação Geral de Vigilância Ambiental Secretaria de Vigilância em Saúde

Leia mais

- a compreensão da profissão como uma forma de inserção e intervenção na sociedade, tendo por base a comunidade regional;

- a compreensão da profissão como uma forma de inserção e intervenção na sociedade, tendo por base a comunidade regional; UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE EDUCAÇÃO SUPERIOR NORTE-RS/UFSM PROJETO PEDAGÓGICO DE CURSO SISTEMAS DE INFORMAÇÃO BACHARELADO (NOTURNO) PERFIL DESEJADO DO FORMANDO Entende-se que a formação

Leia mais

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros

Leia mais

Inteligência Artificial. Prof. Ilaim Costa Jr.

Inteligência Artificial. Prof. Ilaim Costa Jr. Inteligência Artificial Prof. Ilaim Costa Jr. 4) Ciência da Computação 4) Ciência da Computação Exemplos de Aplicação da IA Matemática: demonstração

Leia mais

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento. Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: PROJETOS I Aluno: Cleosvaldo G. Vieira Jr cgvjr@inf.ufsc.br Resumo parcial da Tese de Doutorado Um modelo de Sistema de Gestão do Conhecimento

Leia mais

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 4 Tipos de Agentes Inteligentes Racionais e Ambientes 1 Um programa de IA pode ser visto como um Agente Racional Plano da aula Ambientes e arquiteturas

Leia mais

Formulação e resolução de problemas de matemática: teoria e prática. Luiz Roberto Dante

Formulação e resolução de problemas de matemática: teoria e prática. Luiz Roberto Dante Formulação e resolução de problemas de matemática: teoria e prática. Luiz Roberto Dante O que é um problema? Intuitivamente, todos nós temos uma ideia do que seja um problema. De maneira genérica, pode-se

Leia mais

Teoria e Análise das Organizações. Prof. Dr. Onofre R. de Miranda Setembro, 2014

Teoria e Análise das Organizações. Prof. Dr. Onofre R. de Miranda Setembro, 2014 Teoria e Análise das Organizações Prof. Dr. Onofre R. de Miranda Setembro, 2014 OBJETIVOS OBJETIVO GERAL: Ressaltar a organização enquanto objeto de estudo científico; OBJETIVOS ESPECÍFICOS: o Comparar

Leia mais

Avaliação de Desempenho e Monitoramento Redes de Computadores. Gerenciamento de Redes. Professor Airton Ribeiro de Sousa

Avaliação de Desempenho e Monitoramento Redes de Computadores. Gerenciamento de Redes. Professor Airton Ribeiro de Sousa Gerenciamento de Redes Professor Airton Ribeiro de Sousa airton.ribeiros@gmail.com Introdução - Gerenciamento de Redes As redes de computadores são compostas por uma grande variedade de dispositivos que

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

Como Modelar com UML 2

Como Modelar com UML 2 Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para

Leia mais

Inteligência Artificial. Josiane M. Pinheiro Ferreira Maio/2009

Inteligência Artificial. Josiane M. Pinheiro Ferreira Maio/2009 Inteligência Artificial Josiane M. Pinheiro Ferreira Maio/2009 Inteligência Artificial (IA) Estuda e tenta construir entidades inteligentes Durante milhares de anos procuramos entender como pensamos: Como

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Bioinspirada Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) 1 Principais tópicos Computação Bioinspirada Computação Biológica Biologia Computacional

Leia mais

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE.

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO Rodrigo Hernandez SOARES 1 ; Ricardo Couto Antunes da ROCHA 2 PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. 1 - INTRODUÇÃO

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação em Ciência da Computação Inteligência Artificial Representação do Conhecimento (Parte I) Prof. a

Leia mais

Uma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents

Uma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Agosto Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil Esta comunicação está sendo submetida

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini priscila_pelegrini@unemat-net.br SINOP MT 2015-2 Dados, informação e conhecimento Os dados podem ser considerados os fatos brutos, o fluxo

Leia mais

Tomada de Decisão Estratégica

Tomada de Decisão Estratégica EXERCÍCIO N N Tópico Tópico 1 2 Sistemas Tomada de de Informação Decisão Estratégica nos negócios DCC133 Introdução a Sistemas de Informação TÓPICO 2 Tomada de Decisão Estratégica Prof. Tarcísio de Souza

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais

Introdução Introdução

Introdução Introdução Introdução 13 1 Introdução Sistemas multi-agentes [Jennings and Wooldridge, 1999] [Wooldridge and Ciancarini, 2000] são sociedades com agentes autônomos e heterogêneos que podem trabalhar em conjunto para

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 Plano de Ensino e Aprendizagem 2 3 Objetivos CONTEÚDO Se preparar para o inicio de um projeto Acompanhamento projeto Controles Métricas

Leia mais

Engenharia de Software. Gerenciamento de Pessoal. Professor Joerllys Sérgio

Engenharia de Software. Gerenciamento de Pessoal. Professor Joerllys Sérgio Engenharia de Software Gerenciamento de Pessoal Professor Joerllys Sérgio Pessoas no Processo Pessoas constituem o bem mais valioso de uma organização. Atividades de um gerente são fortemente orientadas

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

Leia mais

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1 ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho

Leia mais

5 Usando as Representações de Design Rationale

5 Usando as Representações de Design Rationale 5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao

Leia mais

Universidade Regional de Blumenau

Universidade Regional de Blumenau Universidade Regional de Blumenau Curso de Bacharel em Ciências da Computação Protótipo de um Sistema de Informações Estratégicas para Consultórios Médicos utilizando Genexus Protótipo desenvolvido como

Leia mais

Pontifícia Universidade Católica de São Paulo Programa de TIDD

Pontifícia Universidade Católica de São Paulo Programa de TIDD Disciplina: 2854 - Sistemas Inteligentes e Ambientes Virtuais Turma A Área de Concentração: Processos Cognitivos e Ambientes Digitais Linha de Pesquisa: Inteligência Coletiva e Ambientes Interativos Professor:

Leia mais

GRADE CURRICULAR E CORPO DOCENTE. Fase 1 Carga horária total: 360h

GRADE CURRICULAR E CORPO DOCENTE. Fase 1 Carga horária total: 360h Ciência da Computação CÂMPUS LAGES Instrumentos Regulatórios (Resolução CEPE e CONSUP ou Portaria de reconhecimento do curso pelo MEC) RESOLUÇÃO CEPE/IFSC Nº 39, DE 13 DE AGOSTO DE 2014. RESOLUÇÃO CONSUP/IFSC

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Sistemas Baseados em Conhecimento

Sistemas Baseados em Conhecimento Sistemas Baseados em Conhecimento Profa. Josiane M. P. Ferreira Baseado no capítulo 2 do livro Sistemas Inteligentes Fundamentos de Aplicações, organizadção: Solange Oliveira Rezende, ed. Manole, 2005.

Leia mais

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema: Modelos de Ciclo de Vida e Metodologias de Software 33) No SCRUM, uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto é denominada: A) Backlog. B) Sprint. C) Daily scrum. D)

Leia mais

Algoritmos Distribuídos. AD Modelo Computacional 1

Algoritmos Distribuídos. AD Modelo Computacional 1 Algoritmos Distribuídos Modelo Computacional Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro AD Modelo Computacional 1 Modelo Computacional Modelo: Esquema que possibilita

Leia mais

FICHA DE COMPONENTE CURRICULAR

FICHA DE COMPONENTE CURRICULAR 495 Arquitetura de Redes TCP/IP 3 3 Ao final da disciplina o estudante será capaz de: - Reconhecer e compreender os principais conceitos e aplicações em TCP/IP - Compreender os fundamentos da interconexão

Leia mais

O W3C e a Web Semântica. CPqD - abril/2009 Workshop Rede IP do Futuro

O W3C e a Web Semântica. CPqD - abril/2009 Workshop Rede IP do Futuro O W3C e a Web Semântica CPqD - abril/2009 Workshop Rede IP do Futuro Web, W3C e Web Semântica Tim Berners-Lee criou / propôs a Web em 1989 (há 20 anos) http://www.w3.org/history/1989/proposal.html (URI

Leia mais

AULA 2 GERENCIAMENTO DE PROJETOS

AULA 2 GERENCIAMENTO DE PROJETOS AULA 2 GERENCIAMENTO DE PROJETOS Gestão de Projetos O que é um Projeto? O que é Gerência de Projeto? O que é um Projeto? Um empreendimento único e não-repetitivo, de duração determinada, formalmente organizado

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

I - Introdução à Simulação

I - Introdução à Simulação 1 I - Introdução à Simulação Simulação é, entendida como a imitação de uma operação ou de um processo do mundo real. A simulação envolve a geração de uma história artificial de um sistema para a análise

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Pearson, 2009. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais