Selección directa con seis cifras
Versión 2 · rechazo por bloque y rango. Solo laboratorio; activación comercial pendiente.
Se utiliza exclusivamente el primer y segundo premio completos del mismo Sorteo Mayor de Lotería Nacional de México, publicados en su lista oficial. No se sustituyen por Sorteo Superior ni por otro producto.
Numeración de las rifas nuevas
Desde cero, exactamente N boletos, con un máximo de seis dígitos. El último número es N − 1. No existe el boleto 1000 en una rifa de 1.000 boletos.
| Boletos | Numeración |
|---|---|
| 100 | 00–99 |
| 1000 | 000–999 |
| 10000 | 0000–9999 |
| 100000 | 00000–99999 |
| 1000000 | 000000–999999 |
- Comparar los bloques de mil de los premios completos: floor((premio − 1) / 1000). Van de 0 a 59: el bloque 0 abarca 00001–01000 y el bloque 59 abarca 59001–60000. Si coinciden, rechazar el concurso completo y pasar al siguiente concurso previamente sellado.
- Conservar cinco cifras de cada premio. Tomar sus últimas tres cifras y concatenarlas: primero + segundo, incluidos los ceros.
- La base S queda entre 000000 y 999999. Calcular L = floor(1000000 / N) × N.
- Si S < L, el número calculado es S mod N. Ejemplo: 810423 mod 1000 = 423. Si S ≥ L, registrar el rechazo y esperar el siguiente concurso comprometido; no se calcula otro bloque ni se usa un hash para elegir.
- El número solo recibe el premio si corresponde a un boleto pagado y elegible. Una reserva o un pago pendiente no acredita participación pagada.
- Sin adjudicatario, aplicar exclusivamente la resolución publicada. Si permite segunda oportunidad, los boletos pagados vigentes siguen sin otro pago; reapertura con aviso, cierre antes del siguiente concurso, máximo de repeticiones, fecha límite y resolución final sellados.
Las rifas anteriores conservan sus rangos, condiciones y resultados. El verificador histórico respeta el inicio que se publicó para cada una; no trunca ni renumera boletos existentes.
Qué comprueba la evidencia
Se conserva el PDF original, su URL, fecha de consulta y SHA-256. La imagen con círculos es una explicación derivada; no modifica el original ni representa una certificación de Lotería Nacional. SHA-256 solo protege la integridad del expediente. El verificador público reproduce el cálculo; la comprobación de elegibilidad usa una lista privada congelada.
Demostración de equidad y versión histórica
Los números oficiales son distintos. Bajo el modelo de extracción uniforme sin reemplazo entre 00001 y 60000, hay 3540 pares completos para terminaciones iguales y 3600 para terminaciones diferentes. La concatenación no es uniforme. El rechazo por rango elimina el exceso de módulo solo si la entrada es uniforme: por sí solo no corrige esta dependencia.
La versión 2 aprobada para desarrollo descarta el concurso si ambos premios pertenecen al mismo bloque de mil: floor((premio − 1) / 1000). Con bloques diferentes quedan 3540 pares por cada combinación de terminaciones; después se aplica el rechazo por rango. Hay 60 × 59 = 3540 pares de bloques diferentes para cada combinación de terminaciones. Por eso las 1.000.000 bases son equiprobables al aceptar el filtro. Para cualquier N, L es múltiplo de N y cada residuo aparece L/N veces entre 0 y L−1: probabilidad condicionada 1/N. La aceptación total es (59000/59999) × (L/1000000). Esta demostración depende del modelo declarado y no certifica el mecanismo físico.
La versión 1 conserva el método anterior sin el filtro de bloques y no se reinterpreta. Este perfil permite un premio principal y hasta un millón de números. Varios premios o más de un millón requieren otra especificación aprobada. Las rifas existentes conservan íntegro su método.
Descargar verificador independiente en Python
python verify-direct-fair-independent.py prueba.json