F1-RaceTrack · GutiSoft

Documentación técnica · F1-RaceTrack

Del vector a la trayectoria óptima

Cómo se mueve el coche, qué significa cada tipo de trayectoria, cómo las calcula el Editor y cómo esos resultados se aplican a Alonso, Amateur y Demo.

Cinemática vectorial discreta Cálculo exacto de óptimas Continuidad multivuelta

01 · Alcance

Qué documenta esta página

Este texto explica el funcionamiento técnico de F1-RaceTrack. No es una reconstrucción histórica general de Racetrack, sino una explicación de las reglas, los algoritmos y sus efectos en la conducción.

El objetivo es hacer comprensible el proceso completo: desde la regla de movimiento vectorial hasta las trayectorias que muestra el Editor y las decisiones que toman las inteligencias artificiales. Cuando una propiedad pertenece solo a un ensayo —por ejemplo, la comparación entre dos algoritmos— se identifica expresamente como experimental.

Qué busca el Editor

Todas las trayectorias que llegan a meta con el menor número de movimientos, no solo una de ellas.

Garantía de continuidad

En un circuito, cada llegada se analiza con su posición y vector finales para saber si admite otra vuelta válida.

Principio rector. La exactitud no consiste solo en encontrar una trayectoria rápida. Dentro del modelo de estados descrito, el Editor conserva todas las trayectorias de mínimo número de movimientos, las cuenta exactamente y, en un circuito, determina cuáles permiten completar otra vuelta. El apartado de límites explicita las hipótesis y salvedades de la implementación.
Diccionario técnico Busca un término o despliega sus definiciones con el signo +

El documento usa cada palabra con un significado estable. Trayectoria designa la secuencia completa; movimiento, cada paso del coche; segmento, la línea geométrica que deja ese movimiento; y turno, la oportunidad de decidir.

Reglas y trayectorias

IntersecciónPunto de la cuadrícula donde puede terminar el coche

Es el cruce de dos líneas de la cuadrícula. La posición del coche siempre se expresa mediante una intersección.

VectorVelocidad y dirección del coche

Es el par ordenado (vₓ, vᵧ). Sus valores indican cuántas intersecciones avanza el coche en horizontal y vertical: su magnitud expresa la velocidad y su orientación, la dirección. Al inicio de la carrera el vector es (0,0); la velocidad es cero y la dirección aún no está definida. Ese estado inicial todavía no cuenta como movimiento.

MovimientoPaso completo desde una intersección hasta la siguiente

Después de elegir una aceleración se obtiene un nuevo vector. Ese vector lleva el coche hasta otra intersección y representa un movimiento. Se comprueba todo el segmento atravesado, no solo el punto final.

EstadoLa información necesaria para continuar la carrera

Incluye la intersección, el vector, la capa de pista y, cuando corresponde, la fase de vuelta. Dos coches en la misma intersección pero con vectores distintos representan estados matemáticos distintos, aunque no puedan ocuparla simultáneamente.

Capa de pistaCalzada inferior o zona elevada

Permite distinguir dos superficies que se cruzan visualmente, como un puente y la calzada que pasa por debajo.

TrayectoriaSecuencia ordenada de movimientos hasta cruzar la meta

Es la secuencia ordenada de movimientos —y de los vectores que los producen— desde una intersección de la línea de salida hasta cruzar la meta. Desde un punto intermedio, es la continuación desde el estado actual hasta la meta. El orden importa: por eso no es simplemente un conjunto de vectores.

Trayectoria válidaLlega a meta respetando todas las reglas

Todos sus movimientos permanecen dentro de los límites y capas de la pista, respetan el sentido de salida y meta y no terminan sobre la posición de otro coche. Un movimiento puede atravesar la posición rival si termina en otra intersección.

Trayectoria óptimaTrayectoria válida con el menor número de movimientos

Se define respecto de un estado inicial concreto. En la salida, ese estado combina una intersección disponible y el vector (0,0); durante la carrera puede ser cualquier posición y vector válidos. Normalmente existen muchas trayectorias óptimas con el mismo número de movimientos.

Trayectoria óptima más cortaLa óptima de menor longitud euclidiana

Entre las trayectorias óptimas comparables, es la que suma la menor distancia geométrica. En el Editor se representa en verde.

Trayectoria óptima más largaLa óptima de mayor longitud euclidiana

Entre las trayectorias óptimas comparables, es la que suma la mayor distancia geométrica sin aumentar el número de movimientos. En el Editor se representa en azul.

Trayectoria óptima con continuidadEs óptima y su estado final permite otra vuelta

En un circuito, es una trayectoria óptima cuyo estado al cruzar meta permite seguir una trayectoria válida y volver a cruzar la meta. Si ninguna óptima absoluta cumple esto, el juego distingue el caso y puede buscar una trayectoria continuable con algún movimiento adicional.

Trayectoria continuable de mínimo número de movimientosLa mejor alternativa cuando ninguna óptima puede continuar

Es la trayectoria válida más rápida entre las que permiten completar otra vuelta. Puede necesitar más movimientos que la trayectoria óptima absoluta; por eso se nombra de forma distinta.

Trayectoria euclidiana más cortaLa trayectoria válida de menor distancia total

Minimiza la suma de las longitudes de todos los movimientos, aunque para hacerlo necesite más movimientos. En el Editor se representa en amarillo.

Circuito y tramoPista apta para varias vueltas o pista de una sola pasada

Un circuito permite encadenar salida–meta–salida–meta en el sentido correcto. Un tramo termina en meta y no exige regresar a la salida para otra vuelta.

Cálculo y algoritmos

Distancia euclidianaDistancia en línea recta

Para un movimiento es √(Δx² + Δy²). La longitud euclidiana de una trayectoria es la suma de las distancias de todos sus movimientos.

Grafo de estadosMapa matemático de estados y movimientos posibles

Cada nodo representa un estado y cada enlace representa un movimiento válido entre dos estados.

BFS — búsqueda en anchuraExplora primero las trayectorias con menos movimientos

Examina el grafo por capas: primero un movimiento, después dos, luego tres. La primera capa que cruza meta determina el mínimo número de movimientos.

Capa de BFSConjunto de estados alcanzados con el mismo número de movimientos

No debe confundirse con la capa de pista de un puente. Aquí “capa” indica profundidad de cálculo.

DAG — grafo dirigido acíclicoRepresentación compacta de todas las trayectorias óptimas

Conserva los estados y movimientos que pertenecen a alguna trayectoria óptima. Cada enlace avanza una capa de BFS, así que no puede volver hacia atrás y formar un ciclo.

Programación dinámicaReutiliza cálculos compartidos

Cuando muchas trayectorias llegan al mismo estado, cuenta una sola vez sus continuaciones y reutiliza el resultado en lugar de reconstruir cada trayectoria completa.

BigIntEntero capaz de guardar cantidades enormes sin redondeo

Es un tipo de entero de JavaScript con tantos dígitos como sean necesarios. Permite contar exactamente cantidades de trayectorias que no caben en un número ordinario.

Problema de decisiónPregunta matemática cuya respuesta es sí o no

Permite estudiar con precisión los recursos necesarios para resolver una familia de casos. Su clasificación describe cómo crece la dificultad con el tamaño de la entrada; no predice los segundos que tardará una pista concreta.

L — espacio logarítmicoProblemas resolubles con una cantidad muy contenida de memoria auxiliar

Es una clase de problemas de decisión resolubles con un algoritmo determinista cuya memoria auxiliar crece de forma logarítmica respecto al tamaño de la entrada. La letra se refiere al uso de memoria, no al tiempo medido en una pista concreta.

NL — espacio logarítmico no deterministaPuede verificar una secuencia candidata usando muy poca memoria auxiliar

Es la versión no determinista de L: un caso afirmativo dispone de al menos una secuencia de elecciones que puede verificarse con memoria logarítmica. No significa «no lineal» ni describe un método aleatorio.

NL-completoUno de los problemas más difíciles de la clase NL

El problema pertenece a NL y cualquier otro problema de esa clase puede transformarse en él mediante una reducción adecuada. Es una clasificación teórica del peor caso, no una medida directa del rendimiento del Editor.

P — tiempo polinómicoProblemas resolubles en un tiempo que crece polinómicamente

Reúne problemas de decisión para los que existe un algoritmo determinista cuyo tiempo está acotado por un polinomio del tamaño de la entrada. Pertenecer a P no garantiza que todos los casos reales sean rápidos.

P-completoUno de los problemas más difíciles de la clase P

El problema pertenece a P y cualquier otro problema de P puede transformarse en él mediante una reducción adecuada. Suele indicar que una paralelización muy eficiente es difícil; no significa NP-completo ni implica por sí solo un crecimiento exponencial.

NC¹-difícilCota inferior relacionada con el cálculo paralelo

Indica que el problema es al menos tan difícil como todos los problemas resolubles por circuitos de tamaño polinómico y profundidad logarítmica, bajo la reducción utilizada. Es una cota inferior técnica, no una clasificación completa del problema.

DijkstraAlgoritmo que minimiza la suma de distancias

En F1-RaceTrack encuentra la trayectoria euclidiana más corta porque trata la longitud de cada movimiento como un coste positivo.

A* — A estrellaBúsqueda guiada por una estimación

Combina el coste ya empleado con una estimación de lo que falta. Se estudió como alternativa, pero no sustituye la búsqueda principal del juego.

HeurísticaEstimación que ordena una búsqueda

Ayuda a explorar antes los estados prometedores. Una heurística admisible nunca exagera el coste mínimo que todavía falta.

Envolvente cinemáticaLímite de lo que el coche podría alcanzar

Describe los estados alcanzables en cierto número de movimientos si se ignoran paredes y otras restricciones. Si ni siquiera esa versión favorable alcanza meta, el estado real tampoco puede hacerlo.

PodaDescarte anticipado de cálculos imposibles

Elimina una rama de cálculo solo cuando se ha demostrado que no puede contener una trayectoria necesaria. Una poda segura acelera sin cambiar el resultado.

CotaLímite demostrado para comparar o descartar

Una cota superior es un resultado que sabemos que puede alcanzarse; una cota inferior expresa lo mejor que todavía podría conseguirse desde un estado.

Web WorkerCálculo separado de la interfaz

Es una tarea del navegador que realiza cálculos intensivos sin bloquear el hilo que dibuja y responde a los controles de la página.

02 · Modelo matemático

La pista como espacio de estados

El grafo puede contener varios estados asociados a una misma intersección: una posición con distinto vector o capa representa una situación cinemática diferente. Esta multiplicidad matemática no permite que dos coches terminen en la misma posición durante una carrera.

Estado y transición

El estado físico fundamental del Editor es (x, y, vₓ, vᵧ, capa de pista). La capa de pista distingue la calzada inferior de una zona elevada. En cada turno se puede modificar cada componente del vector en −1, 0 o +1; por tanto hay como máximo nueve aceleraciones candidatas.

Ver las fórmulas de un movimiento

Actualización del vector

vₜ = vₜ₋₁ + aₜ, aₜ ∈ {−1, 0, 1}²

La aceleración se aplica primero. Puede modificar cada componente del vector en una unidad.

Actualización de posición

pₜ = pₜ₋₁ + vₜ

El nuevo vector determina el segmento completo que atraviesa el coche en ese movimiento.

Ejemplo: desde p=(10,8) con vector v=(2,1), elegir a=(1,−1) produce v'=(3,0) y la nueva posición p'=(13,8).

Un movimiento que mantuviera el vector total en cero no es válido. Además, la validez no se decide mirando únicamente el destino: el segmento debe respetar la superficie de la pista, los arcenes, las capas, las reglas iniciales y el sentido correcto de salida y meta.

El movimiento es un segmento, no un salto

Durante una transición se calculan los cruces con las líneas de salida y meta. Si ambos ocurren en el mismo vector, se conserva su orden exacto. La comparación se realiza mediante fracciones enteras, sin depender de redondeos de coma flotante.

Colisión entre coches. Se puede atravesar la posición del rival; lo que está prohibido es terminar el turno en la misma intersección ocupada. La trayectoria prevista se revalida en cada movimiento porque la ocupación es dinámica.

Estado físico y clave de búsqueda

Algunos cálculos añaden una fase temporal mientras está activa la regla de apertura de la carrera. Esa fase pertenece al cálculo de la trayectoria amarilla. El cálculo principal de trayectorias óptimas usa posición, vector y capa de pista; esta diferencia se declara de nuevo entre los límites.

03 · Evaluar una pista

Cómo evalúa el Editor una pista

Al pulsar Evaluar pista, el Editor no ejecuta un único algoritmo. Encadena cálculos con objetivos distintos y reutiliza resultados seguros para reducir trabajo.

  1. Calcula la trayectoria amarilla. Dijkstra encuentra la trayectoria válida de menor longitud euclidiana total.
  2. Obtiene una cota de movimientos. Como la trayectoria amarilla es válida, su número de movimientos es un límite superior para cualquier trayectoria óptima.
  3. Construye el DAG óptimo. La búsqueda en anchura (BFS) conserva todos los estados y movimientos que participan en trayectorias de mínimo número de movimientos.
  4. Protege el resultado. Si la búsqueda con cota devolviera meta inalcanzable, se repite sin ella para comprobar que la poda no ha ocultado una trayectoria válida.
  5. Comprueba varias vueltas. Se distingue si la geometría y la cinemática permiten salida–meta–salida–meta.
  6. Filtra continuidad. Si es circuito, se determina qué estados finales óptimos permiten otra vuelta completa.
  7. Calcula representantes y puntuación. Cobertura roja, trayectorias verde y azul, porcentaje continuable y métricas de diseño.

La orquestación se ejecuta en un Web Worker. El cálculo intensivo queda separado del hilo de interfaz, que permanece receptivo y puede cancelar o ignorar una evaluación obsoleta. El resultado se entrega completo al finalizar, sin mezclarlo con el análisis de una pista nueva.

04 · BFS, DAG y conteo exacto

Encontrar todas sin enumerarlas

El número de posibilidades puede crecer de forma enorme. El Editor evita guardar una lista gigantesca: fusiona estados equivalentes y cuenta trayectorias sobre una representación compacta.

Búsqueda en anchura (BFS) por capas

Cada capa de BFS corresponde a un número de movimientos. La primera capa que contiene llegadas válidas fija el mínimo. Se completa esa capa para no perder otros estados finales con el mismo número de movimientos y después se eliminan los estados que no pertenecen a ninguna trayectoria óptima.

Ver cómo se compactan todas las trayectorias óptimas

Fusión de estados

clave = (posición, vector, capa de pista)

Muchas secuencias distintas llegan al mismo estado y comparten desde ahí las mismas continuaciones.

Representación útil

salida → estados útiles → metas óptimas

El resultado es un DAG: cada enlace avanza exactamente una capa de BFS.

Programación dinámica con enteros arbitrarios

Para cada estado se acumula cuántas trayectorias llegan hasta él. La programación dinámica reutiliza los resultados compartidos y BigInt conserva exactamente todos los dígitos del conteo.

Ver la fórmula del conteo exacto
C(salida) = 1  C(t) = Σ C(s), para cada estado anterior s que llega a t

La salida contiene una forma de empezar. Para cada estado t se suman las cantidades de trayectorias que llegan desde sus estados anteriores. Al final se suman los estados que cruzan meta.

Sumando los conteos de los estados finales se obtiene el número total de trayectorias óptimas. El mismo principio permite contar solo las que conducen a estados finales continuables. Así se han manejado pistas con más de 10²³ trayectorias óptimas sin construir cada trayectoria por separado.

Complejidad computacional del modelo académico

Holzer y McKenzie estudiaron varias preguntas de decisión sobre el Racetrack académico. Sus resultados respaldan que la representación natural sea un grafo de estados que incluya posición y vector, pero no proporcionan una poda ni una aceleración directa para los cálculos del Editor.

Ver los resultados de complejidad del modelo académico

Las clases siguientes describen recursos asintóticos en el peor caso cuando crece el tamaño de la pista. No expresan cuánto tarda una evaluación concreta ni cuántas trayectorias óptimas existen.

Pregunta académica Regla sobre el límite de la pista Resultado formal Lectura sencilla
¿Puede un coche alcanzar la meta, sin limitar los movimientos? Se puede tocar el límite En L y NC¹-difícil Se relaciona con la alcanzabilidad en un laberinto de cuadrícula no dirigido y requiere muy poca memoria auxiliar.
¿Puede un coche alcanzar la meta, sin limitar los movimientos? No se puede tocar el límite NL-completo El vector conserva información esencial y el problema está entre los más difíciles de NL.
¿Puede un coche alcanzar la meta dentro de un máximo de movimientos? Ambas variantes NL-completo Decidir si existe una trayectoria dentro del límite no equivale a contar todas las trayectorias óptimas.
¿Dispone el primer jugador de una estrategia ganadora contra toda respuesta rival? Se puede tocar el límite En P; se desconoce si es P-completo Existe un algoritmo de tiempo polinómico, pero el artículo no demuestra que sea P-completo.
¿Dispone el primer jugador de una estrategia ganadora contra toda respuesta rival? No se puede tocar el límite P-completo Está entre los problemas más difíciles de P y se considera poco favorable a una paralelización muy eficiente.
Alcance de estos resultados. No constituyen una clasificación demostrada de F1-RaceTrack completo. El juego añade capas de pista, orden de salida y meta, continuidad multivuelta, ocupación dinámica, conteo exacto de trayectorias óptimas y reglas propias de IA. La estrategia ganadora del artículo contempla todas las respuestas de un rival perfecto; no describe el modo de conducir de Alonso o Amateur. La geometría de límites de F1-RaceTrack tampoco se identifica con una de las dos variantes académicas sin una demostración específica.

05 · Varias vueltas

Circularidad no equivale a continuidad óptima

Una pista puede permitir carreras a varias vueltas y, a la vez, tener cero trayectorias óptimas capaces de iniciar la siguiente vuelta desde su estado final.

Qué es una trayectoria óptima con continuidad

Definición. En un circuito, una trayectoria óptima con continuidad es una trayectoria óptima absoluta cuyo estado al cruzar meta permite seguir una trayectoria válida y volver a cruzar la meta. No basta con llegar rápido: la posición, el vector y la capa de pista finales deben dejar una siguiente vuelta posible.

Esta definición mantiene un significado único para “óptima”: siempre se refiere al menor número absoluto de movimientos. Si ninguna trayectoria óptima absoluta puede continuar, se busca otra clase distinta, la trayectoria continuable de mínimo número de movimientos. Esta segunda necesita más movimientos que la óptima absoluta.

Ver la diferencia con fórmulas

𝒱 es el conjunto de trayectorias válidas y |T|, el número de movimientos de la trayectoria T.

m* = min { |T| : T ∈ 𝒱 y T cruza meta } 𝒪* = { T ∈ 𝒱 : T cruza meta y |T| = m* } 𝒪*cont = { T ∈ 𝒪* : Continúa(fin(T)) } mcont = min { |T| : T ∈ 𝒱, T cruza meta y Continúa(fin(T)) }

Si mcont = m*, existen trayectorias óptimas con continuidad. Si mcont > m*, ninguna óptima absoluta continúa y la alternativa continuable necesita la mínima cantidad adicional de movimientos.

Cómo se calcula

  1. Se construye la primera capa de llegadas. La BFS fija m* y conserva en un DAG todos los estados y movimientos que forman trayectorias válidas de esa longitud.
  2. Se distinguen los estados finales. Dos trayectorias que terminan en la misma posición pero con vector o capa diferentes no dejan la misma posibilidad para la vuelta siguiente.
  3. Se certifica otra vuelta. Desde cada estado final, el Editor comprueba si existe una trayectoria válida que cruce la salida y después vuelva a cruzar la meta.
  4. Se filtran y cuentan las llegadas. La programación dinámica suma con BigInt cuántas trayectorias óptimas desembocan en estados finales certificados.
  5. Se profundiza solo si hace falta para la IA. Si la capa m* no contiene ninguna continuable, el generador de trai/troi continúa la BFS hasta la primera profundidad mcont que sí la tenga.

El porcentaje que muestra el Editor se calcula siempre sobre las trayectorias de m*. Por eso puede mostrar 0 % aunque el generador de biblioteca encuentre después una trayectoria continuable de mcont movimientos.

Ver la fórmula y el redondeo del porcentaje
P = 100 · Ncontinuables / Nóptimas

Ncontinuables cuenta las trayectorias óptimas absolutas continuables y Nóptimas, las trayectorias óptimas absolutas totales. Los dos conteos son enteros exactos. El porcentaje visible se redondea a dos decimales. Por ello, un 0,00 % mostrado puede significar cero trayectorias continuables o una proporción positiva menor que 0,005 %.

Dos preguntas distintas

Aptitud general
¿Existe alguna trayectoria válida que cruce meta, vuelva a cruzar salida y alcance meta otra vez?
Continuidad óptima
De todas las llegadas con el mínimo número absoluto de movimientos, ¿cuántas permiten completar otra vuelta?

La primera comprobación aplica una precondición topológica y después explora exhaustivamente la secuencia de dos vueltas. La precondición evita que un tramo como Espiral sea clasificado como circuito por una vuelta atrás geométricamente posible pero ajena al sentido de carrera.

Para la segunda pregunta, cada estado final conserva posición, vector y capa. No basta con que el coche haya llegado a meta: importa cómo ha llegado.

Orden de meta y salida en un mismo movimiento. Durante la carrera, si un vector cruza primero meta y después salida, la meta cierra la vuelta y el cruce posterior de salida pertenece a la nueva vuelta. La certificación matemática del Editor parte actualmente del estado cinemático final y vuelve a exigir un cruce de salida posterior.

Qué ocurre si ninguna óptima absoluta continúa

El análisis visible del Editor conserva el dato: 0 óptimas continuables. Al generar los representantes de biblioteca para la IA, el planificador tiene otra obligación práctica: buscar la primera profundidad posterior que sí contiene trayectorias continuables. trai y troi pueden, por tanto, emplear algún movimiento más que el óptimo absoluto si esa es la mínima penalización necesaria para encadenar vueltas.

06 · Representantes visibles

Rojo, verde, azul y amarillo

Los cuatro colores responden a preguntas diferentes. Llamarlos a todos “la trayectoria óptima” ocultaría información decisiva para conducir y diseñar pistas.

Color Qué representa Prioridad matemática Lectura para la conducción
Rojo La cobertura de todos los estados y movimientos de las trayectorias óptimas elegibles. Mínimo número de movimientos; en circuitos, solo las óptimas con continuidad. Muestra la amplitud real de decisiones igualmente rápidas.
Verde La trayectoria óptima más corta. Primero mínimos movimientos; después mínima longitud euclidiana. La trayectoria geométricamente más compacta entre las igualmente rápidas.
Azul La trayectoria óptima más larga. Primero mínimos movimientos; después máxima longitud euclidiana. La trayectoria geométricamente más abierta sin aumentar los movimientos.
Amarillo La trayectoria euclidiana más corta. Mínima distancia, aunque necesite más movimientos. Contrasta “cubrir menos distancia” con “terminar en menos movimientos”.

Distancia euclidiana

La longitud de una trayectoria es la suma de las longitudes de sus vectores. Para verde y azul se comparan expresiones exactas como sumas de radicales y también se cuentan exactamente los empates.

Ver las fórmulas de las trayectorias por color
L(T) = Σ √(Δxᵢ² + Δyᵢ²) Tverde = arg min L(T), T ∈ 𝒪elegible Tazul = arg max L(T), T ∈ 𝒪elegible Tamarilla = arg min L(T), T ∈ 𝒱

𝒪elegible contiene las trayectorias óptimas comparables —en circuitos, las que además tienen continuidad— y 𝒱 contiene todas las trayectorias válidas.

La amarilla se selecciona con Dijkstra usando valores numéricos y una tolerancia de 10⁻⁶. Una vez escogida, su longitud se reconstruye como expresión radical exacta. Por ello, no debe describirse su proceso de selección como aritmética simbólica completamente exacta.

trai, troi y tray

Campo Contenido Uso No significa
trai Entre las trayectorias continuables de mínimo número de movimientos, la de mayor longitud euclidiana. Trayectoria precalculada preferente de Alonso y alineación de su salida. No es cualquier trayectoria larga ni el resultado obligatorio de cada recálculo.
troi Entre las trayectorias continuables de mínimo número de movimientos, la de menor longitud euclidiana. Segundo representante matemático de la biblioteca. No es la trayectoria de Amateur.
tray Historial de una nueva vuelta récord realizada por un humano sin IA ni Demo. Conservar y reproducir el récord de la pista. No es un representante calculado por el motor exacto.

Aunque sus nombres proceden de extensiones históricas, trai, troi y tray se almacenan como campos asociados a cada pista dentro de la biblioteca de trayectorias. Si existen óptimas absolutas con continuidad, los representantes trai y troi tienen m* movimientos; si no existen, usan la primera profundidad continuable mcont.

07 · Envolventes cinemáticas

Descartar lo imposible sin perder lo óptimo

Antes de explorar una rama costosa puede demostrarse que, incluso ignorando paredes y capas, su velocidad y posición ya hacen imposible llegar a meta dentro del tiempo disponible.

Descomposición por ejes

Tras n movimientos, las aceleraciones elegidas determinan un intervalo exacto de velocidades y posiciones posibles en cada eje. El motor combina después los intervalos horizontal y vertical.

Ver las fórmulas de la envolvente cinemática

Vector tras n movimientos

vₙ = v₀ + Σᵢ₌₁ⁿ aᵢ

Cada aceleración de un eje vale −1, 0 o +1.

Posición tras n movimientos

pₙ = p₀ + n·v₀ + Σᵢ₌₁ⁿ (n − i + 1)·aᵢ

Las aceleraciones tempranas pesan más porque afectan a más movimientos posteriores.

Fijados n y el cambio total de vector, las posiciones posibles llenan un intervalo entero exacto, sin huecos. El motor precalcula máscaras de alcanzabilidad hasta un segmento finito de meta y cruza las condiciones de X e Y para hallar el primer número de movimientos cinemáticamente posible.

Por qué la poda es segura

La envolvente es una relajación: ignora la forma concreta de la pista, capas, ocupación y algunas restricciones de validez. Puede aceptar un falso positivo —“quizá sea posible”—, pero un resultado negativo demuestra que ni siquiera la cinemática libre alcanza el objetivo. Solo esos negativos se usan para podar.

Regla de conservación. Con una trayectoria válida conocida de coste U, se elimina un estado solo cuando g + h > U. La igualdad se conserva porque puede contener otras trayectorias óptimas cuyo conteo es obligatorio.
Ver la fórmula de la poda segura
g + h > U ⟹ descartar el estado

g son los movimientos ya realizados, h es una cota inferior de los que faltan y U es el número de movimientos de una trayectoria válida conocida. Si hay igualdad, el estado se conserva.

Frenado discreto de F1-RaceTrack

Si una componente tiene velocidad entera u, la distancia acumulada al reducirla en una unidad por turno hasta cero es:

Ver la fórmula de frenado
dfrenado(u) = |u|(|u| − 1) / 2 Δfrenado(u) = sign(u) · dfrenado(u)

La primera expresión es una distancia positiva por eje; la segunda conserva el sentido y representa un desplazamiento con signo.

Esta expresión no es la distancia v²/4 de la variante física de Vawter: aquella emplea otras aceleraciones y otra actualización de posición.

Dos usos diferentes

En el Editor

La amarilla aporta la cota superior; la envolvente elimina estados que no pueden llegar dentro de ella. Un reintento sin cota actúa como salvaguarda.

En Alonso

La BFS visible se conserva. La envolvente ordena y memoiza la certificación booleana de continuidad; no decide qué representante se muestra.

08 · Elección de algoritmos

Por qué este método y no otro

La decisión no se basa en que exista un único algoritmo “correcto”, sino en las garantías que exige cada resultado: una trayectoria, la totalidad de óptimas, la continuidad, el tiempo y la estabilidad visual.

Método Fortaleza Limitación o hipótesis Uso en F1-RaceTrack
BFS + DAG + programación dinámica Garantiza mínimos movimientos, conserva todos los empates y permite contarlos exactamente. Puede explorar muchos estados; necesita podas demostrablemente seguras. Integrado Motor principal de óptimas y recálculo determinista.
Dijkstra Optimiza la suma de longitudes positivas de los vectores. Responde a distancia euclidiana, no a mínimo número de movimientos. Integrado Trayectoria amarilla y cota válida.
A* Una heurística admisible puede reducir estados manteniendo el coste óptimo. El tiempo real no mejoró de forma estable y puede escoger otro representante entre empates. Ensayo comparativo No sustituye la BFS del motor principal.
Regiones de aterrizaje / R* Reduce el grafo explotando la geometría de curvas y rectas. Los resultados de Bekos et al. suponen anchura uniforme, tramos rectilíneos largos, un coche y curvas bien separadas. Referencia académica No trasladado literalmente a pistas con ramales, puentes y anchuras variables.
Algoritmos genéticos / BDD Ofrecen otras formas de buscar o representar conjuntos grandes. No aportan aquí una vía más simple para contar todas las óptimas y certificar continuidad exacta. Alternativas estudiadas No se utilizan en el motor.
Variante física de Vawter / Joyner Relaciona el juego con aceleración física y distancia de frenado. Cambia las reglas: aceleraciones, posición siguiente, frenado y colisiones no coinciden con F1-RaceTrack. Fundamento histórico Se explica como alternativa, pero sus reglas no se aplican a F1-RaceTrack.

El caso de A*

Se construyó una prueba comparativa con una heurística admisible derivada de las envolventes. Redujo estados, pero no ofreció una mejora temporal uniforme y cambió la trayectoria visible cuando había empates. El motor conserva BFS porque mantiene todos los empates necesarios para el conteo y ofrece una elección estable de representantes.

Cada combinación se midió en un proceso independiente, con una pasada de calentamiento y tres pasadas cronometradas. Los porcentajes siguientes describen ese entorno de ensayo y no una promesa de rendimiento para cualquier equipo o pista.

46,55 % menos Candelabro

Mejor caso temporal de A* en la prueba comparativa.

3,30 % más 4 Esquinas

Empeoramiento medido desde la salida.

5,37 % más Laberinto

Empeoramiento medido en una pista compleja.

0 Aplicaciones de A* al motor

No se adoptó: BFS conserva mejor las garantías y la estabilidad requeridas.

Ver cómo se comparan los tiempos
reducción = 100 · (treferencia − tnuevo) / treferencia aumento = 100 · (tnuevo − treferencia) / treferencia

Se usan palabras —“menos tiempo” o “más tiempo”— para evitar que un signo negativo se confunda con un resultado peor.

09 · Aplicación al diseño

De los números a la conducción

La calificación del Editor resume propiedades observables, pero no pretende sustituir la prueba de una pista por personas reales.

Componente Peso Qué mide Qué se siente al conducir
Distribución 35 % Cobertura de intersecciones útiles y equilibrio de decisiones a distintas profundidades. Si la pista ofrece espacio y elecciones reales o conduce por un único pasillo obligado.
Diversidad de trayectorias 25 % Separación euclidiana y espacial entre verde, azul y amarillo. Si hay trayectorias con personalidad distinta, no solo pequeñas variaciones del mismo carril.
Ventaja experta 25 % Penalización en movimientos de la amarilla frente a la trayectoria óptima. Cuánto premia anticipar velocidad en vez de limitarse a recorrer la distancia más corta.
Continuidad 15 % Porcentaje de óptimas que pueden enlazar otra vuelta. Libertad para cruzar meta rápido sin convertir la siguiente vuelta en una recuperación imposible.

En los tramos no circulares el bloque de continuidad no es aplicable y los otros tres pesos se renormalizan. La cobertura obtiene su puntuación máxima al alcanzar el 50 % de la superficie relevante; la ventaja experta, cuando la trayectoria euclidiana más corta necesita un 25 % más de movimientos; y la diversidad combina un 40 % de separación euclidiana con un 60 % de separación espacial.

Ver cómo se combinan las métricas de diseño

Cada componente se expresa entre 0 y 100:

D = 0,50 · cobertura + 0,50 · equilibrio de decisiones V = 0,40 · diversidad euclidiana + 0,60 · separación espacial E = 100 · min(1, ((mamarilla − m*) / m*) / 0,25) C = 100 · Ncontinuables / Nóptimas

D mide distribución; V, diversidad; E, ventaja experta; y C, continuidad. Las métricas de equilibrio y separación son indicadores de diseño calibrados, no teoremas sobre la diversión de una pista.

circuito: Nbase = 0,35D + 0,25V + 0,25E + 0,15C tramo: Nbase = (0,35D + 0,25V + 0,25E) / 0,85

Corrector por trayectorias separadas, límites y calificación

Un corrector entre 0,90 y 1 pondera si las trayectorias aprovechan opciones espacialmente separadas. Es un indicador heurístico: no demuestra por sí mismo que existan ramales topológicos. Si el porcentaje de continuidad mostrado se redondea a 0,00 %, la nota final queda limitada a 19 puntos.

Ver la fórmula de la nota final
Nfinal = limitar entre 1 y 100 (redondear(Nbase · f))

f es el corrector heurístico, comprendido entre 0,90 y 1. Si el porcentaje continuable ya redondeado es 0,00 %, se aplica además Nfinal = min(Nfinal, 19). Una proporción exacta positiva menor que 0,005 % también se muestra como 0,00 %.

Las bandas de calificación son:

1–19Mala

Problema estructural grave o continuidad mostrada como 0,00 % en un circuito.

20–49Aceptable

Funciona, pero tiene margen claro de variedad o conducción.

50–80Buena

Equilibrio sólido de los componentes aplicables.

81–100Muy buena

Destaca en varias dimensiones sin un defecto dominante.

La nota es una ayuda, no un veredicto. No mide por sí sola diversión, legibilidad, estética, equilibrio entre dos rivales ni calidad táctil en iPad. Esas propiedades necesitan juego real y criterio de diseño.

10 · Aplicación en el juego

Alonso, Amateur y Demo

Las trayectorias del Editor alimentan el juego, pero cada piloto conserva una política distinta. La diferencia no es solo cosmética: expresa talento, regularidad y oportunidades para el humano.

Alonso

  • Intenta alinearse con trai, la representante precalculada más larga entre las óptimas elegibles; en circuitos, además, debe ser continuable.
  • Reutiliza su trayectoria calculada mientras el siguiente movimiento siga disponible.
  • La vía directa comprueba posición y vector y valida el movimiento inmediato; cuando la trayectoria se entrega como preferencia al Web Worker, el planificador reproduce y valida la trayectoria completa.
  • Si la trayectoria ya no encaja o el siguiente destino está ocupado, recalcula mediante BFS desde el estado actual.
  • En circuitos exige continuidad. Si ninguna óptima absoluta continúa, busca la primera profundidad continuable.
Matiz importante. El recálculo de Alonso durante la carrera devuelve la primera trayectoria determinista de mínimos movimientos que cumple continuidad. No recalcula necesariamente la óptima euclidiana más larga y, por tanto, no debe confundirse con volver a generar trai.

Amateur

  • Usa una búsqueda local con límites de 60.000 estados y un reintento ampliado de 220.000.
  • Si existe una trayectoria de un movimiento adicional, la elige con una probabilidad del 42 %.
  • En los demás casos sortea entre hasta tres óptimas de menor longitud euclidiana.
  • No se le exige continuidad, porque debe dejar margen a un humano experimentado para batirlo.
  • No sigue troi; su política se calcula desde la situación actual y conserva la trayectoria hasta agotarla o bloquearse.

Demo

Situación Reparto de pilotos Consecuencia
Un coche Siempre Alonso. Demostración de la política experta y continuable.
Dos coches, primera vuelta El coche alineado con el inicio de trai queda como Alonso; el otro, Amateur. La parrilla se ajusta antes de una Demo iniciada sin movimientos.
Dos coches, vueltas posteriores El primero que entra en la nueva vuelta queda registrado como Amateur para esa vuelta; el otro será Alonso al alcanzarla. No existe una alternancia rígida rojo/azul: depende del orden real de paso.
Demo activada durante la carrera Se conservan las posiciones actuales y se cancelan elecciones de salida pendientes. Las trayectorias se reconstruyen desde el estado en que los humanos entregaron el volante.

11 · Evidencia y límites

Resultados medidos y límites de validez

Los conteos son deterministas; los tiempos dependen del equipo, del navegador, de la carga y del estado concreto desde el que se recalcula.

Mediciones de las envolventes

Son mediciones orientativas de tiempo de pared en un entorno local. El recálculo de 4_Esquinas resume seis ejecuciones; las evaluaciones completas de Caleidoscopio y Candelabro usan la mediana de tres procesos independientes por pista. La carga del equipo y del navegador puede cambiar los tiempos, pero no los conteos deterministas.

16/16 Conteos conservados

Mismos movimientos, óptimas totales y continuables en el conjunto de control.

5,868 → 3,204 s Recálculo reproducido

Mediana del estado bloqueado estudiado en 4_Esquinas.

2,7–2,9 → 0,554 s Continuidad aislada

Certificación booleana acelerada en el caso medido.

5,13–7,36 % Evaluación completa

Mejora medida en Caleidoscopio y Candelabro.

Estos datos muestran una mejora medible sin alterar los resultados del conjunto de control. No permiten extrapolar la misma mejora a todas las pistas ni a todos los estados.

Ver la fórmula usada para expresar la mejora
reducción de tiempo = 100 · (treferencia − tnuevo) / treferencia

El tiempo de referencia es el medido antes de aplicar la mejora y el tiempo nuevo, el medido después en las mismas condiciones de ensayo.

Límites formales y de implementación

  1. Fase de apertura en el DAG óptimo. La clave principal no incluye la fase saturada de apertura. Existe un caso adversarial teórico si un mismo estado cinemático reaparece en fases distintas antes de que la regla deje de importar.
  2. Selección amarilla. Dijkstra compara distancias con number y tolerancia 10⁻⁶; la expresión exacta se reconstruye después, no gobierna toda la cola de prioridad.
  3. Dominio de las envolventes. El horizonte precalculado llega a 256 movimientos, exige coordenadas enteras seguras y metas ortogonales. Fuera de ese dominio el sistema falla de forma conservadora: no poda.
  4. Punto de evaluación. El Editor analiza el coche y la dirección inicial configurados en la pista; no recalcula todas las plazas posibles de una parrilla multijugador.
  5. Circularidad durante la carga. El Editor realiza una comprobación exhaustiva para analizar la pista. El lector de pistas del juego conserva límites operativos de estados y movimientos para mantener una carga ágil.
  6. Fase del movimiento final. La carrera conserva un cruce de salida posterior a meta dentro del mismo movimiento. La certificación del Editor parte del estado cinemático final y exige un cruce de salida posterior; por ello puede explorar más movimientos de los necesarios para la regla de carrera.
  7. Ocupación dinámica. Una trayectoria válida en un turno puede bloquearse en el siguiente por el rival; por eso el juego valida el destino inmediato y recalcula cuando procede.
  8. Rendimiento. Una reducción de estados no implica automáticamente menor tiempo de pared. Caché, asignaciones y orden de empates también influyen.

12 · Arquitectura

Cómo se reparten los cálculos

El sistema separa la validez del movimiento, la optimización, la continuidad y las decisiones de carrera. Esta división permite aplicar una garantía distinta allí donde realmente hace falta.

Área Componente lógico Función
Cinemática y movimientos válidosMotor de movimientoConstruye estados, aplica aceleraciones y comprueba superficie, capas, sentido y ocupación final.
Óptimas y conteo exactoAnalizador BFS/DAGEncuentra la primera capa de llegada, conserva todos los empates y los cuenta con BigInt.
Distancia euclidianaPlanificador DijkstraObtiene la trayectoria amarilla y proporciona una cota válida al analizador exacto.
Aptitud para varias vueltasAnalizador topológicoComprueba que la pista permite completar dos vueltas respetando el orden de salida y meta.
Continuidad óptimaCertificador hacia atrásDetermina qué estados finales pueden completar otra vuelta y filtra el conteo óptimo.
Alcanzabilidad y frenadoEnvolventes cinemáticasDescarta estados imposibles sin eliminar soluciones óptimas y acelera la certificación booleana.
Representantes de bibliotecaSelector trai/troiElige las trayectorias de mayor y menor longitud euclidiana entre las continuables de mínimo número de movimientos.
Calificación de diseñoEvaluador de pistasRelaciona longitud, anchura, ramales y distribución de trayectorias con la experiencia de conducción.
Decisiones durante la carreraPlanificadores de Alonso, Amateur y DemoValidan el siguiente destino, conservan trayectorias útiles y recalculan cuando cambia la situación.
Alternativas algorítmicasPruebas comparativas aisladasPermiten medir otros métodos sin alterar las garantías del motor principal.
Separación de responsabilidades. El Editor puede realizar un análisis exhaustivo porque trabaja antes de la carrera; el juego reutiliza esos resultados y reserva el recálculo para los estados que cambian por la interacción entre coches.

13 · Bibliografía y referencias

De Racetrack académico a F1-RaceTrack

Las fuentes externas sitúan el modelo y sus alternativas; las reglas y algoritmos descritos aquí se aplican al funcionamiento de F1-RaceTrack.

  1. Michael A. Bekos, Till Bruckdorfer, Henry Förster, Michael Kaufmann, Simon Poschenrieder y Thomas Stüber, Algorithms and Insights for RaceTrack, FUN 2016, LIPIcs 49:6. Fuente académica principal sobre grafos de estados, BFS, regiones de aterrizaje, estrategias limitadas y complejidad. Publicada con licencia CC BY 3.0.
  2. Markus Holzer y Pierre McKenzie, The Computational Complexity of RaceTrack, FUN 2010, LNCS 6099, pp. 260–271. Clasifica la complejidad de varios problemas de decisión del modelo académico de Racetrack; no clasifica el conjunto completo de reglas ni el rendimiento práctico de F1-RaceTrack.
  3. Peter E. Hart, Nils J. Nilsson y Bertram Raphael, A Formal Basis for the Heuristic Determination of Minimum Cost Paths, IEEE Transactions on Systems Science and Cybernetics, 1968. Referencia fundacional de A*, utilizada para situar la prueba comparativa.
  4. Richard Vawter, Physics of the game of racetrack, American Journal of Physics 46, 1978. Variante físicamente motivada con reglas distintas a la cinemática de F1-RaceTrack.
  5. Keith A. Joyner y Clyde J. Smith, Comments on “Physics of the game of racetrack”, American Journal of Physics 47, 1979. Representación posición–vector y catálogo de variantes de reglas.
  6. Martin Gardner, Mathematical Games, Scientific American, enero de 1973. Una de las referencias históricas de difusión del juego sobre papel cuadriculado.
  7. Racetrack (game), Wikipedia. Referencia secundaria para terminología, reglas comunes y variantes; no se usa como autoridad del comportamiento específico de F1-RaceTrack.
Criterio editorial. Los artículos protegidos se resumen y se enlazan mediante sus páginas canónicas; no se redistribuyen sus PDF. Las afirmaciones sobre F1-RaceTrack se apoyan en sus reglas, en la implementación de los algoritmos y en mediciones reproducibles.