Baixe o app para aproveitar ainda mais
Prévia do material em texto
Faculdade Anhanguera Sistemas de Informação 7º Semestre – Inteligência Artificial ATPS – Luis Daniel Carlos Horácio 6453339648 Henrique Brisola 9092482676 Jaquicely Kaiser 6662420324 Luiz Paulo de Oliveira 6610315884 São Paulo, 03 de Março de 2015 Relatório do Agente de Resolução de Problemas O que são Agentes Inteligentes? É um sistema capaz de perceber o ambiente ao seu redor e tomar decisões que Possivelmente maximizem sua chance de sucesso. São aqueles que adotam a melhor opção Possível para resolver um problema. A própria internet utiliza diversos agentes desde de sites que conseguem efetuar comparações entre vagas de hotéis ou preço de produtos até os motores de busca inteligentes com o auxílio da semântica Podemos ainda definir um agente como uma entidade (com computacional) que funciona de forma contínua e autônoma em um ambiente fechado podendo existir outros agentes inteligentes com algumas características comuns ou nenhuma. Um determinado sistema pode ser considerado um agente se for capaz de perceber o seu ambiente por meio de sensores e de agir sobre o próprio ambiente por intermédio de atuadores agregando as características como autonomia, reatividade, pro-atividade, e habilidade social. Tipos de Agentes: Reativos Desenvolvem inteligência a partir de interações com o ambiente, não sendo necessário um modelo preestabelecido. Simples Reativos Respondem a percepções interpretando as entradas, verificando as regras correspondentes e agindo. Reativos baseados em modelo Pode lidar com ambientes parcialmente observáveis. O agente deve controlar as partes do mundo que ele não pode ver. O agente deve manter um estado interno que dependa do histórico de percepções e reflita os aspectos não observados no estado atual. Cognitivos Complexo, com mecanismos de tomada de decisões avançados, interações sofisticadas e com um objetivo fortemente estabelecido. Baseados em objetivos Procuram atingir alvos, porém são mais flexíveis que reativos. Baseados na utilidade Procuram maximizar suas expectativas ponderando a probabilidade de sucesso em relação à importância de objetivos. Introdução a estrutura de dados Data Structures ou estruturas de dados é o nome dado a organização dos dados e algoritmos de forma coerente e racional de modo a otimizar o seu uso. De acordo com a maneira como um conjunto de dados é organizado e como as operações que são efetuadas sobre estes dados acontecem, pode ser solucionar de forma extremamente simples os problemas que são extremamente complexo. Diferentes de tipos de estruturas de dados são adequados para diferentes tipos de aplicações, e algumas são altamente otimizados para tarefas específicas. Por exemplo, no caso de bancos de dados que usam índices para pequenas percentagens de recuperação de dados e compiladores em bancos de dados dinâmicos que usam tabelas de hash como tabelas de consulta. As estruturas de dados acabam fornecendo um meio para que se possa gerenciar os dados de forma eficiente para o uso em grandes databases e serviços de indexação da própria internet. Estruturas de dados eficientes são fundamentais para projetar algoritmos. No desafio proposto iremos utilizar estrutura de dados com grafos Pois é a estrutura mais adequada para encontrar o caminho mais curto entre a cidade A até a cidade B. Como o desafio deste trabalho é encontrar o menor caminho a ser percorrido podemos usar grafos para solucionar as seguintes questões: Exemplo Existe um caminho para ir de um objeto a outro seguindo as conexões? Qual é a menor distância entre um objeto e outro? Quantos outros objetos podem ser alcançados a partir de um determinado objeto? Logo podemos usar grafos para modelar esses problemas. Introdução a Grafo A Teoria Dos Grafos é um ramo da matemática que estuda as relações entre os objetos de um determinado conjunto. Para tal são empregadas estruturas que chamamos de grafos, G (V, A), onde V é um conjunto (não vazio) de objetos denominados vértices ou nós e A é um conjunto de pares não ordenados de V, chamado arestas ou arcos. Muitas aplicações no ramo de ciência da computação utilizam conjuntos de conexões entre pares de objetos. Algumas aplicações utilizando grafos: Motores de Busca Inteligente na Web; Descobrir a rota mais curta para se visitar uma determinada cidade ou região turística; Logística de transporte; Fluxo de um jogo; Linhas de metrô; Árvore genealógica; Conexões de comunicação ligando satélite; Mapa de estrada; Rede de computadores; Estrutura de diretórios em um sistema operacional Unix. Resumo sobre grafos Grafo: conjunto de vértices e arestas Vértices: objeto simples que pode ter nome e outros atributos Arestas: conexão entre dois vértices Tipos de Grafos Simples É um grafo não direcionado Completo Nulo Regular Multigrafo Componentes do Agente de Solução de Problemas Formulação do Objetivo Objetivo da resolução do problema é estabelecer o caminho mais curto para sair do ponto A (Arad) chegar ao ponto B (Bucharest) restabelecer o custo da distância. Problema Criar um algoritmo que utilize graus faz para buscar a rota mais simples para sair do ponto a ao ponto b. Ações Sair de Arad e percorrer o caminho mais curto através de outras cidades para chegar até o destino de Bucharest. Caminho Rota que será utilizada para sair do ponto A para o ponto B, levando em consideração a rota mais curta. Custo do caminho É a soma do caminho mais curto percorrido do ponto A ao ponto B. Estado Final Chegada à cidade de Bucharest Apresentação do Código #include<stdio.h> #include<stdlib.h> #include<file.h> #define INFINITO_POSITIVO 1000 int main(){ FILE *txt; int origem, destino, peso, grafo[100][100]; int dist[100]; int C[100]; int cont1, cont2, cont3; int w=0; int aux=0; int pos_w; int tamanho_C=0; for(cont1=0;cont1<100;cont1++){ for(cont2=0;cont2<100;cont2++){ grafo[cont1][cont2]=INFINITO_POSITIVO; } } if((txt=fopne("grafo.txt","a+"))=NULL){ printf("Erro ao abrir o arquivo.\n"); system("Pause"); exit(1); } while(!feof(txt)){ fscanf(txt,"%d",&origem); fscanf(txt,"%d",&destino); fscanf(txt,"%d",&peso); grafo[origem][destino]=peso; }fclose(txt); cont3=0; for(cont1=0;cont1<14;cont1++){ for(cont2=0;cont2<14;cont2++){ if(grafo[cont1][cont2!=1000]){ dist[cont3]=grafo[cont1][cont2]; cont3++; } } } C[0]=1; dist[0]=0; while(tamanho_C<100){ tamanho_C+=1; w=INFINITO_POSITIVO; for(cont1=0;cont1<100;cont1++){ if((C[cont1]==0) && (w<dist[cont1])){ w=dist[cont1]; pos_w=cont1; } } C[pos_w]=1; for(cont1=0;cont1<100;cont1++){ if(C[cont1==0]){ if(dist[cont1]>(w+grafo[pos_w][cont1])){ dist[cont1]=w+grafo[pos_w][cont1]; } } } printf("Origem Destino Distancia\n\n"); for(cont1=0;cont1<100;cont1++){ for(cont2=0;cont2<100;cont2++){ if(grafo[cont1][cont2]!=1000){ printf(" %d %d %d\n",cont1,cont2,grafo[cont1][cont2]); } } } printf("\n"); system("pause"); return 0; } Arquivo Grafo 01 02 75 01 03 140 01 04 118 02 05 71 03 06 90 03 08 80 04 04 111 05 03 151 06 12 211 07 09 70 08 10 97 09 11 200 Relatório de Aquisição do Conhecimento Aquisição do Conhecimento Sistema Especialista de Biblioteca Pública Modelo Organizacional Tipo da Organização A organização é uma Biblioteca Pública que tem por finalidade disponibilizar livros acadêmicos, históricos, românticos, institucionais, revistas e jornais por meio de aluguel, empréstimo e compra. A Biblioteca Pública atende públicos desde crianças a idosos. Principais Problemas Enfrentados Grande procura por títulos raros e incomuns. Grande procura por mesmos títulos. Falta no controle de devolução de objetos emprestados ou alugados Cliente demora para encontrar o titulo Necessidade de vários profissionais Modelo da Aplicação Ajudarcliente e profissional na busca, pesquisa e administração dos títulos para todos estados: na prateleira, em leitura, alugado, emprestado e vendido. Tópicos Envolvidos no Modelo de Aplicação: Entrevistas Não Estruturada Quais são os objetivos de uma Biblioteca Pública? Os objetivos de uma biblioteca pública são proporcionar uma grande disponibilização de livros acadêmicos, históricos, românticos, institucionais, revistas e jornais por meio de aluguel, empréstimo e compra. Buscando atender públicos desde crianças a idosos. Semiestruturada Que tipo de preparo deve ser esperado para a leitura de cada título? Para todos os tipos e títulos oferecidos devem ter um conhecimento básico sobre o assunto a ser tratado. Por exemplo, para livros infantis e infanto-juvenis espera-se a alfabetização do leitor ou um acompanhante alfabetizado, para livros profissionais e acadêmicos, deve-se ter conhecimento aprofundado na área para a especialização desejada. Estruturada Como a leitura de títulos de Design Digital irá ajudar o profissional de Marketing? Com a leitura de livros aprofundados no conhecimento de tecnologias novas, a área de marketing irá ter novas possibilidades, facilidades e agilidades na criação e desenvolvimento de propagandas internas e externas. Com maiores conhecimentos em Photoshop, Illustrator, HTML, CSS e outras ferramentas e linguagens, o profissional poderá decidir com maior precisão qual delas atende melhor o seu negócio ou objetivo. 1.2. Análise de Custo e Benefício: Comment by Brisola, Henrique: http://www.ufrgs.br/gianti/files/artigos/2001/2001_102_ReAd.pdf Linguagem PHP Sistema Gerenciador de Banco de Dados Sistema de Banco de dados comum, um para todos terminais e localidades. Equipe de Desenvolvimento Desenvolvedor UX e UI, bibliotecário, gerente de projeto, Quality Assurancer, Tester, Designer. Compra de Equipamentos Computadores para terminar e servidor centralizado. Instalação de Software. Sem instalação, sistema WEB
Compartilhar