Fisica

Solo disponible en BuenasTareas
  • Páginas : 19 (4637 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de octubre de 2010
Leer documento completo
Vista previa del texto
ROBOCODE: ¿Un robot inteligente?
INTELIGENCIA EN REDES DE COMUNICACIONES

Eduado Salagaray Cepeda Francisca Merchán Higuera (5º Ingeniería de Telecomunicación)

Contenidos
1. Introducción 1.1 Reglas del juego 1.1.1 Acciones 1.1.2 Sensores 1.2 Estrategias 2. Juego en Equipos

3. Estado del arte
3.1 3.2 3.3 Movimiento Selección del objetivo Gestión de inteligencia

4. Programacióngenética aplicada a Robocode 4.1 4.2 4.3 4.4 4.5 Representación Evaluación Posiciones iniciales Adversarios Conclusiones

5. Proceso de diseño 6. Código
6.1 6.2 Combate individual Combate por equipos

7. Conclusiones 8. Referencias / fuentes de información

1. INTRODUCCIÓN
U

RoboCode es un simulador de combates entre tanques desarrollado por IBM Alphaworks. El tanque debe recorrer el entornopara evitar ser disparado por sus oponentes y evitar también chocar contra las paredes. Además, para ganar, el tanque debe localizar a su adversario y dispararle. Como todos los simuladores, RoboCode recoge algunos aspectos de la realidad, pero obvia otros. ASPECTOS RECOGIDOS: • Las actuaciones llevan tiempo; mientras rotas te pueden disparar. • Las balas tardan en llegar. Si disparar a unobjetivo que se mueve, debes tener en cuenta dónde estará cuando la bala llegue. • El sensor unidireccional debe apuntar al adversario para verlo. • El cañón se calienta al disparar y debe enfriarse antes del próximo disparo. • Chocar contra los obstáculos debilita ASPECTOS NO REALISTAS: • Los sensores y el resto de los componentes son silenciosos. • Los sensores detectan velocidad, posición,orientación y energía restante. • Los combates tienen lugar en un entorno plano (2D) y cerrado.

Los tanques RoboCode están escritos como programas Java. Se dirigen por eventos; hay un bucle principal, que puede ser interrumpido por un número de manejadores de eventos que incluyen acciones como: - ver al adversario - ser alcanzado por una bala - chocar con un adversario - y más... Los tanques comienzan conuna determinada cantidad de energía, que se va perdiendo por: - recibir un disparo - chocar contra algo - por disparar a balas También, si el juego dura un tiempo, todos los robots pierden energía hasta que uno de ellos muere. Esto impide que la partida dure infinitamente. Cuando dos robots colisionan, ambos pierden lo mismo, por eso, chocar puede ser una buena estrategia para un robots que estáa punto de ganar. Sólo se gana energía de una manera: disparando al adversario. Si un robot se queda sin energía debido a su tiroteo, se inhabilita. Si una bala da a su enemigo después, algo de energía se le devuelve. Pero si un robot se queda sin energía por alguna otra razón –como ser alcanzado por una bala o por chocar contra la pared- entonces, muere.

1.1 Reglas del juego
U

Un robotpuede rotar su cuerpo entero, la torreta cañon/radar, o el radar solo. Todas las rotaciones llevan su tiempo, pero rotar el cuerpo entero lleva más tiempo y rotar el radar solo es lo más rápido. Además, los robots pueden moverse hacia delante o hacia atrás, a un ritmo fijo de aceleración o con una velocidad fija. Un robot puede disparar su cañón con distintas potencias: si usa más, necesita másenergía, pero hace más daño. Como ejemplo, aquí tenemos un programita que rota el robot diez grados, luego lo mueve hacia delante 45 unidades, luego rota el cañón diez grados en otra dirección y por último dispara a su máxima potencia:

1.1.1 Acciones

left(10); forward(45); gunRight(10); fire(3); Cada robot es implementado como un hilo y el programa puede ser interrumpido en varios puntos. Sueleser un error escribir largas secuencias de acciones, puesto que típicamente algún evento interrumpirá el hilo tarde o temprano. No obstante los robots no son entes puramente reactivos.

1.1.2. Sensores

Todos los robots están equipados con un único sensor que tiene un rango infinito pero que sólo puede escanear oponentes dentro de la anchura de un grado. El radar sensor es la única manera...
tracking img