43 resultados para Sistemas baseados em agentes
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
Este trabalho está relacionado às áreas de Sistemas Multiagentes, Simulação Computacional e Emoções. A partir do estudo destas áreas de pesquisa, foi proposto e desenvolvido um protótipo para um ambiente de simulação baseado em agentes com emoções. Os sistemas multiagentes têm sido utilizados nas mais diversas áreas de pesquisa, não apenas para a área acadêmica, mas também para fins comerciais. Isso ocorre devido a características importantes que estes possuem, como flexibilidade e cooperação. Estas características são úteis para um grande número de aplicações, como para simulação de situações reais, pois os modelos de simulação desenvolvidos utilizando a tecnologia de agentes são muito eficazes e versáteis no estudo dos mais diferentes problemas. Emoções vêm sendo estudadas há algum tempo, pois elas influenciam a tomada de decisão de todas as suas atividades. A tentativa de expressar emoções é algo complexo, dependendo de diversos fatores, tanto sociais como fisiológicos. Objetivando a abrangência das pesquisas na área de sistemas multiagentes, este trabalho propõe o desenvolvimento de um protótipo para um ambiente de simulação baseado em agentes com emoções, utilizando como base para a estruturação das emoções o modelo OCC. Este novo ambiente é chamado AFRODITE. De forma a melhor definir como o AFRODITE seria implementado, foram estudados quatro ambientes de simulação baseados em agentes existentes - SIEME, SWARM, SeSAm e SIMULA, e alguns aspectos destes foram utilizados na construção do novo ambiente. Para demonstrar como o AFRODITE é utilizado, três exemplos de aplicações de áreas de conhecimentos diferentes foram modelados: o IPD (Iterated Prisoner’s Dilemma), da área de Teoria dos Jogos; Simulação de Multidões, da área de Engenharia de Segurança; e Venda de aparelhos celulares com serviço WAP, da área de Telecomunicações. Através dos três exemplos modelados foi possível demonstrar que o ambiente proposto é de fácil utilização e que a tarefa de inserção de emoções nas regras de comportamento pode ser realizada pelo usuário de forma transparente.
Resumo:
As pesquisas sobre governança no sistema financeiro contribuem significativamente para a análise dos diversos elementos que influenciam a performance nesse setor. No entanto, estudos empíricos nessa área ainda são limitados. Um dos motivos é a complexidade inerente à noção de governança na área pública. Da mesma forma que os sistemas complexos, a governança pode ser descrita como um sistema que abrange um grande número de entidades interdependentes entre si, com diferentes graus de relacionamentos. Neste trabalho de pesquisa, o significado de governança regulamentar do SFN se insere nesse escopo de entendimento, isto é, a governança como um fenômeno que resulta das diversas interações existentes entre os atores que influenciam ou são influenciados pelas atividades de regulação do setor financeiro. Em função das especificidades dos sistemas complexos, desenvolve-se e implementa-se um modelo baseado em agentes para a análise da governança regulamentar do SFN mediante experimentos de simulação. Os modelos baseados em agentes possibilitam explicitar aspectos relativos às interações e comportamentos dos agentes (nível micro), ou seja, os comportamentos não-lineares do sistema, que são difíceis de serem capturados com outros formalismos matemáticos. O modelo baseado em agentes é integrado a um modelo econométrico que tem como função caracterizar o ambiente macro-econômico. O ambiente micro é modelado por intermédio de agentes computacionais, com o uso da arquitetura BDI (do inglês, beliefs-desires-intentions). Esses agentes interagem entre si e com o ambiente, possuem crenças sobre o meio onde atuam e desejos que querem satisfazer, levando-os a formar intenções para agir. O comportamento dos agentes foi modelado utilizando-se lógica difusa (fuzzy logic), com o uso de regras construídas por intermédio de pesquisa de análise de conteúdo, a partir de informações coletadas em notícias de jornais, e entrevistas semiestruturadas com especialistasda área financeira. Os resultados dos experimentos demonstram o potencial da simulação dos modelos baseados em agentes para a realização de estudos de ambientes complexos de governança regulamentar.
Resumo:
A Inteligência Artificial é uma área da computação onde se está constantemente desenvolvendo pesquisas em software educacionais, principalmente os Sistemas Tutores Inteligentes (STI). Esses sistemas têm a capacidade de se adaptarem às particularidades de cada aluno, proporcionando assim, ambientes que facilitam a aprendizagem do usuário. Recentemente foi incorporada a tecnologia de agentes na modelagem do STI e nos ambientes educacionais na Internet. Estes agentes são denominados pedagógicos quando estão ligados a um ambiente onde existe uma sociedade de agentes que compõem um sistema de ensino-aprendizagem. Este texto apresenta um modelo de adaptação para ambientes genéricos de ensino, composto por agentes pedagógicos. A proposta é baseada em estudos relacionados com sistemas hipermídia adaptativos, sistemas tutores inteligentes, sistemas multiagentes e agentes pedagógicos. Inicialmente, o texto descreve o modelo. Logo após, é apresentada a implementação dos agentes os quais tem como tarefa prover a adaptação do ensino, sendo responsáveis em fornecer o caminho mais efetivo para a aprendizagem do aluno. Os agentes do modelo são denominados Agente Tutor, Agente Perfil e Agente de Comunicação. A realização da adaptação da instrução às características individuais do aprendiz implica o sistema conhecer: os padrões cognitivos de aprendizagem do aluno, traduzidos como estilos de aprendizagem e as suas implicações pedagógicas; e a modelagem das características do aprendiz: nível de conhecimento, metas, experiência e preferências do aprendiz. Finalmente, o texto descreve um estudo de caso, onde o modelo proposto foi integrado num ambiente de aprendizagem, e validado numa disciplina virtual a fim de avaliação de seus objetivos.
Resumo:
A Engenharia de Conhecimento (Knowledge Engineering - KE) atual considera o desenvolvimento de Sistemas Baseados em Conhecimento (Knowledge- Based Systems - KBSs) como um processo de modelagem baseado em modelos de conhecimento reusáveis. A noção de Métodos de Solução de Problemas (Problem- Solving Methods - PSMs) desempenha um importante papel neste cenário de pesquisa, pois representa o conhecimento inferencial de KBSs em um formalismo explícito. Não menos importante, PSMs também facilitam a compreensão do processo de raciocínio desenvolvido por humanos. PSMs são descritos em um formalismo abstrato e independente de implementação, facilitando a análise do conhecimento inferencial que muitas vezes é obscurecido em grandes bases de conhecimento. Desta forma, este trabalho discute a noção de PSMs, avaliando os problemas de pesquisa envolvidos no processo de desenvolvimento e especificação de um método, como também analisando as possibilidades de aplicação de PSMs. O trabalho apresenta a descrição e análise de um estudo de caso sobre o processo de desenvolvimento, especificação e aplicação de um PSM Interpretação de Rochas. As tarefas de interpretação de rochas são desenvolvidas por petrógrafos especialistas e correspondem a um importante passo na caracterização de rochasreservatório de petróleo e definição de técnicas de exploração, permitindo que companhias de petróleo reduzam custos de exploração normalmente muito elevados. Para suportar o desenvolvimento de KBSs neste domínio de aplicação, foram desenvolvidos dois PSMs novos: o PSM Interpretação de Rochas e o PSM Interpretação de Ambientes Diagenéticos. Tais métodos foram especificados a partir de uma análise da perícia em Petrografia Sedimentar, como também a partir de modelos de conhecimento e dados desenvolvidos durante o projeto PetroGrapher. O PSM Interpretação de Rochas e o PSM Interpretação de Ambientes Diagenéticos são especificados conceitualmente em termos de competência, especificação operacional e requisitos/suposições. Tais definições detalham os componentes centrais de um esquema de raciocínio para interpretação de rochas. Este esquema é empregado como um modelo de compreensão e análise do processo de raciocínio requerido para orientar o desenvolvimento de uma arquitetura de raciocínio para interpretação de rochas. Esta arquitetura é descrita em termos de requisitos de armazenamento e manipulação de dados e conhecimento, permitindo projetar e construir um algoritmo de inferência simbólico para uma aplicação de bancos de dados inteligentes denominada PetroGrapher.
Resumo:
Construção de software com qualidade tem motivado diversas pesquisas na área de Engenharia de Software. Problemas como a grande complexidade requerida pelas aplicações atuais e a necessidade de gerenciamento de um número cada vez maior de pessoas envolvidas em projetos são obstáculos para serem transpostos. Trabalhos relacionados a tecnologia de processos de software aparecem como uma proposta para se obter maior controle das atividades realizadas com o intuito de se obter maior qualidade. A simulação de processos de software, através da representação dos passos definidos em um modelo, tem sido utilizada no auxílio a gerentes de projetos de sistemas para fornecer-lhes informações preciosas sobre o desenvolvimento de um sistema especificado. A representação de conhecimento a respeito das características relacionadas a um ambiente de desenvolvimento ajuda na obtenção de simulações mais realísticas. A partir do modelo, o simulador obtém uma descrição do ambiente em que deve atuar, baseado no conhecimento que se tem a respeito do ambiente. Esse trabalho apresenta um modelo de simulação de processos de software baseado em conhecimento para ser inserido em um ambiente de engenharia de processos de software. A função do modelo é simular um processo de software instanciado, procurando detectar inconsistências no mesmo que possam gerar problemas durante a sua execução, como aumento de custos e comprometimento da qualidade do(s) produto(s) obtido(s). Após a simulação o projetista pode constatar a necessidade de se refazer o modelo, ajustar parâmetros ou executar o processo de software. O objetivo da simulação, nesse trabalho, é auxiliar as pessoas responsáveis por um ambiente de desenvolvimento a obter modelos de processos validados. O modelo de simulação foi definido para ser utilizado no ambiente PROSOFT, que é um ambiente de desenvolvimento que permite a integração de novas ferramentas para desenvolvimento de software. O ambiente PROSOFT vem recebendo propostas de extensão que tem contribuído para o seu aprimoramento, fornecendo para seus usuários uma quantidade cada vez maior de ferramentas de auxílio a construção de artefatos de software. As propostas mais recentes foram um modelo para construção de sistemas especialistas, a definição de um ambiente cooperativo e um gerenciador de processos de software. ATOs algébricos (construções do PROSOFT) são utilizados para especificar formalmente o modelo de simulação definido neste trabalho. A validação é realizada através de um modelo em UML (Unified Method Language) que foi utilizado como base para a construção de um programa implementado usando a linguagem Java. Isso ocorre porque a ferramenta do PROSOFT (implementada em Java) que seria utilizada para validar as especificações algébricas ainda não está finalizada.
Resumo:
Uma organização é um arranjo sistemático composto de duas ou mais pessoas que compartilham um objetivo comum. A estrutura organizacional envolve um conjunto de aspectos ou parâmetros estruturais, os quais são freqüentemente conhecidos através da análise de documentos de planejamento existentes na organização, além de entrevistas com os funcionários e com a direção. Todavia, nem sempre a organização apresenta estas fontes de informação, dificultando o seu entendimento. Autores e profissionais da administração argumentam que a estrutura de uma organização deve ser delineada em função das necessidades dos seus processos de negócio e não vice-versa. Seguindo esta linha de raciocínio, pode-se, concluir que a estrutura dos processos de negócio está refletida na estrutura organizacional. Um processo de negócio é um conjunto de um ou mais procedimentos ou atividades relacionadas as quais, coletivamente, realizam um objetivo de negócio no contexto de uma estrutura organizacional. As organizações modernas apresentam demandas relacionadas à automação de seus processos de negócio devido à alta complexidade dos mesmos e a necessidade de maior eficiência na execução. Por este motivo é crescente a difusão de sistemas baseados em tecnologias de informação capazes de proporcionar uma melhor documentação, padronização e coordenação dos processos de negócio. Neste contexto, a tecnologia de workflow tem se mostrado bastante eficaz, principalmente, para a automatização dos processos de negócio. Contudo, por ser uma tecnologia emergente e em evolução, workflow apresenta algumas limitações. Uma das principais é a ausência de técnicas que garantam correção e eficiência ao projeto de workflow nas fases de análise de requisitos e modelagem. Nestas fases, os projetistas precisam adquirir conhecimento sobre a organização e seus processos de negócio. O entendimento da organização pode ser dificultado devido à ausência de documentos de planejamento e a problemas de conflitos de linguagem e resistências culturais que podem surgir nas entrevistas. Este trabalho tem por objetivo investigar as relações entre diferentes tipos de estrutura organizacional e (sub)processos de workflow específicos. Caso existentes, tais relações podem tanto facilitar o Projeto de workflow a partir do conhecimento da estrutura organizacional, como, também, permitir o entendimento da organização a partir de processos de workflow já existentes.
Resumo:
O presente trabalho visa definir um modelo de alocação dos recursos da produção para centros de trabalho em sistemas baseados em job shop, usando a abordagem heurística para garantir uma boa alocação dos recursos. São levados em conta a complexidade de um ambiente de produção, seus aspectos temporais e os modelos de Job Shop Scheduling atualmente em uso. Com isso são examinados os aspectos conceituais deste ambiente e proposto um modelo de alocação de recursos para auxiliar no planejamento operacional do mesmo. Pode-se definir os recursos como todos os elementos necessários à execução das diversas atividades de um processo produtivo, tais como equipamentos, máquinas, mão-de-obra, etc. Por sua vez, os recursos são limitados por natureza, quanto à quantidade de unidades disponíveis, às suas funcionalidades e à capacidade produtiva. O processo de alocação dos recursos pressupõe a designação dos recursos mais satisfatórios para a execução de cada uma das atividades que fazem parte de um projeto. O modelo proposto é baseado no uso de heurísticas para resolver o escalonamento nos centros de trabalho, também chamados de células de produção, usando restrições e regras entre as ordens de fabricação (peças) e as máquinas, para encontrar uma solução satisfatória ao problema. O resultado final é uma ferramenta de apoio à decisão no processo de manufatura, permitindo a visualização do melhor escalonamento de produção, visando a redução do ciclo e setup de produção no processo, com base nas informações locais do ambiente fabril. O sistema está implementado numa empresa de componentes hidráulicos, inicialmente no centro de trabalho de corte, composto por quatro máquinas que realizam o corte de diversos tipos de matérias-primas.
Resumo:
As maiores dificuldades encontradas no teste de software estão relacionadas à definição dos dados de teste e a decisão de quando encerrar os testes. Uma das formas encontradas para minimizar tais dificuldades está centrada na utilização de critérios de cobertura. O principal objetivo dos critérios de cobertura é tornar o processo de testes mais rápido e preciso, fornecendo informações que determinem o que testar em um software para garantir sua qualidade. A modelagem é um dos elementos de maior importância nas atividades relacionadas ao desenvolvimento de software. Os modelos são construídos principalmente para melhor se entender o sistema, descrever a estrutura e comportamento desejados, visualizar a arquitetura e documentar as decisões tomadas durante o seu desenvolvimento. Atualmente, o sistema de notação mais utilizado para a modelagem de sistemas baseados nos conceitos de orientação a objetos é a Linguagem de Modelagem Unificada – UML [LAR 99]. Nesta notação, um sistema é descrito por um conjunto de diagramas que apresentam diferentes aspectos do sistema. As informações disponibilizadas por estes diagramas propiciam, já nas fases iniciais do desenvolvimento da aplicação (análise e projeto), o planejamento dos casos de teste e a definição de critérios de cobertura. Observa-se que nestas fases a maioria das informações necessárias para o teste já estão disponíveis, como por exemplo, a definição das classes com seus atributos, métodos e relacionamentos, a representação da interação existente entre objetos para a realização de um cenário e a descrição dos possíveis estados e transições de um objeto em resposta a eventos externos e internos. Este trabalho propõe um conjunto de diretrizes e critérios de cobertura de teste, tendo como base as especificações diagramáticas UML. As diretrizes estabelecem um conjunto de instruções para que o teste seja feito e os critérios de cobertura identificam os pontos principais e serem considerados durante o teste. Na definição das diretrizes e dos critérios foram avaliadas as informações disponibilizadas pelos diagramas de classes, seqüência, colaboração e estados.
Resumo:
A execução de testes é um passo essencial na adoção de novos protocolos de comunicação e sistemas distribuídos. A forma com que estes se comportam na presença de falhas, tão comuns em ambientes geograficamente distribuídos, deve ser conhecida e considerada. Testes sob condições de falha devem ser realizados e as implementações devem trabalhar dentro de sua especificação nestas condições, garantindo explicitamente o funcionamento dos seus mecanismos de detecção e recuperação de erros. Para a realização de tais testes, uma técnica poderosa é a injeção de falhas. Ferramentas de injeção de falhas permitem ao projetista ou engenheiro de testes medir a eficiência dos mecanismos de um sistema antes que o mesmo seja colocado em operação efetiva. Este trabalho apresenta o projeto, desenvolvimento e teste do injetor de falhas FIRMAMENT. Esta ferramenta executa, dentro do núcleo do sistema operacional, microprogramas, ou faultlets, sobre cada mensagem processada para a emulação de situações de falha de comunicação, utilizando uma abordagem de scripts. A ferramenta é implementada como um módulo de núcleo do sistema operacional Linux, tendo acesso total aos fluxos de entrada e saída de pacotes de forma limpa e não intrusiva, permitindo o teste de sistemas baseados nos protocolos IPv4 e IPv6. Seu desempenho é significativo, já que a ferramenta evita que os mecanismos de injeção de falhas sejam invocados nos fluxos que não sejam de interesse aos testes, bem como dispensa a cópia de dados dos pacotes de comunicação a serem inspecionados e manipulados. A aplicabilidade da ferramenta, dada pela sua facilidade de integração a um ambiente de produção, é conseqüência de sua disponibilidade como um módulo de núcleo, podendo ser carregada como um plugin em um núcleo não modificado. As instruções por FIRMAMENT suportadas lhe dão alto poder de expressão dos cenários de falhas. Estas instruções permitem a inspeção e seleção de mensagens de forma determinística ou estatística. Além disso, fornecem diversas ações a serem realizadas sobre os pacotes de comunicação e sobre as variáveis internas do injetor, fazendo-o imitar o comportamento de falhas reais, como descarte e duplicação de mensagens, atraso na sua entrega e modificação de seu conteúdo. Estas características tornam a ferramenta apropriada para a realização de experimentos sobre protocolos e sistemas distribuídos.
Resumo:
Neste trabalho, descreve-se o processo de produção de tecnologias educacionais e de Tecnologias da Informação e Comunicação (TICs), relacionando-as ao uso do ensino em Engenharia Geotécnica. Desenvolveu-se um sistema de informação baseado num modelo que integra recursos educacionais produzidos em diferentes formatos eletrônicos e um software baseado na Web para gestão destes recursos e das informações da disciplina Fundações. O software, denominado ENGEO, auxilia a estruturação do conhecimento envolvido no domínio de aplicação, fornecendo ao professor, ou equipe de gestão, ferramentas remotas de administração dos conteúdos e dos recursos educacionais. Aos alunos, a aplicação ENGEO fornece disponibilidade de informações e de conteúdo em um ambiente flexível. Este aplicativo foi desenvolvido para o curso de Engenharia Geotécnica, particularizado para Engenharia de Fundações, com o objetivo de introduzir e incentivar a utilização de sistemas baseados na Web para compartilhamento de conteúdo das disciplinas, implementar Tecnologias de Informação e Comunicação em aplicações para fins educacionais e fomentar discussões a respeito da identidade e perfil do Engenheiro e o papel da TICs no processo de formação do profissional de Engenharia.
Resumo:
Alta disponibilidade (muitas vezes referenciada como HA, de High Availability) é uma característica de sistemas computacionais que são projetados para evitar ao máximo as interrupções, planejadas ou não, na prestação de serviços. Em alta disponibilidade, o ideal é haver poucas falhas e, mesmo quando estas acontecerem, que o seu tempo médio de reparo (ou MTTR, de Mean Time To Repair) seja tão pequeno quanto possível. Sistemas operacionais têm um papel importante em alta disponibilidade, sendo preferível o uso daqueles que possuam sistemas de arquivos seguros e relativamente independentes de ações por agentes humanos para a recuperação. Uma das abordagens para auxiliar a obter-se uma alta disponibilidade em sistemas de arquivos é a do tipo journaling, ou meta-data logging. Existe uma série de sistemas de arquivos para o sistema operacional Linux baseando-se nela, tais como ext3, JFS, ReiserFS e XFS. Este trabalho tem por objetivo propor uma metodologia de validação experimental para avaliar a eficiência do mecanismo para recuperação de sistemas de arquivos baseados em journaling, na ocorrência de falhas. Para isso, a técnica de validação empregada é a da injeção de falhas e o sistema sob teste é uma implementação do XFS. Foram utilizados os recursos de depuração do sistema operacional Linux (que permitem a utilização de métodos para interceptação e manipulação de chamadas de sistema) para a implementação de um injetor de falhas específico para sistemas de arquivos baseados em journaling, o qual foi chamado de FIJI (Fault Injector for Journaling fIlesystems). Manipular os parâmetros de chamadas de sistema (ou system calls) através do FIJI equivale a alterar as requisições feitas ao sistema operacional. A eficiência do mecanismo de journaling é medida injetando-se falhas e medindose o MTTR e a cobertura de falhas. Basicamente, o que procura-se fazer através do injetor de falhas FIJI é ignorar os logs do journaling e manipular uma quantidade de informações diferente daquela que foi solicitada originalmente.
Resumo:
Esta dissertação descreve uma arquitetura de suporte para a criação de sistemas de automação baseados em objetos distribuídos e no barramento CAN. Consiste basicamente da utilização de orientação a objetos para modelagem dos sistemas bem como sua implementação na forma de objetos autônomos. Os objetos são então distribuídos em uma rede de placas microcontroladas, as quais são utilizadas para o controle da planta, e PC's, os quais são utilizados para supervisão e monitoração. O suporte em tempo de execução para os objetos é dado por um sistema operacional que permite a sua implementação na forma de processos concorrentes, o qual, no caso das placas microcontroladas, é um sistema operacional do tipo embarcado. A comunica ção entre os objetos é realizada através de um protocolo publisher/subscriber desenvolvido para o barramento CAN que é suportado por uma biblioteca e elementos de comunicação especí cos. Este trabalho tem como objetivo apresentar alternativas aos sistemas de automação existentes atualmente, os quais baseiamse geralmente em dispositivos mestre/escravo e em comunicações do tipo ponto a ponto. Dessa forma, a arquitetura desenvolvida, apropriada para sistemas embarcados, visa facilitar a criação e dar suporte para sistemas de automação baseados em objetos distribuídos.
Resumo:
Este trabalho foi realizado dentro da área de reconhecimento automático de voz (RAV). Atualmente, a maioria dos sistemas de RAV é baseada nos modelos ocultos de Markov (HMMs) [GOM 99] [GOM 99b], quer utilizando-os exclusivamente, quer utilizando-os em conjunto com outras técnicas e constituindo sistemas híbridos. A abordagem estatística dos HMMs tem mostrado ser uma das mais poderosas ferramentas disponíveis para a modelagem acústica e temporal do sinal de voz. A melhora da taxa de reconhecimento exige algoritmos mais complexos [RAV 96]. O aumento do tamanho do vocabulário ou do número de locutores exige um processamento computacional adicional. Certas aplicações, como a verificação de locutor ou o reconhecimento de diálogo podem exigir processamento em tempo real [DOD 85] [MAM 96]. Outras aplicações tais como brinquedos ou máquinas portáveis ainda podem agregar o requisito de portabilidade, e de baixo consumo, além de um sistema fisicamente compacto. Tais necessidades exigem uma solução em hardware. O presente trabalho propõe a implementação de um sistema de RAV utilizando hardware baseado em FPGAs (Field Programmable Gate Arrays) e otimizando os algoritmos que se utilizam no RAV. Foi feito um estudo dos sistemas de RAV e das técnicas que a maioria dos sistemas utiliza em cada etapa que os conforma. Deu-se especial ênfase aos Modelos Ocultos de Markov, seus algoritmos de cálculo de probabilidades, de treinamento e de decodificação de estados, e sua aplicação nos sistemas de RAV. Foi realizado um estudo comparativo dos sistemas em hardware, produzidos por outros centros de pesquisa, identificando algumas das suas características mais relevantes. Foi implementado um modelo de software, descrito neste trabalho, utilizado para validar os algoritmos de RAV e auxiliar na especificação em hardware. Um conjunto de funções digitais implementadas em FPGA, necessárias para o desenvolvimento de sistemas de RAV é descrito. Foram realizadas algumas modificações nos algoritmos de RAV para facilitar a implementação digital dos mesmos. A conexão, entre as funções digitais projetadas, para a implementação de um sistema de reconhecimento de palavras isoladas é aqui apresentado. A implementação em FPGA da etapa de pré-processamento, que inclui a pré-ênfase, janelamento e extração de características, e a implementação da etapa de reconhecimento são apresentadas finalmente neste trabalho.
Resumo:
Modelos BDI (ou seja, modelos Beliefs-Desires-Intentions models) de agentes têm sido utilizados já há algum tempo. O objetivo destes modelos é permitir a caracterização de agentes utilizando noções antropomórficas, tais como estados mentais e ações. Usualmente, estas noções e suas propriedades são formalmente definidas utilizandos formalismos lógicos que permitem aos teóricos analisar, especificar e verificar agentes racionais. No entanto, apesar de diversos sistemas já terem sido desenvolvidos baseados nestes modelos, é geralmente aceito que existe uma distância significativa entre esta lógicas BDI poderosas e sistemas reais. Este trabalho defende que a principal razão para a existência desta distância é que os formalismos lógicos utilizados para definir os modelos de agentes não possuem uma semântica operacional que os suporte. Por “semântica operacional” entende-se tanto procedimentos de prova que sejam corretos e completos em relação à semântica da lógica, bem como mecanismos que realizem os diferentes tipos de raciocínio necessários para se modelar agentes. Há, pelo menos, duas abordagens que podem ser utilizadas para superar esta limitação dos modelos BDI. Uma é estender as lógicas BDI existentes com a semântica operacional apropriada de maneira que as teorias de agentes se tornem computacionais. Isto pode ser alcançado através da definição daqueles procedimentos de prova para as lógicas usadas na definição dos estados mentais. A outra abordagem é definir os modelos BDI utilizando formalismos lógicos apropriados que sejam, ao mesmo tempo, suficientemente poderosos para representar estados mentais e que possuam procedimentos operacionais que permitam a utilizaçao da lógica como um formalismo para representação do conhecimento, ao se construir os agentes. Esta é a abordagem seguida neste trabalho. Assim, o propósito deste trabalho é apresentar um modelo BDI que, além de ser um modelo formal de agente, seja também adequado para ser utilizado para implementar agentes. Ao invés de definir um novo formalismo lógico, ou de estender um formalismo existente com uma semântica operacional, define-se as noções de crenças, desejos e intenções utilizando um formalismo lógico que seja, ao mesmo tempo, formalmente bem-definido e computacional. O formalismo escolhido é a Programação em Lógica Estendida com Negação Explícita (ELP) com a semântica dada pelaWFSX (Well-Founded Semantics with Explicit Negation - Semântica Bem-Fundada com Negação Explícita). ELP com a WFSX (referida apenas por ELP daqui para frente) estende programas em lógica ditos normais com uma segunda negação, a negação explícita1. Esta extensão permite que informação negativa seja explicitamente representada (como uma crença que uma propriedade P não se verifica, que uma intenção I não deva se verificar) e aumenta a expressividade da linguagem. No entanto, quando se introduz informação negativa, pode ser necessário ter que se lidar com programas contraditórios. A ELP, além de fornecer os procedimentos de prova necessários para as teorias expressas na sua linguagem, também fornece um mecanismo para determinar como alterar minimamente o programa em lógica de forma a remover as possíveis contradições. O modelo aqui proposto se beneficia destas características fornecidas pelo formalismo lógico. Como é usual neste tipo de contexto, este trabalho foca na definição formal dos estados mentais em como o agente se comporta, dados tais estados mentais. Mas, constrastando com as abordagens até hoje utilizadas, o modelo apresentanto não é apenas uma especificação de agente, mas pode tanto ser executado de forma a verificar o comportamento de um agente real, como ser utilizado como mecanismo de raciocínio pelo agente durante sua execução. Para construir este modelo, parte-se da análise tradicional realizada na psicologia de senso comum, onde além de crenças e desejos, intenções também é considerada como um estado mental fundamental. Assim, inicialmente define-se estes três estados mentais e as relações estáticas entre eles, notadamente restrições sobre a consistência entre estes estados mentais. Em seguida, parte-se para a definição de aspectos dinâmicos dos estados mentais, especificamente como um agente escolhe estas intenções, e quando e como ele revisa estas intenções. Em resumo, o modelo resultante possui duas características fundamentais:(1) ele pode ser usado como um ambiente para a especificação de agentes, onde é possível definir formalmente agentes utilizando estados mentais, definir formalmente propriedades para os agentes e verificar se estas propriedades são satifeitas pelos agentes; e (2) também como ambientes para implementar agentes.
Resumo:
Durante os últimos anos as áreas de pesquisa sobre Agentes Inteligentes, Sistemas Multiagentes e Comunicação entre Agentes têm contribuído com uma revolução na forma como sistemas inteligentes podem ser concebidos, fundamentados e construídos. Sendo assim, parece razoável supor que sistemas inteligentes que trabalhem com domínios probabilísticos de conhecimento possam compartilhar do mesmo tipo de benefícios que os sistemas mais tradicionais da Inteligência Artificial receberam quando adotaram as concepções de agência, de sistemas compostos de múltiplos agentes e de linguagens de comunicação entre estes agentes. Porém, existem dúvidas não só sobre como se poderia escalar efetivamente um sistema probabilístico para uma arquitetura multiagente, mas como se poderia lidar com as questões relativas à comunicação e à representação de conhecimentos probabilísticos neste tipo de sistema, principalmente tendo em vista as limitações das linguagens de comunicação entre agentes atuais, que não permitem comunicar ou representar este tipo de conhecimento. Este trabalho parte destas considerações e propõe uma generalização do modelo teórico puramente lógico que atualmente fundamenta a comunicação nos sistemas multiagentes, que será capaz de representar conhecimentos probabilísticos. Também é proposta neste trabalho uma extensão das linguagens de comunicação atuais, que será capaz de suportar as necessidades de comunicação de conhecimentos de natureza probabilísticas. São demonstradas as propriedades de compatibilidade do novo modelo lógico-probabilístico com o modelo puramente lógico atual, sendo demonstrado que teoremas válidos no modelo atual continuam válidos no novo modelo. O novo modelo é definido como uma lógica probabilística que estende a lógica modal dos modelos atuais. Para esta lógica probabilística é definido um sistema axiomático e são demonstradas sua correção e completude. A completude é demonstrada de forma relativa: se o sistema axiomático da lógica modal original for completo, então o sistema axiomático da lógica probabilística proposta como extensão também será completo. A linguagem de comunicação proposta neste trabalho é definida formalmente pela generalização das teorias axiomáticas de agência e comunicação atuais para lidar com a comunicação de conhecimentos probabilísticos e pela definição de novos atos comunicativos específicos para este tipo de comunicação. Demonstra-se que esta linguagem é compatível com as linguagens atuais no caso não-probabilístico. Também é definida uma nova linguagem para representação de conteúdos de atos de comunicação, baseada na lógica probabilística usada como modelo semântico, que será capaz de expressar conhecimentos probabilísticos e não probabilísticos de uma maneira uniforme. O grau de expressibilidade destas linguagens é verificado por meio de duas aplicações. Na primeira aplicação demonstra-se como a nova linguagem de conteúdos pode ser utilizada para representar conhecimentos probabilísticos expressos através da forma de representação de conhecimentos probabilísticos mais aceita atualmente, que são as Redes Bayesianas ou Redes de Crenças Probabilísticas. Na outra aplicação, são propostos protocolos de interação, baseados nos novos atos comunicativos, que são capazes de atender as necessidades de comunicação das operações de consistência de Redes Bayesianas secionadas (MSBNs, Multiple Sectioned Bayesian Networks) para o caso de sistemas multiagentes.