Estoy dirigiendo un seminario de algoritmos y estoy tratando de expresar el problema del ciclo hamiltoniano de una nueva manera que es emocionante para los estudiantes. Sé que muchos de ellos juegan un juego llamado Hearthstone y estoy tratando de expresar un problema en ese juego como un problema de decisión.
Esencialmente, en la mayoría de los juegos de cartas, se descomponen y dejan de ser divertidos cuando una mecánica, que el diseñador no anticipó, agrega recursividad. En Hearthstone y Yu-Gi-Oh! ese problema se expresa bien en este video. En el paquete que les doy les explico cómo funciona la mecánica y cómo lleva a la recursividad, luego les pregunto lo siguiente:
Exprese formalmente la mecánica que conduce a la recursividad en un juego de cartas con estados de entrada y salida como un problema de decisión.
Muestre que este problema está en NP dando un algoritmo de verificación para este problema y demostrando que el algoritmo es correcto.
Ya se sabe que el problema del ciclo hamiltoniano es NP-completo. Podemos demostrar que el problema de recursión en los juegos de cartas es NP completo al reducir el problema del ciclo hamiltoniano al problema de recursión del juego de cartas. Hágalo dando primero una reducción del problema del ciclo hamiltoniano al problema de recursión del juego de cartas. La reducción toma la entrada al problema del ciclo hamiltoniano y la convierte en entrada al problema de recursión del juego de cartas. Luego prueba que tu reducción es correcta.
Mi pregunta principal es: ¿Declaré algo incorrectamente? ¿Cambiarías algo sobre mi formulación del problema?
Esto suena como una idea divertida. Tengo algunas ideas que podrían ayudar a depurar la tarea y mejorarla. (Parte del problema podría ser que no tengo suficiente información sobre el resto de la tarea, así que siéntete libre de corregirme).
El problema de decisión es un poco ambiguo (que podría ser intencional para permitir la creatividad, o que podría hacerse más preciso para ayudar a los estudiantes). Por ejemplo, podríamos querer formular el problema como: (1) ¿Puedes hacer un par de mazos de cartas de Hearthstone que podrían conducir a una condición de recurrencia? (2) ¿Pueden estos dos mazos, cuando se barajan y durante el transcurso del juego, dar lugar a una condición de recurrencia? (3) En este punto exacto del juego, ¿hay alguna acción que un jugador pueda realizar que conduzca a una condición de recurrencia?
Todas estas alternativas equivalen básicamente al mismo tipo de problema NP, pero tener una implementación precisa puede ayudar. Creo que (3) es más atractivo para mí porque lo único que estás buscando son los efectos secundarios de las acciones disponibles actualmente de los jugadores.
¿Tiene en mente una mecánica específica que cause la recurrencia, como el Shudderwock? De lo contrario, parece un poco abierto si tiene que asignar gráficos a un estado de juego particular entre dos jugadores que tiene un efecto de recurrencia descontrolado si el gráfico es hamiltoniano y si no. No estoy seguro si tiene un mapeo más específico en mente.
¿Tiene ejemplos de respuestas a las preguntas 1 y 2, y la reducción en 3?
gato m
jake mckenzie
gato m
jake mckenzie
jake mckenzie
gato m
jake mckenzie
jake mckenzie
mhum