Reducir un conjunto de números partiendo de una agrupación de 243 por menos de 16 grupos
Reabro este tema y quedo a disposición para cualquier aclaración.
Mejor si me mandas las preguntas a mí mismo, algunas veces no tengo tiempo para mirar el tablón.
Sigo sin entender como con lo que has hecho llegas a un sistema de reducción al trece. Es que si supiera eso podría intentar resolver el problema por algún método deductivo.
Yo veo que tienes 243 columnas con 23 números cada una. Y por lo que me dices el sistema estará formado por un conjunto de columnas que tengan los 243 números. Y cada columna de esas tiene 729 quinielas simples
Yo se que esas 729 quinielas son un sistema perfecto al 12. Entonces esos 23 números que pones en una columna deben ser los de las columnas donde se tendría 13 si jugamos las 729 quinielas. Para ello las quinielas de esas otras 23 columnas deben estar a distancia 1 de las quinielas de la columna.
Supongo que has tomado la quiniela con todo unos y en la primera fila has puesto las 243 que tienen 1 o dos signos distintos. Luego en cada columna has puesto el sistema de reducción perfecto al doce que corresponde a esa quiniela inicial. Y luego has creado la tabla de números donde has puesto en cada columna aquellas que están a distancia 1 de ella.
Entonces el problema es como hallar un sistema al trece para las quinielas a distancia 1 y 2 de la quiniela de todo unos. Lo que pasa es que ese no es el problema típico, ya que el problema típico es hallar un sistema para todas las quinielas que hay con x dobles e y triples, por eso los métodos que que haya hecho hasta el momento no sirven para este problema, aunque la forma de hacerlo no es muy distinta.
Respecto al programa puse algunas matrices que habrás visto que no se usan pero que pueden servir para cuando lo desarrolle más.
El método es coger una columna, señalar las que están acertadas para llevar la cuenta de cuenta de las que quedan para completar las 243, pero lo más importante es señalar a cada columna cuantas de sus 23 ya están usadas, eso se hace con la matriz inv(243,243) que en realidad podría ser (243,23) en este método perfecto pero en otros no. El nombre de es matiz es inversa, lo que tiene en su columna 1 son las columnas que tienen el 1, en la dos las que tienen el 2, etc. De esta forma, para añadir la segunda columna preguntamos cual aportaría más números nuevos que será la columna que tenga menos usadas. Si hay varias se toma una de ellas. Si no esta marcado aleatorio se toma la primera, si está marcado una de ellas.
En los métodos que yo tenía no eran números sino quinielas, pero es parecido. Y después de esta primera vuelta lo que se hacia era preguntar cuales de las columnas aportaban menos ahora, se quitaban unas cuantas y se ponían otras con la esperanza de que hicieran falta menos, a veces se conseguía y a veces iba a peor, pero era cuestión de darle tiempo, observar y cambiar algunos parámetros si veíamos que no resultaba bien. A veces el proceso era cíclico y no se avanzaba nada, entonces se introducían elementos aleatorios, como no quitar las peores sino alguna buena y no añadir las mejores sino alguna peor, con eso se conseguía salir de la rutina y podía salir algún sistema mejor que el que había. Pero todo esto lo hice hace muchos años y era bastante complicado.
Bueno, vamos por partes,
En relación al código que ma has enviado, creo que funciona perfectamente, lo he retocado para que entre en un bucle en modo aleatorio hasta que encuentre una reducción de menos de 16 pero después de 14 horas no he obtenido éxito alguno. Claro lo ideal sería encontrar un método difierente al secuencial o aleatorio pero no se me ocurre el que. Yo tengo una hoja con el número de coincidencias que existen entre columnas (no se si a eso se le puede sacar algún partido) te la envío al correo para que le eches un vistazo. Tiene que existir algo que haga a esas columnas diferentes.
Mas cosas, en relación con lo que me comentas, en el mensaje me da la sensación de que lo tienes clarísimo, no se donde está la duda pero puntualicemos.
En relación con lo que me dices: "Yo se que esas 729 quinielas son un sistema perfecto al 12. Entonces esos 23 números que pones en una columna deben ser los de las columnas donde se tendría 13 si jugamos las 729 quinielas. Para ello las quinielas de esas otras 23 columnas deben estar a distancia 1 de las quinielas de la columna." Es correcto, cada número representa una columna y cada columna 729 quinielas, así, con la reducción que tenemos de 16 columnas conseguimos un sistema de 16 x 729 que nos dan 11.664 quinielas, dentro de esas quinielas aseguramos como mínimo 1 de 13 y 15 de 12.
"Supongo que has tomado la quiniela con todo unos y en la primera fila has puesto las 243 que tienen 1 o dos signos distintos. Luego en cada columna has puesto el sistema de reducción perfecto al doce que corresponde a esa quiniela inicial. Y luego has creado la tabla de números donde has puesto en cada columna aquellas que están a distancia 1 de ella." Correctísimo, y tiene su explicación natural, porque no se podrían ordenar de otro modo que no fuese en esas 243 columnas si pretendemos tener las 177.147 combinaciones totales, ni con otros encabezamientos diferentes.
"Entonces el problema es como hallar un sistema al trece para las quinielas a distancia 1 y 2 de la quiniela de todo unos. Lo que pasa es que ese no es el problema típico, ya que el problema típico es hallar un sistema para todas las quinielas que hay con x dobles e y triples, por eso los métodos que que haya hecho hasta el momento no sirven para este problema, aunque la forma de hacerlo no es muy distinta." De nuevo te doy la razón de que es un poco atípico lo que estoy haciendo pero estoy convencido de que partiendo de una reducción perfecta se pueden reducir y aproximar de un modo mas exacto las reducciones imperfectas, y no solo la de 13 sino incluso cualquier otra reducción menor. Además, utilizando este método, solo trabajamos la primera fila (las columnas que están a distancia 1 y 2 de la de todo unos) y todas las que están a distancia 1 de esta primera fila y con eso obtenemos el patrón para las 728 filas restantes.
Quedo a tú disposición,
Saludos.
La primera parte es lo mismo que ya teníamos en horizontal, es decir para cada columna indicas las 23 que están a distancia 1 de ella. La segunda tabla de 243x243 tiene los números 23, 2 y 3. Supongo que es la cantidad de números comunes entre cada dos columnas. Por lo que se ve, tener 3 números comunes es equivalente a estar a distancia 1, 23 sería distancia 0.
Si la columna 1 tiene distancia 2 con otra sus
... 11
... xx
Las quinielas comunes a distancia 0 o 1 de ambas son
... 1x
... x1
Luego distancia dos significa dos números coincidencias.
Mientras que si la distancia es 1
... 11
... 1x
Las quinielas a distancia 0 o 1 de ambas son
... 11
... 1x
... 12
Luego distancia 1 significa tres coincidencias
Con ello queda demostrado que las columnas están a distancia 0 si y solo si tienen 23 números comunes, están a distancia 1 si y solo si tienen 3 números comunes y están a distancia 2 si y solo si tienen 2 números comunes.
Y no hay otras distancias porque las 729 quinielas de la columna 1 son un sistema al 12 y la primera quiniela que se pone en cada columna es la que tendría 12, 13 o 14 con la quiniela 1111...
Lo que pasa es que el dibujito que hacen las casillas coloreadas es muy caótico y es imposible ver la forma de completar una fila de color tomando el mínimo numero de ellas.
Lo dejo de momento ya entiendo completamente el método que has usado. Ya entiendo porque al principio, antes de decir que eran quinielas decías que eran grupos de 23 números que tenían un mínimo de dos 2 comunes y un máximo de tres. Y como yo me puse en el mejor caso hice que solo hubiera 2 comunes y salia n > 11.47 y por tanto n=12. Como realmente hay grupos con 3 comunes es más probable que con n=12 no sirva peo eso es muy difícil de cuantificar a priori, mientras no se descubra el método mínimo no sabremos cual es el mínimo.
Bien, creo que llegado este punto ya tienes claro todos los datos y el fin perseguido y es cierto que probablemente existan otros métodos pero al fin y al cabo esto no consiste en hacerse rico con la quiniela sino en destripar el problema planteado.
Te voy a dar un dato mas, navegando por la red he leído en alguna ocasión que el record en reducción al 13 con 11 triples se encuentra en 9.477 apuestas. Pues bien, es curioso porque esa cifra coincide con el producto de multiplicar 13 x 729 (supongo que entiendes por donde voy ).
Otra cuestión que tengo en mente es descifrar el desarrollo de las 177.147 columnas a distancia 5 en sus 243 grupos que te envíe con anterioridad, porque de ese modo también se podrían generar 23 columnas a distancia 3 que nos darían una reducción todavía mejor, porque si dividimos 177.147 entre 23 nos darían 23 grupos de 7702,04 columnas (te vuelve a sonar la cifra, verdad?). Me estoy y te estoy liando demasiado, perdona.
Bueno, no quiero adelantar acontecimientos y me gustaría resolver primero este problema.
Saludos,
Es que ese método aleatorio difícilmente da un resultado bueno por si solo, seguramente 16 es el mejor resultado que puedas obtener con él.
Si de alguna forma pudieras sacarlo de Excel y llevarlo a Visual basic de verdad, con ello haría muchos más cálculos el ordenador, pero a lo mejor tampoco podrías conseguirlo. Para hacer eso tendrias que guardar la tabla 23x243 en un fichero con formato excel CSV o TXT y luego leerlo con en Visual Basic 6 o Visual Basic Studio. Aunque mi experiencia es que Pascal, FreePascal, Delphi, etc son más rápidos que Visual Basic. Y C tambiénes más rápido pero no sé programar en él.
Lo de las 7702,04 o 7703 es imposible, debido a que los grupos tienen al menos dos comunes no se puede hacer con este método por menos de
El límite está en 12 ·729 = 8748 apuesta
Que no se si es factible.
He estado toda la tarde con una pregunta por correo de un usuario que ya había cerrado la pregunta puntuando con 1 por impaciente. NO obstane mi amor propipo me ha hecho responderle pese a esa ingratitud.
Pues si es berda que hay un record con 9.477 lo conseguiremos, pero ten paciencia, la parte 2 del programa es mucho más complicada, estoy intentando refrescar la memoria con los listados de los programas que hice, pero no ponía comentarios porque eran cosas complicadas de explicar y ahora no puedo entenderlas sin esfuerzo. Aparte que tengo trabajo por todos los sitios. En aquellos tiempos con un ordenador de ahora ya habría desarrollado este sistema de 11 triples.
Tranquilo, si algo no tengo es prisa y se que te desbordamos. Para mi esto es un jovi que tiene gran parte de morbillo. Yo llevo meses dando vueltas a este tipo de cosillas y me divierto muchísimo. Claro que por otra parte, después de intentar algo que ha sido complicado muchas veces me llevo una gran decepción pero al día siguiente levanto la cabeza y vuelta a empezar.
En relación al lenguaje de programación, en este caso tal vez no sea lo mas importante, creo que en este caso tal vez habría que cambiar la metodología que nos lleve a su resolución. En fin no lo se...
Saludos,
¡Qué horror con el corrector ortográfico de esta página! Yo siempre lo he llamado "incorrector" ortográfico porque lo que hace es inventarse palabras y faltas. Es un tirano que escribe las palabras por ti y como se las quiere dar de listo se equivoca las más de las veces.
To esto viene a cuenta de que aparece escrito
"Pues si es berda que hay un récord con 9.477 lo conseguiremos"
Y lo que debe poner es
"Pues si es verdad que hay un récord con 9.477 lo conseguiremos"
Bueno, hay una teoría que a veces sirve. En tiempos la vi pero no recuerdo que pasó con el libro, si lo he perdido o lo tuve que devolver. Y he tenido que recordarla y asegurarme que está bien. La llamare teoría de las bases, porque ese nombre les daba el libro.
Una base es conjunto formado por grupos de quinielas que cumple lo siguiente
Tomando cada uno de esos grupos, las quinielas que no están cubiertas al trece por ese grupo están tal cual (al 14) en alguno de los otros grupos.
Si el número de grupos es dos podremos añadir un doble al sistema añadiendo un 1 en todas las del primer grupo y una X en las del segundo. Tendremos así un sistema al 13 para un doble y lo que había al principio
Si el número de grupos es tres podemos añadir un triple al sistema añadiendo un 1 a las del primer grupo, X a las del segundo y 2 a las del tercero.
Si el número de grupos es mayor de 3 podemos añadir un doble o un triple, basta con que en algún grupo añadamos el 1 y en otro la X en caso de doble y que en algún grupo añadamos el 1, en otro la x y otro el 2 si añadimos un triple.
Demostración
Si la quiniela ganadora menos el signo añadido es alguno de los elementos de la base ya está, aunque el signo que hemos añadido esté fallado hay 13 aciertos
Si la quiniela ganadora menos el signo no esta en la base significa que todos los grupos la cubren al trece, y alguno de ellos tendrá acertado el signo añadido luego en ese grupo estar la quiniela con 13 aciertos
Las bases pueden formarse a través de récords a distancia 3 y las quinielas que faltan, naturalmente verificando las condiciones de la definición de base.
Vamos con dos ejemplos que son aplicación de esto.
En tres triples tenemos esta base, pongo las quinielas en vertical
1 x 2 1 x 2 1 x 2 1 x 2 x 2 1 2 1 x 1 x 2 2 1 x 2 2 1
Las quinielas posibles son 3^3 = 27
Cada quiniela cubre 1+6 = 7
Como en cada grupo la distancia es tres, cada grupo cubre al trece 3·7 = 21 quinielas
Luego le faltan 6 que son precisamente las de los otros grupos, eso se puede comprobar.
Se cumplen las condiciones de la base añadimos un triple al principio con 1 para el primer grupo, X para el segundo y 2 para el tercero
1 1 1 x x x 2 2 2 1 x 2 1 x 2 1 x 2 1 x 2 x 2 1 2 1 x 1 x 2 2 1 x 2 2 1
Que es el famoso sistema de 4 triples
Con esto podría intentarse obtener la quiniela al 13 para 11 triples a partir de una base par 10 triples.
10 triples son 3^10 = 59049
Por lo que he visto el récord de distancia 3 de 10 triples es 2187
Cada un cubre al trece 1+20 = 21 apuestas.
Luego el grupo de 2187 cubre 45927
Quedan sin cubrir 59049 - 45927 = 13122
Y si dividimos 13122 / 2187 = 6
Eso sugiere que pueda haber 7 grupos de 2187 que formen una base, con ello podríamos tener un sistema al trece por 7·2187 = 15309
¡Ah! Pues no es nada del otro mundo ya teníamos un sistema con 11664. Si es que no es lo mismo partir de una reducción perfecta que de una que no lo es. Lo que hay que hacer es avanzar por el método que usabas tú, pero tengo que hacer mucha memoria para recordar los programas que hice.
- Compartir respuesta