Ir al contenido
YFYass Fuentes

Orbafall XVII: La IA de tablero deja de engañarse

Editar en GitHub
· 11 min

Banner del devlog de Orbafall Legions, entrega 17: lo que la IA se creía.

En la entrega 7 conté que la IA me había encontrado un desequilibrio antes que cualquier jugador: un ejército de 47 piezas de la unidad más barata ganaba el torneo de compra en todos los niveles. Lo apunté para el equilibrado de la fase 6 y me quedé tan ancho. A primeros de noviembre, al calibrar la dificultad, los cinco niveles de la IA de tablero salieron empatados, y la sonda que buscó la causa me devolvió aquel hallazgo con otra cara: la IA seguía comprando ejércitos de una sola unidad y se guardaba el dinero, convencida de que era lo mejor. No era la única cosa que se creía. Al mirar de cerca cómo estimaba sus combates, resultó que daba por ganados algunos que perdía. De esas dos certezas falsas, y de cómo dejó de creérselas, va esta entrega.

1 - Cinco niveles que compraban igual

Con todos los combates resueltos en automático y el mismo pilotoEl perfil de destreza con el que la IA lleva una figura en la arena: cuánto tarda en reaccionar, cuánto adelanta al apuntar, cuánto duda. de arena en todos los asientos, los cinco niveles cabían en 25 puntos de EloEl sistema de puntuación del ajedrez. Cada partida mueve la puntuación de los dos jugadores según el resultado y la diferencia que había entre ellos. arriba o abajo del nivel central. Jugar, jugaban distinto (entre un 8 y un 15 por ciento de sus órdenes de turno cambiaban de un nivel a otro), pero esas diferencias no movían el resultado. Lo que pesaba era la compra, y era la misma en todos: dieciocho piezas de la unidad u07 o de la u14, según cayera el ruido (las unidades de prueba todavía no tienen nombre, solo número). Ya no era la unidad más barata, pero seguía siendo una sola, y con 10 000 créditos le sobraban de media 8140.

La razón es que el tope de piezas de los mapas de la entrega 9 ata mucho antes que el dinero, y el planificador llenaba ese tope con copias de la mejor unidad que podía pagar sin saber qué hacer con lo que sobraba. El torneo que elige el ejército, encima, solo comparaba candidatos de una unidad, así que una mezcla no llegaba ni a presentarse. Las ablacionesQuitar o cambiar una sola pieza de un sistema y medir cuánto se mueve el resultado, para saber cuánto pesaba esa pieza. El nombre viene de la medicina y de la neurociencia. lo dejaron por escrito: quitarle a la compra la tabla de quién gana a quién le costaba 299 puntos, y apagar la búsqueda del turno, la parte de la IA que se supone que piensa, le hacía ganar 24.

Lo que dije al verlo fue esto: «Hay que mejorar la IA de tablero. Esta debe ser suficientemente ortogonal a las arenas». Una partida se puede jugar con todas las arenas en automático, y el nivel del tablero tenía que notarse también ahí. Esa misma noche firmé el plan para arreglarlo.

2 - Gastar y mezclar

Para la compra firmé tres arreglos, sin tocar ninguna regla. El primero era gastar: que el dinero que sobra cuando ya no caben más piezas mejore unidades o compre objetos y trampas. El segundo, mezclar, metía en el torneo candidatos que combinan unidades y rinden menos con cada copia repetida. El tercero intentaba prever al rival, añadiendo al campo esperado el ejército que la propia IA compraría en su lugar con lo que es público. Cada uno se midió aparte en el simulador, con 512 partidas.

Gastar ganó 77 puntos, y por un motivo que no esperaba: no mejoró ni una sola pieza, porque u07 ya era la unidad de más valor. Toda su ganancia fueron objetos, de 3,7 por ejército a 12,8 con 1000 créditos, y alguna trampa. Mezclar ganó 114, y los dos juntos 217, casi la suma exacta. La tercera idea, la más elaborada, perdió 196. El rival previsto compraba u07, la tabla de enfrentamientos decía que u14 era su contra, y la IA acababa comprando u14 en el 98 por ciento de los ejércitos, que perdían contra u07 en el tablero y encima no llevaban objetos. Como la tabla prometía una contra que el tablero no cumplía, prever al rival se quedó fuera.

Tres filas de diez figuras, cada una el 10 % de las piezas que compra la IA: antes de los arreglos, con gastar y mezclar, y con los tres arreglos; al lado, unidades distintas, ejércitos de una sola unidad, crédito sobrante y objetos.

Imagen 1. Lo que compraba la IA con 1000 créditos antes y después de los arreglos. Con los tres a la vez mezcla mucho más, pero no compra ni un objeto.

En una de las partidas grabadas del corpusUna colección de partidas guardadas que las pruebas rejuegan enteras en cada cambio. Si un resultado se mueve, algo ha cambiado en las reglas. la IA pasó de comprar catorce piezas iguales y guardarse 903 créditos a llevar cuatro piezas de dos tipos y nueve objetos, y le sobran 7. Aun así, el 72 por ciento de los ejércitos seguía siendo de una sola unidad, casi siempre u07, porque con las figuras de hoy gana. Eso ya es cosa de las figuras y se queda para la fase 6, así que el hallazgo de la entrega 7 era mitad y mitad [y yo me había quedado con la mitad que me convenía].

3 - Comprar peor a propósito

Con la compra arreglada tocaba buscar qué separa un nivel de otro, y de todas las perillas candidatas solo movieron las de la compra; las del juego en el tablero se quedaron por debajo de 50 puntos. Los niveles de Orbafall se distinguen, pues, por cuánto se fían de la tabla de enfrentamientos al comprar: el más alto la lee entera, el cuarto a algo menos de la mitad, el tercero a menos de un tercio, y los dos primeros no la leen (el primero, además, ni gasta ni mezcla).

Barras del Elo de los cinco niveles de tablero, del nivel 1 al 5: 732, 851, 1000, 1142 y 1252.

Imagen 2. La escalera del tablero en 1792 partidas del simulador, con la compra de cada nivel y el mismo piloto en todos los asientos.

La escalera quedó en orden y con los vecinos separados, y con un ejército fijo, sin tienda, los cinco niveles vuelven a la par. Con la dificultad completa, que suma el piloto de cada nivel, también sube en orden, aunque los dos niveles de arriba se quedan unos 180 puntos por debajo de su tramo; lo dejé como aviso, porque las cifras finas se recalibran en la fase 6.

Quedaron dos flecos. Una auditoría del código del 6 de noviembre vio que el enfrentamiento plano de los niveles bajos dejaba al ganador con la vida llena, cuando el diseño decía la mitad, y firmé arreglarlo. Y si ningún objeto mejora nada, el dinero va ahora a trampas; si también ata su tope, la IA se lo guarda, y ese resto lo acepté hasta que haya objetos nuevos.

4 - Certezas que no lo eran

La segunda certeza falsa estaba en los combates. Para decidir si ataca, la IA pregunta a la tabla cuánto gana una figura contra otra, y hasta el 5 de noviembre preguntaba por luchadores desnudos: sin objetos, sin la bonificación del portador del orbe y a vida llena. En 2000 partidas del simulador, los combates que daba por ganados del todo ganaban el 94 por ciento, y cuando defendía el portador del orbe, el 70. Repetir esos combates con otra semilla daba el mismo resultado el 99,5 por ciento de las veces, así que la culpa no era de la suerte. Con las estadísticas reales, esas mismas certezas acertaban todas.

El 5 de noviembre firmé el plan pregunta a pregunta. La IA consulta con todo lo público y con nada oculto: sus piezas, con sus estadísticas y sus objetos; el rival, a vida llena y con la carga del orbe si es el portador. Lo que el rival esconde se queda fuera, porque estimarlo sería información privada. La vida corrige la estimación sin llegar nunca a 0 ni a 100 por cien, y el resultado se juzga comparando la IA vieja y la nueva sobre los mismos combates.

Cuatro barras con el límite firmado de 5 puntos marcado: cuando da un combate por perdido, la IA de antes se equivoca 22,5 puntos y la de después 1,7; cuando lo da por ganado, 4,1 y 0,9.

Imagen 3. Lo que se equivoca la IA cuando da un combate por perdido, sobre los mismos combates.

Al cierre, los combates que la IA daba por perdidos y aun así ganaba bajaron del 22,5 por ciento al 1,8, y los que daba por ganados acertaban el 99. Está mucho mejor calibradaSe dice de una predicción que acierta en la proporción que anuncia: de los combates que da al 90 por ciento, gana nueve de cada diez. Una IA mal calibrada puede acertar mucho y aun así fiarse de más., con una grieta que firmé sabiendo que quedaba: cuando el defensor lleva objetos que la IA no ve, se fía más que antes y da por casi seguros combates que gana el 77 por ciento. Desde el 6 de noviembre, además, lee la vida del rival por tramos como un rango, igual que el pronóstico que ve una persona.

Había otro detalle feo: filas de la tabla cuyas 12 muestras acababan todas en muerte doble, que la IA leía como derrota segura aunque esos combates ganaban el 11 por ciento. Me propusieron suavizarlas y pregunté: «Y por qué no hacer 224 […] en vez de hacer un parche». Más tarde lo dije de otra manera, «estos suavizados me saben a parches», y la firma fue atacar las raíces, las filas con pocos datos y la corrección por la carrera de daño.

5 - Pensar una ronda más

El nivel más difícil imagina tres rondas por delante en vez de dos, y jugaba peor por ello. La causa que di por buena estaba en cómo se imaginaba la tercera ronda, con réplicas voraces que dejaban el tablero casi vacío, y abrí un plan aparte con una condición dura: no se cierra hasta que pensar tres rondas no pierda frente a pensar dos. Su diagnóstico desmintió aquella causa, que yo hasta había dejado escrita en la historia del proyecto. Con el mismo presupuesto de búsqueda, pensar tres rondas empata con pensar dos, y lo que pierde es darle más presupuesto, que se investiga aparte. La condición ya se cumplía, sin margen, y el plan cerró sin tocar una línea.

6 - Un 37,5 que valía un 100

La última certeza falsa salió en el reselladoVolver a calcular y guardar las huellas y los resultados esperados del corpus de pruebas después de un cambio legítimo de las reglas. del 6 de noviembre, en una prueba del paquete sintético: una fila de la tabla tenía 16 muestras y 6 victorias, un 37,5 por ciento, y tras la corrección por la carrera de daño la IA la leía como un 100 exacto. Con la zona de muerte súbita todo bando acaba teniendo un tiempo para matar, porque al final mata la zona, y la corrección movía la fila según el arranque de la zona aunque los golpes de ese bando no superasen la curación del rival. Como el portador del orbe ataca cuando la IA está segura al 80 por ciento, se habría lanzado a un combate que pierde casi dos de cada tres veces. Se arregló de madrugada, el 7 de noviembre: si un bando solo mata a través de la zona, la fila se queda como está, y la IA la lee en un 38,4.

La auditoría del día 6 había encontrado una prima hermana: al cambiar de forma, la IA calculaba la pieza con la vida máxima de la forma nueva (una figura a 50 de 50 se veía a 150 de 150, aunque el motor la deja en 50) y elegía cambios que el combate no premiaba.

7 - Palabras finales

En un mes la IA de tablero ha pasado de llenar el tope con una sola unidad y guardarse el dinero a mezclar y gastar, y sus niveles se separan por fin. La mejoré sobre todo quitándole certezas que no tenía, y casi todas las encontraron los lotesUn conjunto de partidas o combates simulados de una tacada, con la misma configuración, para medir algo con cifras en lugar de con impresiones. del simulador antes de que yo las viera jugando. Y una duda de diseño: en una dificultad baja, ¿se nota más que la IA traiga un ejército peor o que mueva peor uno bueno? ¿Cuál os parece más honesto?

7.1 - Para el futuro

La siguiente entrega va del tablero de juguete, el modelo abstracto con el que la IA podrá entrenar estrategias a millones de decisiones por segundo cuando el simulador exacto juega entre media y seis partidas por segundo.

Continúa leyendo la serie en la entrega 18, «Un tablero de juguete a millones de decisiones por segundo».

Orbafall Legions es un proyecto personal no oficial, no afiliado con Silicon Knights, SSI, Mindscape ni Ubisoft.


Versión 1.0R0 (07/11/2026)

Changelog