0% encontró este documento útil (0 votos)
82 vistas13 páginas

Simulador de Agente Reflejo en MATLAB

El documento describe un laboratorio para desarrollar un agente reflejo simple en MATLAB. Los estudiantes implementarán un simulador que incluya un entorno con celdas que pueden contener paredes, obstáculos o basura. El agente usará percepciones de su entorno y una tabla de percepción-acción para determinar acciones como avanzar, girar o succionar basura. El documento provee detalles sobre cómo construir el entorno, las percepciones y acciones del agente, y su comportamiento basado en una tabla.

Cargado por

adasdas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas13 páginas

Simulador de Agente Reflejo en MATLAB

El documento describe un laboratorio para desarrollar un agente reflejo simple en MATLAB. Los estudiantes implementarán un simulador que incluya un entorno con celdas que pueden contener paredes, obstáculos o basura. El agente usará percepciones de su entorno y una tabla de percepción-acción para determinar acciones como avanzar, girar o succionar basura. El documento provee detalles sobre cómo construir el entorno, las percepciones y acciones del agente, y su comportamiento basado en una tabla.

Cargado por

adasdas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sistemas Inteligentes UPAO 2021

LABORATORIO: AGENTES INTELIGENTES

DESARROLLE UN AGENTE REFLEJO SIMPLE EN MATLAB

OBJETIVO
El objetivo del siguiente laboratorio es que los alumnos logren implementar un simulador de un agente
reflejo simple.

MARCO REFERENCIAL
Los agentes son programas de software que basan su
comportamiento en percepciones captadas por sus sensores.

El comportamiento de un agente es una secuencia de acciones y


percepciones efectuadas por el agente para lograr el propósito
para el cual fue diseñado.

Los agentes reflejos simples tienen entre sus características:


1. Responde a las percepciones en función a una tabla
PERCEPCION-ACCION,
2. No se acuerda de su pasada.
3. Su medio ambiente es parcialmente observable.

REQUISITOS
Tener conocimiento de programación en MatLab y en Agentes Inteligentes.

DESARROLLO. MEDIO AMBIENTE o ENTORNO DE TRABAJO


Para implementa el simulador tome en consideración que el medio ambiente en el cual se desempeña el
agente puede tener las siguientes características.
1. Puede tener entre 3 y 20 celdas.
2. Está rodeado por una pared
3. Pueden existir obstáculos en el medio del ambiente
4. Puede existir basura en el ambiente

Para implementar el medio ambiente usted debe de seguir un procedimiento de representación del medio
ambiente, definiendo con una matriz las celdas correspondientes y valores los objetos que se pueden
encontrar en el ambiente.

Para implementar el medio ambiente (O ENTORNO) de trabajo desarrolle el siguiente programa en MatLab

function enviroment = buildEnviroment


clc
% PARAMETROS
EMPTY = 0; % indicador de vacio
WALL = 1; % indicador de pared
HOLE = 2; % indicador de hueco
TARGET = 9; % indicador de basura
MMIN = 3; % tamaño mìnimo del ambiente
MMAX = 4; % tamaño máximo del ambiente
ORIENTATION = {'TOP', 'LEFT', 'DOWN', 'RIGHT'};

% porcentaje de objetos en el medio ambiente


pWall = 0.2; % porcentaje paredes
pHole = 0.01; % porcentaje de huecos
pTarget= 0.2; % porcentaje de basuras

% estructura medio ambiente


Space = [];
Size = [];
Position = [];
Orientation = '';
Sistemas Inteligentes UPAO 2021

% CREACION DEL MEDIO AMBIENTE


% define tamaño del espacio de trabajo.
[Link] = randint(MMIN, MMAX); % altura
[Link] = randint(MMIN, MMAX); % ancho
disp([[Link], [Link]])

% crea el espacio de trabajo vacio


Space = zeros([Link] + 2, ... % tamaño del ambiente
[Link] + 2);

% coloca elementos
for r = 2:[Link] + 1
for c = 2:[Link] + 1
if (rand() < pWall); Space(r, c) = WALL; end;
if (rand() < pHole); Space(r, c) = HOLE; end;
if (rand() < pTarget); Space(r, c) = TARGET; end;
end
end

% coloca borde derecho e izquierdo


for r = 1:[Link] + 2
Space(r, 1) = WALL;
Space(r, [Link] + 2) = WALL;
end

% coloca borde superior e inferior


for c = 1:[Link] + 2
Space(1, c) = WALL;
Space([Link] + 2, c) = WALL;
end

% % posicion inicial agente


[Link]= randint(2, [Link] + 1);
[Link] = randint(2, [Link] + 1);

Space([Link], [Link]) = 0; % siempre inicia en vacio

% orientacion inicial del agente


Orientation = ORIENTATION(randint(1,4));

% No se ha golpeado aún
Beated = 0;

[Link] = Space;
[Link] = Size;
[Link] = Position;
[Link] = Orientation;
[Link] = Beated;

[Link] = ORIENTATION;

Ejemplo de medios ambientes generados por el programa son:


1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 9 1 1 0 0 0 9 1
1 0 0 0 9 1 1 0 0 0 9 1
1 0 0 1 1 1 1 0 0 1 1 1
1 0 0 0 0 1 1 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1 1 1
Sistemas Inteligentes UPAO 2021

DESARROLLO. OPERACION DEL AGENTE

La parte más importante de un programa que simula a un agente es el BUCLE PRINCIPAL, en este bucle es
donde el agente ejecuta la secuencia de percepción acción.

function statistic = agent


% parametros
SLEEP = 0.5;
MAXSTEPS = 100;

% variables endogenas
step = 0;
stop = 0;

% contruye el medio ambiente


enviroment = buildEnviroment();

% bucle principal del agente


while (step < MAXSTEPS) && ~stop && ~cycling()
percep = getPercepcion(enviroment);
state = interpretPercept(percep, [Link],
[Link]);
enviroment = setBeated(enviroment, 0);
action = findAction(state);
[stop, enviroment]= setAction(enviroment, action);
step = step + 1;
pause
pause(SLEEP);
end

DESARROLLO. LEE E INTERPRETA LAS PERCEPCIONES

function percep = getPercepcion(E)


percep = [Link]([Link], [Link]);

function state = interpretPercept(percep, beated, orientation)


% transforma la percepción para que pueda ser
% usada con la table P->A

% interpreta la percepción dada por:


% col1 = target <0, 1, 9>
% col2 = hole <0, 1, 9>
% col3 = beat <0, 1, 9>
% col4 = orientation<1, 2, 3, 4>

% PARAMETROS
EMPTY = 0;
WALL = 1;
HOLE = 2;
TARGET = 9;

state = [0, 0, 0, 0];


if (percep == TARGET); state(1,1) = 1; end;
if (percep == HOLE); state(1,2) = 1; end;
state(1,3) = beated; % Beat - golpeado
state(1,4) = findcell(orientation); % Orientation
Sistemas Inteligentes UPAO 2021

DESARROLLO. COMPORTAMIENTO
El comportamiento del agente debe estar basado en la siguiente tabla percepción acción.

AGENTE 1
Basura Hueco Golpe Orient Acción
0 0 0 * Avanzar
0 0 1 * Rotar (-)
1 0 0 * Succionar
0 1 0 Stop

Esta tabla puede ser implementada mediante la siguiente función:


function action = findAction(percep)
% lee tabla percepción acción
% col1 = target <0, 1, 9>
% col2 = hole <0, 1, 9>
% col3 = beat <0, 1, 9>
% col4 = orientation<1, 2, 3, 4, 9> {"TOP", "DOWN", "LEFT", "RIGHT", todos};

table = [0 0 0 9 1 ; ... % 1 --> avanzar


0 0 1 9 2 ; ... % 2 --> rot + % 3 --> rot -
1 0 0 9 4 ; ... % 4 --> suction
0 1 0 9 5]; % 5 --> stop

% solo se usaran las tres primeras columnas de la tabla

for r = 1:5
T = table(r,[1:3]);
P = percep(1,[1:3]);
if T == P
action = table(r,5);
return
end
end

DESARROLLO. EJECUTA ACCION


function [stop, E]= setAction(E, action)

stop = 0;
if action == 1 % AVANZAR
if strcmp([Link], 'TOP')
if [Link]([Link] - 1, [Link]) == 1;
E = setBeated(E, 1);
else
[Link] = [Link] - 1;
end
end
if strcmp([Link], 'LEFT')
if [Link]([Link], [Link] - 1) == 1;
E = setBeated(E, 1);
else
[Link] = [Link] - 1;
end
end
if strcmp([Link], 'DOWN')
if [Link]([Link] + 1, [Link]) == 1;
E = setBeated(E, 1);
else
[Link] = [Link] + 1;
end
end
if strcmp([Link], 'RIGHT')
if [Link]([Link], [Link] + 1) == 1;
E = setBeated(E, 1);
else
Sistemas Inteligentes UPAO 2021

[Link] = [Link] + 1;
end
end
end
if (action == 2) % rot + <"TOP", "LEFT", "DOWN", "RIGHT">
position = findcell([Link]);
position = nextpos(position, +1, 4);
[Link] = [Link](position);
end

if (action == 3) % rot -
position = findcell([Link]);
position = nextpos(position, -1, 4);
[Link] = [Link](position);
end

if (action == 4) % suction
[Link]([Link], [Link]) = 0;
end

if (action == 5) % stop
stop = 1;
end
% disp([[Link], [Link]])
% disp('--->')
% disp([Link])
% disp('<---')

Funciones miscelaneas
function c = cycling()
c = 0;

function enviroment = setBeated(enviroment, beated)


[Link] = beated;

function p = nextpos(p, var, LIM)


p = p + var;
if p > LIM; p = 1; end;
if p == 1; p = LIM; end;

function position = findcell(Value)


ORIENTATION = {'TOP', 'LEFT', 'DOWN', 'RIGHT'};

[rows, cols] = size(ORIENTATION);


for r = 1:rows
for c = 1:cols
if strcmp(ORIENTATION{r,c}, Value)
position = c;
return
end
end
end

function r = randint(Min, Max)

r = (Max - Min + 1) * rand();

r = Min - 0.5 + r;

r = round(r);
r = max(Min, r);
r = min(Max, r);
AGENTE INTELIGENTE: VIAJERO PERDIDO

El presente trabajo describe como resolver un juego con algoritmos de inteligencia


artificial. El viajero perdido el cual consiste en un carro en el que un viajero trata de
conducir para encontrar el destino al cual desea llegar, para ello debe ir pasando por
unas calles las cualestienen obstáculos y este deberá ir sorteándolos, y además
deberá ir desde el inicio hasta el final siguiendo la ruta más corta. Aquí se debe
analizar que puede existir un caso en el que el viajero no encuentre una ruta, en este
caso no existe solución.

1. DESCRIPCIÓN DEL PROBLEMA

Meta: El viajero deberá llegar a su destino final en un corto tiempo, de la


manera más rápida, escogiendo las calles más cortas o ruta más corta y
además deberá evitar chocar con los obstáculos que se encuentre en su
camino.

Inicio: El viajero tendrá un punto de partida cualquiera, tendrá varias rutas


para llegar asu destino, y este deberá tener la capacidad para llegar al
destino sorteando los obstáculos colocados en su trayecto. El camino
escogido debe ser el más corto para minimizar tiempo.

Obstáculos: Los obstáculos serán casas que las cuales estarán a lo largo
de todo el trayecto. Estos obstáculos permanecen estáticos, no varían
cuando el viajero se desplaza.

2. INGENIERIA DEL AGENTE


2.1. DESCRIPCIÓN DEL AGENTE

Una vez que hemos dado una breve descripción de lo que se trata el
problema de este juego pasaremos a analizar la ingeniería del agente.

2.1.1. Tipo de agente: Basado en Objetivos

El objetivo principal de este agente es llegar a su destino final pero


puede existir el caso en el que no exista una ruta para llegar a su
destino final, ya que el camino está lleno de obstáculos y no tiene
salida.

El agente al tener un camino el cual tiene un largo recorrido debería


establecer puntos de control, avanzarpor cada calle será un punto de
control, por ejemplo avanzar hasta la siguiente calle el punto de control
es verificar queavanzo hasta esa calle.

2.1.2. Sensores
Los sensores son los que nos ayudaran a interactuar o responder con
acciones correctas ante los eventos o percepciones provocados por el
medio en el cual se desenvuelve el agente,proporcionarán información
de cuál sería la posible ruta a seguir. A continuación describimos estos
sensores:

• Sensor para detectar obstáculos:Percibirá si alrededor del agente se


encuentra un obstáculo o si el camino está libre, y así nos dará
información si está en peligro de chocar con algún obstáculo.
• Sensor de posición final o meta: Este sensor será muy útil ya que nos
dirá que el agente llego al punto final y ya no debe seguir recorriendo
mas distancia, además dará la ubicación exacta del punto final, y esto
ayudara a guiar al viajero por las calles.
• Sensor de posición inicial- No dará la dirección desde donde salió el
agente para en caso de retroceder sepa el punto de inicio.

2.1.3. Entorno

Ya hemos determinado el tipo de agente, los sensores que tendrá, ahora


vamos a dar características del entorno en el cual se desenvolverá.

Calles.- Por donde se va a desplazar elagente


Obstáculos.- Con lo que debe evitarchocar el agente.

Características del entorno

• Episódico ya que cada vez que el agente avanza una calle debe
volvera rastrear para determinar si existen obstáculos a su
alrededor y no importa lo que haya hecho anteriormente.
• Ambiente dinámico ya que cada vez se puede jugar cambiando de
posición los obstáculos o la meta,cada vez que se ejecute el juego
tendrá baja probabilidad de parecerse en la ubicación de dichos
obstáculos o peor aun de la ruta a seguir, esto obligara al agente a
intentar prever los movimientos de dichos elementos.
• Es accesible porque los sensores no tienen ningún tipo de
restricción a la hora de determinar el estado del ambiente que
rodea al agente, excepto los inherentes a lacapacidad del sensor
para percibir según qué cosas, como por ejemplo la distancia
máxima del sensor de obstáculos.
• Ambiente continuo ya que cada vez que el agente avance una
calle tendrá altas probabilidades de recibir percepciones.
• Es no determinista ya que sobre el ambiente intervienen otros
elementos ajenos a nuestro agente por lo que sus acciones no
determinan el estado del mismo.

2.1.4 Actuadores-Acciones

Los actuadores son las acciones que debe llevar a cabo el agente al
recibir cierta percepción por parte de los sensores. Aquí describimos
las acciones a llevar a cabo, las cuales son motrices.

Actuadores Acción
Dirección Girar Norte
Girar Sur
Girar Este
Girar Oeste
Adelante
Freno Parar
Freno Retroceder
Motor

2.1.5 Metas
Es el objetivo final del agente, al llegar a la meta el agente se detendrá
y dará por concluida su misión. La meta principal es llegar al destino
final siempre y cuando lo haga siguiendo la ruta más corta sin chocar
con los obstáculos que están puestos en su camino

Figura1.- Plano inicial del ambiente enel cual actúa el agente.


SOLUCIÓN ALGORITMICA Y TIPO DE pasillos, los niveles son tomados en
AGENTE PARA ESTE PROBLEMA forma horizontal empezando desde cero
por la parte superior, y los pasillos son
tomados en forma vertical empezando
desde cero por la izquierda

niveles
p
a
s
i
l
l
o
s

Por ejemplo en la siguiente casilla


estamos ubicados en el nivel 4 pasillo 0
Figura1.- Plano inicial del ambiente enel cual actúa
el agente.

1. Algoritmo y tipo de Agente


4,0
Hemos determinado que la mejor opción
para resolver este problema esimplementar
un agente de búsqueda online.

La búsqueda online intercambia Entonces con la función dicha

computación con acción, y difiere en esto anteriormente calculamos en qué nivel y


con las búsquedas offline, las cuales pasillo se encuentra nuestro inicio
determinan una solución antes de enviando como parámetro el número de
ejecutarla. casilla en donde se encuentra la partida.
Una búsqueda online es necesaria para 3. Ahora que ya sabemos la ubicación de la
entornos dinámicos y semi-dinámicos, espor partida ubicamos los vecinos de esta
eso que son utilizados comúnmente en partida. Con vecinos nos referimos a los
problemas de exploración. nodos que lo rodean. Para hacer esta
ubicación enviamos como parámetro el
Para resolver nuestro problema seguimos nivel y pasillo de la partida alprocediendo
los siguientes pasos: que lo hemos denominado ‘Definir
1. Primeramente ubicamos la posición de Vecinos’. En este procedimiento,
inicio o partida para ello usamos la clase hacemos una comparación:
que la hemos denominado Nodo y si nivel = 0
enviamos como parámetros: la partida y no vecino hacia arriba,
la casilla en cual se encuentra dicha si nivel = 9
partida no vecino hacia abajo,
Nodo("partida", this.casilla_partida.Name) si pasillo = 0
2. En esta clase utilizamos un no vecino izquierda
procedimiento llamado ‘calcular si el pasillo = 9
ubicación’ en el cual obtenemos la no vecino derecha
ubicación de la partida. Para ello hemos
dividido a nuestro cuadro en niveles y
n:0 a) Verificar si la casilla en donde nos
encontramos es la llegada
b) Llamar a la función expandir
p:0 p:9 nodos enviando como parámetro
el nodo en el cual nos
encontramos actualmente.
c) En la función expandir nodo
n:9 verificamos cuantos nodos hojas
puede tener un nodo, haciendo
una comparación determinamossi
4. Siguiendo los mismos pasos del 1 al 3
un sucesor es un camino o es un
calculamos la ubicación de la llegada, así
obstáculo. En caso de ser un
mismo calculamos los vecinos de la
obstáculo pasamos, en caso de
casilla llegada.
ser un camino hacemos el
5. A continuación calculamos la heurística
procedimiento del 1 al 3 que es de
y enviamos como parámetro el nodo
calcular su ubicación, definir sus
partida ya definido su ubicación y
vecinos y calcular la heurística.
vecinos.
CalcularHeuristica([Link])
En esta heurística calculamos la
distancia que existe desde la partida, y
desde cada vecino donde no existe un
obstáculo, para calcular la heurística n1: S2
(4,0)
utilizamos el nivel y el pasillo en el que
se encuentra cada nodo. Con la S1
siguiente formula calculamos la
heurística:
a= nivel_nodo - nivel_llegada
b= pasillo_nodo - pasillo_llegada
Llegada
h(n): a2 + b2
[Link]([Link](a, 2) + [Link](b, 2))
Partida

Este algoritmo nos dice que antes de un Sucesores de n1


agente poder realizar una acción debe n1
calcular la heuristica de los nodos
sucesores y asi luego hacer una S1 S2
comparación de que heuristica es la
mejor y tomar esa para su proxima d) Una vez que definimos cada
acción. sucesor de un nodo lo ubicamos
dentro en un array llamado árbol,
6. Creamos dos variables de tipo array una calculando el costo desde elpadre
para almacenar los nodos que al nodo hijo en este caso desde n1
expandiremos del árbol, y otro para hasta s1 o desde n1 hasta s2,
almacenar la ruta que nos llevara a la además calculamos la heurística
llegada. de cada nodo hijo osucesor.
7. Luego Hemos creado un procedimiento e) Ya tenemos en nuestro árbol el
llamado BLO(Búsqueda Local Online),el nodo padre y sus sucesores, con
cual a su vez hace un llamado a la sus respectivas heurísticas, a
función Búsqueda Local Online continuación creamos un array
1(BLO1), esta función BLO1 lo que nos auxiliar para poder ordenar
hace es:
nuestro árbol, ordenamos los
sucesores de un nodo tomando a. Verdino
en cuenta la función heurística en
nodo con menor funciónheurística Un equipo de ingenieros de la Universidad
estará primero, esto con la de La Laguna (ULL), en Canarias, ha
finalidad de escoger como diseñado a “Verdino”, un vehículo
primera opción el nodo con autoguiado que detecta la carretera
función heurística más corta. utilizando una técnica denominada
f) Además debemos tomar en ‘Optimización de Colonia de Hormigas’
cuenta que no siempre un nodo (OCH).
con mejor función heurística será
el elegido, se debe hacer todo el Este método se basa en el comportamiento
proceso nuevamente con ese que emplean las hormigas para encontrar
nodo con mejor función heurística el camino más corto entre su hormiguero y
para determinar si los sucesores las fuentes de alimentación. El autor
de este son obstáculos o caminos principal del estudio, Rafael Arnay, del
y determinar sus funciones Departamento de Ingeniería de Sistemas y
heurísticas respectivas. Así es el Automática y Arquitectura y Tecnología de
proceso que se hace nodo a nodo Computadores de la ULL, explica a SINC
hasta llegar al objetivo final. que los algoritmos de OCH se emplean para
g) Una vez que hemos llegado a la resolver “problemas de optimización
meta el nodo llegada tendrá una combinatoria” y se inspiran directamente en
bandera llamada ‘llegada’, el cual el modo en que lo hacen las hormigas.
nos indicara que hemos llegado
al final. En la naturaleza, estos insectos depositan
h) Además para poder almacenar feromonas en sus desplazamientos,dejando
las rutas que sigue el agente las un rastro oloroso que puede ser seguido por
almacenamos en un arrayllamado los miembros de la colonia.
ruta, para luego pasar esta ruta a
otro array llamado mi ruta y poder Las feromonas se evaporan con el tiempo,
presentarla en pantalla. por lo que el camino que recorren las
hormigas que van y vienen al alimento por la
distancia más corta es el que queda más
reforzado con estas sustancias químicas, y
el que acaban seleccionando las otras
hormigas. “De un modo similar, la técnica de
OCH se basa en una colonia de hormigas
artificiales, esto es, unos agentes
computacionales que trabajan de manera
cooperativa y se comunican mediante
rastros de feromonas también artificiales”,
indica Arnay.
2. TRABAJOS RELACIONADOS DEL
PRESENTE AGENTE Esta técnica es la que han elegido los
ingenieros canarios para que “Verdino”
Agentes como el que planteamos en este detecte correctamente la carretera sin
documento han sido realizados pero mucho necesidad de ser dirigido por ningún
más avanzados y con otros objetivos, y a su conductor. El prototipo se parece a los
vez aplicando nuevas técnicas lo cual los vehículos utilizados en los campos de golf,
hace mucho más interesantes. pero lleva incorporada una cámara que
recoge los datos visuales necesarios para
aplicar los algoritmos, así como un sistema
de control interno que procesa los datos en
tiempo real. “Verdino” está programado
para circular por carreteras no
estructuradas, es decir, aquellas sin líneas
dibujadas en la calzada o con bordes
irregulares debido a la invasión demontones
de tierra o de vegetación.

Actualmente los ingenieros están probando


el pequeño coche como medio de transporte
interno para unir 25 viviendas y un centro de
visitantes en una urbanización bioclimática
que el Instituto Tecnológico y de Energías
Renovables está construyendo en el sur de
Tenerife, y consideran los primeros
resultados como “muy prometedores”. (4)

b. Búsqueda aplicada al Problema de


las 8-reynas

Esta búsqueda fue implementada en


Matlab, donde se trató que dada una
configuración inicial de las reynas, éstas se
posicionen de tal forma que no se ataquen
directamente o indirectamente entre pares
de reynas, como sabemos las reynas se
c. Búsqueda aplicada al mapa de
atacan en forma vertical, horizontal y
Romania (6)
diagonal. Se busca las posiciones más
optimas y esto se puede observar alobtener
como h(n), es decir número de par de reinas Implementamos dos casos, uno para el caso
atacándose, igual a "0" o cercanoa él como: en que de todas las ciudades llegan a
"1". bucharest (como el dado en Clase y libro de
Russell) y usando las distancias en línea
Los algoritmos usados para determinar el nº recta (para las heurísticas) las mismas
de colisiones de reinas fueron recopilados dadas, y otro suponiendo que cada ciudad
de Algoritmos para el problema de las n- tiene unas ciertas posiciones (X,Y), para
reinas. (5) calcular las distancias en línea recta, como:

Arad → (91, 492)


Bucarest→ (400, 327)
Craiova → (253, 288)
Dobreta→ (165, 299)
Eforie→ (562, 293)
Fagaras→(305, 449)
Giurgiu → (375, 270)
Hirsova→ (534, 350)
Iasi→ (473, 506)
Lugoj→ (165, 379)
Mehadia→ (168, 339)
Neamt→ (406, 537)
Oradea → (131, 571)
Pitesti→ (320, 368)
Rimnicu→ (233, 410)
Sibiu → (207, 457)
Timisoara→ (94, 410)
Urziceni→ (456, 350)
Vaslui → (509, 444)
Zerind→ (108, 531)

A continuación algunas muestras de


Bibliografía
pantalla de la interfaz, seleccionando una
ciudad, ejecutando el algoritmo y los 1. Norvig, Stuart Russell-Peter. Inteligencia Artificial Un
resultados obtenidos: Enfoque Moderno. Madrid : Pearson, 2007. 978-84-205-
4003-0.

2. J.A. Martíın Meseguer, M.A. Zamora Izquierdo, H.


Martínez Barberá. Planificación de Trayectorias en un
Mapa de Celdillas Difusas. [En línea] [Citado el: 06 de 02
de 2010.]
[Link]
[Link].

3. Diaz, Jorge Luis Guevara. Búsqueda Informada y


Exploracion II. [En línea] [Citado el: 06 de 02 de 2010.]
[Link]
[Link].

4. Dirección de Tecnología – U.A.T. [En línea] 17 de


Septiembre de 2008. [Citado el: 25 de 01 de 2010.]
[Link]
latest-news/401-ingenieros-canarios-disenan-un-
vehiculo-autoguiado-que-se-orienta-como-las-
hormigas.

5. León, Leissi Castañeda. Inteligencia


[Link] de Trujillo. [En línea] 2 de Junio de
2008. [Citado el: 23 de 01 de 2010.]

6. —. Busqueda Informada. [En línea] 2 de Junio de


2008. [Citado el: 23 de 01 de 2010.] [Link]
[Link]/2008/06/[Link].

También podría gustarte