AI Cómo modelar la programación genética para acorazados

Tengo una pregunta sobre la programación genética. Voy a trabajar en un algoritmo genético para unjuego llamado acorazados.

Mi pregunta es: ¿cómo decidiría sobre un modelo de "decisión" para que evolucione la IA? ¿Y cómo funciona?

He leído varios documentos y múltiples respuestas que solo hablan sobre el uso de diferentes modelos, pero no pude encontrar algo específico, que, desafortunadamente, aparentemente necesito entender el problema.

Quiero que evolucione a través de múltiples iteraciones y "aprenda" lo que funciona mejor, pero no estoy seguro de cómo guardar estas "decisiones" (lo sé en un archivo, pero "codificado" ¿cómo?) De una buena manera, por lo que aprenderá a adopte una postura respecto a las acciones anteriores y base la información del estado actual del tablero.

He estado contemplando una "estructura de árbol" para que la IA base las decisiones, pero en realidad no sé cómo comenzar.

Si alguien pudiera señalarme en la dirección correcta (¿un enlace? ¿Algún pseudocódigo? Algo así), eso sería muy apreciado. Intenté googlear lo más posible, ver múltiples videos de YouTube sobre el tema, pero Creo que solo necesito ese pequeño empujón en la dirección correcta.

También es posible que no sepa qué buscar exactamente, y es por eso que me quedo en blanco con resultados sobre qué y cómo implementar esto.