Sistemas Multiagentes 4ª Aula Programação Orientada a Agentes. Que ação tomar? Inferência Lógica : ( L implica L )

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

Download "Sistemas Multiagentes 4ª Aula Programação Orientada a Agentes. Que ação tomar? Inferência Lógica : ( L implica L )"

Transcrição

1 Agentes Racionais + maximizar função desempenho Objetivamente, Medida de Desempenho é uma função Funções de Utilidade 4ª Aula ção Orientada a Agentes Projetista f: R D Agente Predicados de Tarefas Luciano Reis Coutinho, Prof. lrc@deinf.ufma.br r : perceber DECIDIR agir 2 Agentes Racionais + maximizar função desempenho Agentes Reativos Puros + percepção ação Agentes Reativos Puros Regras={Percepção Ação} Agentes Cognitivos + percepção estado ação Agentes Deliberativos Agentes Lógicos + percepção estado, dedução ação Agentes BDI + percepção crenças, desejos, intenções, planos ação O que percebo? Que ação tomar? Estado Ação 3 4 Agentes Cognitivos/Deliberativos Revisão Estado Cognitivo Raciocínio Lógico Dedução Lógica Prático Deliberação Planejamento Raciocínio Lógico (visão sintática) Linguagem Formal : L Regras de Dedução : Lógica Dedutiva : L, O que percebo? Que ação tomar? Inferência Lógica : ( L implica L ) Estado Ação 5 6 1

2 Agente Lógico-Dedutivo Raciocínio Prático: Agente L Estado Cognitivo action : (L) Ac sensores O que percebo? Revisar o que sei Deduzir o que fazer atuaes see : E Per next : (L) Per (L) Ambiente PLANEJAMENTO (COMO) DELIBERAÇÃO (O QUE) Valores Crenças Desejos Emoções Intenções Metas Planos Ações 7 8 Agente BDI O que percebo? brf : (Bel) Per (Bel) see : E Per Revisar o que sei Des Desejos Bel options : (Bel) (Int) (Des) Crenças Deliberar o que fazer Int filter : (Bel) (Des) (Int) (Int) Intenções Planejar como fazer Plano Executar plan: (Bel) (Int) (Ac) Plan Exemplos de Implementações PRS (Procedural Reasoning System) Georgeff, M. and Ingrand, F. (1989) Decision-making in an embedded reasoning system. In Proc. IJCAI 89, pp UM-PRS (C++), JAM! (Java), JASON ( AgentSpeak(L) escrito em Java) Bordini, R., Hübner, J. and Vieira, R. (2005). Jason and the Golden Fleece of Agent-Oriented Programming. In Bordini et al. Multi-agent programming languages, platforms and application. Springer. JADEX (Framework BDI usado na plataforma JADE) Pokahr, A., Brauhach, L., and Lamersf, W. (2005) Jadex: A BDI Reasoning Engine. In Bordini et al. Multi-agent programming languages, platforms and application. Springer ção Orientada a Agentes Plataformas e es Comunicação e Ambientes Distribuição Jason, AgentSpeak(L) Linguagem AgentSpeak(L) Semântica Operacional Ambiente Simulado Leituras Recomendadas Termo introduzido por Y. Shoham SHOHAM, Y. (1993) Agent-oriented programming. Artificial Intelligence 60: Linguagens Orientadas a Agentes Agent0 (SHOHAM 1993) AgentSpeak(L) (Rao 1996) 3APL (Hindriks etal. 1999) Brahms (Sierhuis 2001) Bordini etal (2005) Multi-agent programming: languages, platforms and applications. Springer. Bordini etal (2009) Multi-agent programming: languages, tools and applications. Springer

3 Agente 2 Agente n Agente 2 Agente n msg msg msg Agente = Agente 2 Agente n Agente j Agente m+1 Agente m+i (instância #1) (instância #m) see act AMBIENTE Real ou Simulado ção Orientada a Agentes Plataformas e es Comunicação e Ambientes Distribuição Jason, AgentSpeak(L) Linguagem AgentSpeak(L) Semântica Operacional Ambiente Simulado Leituras Recomendadas

4 Introduzida por Rao, A. (1996) AgentSpeak(L): BDI agentes speak out in a logical computable language. Springer, LNAI 1038, pp Linguagem PROLOG-like para agentes BDI The language AgentSpeak(L) can be viewed as a simplified, textual language of PRS or dmars. (Rao 1996) Conceitos Principais Beliefs: representam a informação disponível a um agente (sobre ambiente ou sobre os outros agentes); Goals: representam estados de coisas que o agente deseja fazer acontecer ou realizar Plans: São receitas para ação, representando o know-how dos agentes Events: Acontecimentos que envolvem mundanças nas crenças ou objetivos dos agentes Intentions: Planos instanciados para atingir algum objetivo Sintaxe São representadas por Literais de Primeira Ordem com anotações. Mudanças na Base de Crenças Após percepções red(box1)[source(percept)]. functor(term 1,, term n )[annot 1,, annot m ]. Exemplos red(box1)[source(percept)]. Intencionalmente (via operaes + e - ) +lier(alice); // adds lier(alice)[source(self)] -lier(john); // removes lier(john)[source(self)] Após comunicação (via ação.send() ) friend(bob,alice)[source(bob)]. lier(alice)[source(self),source(bob)]. ~lier(bob)[source(self)]..send(tom,tell,lier(alice)); // sent by bob // adds lier(alice)[source(bob)] in Tom s BB.send(tom,untell,lier(alice)); // sent by bob // removes lier(alice)[source(bob)] from Tom s BB Tipos Achievement Goal Test Goal (meta de fazer) (meta de conhecer) Sintaxe Mesma forma das crenças, porém precedidos de! achievement goal.? test goal. Exemplo!start. Novos Objetivos Intencionalmente // adds new achievement goal!write(book); // adds new test goal?publisher(p);

5 Novos Objetivos Novos Objetivos Via Comunicação Quando um agente recebe uma mensagem achieve, o conteúdo torna-se um novo achievement goal anotado com o sender da mensagem.send(tom,achieve,write(book)); // sent by Bob // adds new goal write(book)[source(bob)] for Tom.send(tom,unachieve,write(book)); // sent by Bob // removes goal write(book)[source(bob)] for Tom Via Comunicação Quando um agente recebe uma mensagem askone ou askall o conteúdo torna-se um novo test goal anotado com o sender da mensagem.send(tom,askone,published(p),answer); // sent by Bob // adds new goal?publisher(p)[source(bob)] for Tom // the response of Tom will unify with Answer Eventos acontecem como consequência das mudanças nas crenças e objetivos dos agentes Tipos de Eventos + b (belief addition) - b (belief deletion) +!g (achievement-goal addition) -!g (achievement-goal deletion) +?g (test-goal addition) -?g (test-goal deletion) Um agente reage a eventos executando planos Sintaxe triggering_event : context <- body. onde: O triggering event denota os eventos para os quais o plano foi feito O context representa as circunstâncias nas quais o plano pode ser aplicado O body são as ações a serem realizadas para lidar com o evento 27 28!get(beer). // initial goal: get a beer +!get(beer) : true <-.send(robot, achieve, has(owner,beer)). +has(owner,beer) : true <-!drink(beer). -has(owner,beer) : true <-!get(beer). // while I have beer, sip +!drink(beer) : has(owner,beer) <- sip(beer);!drink(beer). +!drink(beer) : not has(owner,beer) <- true. +!has(owner,beer) : available(beer,fridge) & not too_much(beer) <-!at(robot,fridge); open(fridge); get(beer); close(fridge);!at(robot,owner); hand_in(beer);?has(owner,beer); // remember that another beer has been consumed.date(yy,mm,dd);.time(hh,nn,ss); +consumed(yy,mm,dd,hh,nn,ss,beer). +!has(owner,beer) : not available(beer,fridge) <-.send(supermarket, achieve, order(beer,5));!at(robot,fridge). // go to fridge and wait there

6 Biblioteca de planos formada por Ciclo básico de raciocínio do agente Planos iniciais definidos pelo programa Perceber o ambiente e atualizar a base de crenças Processar novas mensagens Planos adicionados dinamicamente.add_plan.remove_plan Selecionar evento Selecionar planos relevantes Selecionar planos aplicáveis Planos recebidos através de mensagens tellhow untellhow Criar/atualizar intenções Selecionar intenção para executar A classe Environment pode ser extendida para implementar ambientes simulados import jason.environment.environment; public class RoomEnv extends Environment { Literal ld = Literal.parseLiteral("locked(door)"); Literal nld = Literal.parseLiteral("~locked(door)"); boolean doorlocked = public void init(string[] args) { addpercept(ld); } /** Implementation of the agent's basic actions public boolean executeaction(string ag, Structure act) { clearpercepts(); ção Orientada a Agentes Plataformas e es Comunicação e Ambientes Distribuição if (act.getfunctor().equals("lock")) doorlocked = true; if (act.getfunctor().equals("unlock")) doorlocked = false; // update percepts given state of the environment if (doorlocked) addpercept(ld); Jason, AgentSpeak(L) Linguagem AgentSpeak(L) Semântica Operacional Ambiente Simulado else } addpercept(nld); return true; Leituras Recomendadas }

7 Sobre ção Orientada a Agentes Artigo de SHOHAM, Y. (1993) Agent-oriented programming. Artificial Intelligence 60: Livro de Bordini etal (2005) Multi-agent programming: languages, platforms and applications. Springer. Livro de Bordini etal (2009) Multi-agent programming: languages, tools and applications. Springer. Sobre AgentSpeak(L) Artigo de Rao, A. (1996) AgentSpeak(L): BDI agentes speak out in a logical computable language. Springer, LNAI 1038, pp Sobre Jason Capítulo 1 de Bordini etal (2005) Multi-agent programming: languages, platforms and applications. Springer. Livro de Bordini, R. et al. (2007) Programming multi-agent systems in AgentSpeak using Jason. John Wiley & Sons Ltd. 37 7

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

Arquitetura BDI. Benjamin Grando Moreira

Arquitetura BDI. Benjamin Grando Moreira Arquitetura BDI Benjamin Grando Moreira benjamin@ieb.ufsc.br Modelo BDI Bratman (1990). Baseia-se na noção de estados mentais para descrever o comportamento do agente. Validade questionada em relação a

Leia mais

Implementação do Modelo e da Arquitetura BDI

Implementação do Modelo e da Arquitetura BDI ISSN 0103-9741 Monografias em Ciência da Computação n 33/2007 Implementação do Modelo e da Arquitetura BDI Ingrid Oliveira de Nunes Departamento de Informática PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE

Leia mais

Agentes BDI e AgentSpeak(L)

Agentes BDI e AgentSpeak(L) Agentes BDI e AgentSpeak(L) October 27, 2006 Definição de agente Um agente é um sistema de hardware ou software situado em um ambiente que foi projetado para atingir seus propósitos e que apresenta as

Leia mais

Planejamento Instrucional

Planejamento Instrucional Planejamento Instrucional 31/05/2004 Andréia C. G. Machion amachion@ime.usp.br O que é Planejamento Instrucional? Capacidade de decisão que um professor deve ter durante a interação com um aluno ou grupo

Leia mais

4 Arquitetura BDI Belief Desire Intention

4 Arquitetura BDI Belief Desire Intention 4 Arquitetura BDI Belief Desire Intention Entre os diversos seguimentos da Inteligência Artificial (IA), alguns são dedicados ao estudo de arquiteturas de agentes deliberativos baseadas em estados mentais.

Leia mais

Linguagem de Programação e Compiladores

Linguagem de Programação e Compiladores Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução

Leia mais

Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o Framework Jason

Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o Framework Jason Aplicando Sistemas Multi-Agentes Ubíquos em um Modelo de Smart Home Usando o Framework Jason Carlos Eduardo Pantoja 1,2, Vinicius Souza de Jesus 2, José Viterbo Filho 1 1 Universidade Federal Fluminense

Leia mais

Proposta de uma arquitetura para construção de Objetos Inteligentes de Aprendizagem baseados em agentes BDI

Proposta de uma arquitetura para construção de Objetos Inteligentes de Aprendizagem baseados em agentes BDI Proposta de uma arquitetura para construção de Objetos Inteligentes de Aprendizagem baseados em agentes BDI Natanael R. Bavaresco 1, Jonas Vian 1, Ricardo A. Silveira 1 1 Departamento Informática e Estatística

Leia mais

Linguagens de Programação Orientadas a Agentes: uma introdução baseada em AgentSpeak(L)

Linguagens de Programação Orientadas a Agentes: uma introdução baseada em AgentSpeak(L) Linguagens de Programação Orientadas a Agentes: uma introdução baseada em AgentSpeak(L) Rafael H. Bordini 1 2 Renata Vieira 3 Resumo: Este artigo apresenta uma introdução ao paradigma de programação orientada

Leia mais

Usando Objetos de Conhecimento para Compartilhar Conhecimento na plataforma Jason i

Usando Objetos de Conhecimento para Compartilhar Conhecimento na plataforma Jason i Usando Objetos de Conhecimento para Compartilhar Conhecimento na plataforma Jason i Ana Paula Lemke 1, Pier Cláudio Michelon Nicotti 1, Marcelo Blois Ribeiro 1 e Rafael H. Bordini 2 1 Faculdade de Informática

Leia mais

SMA para posicionamento de jogadores Voleibol via AgentSpeak e Jason

SMA para posicionamento de jogadores Voleibol via AgentSpeak e Jason SMA para posicionamento de jogadores Voleibol via AgentSpeak e Jason Vanessa Menegotto 1, Renan Spencer Trindade 2, Alexandre de O. Zamberlam 2 1 Universidade Feevale Novo Hamburgo RS Brasil 2 Centro Universitário

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

Leia mais

PROPOSTA DE IMPLEMENTAÇÃO DE ATORES AUTÔNOMOS ATRAVÉS DE AGENTES INTELIGENTES

PROPOSTA DE IMPLEMENTAÇÃO DE ATORES AUTÔNOMOS ATRAVÉS DE AGENTES INTELIGENTES PROPOSTA DE IMPLEMENTAÇÃO DE ATORES AUTÔNOMOS ATRAVÉS DE AGENTES INTELIGENTES Kelvin Eikiti Matsumoto [Voluntário] 1, Gleifer Vaz Alves[Orientador] 1 1 Departamento Acadêmico de Informática Câmpus Ponta

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

Uma Aplicação para Gerenciamento de Motoristas Autônomos: Usufruindo da Escalabilidade Oferecida por Sistemas Multiagentes

Uma Aplicação para Gerenciamento de Motoristas Autônomos: Usufruindo da Escalabilidade Oferecida por Sistemas Multiagentes Uma Aplicação para Gerenciamento de Motoristas Autônomos: Usufruindo da Escalabilidade Oferecida por Sistemas Multiagentes Leonardo Blanger 1, Valmir Junior 1, Alison R. Panisson 2 1 Universidade Regional

Leia mais

Inteligência Artificial: 2. Agentes Inteligentes. Capítulo 2 Russell e Norvig

Inteligência Artificial: 2. Agentes Inteligentes. Capítulo 2 Russell e Norvig Inteligência Artificial: 2. Agentes Inteligentes Capítulo 2 Russell e Norvig Agentes Um agente é algo capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por meio de atuadores.

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Criação de uma aplicação Web ASP.NET MVC 4

Criação de uma aplicação Web ASP.NET MVC 4 Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership

Leia mais

IMPLEMENTAÇÃO DE UMA LIVRARIA VIRTUAL UTILIZANDO AGENTES BDI ATRAVÉS DA LINGUAGEM AGENTSPEAK(L)

IMPLEMENTAÇÃO DE UMA LIVRARIA VIRTUAL UTILIZANDO AGENTES BDI ATRAVÉS DA LINGUAGEM AGENTSPEAK(L) UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO IMPLEMENTAÇÃO DE UMA LIVRARIA VIRTUAL UTILIZANDO AGENTES BDI ATRAVÉS DA LINGUAGEM AGENTSPEAK(L)

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador

Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador THREADS EM JAVA Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador Universidade Luterana do Brasil (Ulbra) Curso de Ciência da Computação Campus

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Processamento da Informação Estruturas de seleção simples e composta

Processamento da Informação Estruturas de seleção simples e composta Processamento da Informação Estruturas de seleção simples e composta Prof. Jesús P. Mena-Chalco CMCC/UFABC Q1/2017 1 Expressões Booleanas 2 Fonte: http://pt.wikipedia.org/wiki/george_boole Expressões Booleanas

Leia mais

Simulador de um Ambiente Virtual Distribuído Multiusuário para Batalhas de Tanques 3D com Inteligência Baseada em Agentes BDI

Simulador de um Ambiente Virtual Distribuído Multiusuário para Batalhas de Tanques 3D com Inteligência Baseada em Agentes BDI Simulador de um Ambiente Virtual Distribuído Multiusuário para Batalhas de Tanques 3D com Inteligência Baseada em Agentes BDI Acadêmico: Germano Fronza gfronza@inf.furb.br Orientador: Dalton Solano dos

Leia mais

FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática

FACULDADE DE TECNOLOGIA SENAC PELOTAS. Trabalho de Shellscript Atividade 5 Introdução a Informática FACULDADE DE TECNOLOGIA SENAC PELOTAS Trabalho de Shellscript Atividade 5 Introdução a Informática Luis Gustavo Spern Barreto Análise e Desenvolvimento de Sistemas, 2013 Trabalho de Shellscript ADS 2013

Leia mais

Planejamento Curricular em Inteligência Artificial na Educação

Planejamento Curricular em Inteligência Artificial na Educação Planejamento Curricular em Inteligência Artificial na Educação IeE 27/05/2004 Andréia Cristina Grisolio Machion 27/05/2004 amachion@ime.usp.br O que é Planejamento Instrucional? Capacidade de decisão que

Leia mais

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Objetivos da aula: Introduzir conceitos da linguagem Java Apresentar um histórico da linguagem Apresentar

Leia mais

Minicurso 4 Introdução à Engenharia de Software Orientada a Agentes com JaCaMo

Minicurso 4 Introdução à Engenharia de Software Orientada a Agentes com JaCaMo Minicurso 4 Introdução à Engenharia de Software Orientada a Agentes com JaCaMo Nécio de Lima Veras (IFCE), Anderson Couto Palácio de Queiroz (UECE), Francisco Robson Oliveira de Lima (UECE), Robert Marinho

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 05 Classes, Atributos, Métodos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 05 Classes, Atributos, Métodos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Classe; Atributos; Métodos. Classes É onde conceituamos

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

A IA entrando na quadra de vôlei: Scout Inteligente

A IA entrando na quadra de vôlei: Scout Inteligente A IA entrando na quadra de vôlei: Scout Inteligente Alexandre de Oliveira Zamberlam 1, Leandro Krug Wives 1, Rodrigo R. V. Goulart 1, Roni Gilberto Silveira 2 1 Grupo de Pesquisa em Tecnologia da Informação,

Leia mais

Programa Interdisciplinar de Pós-Graduação em Computação Aplicada Mestrado Acadêmico

Programa Interdisciplinar de Pós-Graduação em Computação Aplicada Mestrado Acadêmico Programa Interdisciplinar de Pós-Graduação em Computação Aplicada Mestrado Acadêmico Diego Gonçalves Silva AgentSpeak(PL) Uma Nova Linguagem de Programação para Agentes BDI com um Modelo Integrado de Redes

Leia mais

Prof. Dr. Alexandre da Silva Simões UNESP

Prof. Dr. Alexandre da Silva Simões UNESP UNESP!! Definição de paradigma!! Principais paradigmas da robótica:!! Paradigma Hierárquico (Deliberativo)!! Exemplos!! Paradigma Reativo!! Exemplos!! Paradigma Híbrido (Reativo-Deliberativo) 1 2!! Números

Leia mais

BDI4JADE Debugger: um Ambiente de Depuração para Agentes BDI

BDI4JADE Debugger: um Ambiente de Depuração para Agentes BDI UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO RAFAEL KRAUSE CENCI BDI4JADE Debugger: um Ambiente de Depuração para Agentes BDI Monografia apresentada

Leia mais

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia mais

1º Teste de Agentes Autónomos e Sistemas Multi-Agente. Mestado em Engª Informática e Computadores- MEIC-T 30 de Março de 2011 Duração: 1h30m

1º Teste de Agentes Autónomos e Sistemas Multi-Agente. Mestado em Engª Informática e Computadores- MEIC-T 30 de Março de 2011 Duração: 1h30m 1º Teste de Agentes Autónomos e Sistemas Multi-Agente Mestado em Engª Informática e Computadores- MEIC-T 30 de Março de 2011 Duração: 1h30m Aluno Número: Nome: Classificação final: 1. (2.0) Autonomous

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 7 Análise Sintática no JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

Escola Náutica Infante Dom Henrique. Grupo I (7.5 valores)

Escola Náutica Infante Dom Henrique. Grupo I (7.5 valores) Grupo I (7.5 valores) Este grupo é formado por questões de resposta múltipla. Para cada uma delas, existe uma resposta correcta. Assinale com uma cruz no enunciado do exame a opção que considere correcta.

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

Leia mais

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12

Nelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12 Fundamentos de Linguagens de Programação Nelma Moreira Departamento de Ciência de Computadores da FCUP Fundamentos de Linguagens de Programação Aula 12 Nelma Moreira (DCC-FC) Fundamentos de Linguagens

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1 Programação de Computadores IV Introdução a Linguagens de Programação Simone Martins simone@ic.uff.br SLIDES CEDIDOS POR BRUNO MARQUES 1 Arquitetura de programação 2 O Que é um Dado? Dado é o elemento

Leia mais

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos + Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Orientação a Objetos - Programação em C++

Orientação a Objetos - Programação em C++ OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

Um Agente Inteligente para Simulação de Voo Usando Jason e X-Plane

Um Agente Inteligente para Simulação de Voo Usando Jason e X-Plane Um Agente Inteligente para Simulação de Voo Usando Jason e X-Plane Tielle da Silva Alexandre, Carlos Eduardo Pantoja 1 CEFET/RJ - Campus Nova Friburgo Av. Gov. Roberto da Silveira, 1900 Prado 22.635-000

Leia mais

5 - Lógica Matemática Representação e Inferência

5 - Lógica Matemática Representação e Inferência EA 072 Inteligência Artificial em Aplicações Industriais 5 - Lógica Matemática Representação e Inferência 5.5 Lógica de Primeira Ordem Lógica proposicional assume que o mundo contém fatos Lógica de primeira

Leia mais

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Expressões Condicionais

Expressões Condicionais Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/39 1 Combinando funções 2 Expressão condicional 3

Leia mais

SIMULAÇÃO DE AMBIENTES MULTIAGENTE NORMATIVOS

SIMULAÇÃO DE AMBIENTES MULTIAGENTE NORMATIVOS PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO SIMULAÇÃO DE AMBIENTES MULTIAGENTE NORMATIVOS STEPHAN CHANG Monografia apresentada como

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Sintaxe Básica de Java Parte 2

Sintaxe Básica de Java Parte 2 Sintaxe Básica de Java Parte 2 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Instruções Condicionais A instrução

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Breakout Componentes do Breakout Bola Raquete Tijolos Paredes Score Nem todos vão precisar de classes próprias

Leia mais

Avaliação de um jogo inteligente no processo de aprendizagem

Avaliação de um jogo inteligente no processo de aprendizagem Avaliação de um jogo inteligente no processo de aprendizagem Alexandre de Oliveira Zamberlam, Claudia Camerini Correa Perez, Rodrigo Rafael Villarreal Goulart Instituto de Ciências Exatas e Tecnológicas

Leia mais

Aula 04 Introdução à Programação Orientada à Objetos

Aula 04 Introdução à Programação Orientada à Objetos Aula 04 Introdução à Programação Orientada à Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Introdução à Programação Orientada

Leia mais

Estruturas de Decisão

Estruturas de Decisão Motivação O controle do fluxo da execução em Java utiliza os mesmos comandos existentes em outras linguagens Decisão: if-else, switch-case Repetição: for, while, do-while Desvios: return, continue, break

Leia mais

private void btapresentanomeactionperformed(java.awt.event.actionevent evt) {

private void btapresentanomeactionperformed(java.awt.event.actionevent evt) { Jorge Ferreira 1 NOTAS DE AULA JAVA 5 E NETBEANS 5 Seguindo as configurações iniciais do formulário, devemos definir o comportamento de apresentação da janela quando executarmos o programa. Para tanto,

Leia mais

Transcript name: 1. Introduction to DB2 Express-C

Transcript name: 1. Introduction to DB2 Express-C Transcript name: 1. Introduction to DB2 Express-C Transcript name: 1. Introduction to DB2 Express-C Welcome to the presentation Introduction to DB2 Express-C. In this presentation we answer 3 questions:

Leia mais

Encapsulamento e Modularização

Encapsulamento e Modularização Encapsulamento e Modularização Departamento de Computação Universidade Federal de Sergipe Encapsulamento Modularização Tipos Abstratos de Dados (TADs) Objetos Classes Conteúdo Encapsulamento Programação

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores

Leia mais

AS-MCOE: Tutor Inteligente para o Processo Ensino-Aprendizagem

AS-MCOE: Tutor Inteligente para o Processo Ensino-Aprendizagem AS-MCOE: Tutor Inteligente para o Processo Ensino-Aprendizagem 1 2 3 4 Alexandre de O. Zamberlam, Rodrigo R. V. Goulart, Cláudia C. C. Perez, Lucas E. Freitas, 5 6 7 8 Janaina M. Blanco, Marcus Hübner,

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Testes de unidade Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Introdução Por que testar?

Leia mais

CARLOS EDUARDO PANTOJA UMA METODOLOGIA PARA APOIO AO DESENVOLVIMENTO SEMI-AUTOMÁTICO DE SISTEMAS MULTI-AGENTES

CARLOS EDUARDO PANTOJA UMA METODOLOGIA PARA APOIO AO DESENVOLVIMENTO SEMI-AUTOMÁTICO DE SISTEMAS MULTI-AGENTES MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO CARLOS EDUARDO PANTOJA UMA METODOLOGIA PARA APOIO

Leia mais

Expressão Condicional

Expressão Condicional Programação Funcional UFOP DECOM 2014.1 Aula prática 4 Expressão Condicional Resumo Expressões condicionais permitem a escolha entre duas alternativas na obtenção do valor da expressão, com base em uma

Leia mais

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end. SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão

Leia mais

Uma Abordagem com Sistemas Multiagentes para Controle Autônomo de Casas Inteligentes

Uma Abordagem com Sistemas Multiagentes para Controle Autônomo de Casas Inteligentes Uma Abordagem com Sistemas Multiagentes para Controle Autônomo de Casas Inteligentes João Pedro Bernardino Andrade 1, Marcos de Oliveira 1, Enyo José T. Gonçalves 1, Marcio Espíndola F. Maia 1 1 Campus

Leia mais

Lista de Linguagens de Programação 16

Lista de Linguagens de Programação 16 Lista de Linguagens de Programação 16 Nome: Matrícula: Os exercícios desta lista devem ser todos implementados em Python. 1. Este exercício faz referência às classes implementadas em Python disponíveis

Leia mais

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será

Leia mais

Linguagens de Programação Aula 3

Linguagens de Programação Aula 3 Aula 3 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada... Classificação das LPs (nível, geração e paradigma) Paradigmas Imperativo, OO, funcional, lógico e concorrente 2/33 Na aula de hoje...

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias

Leia mais

Índice. Modelo Organizacional. Introdução. Modelo Centrado no Agente 15/06/2011

Índice. Modelo Organizacional. Introdução. Modelo Centrado no Agente 15/06/2011 Developing Organised Multi-Agent Systems Using the Moise + : Programming Issues at the System and Agent Levels Alex Vieira Índice Introdução Moise + Modelo Organizacional S-Moise + J-Moise + Arquitetura

Leia mais

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da

Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da istemas de Apoio à Decisão Clínica, 09-1 1 Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da semântica. Importante: distinguir entre os fatos e sua representação

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

O que é um agente. oautonomia oreatividade oproatividade ointeração social. [Wooldridge et al, 1995]

O que é um agente. oautonomia oreatividade oproatividade ointeração social. [Wooldridge et al, 1995] Agent UML O que é um agente Um agente é um sistema de hardware ou software situado em um ambiente que foi projetado para atingir seus propósitos e que apresenta as seguintes propriedades: oautonomia oreatividade

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma

Leia mais

Linguagem Técnica I. Prof. Jonatas Bastos

Linguagem Técnica I. Prof. Jonatas Bastos Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos

Leia mais

PRDS C#.Net Alexandre L. Silva

PRDS C#.Net Alexandre L. Silva PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

PROGRAMAÇÃO JAVA. Parte 3

PROGRAMAÇÃO JAVA. Parte 3 PROGRAMAÇÃO JAVA Parte 3 O PRIMEIRO PROGRAMA O Java executa uma instrução a seguir a outra, pela ordem em que estão escritas. Essa sequência poderá ser contrariada de forma especial: Alternativas: Ciclos

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L)

IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L) IMPLEMENTAÇÃO DE UM AGENTE TAC SCM EM LINGUAGEM AGENTSPEAK(L) Roteiro TAC TAC SCM Especificação do agente Especificação da interface de comunicação Implementação da interface de comunicação Implementação

Leia mais

1 Da aula teórica ao Java

1 Da aula teórica ao Java Universidade Federal do ABC Bacharelado em Ciência da Computação Processamento da Informação - Prof. Fabrício Olivetti de França Guia de tradução entre Java e outras linguagens 1 Da aula teórica ao Java

Leia mais