Atps- inteligência artificial

Etapa 1
Relatório do Agente de Resolução de Problemas
Passo 1
Estudo feito pelos membros da equipe sobre Estrutura de Dados: Grafos e suas implementações, através da Linguagem C de programação.

Passo 2
Fig. 1 – Mapa.

– Formulação do Objetivo: Desenvolver para o usuário, um programa capaz de definir o caminho mais rápido, a fim de chegar ao destino.
– Problema: Dirigir de Arad atéBucharest usando as estradas descritas no mapa acima.
– Estado Inicial: Em Arad.
– Estado Final: Em Bucharest.
– Ações: Dirigir (Cidade1, Cidade2).
– Espaço de Estados:Rota 1: Arad, Timisoara, Lugoj, Mehadia, Giurgia, Bucharest.
Rota 2: Arad, Sibiu, Fagaras, Bucharest.
Rota 3: Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucharest.
Rota 4: Arad, Zerind, Oradea,Sibiu, Rimnicu Vilcea, Pitesti, Bucharest.
Rota 5: Arad, Zerind, Oradea, Sibiu, Fagaras, Bucharest.
– Custo do caminho: Rota 1: Arad – 118, Timisoara – 111, Lugoj – 70, Mehadia – 200, Giurgia – 90, Bucharest = 589.
Rota 2: Arad – 140, Sibiu – 90, Fagaras – 211, Bucharest = 441.
Rota 3: Arad – 140, Sibiu – 80, Rimnicu Vilcea – 97, Pitesti – 101, Bucharest = 418.
Rota 4: Arad – 75, Zerind – 71,Oradea – 151, Sibiu – 80, Rimnicu Vilcea – 97, Pitesti – 101, Bucharest = 575.
Rota 5: Arad – 75, Zerind – 71, Oradea – 151, Sibiu – 90, Fagaras – 211, Bucharest = 598.
– Teste do estado objetivo: estado_atual = em Bucharest?
– Caminho: O mais curto: Arad – 140, Sibiu – 80, Rimnicu Vilcea – 97, Pitesti – 101, Bucharest = 418.

Passo 3
O programa será feito com o objetivo de sair da Cidade deArad e chegar até a Cidade de Bucharest utilizando a rota mais curta passando por várias cidades no caminho. Foram determinado 5 (cinco) rotas possíveis.
Assim que o programa for executado será mostrado na tela o objetivo para o usuário saindo da cidade de Arad e um menu de opções com a qual ele possa escolher uma, entre várias cidades que estão na rota até a cidade de Bucharest.
Se a cidadeescolhida estiver em mais de uma rota serão mostrado na tela todas as rotas que a cidade aparece e a soma das distâncias entre as rotas.
No final aparecerá qual é a rota mais curta da Cidade de Arad até a Cidade de Bucharest.

Passo 4
#include
#include

int main(int argc, char *argv[])
{
/* Declaração das variáveis contendo os nomes das cidades e as distancias entre elas */int arad_timisoara = 118, timisoara_lugoj = 111, lugoj_mehadia = 70, mehadia_giurgia = 200, giurgia_bucharest = 90;
int arad_sibiu_2 = 140, sibiu_fagaras_2 = 90, fagaras_bucharest_2 = 211;
int arad_sibiu_3 = 140, sibiu_rimnicu_vilcea_3 = 80, rimnicu_vilcea_pitesti_3 = 97, pitesti_bucharest_3 = 101;
int arad_zerind_4 = 75, zerind_oradea_4 = 71, oradea_sibiu_4 = 151,sibiu_rimnicu_vilcea_4 = 80, rimnicu_vilcea_pitesti_4 = 97, pitesti_bucharest_4 = 101;
int arad_zerind_5 = 75, zerind_oradea_5 = 71, oradea_sibiu_5 = 151, sibiu_fagaras_5 = 90, fagaras_bucharest_5 = 211;
int rota, rota_1, rota_2, rota_3, rota_4, rota_5;
int cidade;

/* Imprime na tela o objetivo do programa e o menu de opções para escolher uma cidade como ponto de referência
paradeterminar a rota que será utilizada entre as cidades principais do programa */

printf("\nSeu objetivo e sair da Cidade de Arad e chegar ate a Cidade de Bucharest.\n\n");
printf("Para verificarmos qual a rota mais curta escolha uma das cidades abaixo como referencia:\n\n");

printf("1 - Fagaras\n");
printf("2 - Giurgia\n");
printf("3 - Lugoj\n");
printf("4 -Mehadia\n");
printf("5 - Oradea\n");
printf("6 - Pitesti\n");
printf("7 - Rimnicu Vilcea\n");
printf("8 - Sibiu\n");
printf("9 - Timisoara\n");
printf("10 - Zerind\n\n");
printf("Qual a opcao escolhida: ");
scanf("%i", &cidade);
printf("\n");

/* Realização das somas das distâncias entre as cidades e armazenadas em outra variável conforme a rota */...
tracking img