Intro
Un amigo mío está tratando de crear un tiempo real de juego de cartas donde los jugadores tratan de combinar imágenes en las cartas de su mano a la otra tarjeta que está en juego.
Ejemplo: el Jugador 1 juega una tarjeta con imágenes {a, b, c}. Otro jugador puede jugar una carta con cualquiera de a, b o c en él. Que es {a, d, e}, {b, d, e}, {c, d, e} todos coinciden exactamente en una de las imágenes de la tarjeta en el juego ({a, b, c}).
Estamos tratando de entender cómo el programa de instalación de este juego tal que:
1) Cada tarjeta con el N de imágenes está garantizado para que coincida con al menos N otras tarjetas (no huérfanos de imágenes).
Ejemplo: la tarjeta de {a, b, c} coincidiría con al menos 3 cartas. Uno para cada uno de a, b, y c de.
2) No hay dos tarjetas de coincidir en más de una forma. Ejemplo {a, b, c} y {a, b, d} no puede existir en la cubierta mientras tanto {a, b} coincidir estas dos tarjetas. En la mayoría de una imagen debe coincidir (sólo {a}, sólo {b}, o simplemente {c}).
3) En realidad nos gustaría contar con 8 imágenes por tarjeta y tienen una cubierta de al menos el 50 tarjetas. Así que en lugar de tarjetas que se ven como {a, b, c}, realmente tendríamos tarjetas con 8 imágenes y se vería algo como {a, b, c, d, e, f, g, h}.
Pregunta
1) la cantidad de imágenes que vamos a necesitar para crear para apoyar este plan?
He mirado en la construcción de la cubierta como una colección de completamente conectado gráficos que garantice que cada una de las imágenes en cada tarjeta está "conectado" a otro de la tarjeta única, pero el número de imágenes necesarias crece muy rápidamente.
Ejemplo: Para obtener un conjunto de tarjetas con 8 imágenes en ella, veo a 9 vértices (tarjetas) en un gráfico completamente conectado, que requiere no menos de 36 imágenes (sólo para 9 tarjetas!). Este es K9 en el gráfico completamente conectado enlace.
2) ¿existe algún tipo de pseudocódigo o algoritmo para ayudarnos a construir esto a través de programación? Idealmente, nos gustaría ajustar lo que nos puede afectar a la probabilidad de partidos.
Ejemplo: En el gráfico completamente conectado esquema, cada tarjeta coincide con todos los demás de la tarjeta (lo que significa que usted siempre puede jugar todo lo que esté en tu mano). Nos gustaría idealmente como un esquema donde cada tarjeta coincide con algo así como 1/3 o 1/4 de la cubierta de la tarjeta de la población, de modo que hay un cierto grado de habilidad. Sería bueno si el algoritmo/pseudocódigo nos permitió afectar a la probabilidad de tarjetas a juego.
Alguien me puede ayudar a entender este problema de matemáticas perspectiva?
Gracias de antemano!