El artículo de la wiki para pangramas autoevaluados indica que se computan utilizando diagramas de decisión binarios. He estado leyendo acerca de BDD y, desde mi entendimiento, necesitas representar algún problema como una función booleana antes de poder construir un BDD para él.¿Cómo puedo representar un pangrama de enumeración automática como una función booleana?
¿Cómo voy a hacer esto?
He estado pensando sobre el problema durante unos días, y estoy bastante seguro de que podría representa la entrada a la función booleana utilizando una codificación sencilla:
10000 01010 01011 10101 ...
16A's 10B's 11C's 21D's ...
Así que para una partida pangrama "dieciséis A, diez B, once C, veintiún D's", podría representarlo como 10000010100101110101 ...
Esto significa que hay 26 * 5 = 130 variables en la función booleana, suponiendo que restrinja el frecuencia máxima de un personaje a 32 ocurrencias.
El resultado debe ser si la representación es un pangrama de enumeración automática o no, es decir, si la oración describe su propio conjunto de frecuencias.
Para hacer esto, seguramente se requerirá una tabla hash (o varias) en el camino.
Así, por la letra E, la tabla hash podría comenzar:
one -> 1
two -> 0
three -> 2
four -> 0
five -> 1
...
Lo que en binario, podría ser:
1 -> 1
10 -> 0
11 -> 10
100 -> 0
101 -> 1
Si la suma de todas las operaciones de búsqueda de la tabla E hash es igual a cinco bits de entrada correspondientes a E, entonces esa sección del pangrama de autoenumeración es correcta. Si todas las secciones son correctas, entonces la función booleana debería dar 1, de lo contrario 0.
Estoy bastante seguro de que podría averiguar cómo llevar a cabo la adición usando una función booleana y cómo verificar si dos números son iguales. Sin embargo, no tengo idea de por dónde empezar representando la tabla hash como una función booleana. Además, conectar todas las piezas juntas me desconcierta.
¿Alguna idea? Ideas? ¿Colaboración? Me gustaría ver a dónde va esto.
Gracias de antemano.
tiene algunas pistas: http://www.fatrazie.com/EWpangram.html –
Este es un problema realmente interesante, que he disfrutado pensando en las últimas horas.Personalmente, intentaría resolver el problema con la búsqueda, en lugar de tratar de resolverlo matemáticamente con funciones booleanas. He echado un vistazo a parte de la literatura disponible en este [enlace] (http://scholar.google.com/scholar?q=pangram+search), y estos documentos han dado un paso adelante para resolverlo de manera mucho más elocuente. de lo que pude Espero que ayude, y muchas gracias por unas horas de pensamiento muy interesante. Dave – stormCloud
Muy interesante de hecho. Tal vez pueda encontrar útil este documento sobre Diagramas Binarios de Decisiones: http://www.voronkov.com/lics_doc.cgi?what=chapter&n=10 – cprogcr