Funcionamiento de los trenes de equipo Viergewinnt

El equipo trató de determinar varios trenes de todos los trenes, Está determinada por el nivel. Nivel 1, Trató de salir dos ladrillos, uno para él y otro para el oponente. Nivel 2 probarlo 4 Tirar, nivel 3, 6 y de nivel 3 siempre uno más.
Para cada posición, el resultante, Realiza una revisión y, a continuación, selecciona el tren, Es la mejor calificación en la final de. Esta opción realiza el mismo método para los trenes del oponente. De esta manera, espera que (determinada por este método) mejor movimiento de su oponente, para determinar el propio tren mejor.

Cómo el equipo evalúa una posición?

Él es uno para cada piedra de su color, ¿Cuántas posibilidades hay siguen, 4 para entrar en una serie. En una cancha vacía lo contrario con un rock bottom left surge una revisión de 3, debido a 3 Las posibilidades, Esta piedra de 4 para entrar en una serie: en la parte superior, arriba a la derecha y a la derecha.

Este recuento se hizo para el equipo y el Gegnger. Una revisión de la posición es calculada a partir de estos dos cargos, donde diferente puede ponderado el resultado recuento del oponente que el propio. La ponderación se determina por el caos del equipo. En extremo mayhem, sólo lexicográficamente juega un papel el conde de Gegngers, es decir. Si dos trenes tras el recuento de piedras propias el mismo número de, el tren es preferido, ¿Quién tiene un peor contando los resultados a un enemigo.

El caos (= Estrategia) el equipo es elegido al azar para un juego. Ella puede 5 Tomar valores entre el “casi sólo propias oportunidades para ampliar”-Estrategia de hasta “minimizar las posibilidades de oponentes en primer lugar”. Mientras que el equipo en un nivel elige una estrategia, con que perdió una vez, no nuevo (Si es posible).

El caso de la ganancia se mide con un número, que es mayor que todas las opiniones, obtuvo tras el esquema anterior. Perder es calificado como un número negativo.

Se utiliza mejorar la velocidad del algoritmo de cancelación de alfa beta. La idea es la siguiente: Seleccione el oponente es siempre el tren, que es lo peor para el equipo. Ello no deba ser calculado todos los trenes propios, Si el oponente por un otro tren anterior (es decir. en otra rama) tiene la oportunidad de, mejor tomar que por grado analizado. No se necesitan analizar todos los otros trenes en la rama actual, porque hay una posibilidad de que el enemigo, el equipo de peor que en otra rama.
La otra rama, por tanto, es el preferido por el equipo, sin tener que probar y evaluar todos los trenes en el árbol actual.
Este algoritmo es puramente lógico, es decir. No restringe el conjunto de resultados, pero reduce el número de operaciones necesarias para lograr que el mismo resultado como con la búsqueda. Muchas gracias a Marc Becker, el ha declarado este algoritmo.

Oportunidades de mejora

Velocidad

Para mejorar la velocidad, espera que el equipo mientras el oponente sigue cuidadosamente. Este propósito 7 Campos de juego generados, Mientras que cada campo contiene un posible fichaje del oponente. A continuación, el cálculo es al mismo tiempo para todos 7 Campos de juego se ha iniciado. Ha hecho su fichaje del oponente, por lo que los cálculos se detienen, que se lanzaron para otro su oponente mover y esperó hasta el cálculo para el tren, que el oponente ha hecho realidad, se ha completado. Lamentablemente esto tiene no mucho, debido a que los cálculos anteriores deben compartir el rendimiento del procesador, llegan sólo con ca. una séptima parte de la velocidad de un cálculo único en progreso. Velocidades de tren de personas entre 5 y 15 Una vez ahorros segundos por mover surge de 5/7 hasta 15/7 por 0,7 hasta 2 Segundos. En ca. 60 Segundo nivel cálculo 5 no es más que una gota en el cubo 🙁 Desafortunadamente solo hice la observación de la velocidad del tren humano, Después de el “contar con tiempo de opositores” ya había programado 🙁

Tal vez podría ser digno de, las rutinas, que son necesarios durante el cálculo, para optimizar la velocidad. He probado con un éxito moderado y ningún esfuerzo especial. Ambos están en el código fuente (Die “más lento” y “más rápido”) Todavía contienen rutinas, el nuevo tiene las etiquetas “rápido”. Para aquellos que desean, aquí lo que debe mejorar, como a!

Otra forma de, para hacer el juego en niveles superiores más llevadera,
Sería, una biblioteca de apertura para incorporar. Si la biblioteca de apertura es procesada, Sin embargo no es más rápido que antes.

También sería concebible, el equipo “Inteligente” para hacer, es decir. Proyecciones para cancelar, antes de alcanza la profundidad de cálculo predeterminadas, Si de alguna manera “previsible” es, que trata de las actividades de conversión no en cuestión viene. Sin embargo, será de esta manera el equipo “potencial creativo” tomado, No puede hacer más trenes, que a primera vista pinta mal (= previsiblemente no vienen en cuestión), pero después de algunos trenes resultan beneficioso. Todos los programas de ajedrez tienen que ser con los “Heurística” Estos métodos funcionan, porque el número de posibilidades después de sólo unos pocos trenes tan grandes existe, que no todos los trenes pueden evaluarse en un tiempo aceptable. Para desarrollar de buena heurística es necesaria mucha experiencia de juego. Tal vez alguien se siente, da solía ir? – Voy a (al menos en un futuro cercano) No te preocupes, porque el juego actual por así decirlo para mí debería ser la prueba, ¿Cómo así un equipo sin heurística, es decir. sin experiencia de juego incorporado, puede reproducir. El resultado es: Va bastante bien, pero en contra de una persona, es el equipo (sin heurística) lento y derrotar.

Nivel de habilidad

La primera versión de este programa evalúa sólo la calidad de la propia posición, independientemente de la posición del oponente. La versión actual que se utiliza con la evaluación de la posición del oponente segun mayhem (= Estrategia) diferentes pesos. Esto podría mejorar significativamente el nivel de habilidad del equipo.

No se ha implementado: Alquiler. es el peso, Esto debe ser adecuado para la evaluación de posición opuesta, Dependiendo de la etapa y el nivel de habilidad del oponente.

Otra forma de, el nivel de habilidad para mejorar, podía ser, no sólo los mejores oponentes tren a tener en cuenta, pero para incluir la distribución de las tasas del oponente. Un mecanismo también sería concebible, Utiliza un algoritmo diferente para el tren opuesto en cuanto a los trenes de equipo.

Otra forma es, ciertas constelaciones (por ejemplo. “Otoño”, no puede ser reconocido dentro de la profundidad de anticipación) con exámenes específicos para proporcionar. Probablemente, éste es el método más prometedor, porque esas debilidades sistemáticas pueden reducirse. Allderdings tan obtienen sólo único “Otoño” enseñó el equipo. Además, requiere, como cuando experiencia heurística juegos, por eso no estoy planeando pronto, para implementar tales.

Una manera más fácil, el nivel de habilidad para mejorar, podía ser, no sólo el número de posible Viererreihen contar, pero también tener en cuenta, el Viererreihe ya consta de cuántas piedras. Hasta ahora, el equipo analiza dos posibles Viererreihen, ya hicieron un, Hay dos o tres piedras, Igualmente. Probablemente el juego del equipo es aggresiver, pero contratar. también menos estratégicamente, enfocado tanto a corto plazo, debido a la prefabricadas por 3 Piedras en una fila es importantes –
Alquiler. más importante que construir nuevas oportunidades. – Apenas puedo entender,
Si el juego es mejor, También es probablemente la ponderación a más oportunidades. Tengo previsto esta posibilidad de mejora, en principio cualquier momento pronto.

Código fuente

Existe el código fuente de Java como Archivo ZIP aquí.
Puede distribuir libremente, utilizar y cambiar, tanto tiempo como mi nombre con
se pasa. Personalmente uso el cuadro de masaje de clase modificada
por Jack Harich, mensajes (por ejemplo. Ha ganado el jugador con el color de x”)
para pasar.

El archivo principal se llama “Kreise.Java”, Implementa la interfaz gráfica de usuario. El archivo “tspielfeld.Java” proporciona la funcionalidad básica de Viergewinntspielfeldes, durante el archivo “SchlauesSpielfeld.java” Funciones de evaluación de la posición incluyendo el método “ha ganado reproductor?” extendido, Agrega el método para la determinación del tren mejor y
implementa la interfaz para roscas, las proyecciones simultáneas a
Activar.

Tengo aquí una breve guía escrito, Cómo vincular este pequeño juego de Viergewinnt en su propia página.

Ideas? Sugerencias? Canciones de alabanza?

Simplemente dejar un comentario.

Esta entrada fue publicada en Todos los artículos alemán y etiquetado , , , . Marcador el enlace permanente.

Contesta

Su dirección de correo electrónico no será publicado. Los campos obligatorios están marcados *