Publicidad
Free1X2, el primer programa de quinielas gratuito y de código abierto
Inicio     Expertos    Foros    Free1X2    Páginas Personales    Estadísticas    Descargas    El + Regular    Enlaces  
Foros de Free1X2.com
 
 Preguntas FrecuentesPreguntas Frecuentes    BuscarBuscar    MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistroRegistro 
 PerfilPerfil   Mensajes PrivadosMensajes Privados   BitácorasBitácoras   Mensajes PúblicosMensajes Públicos   Páginas PersonalesPáginas Personales   LoginLogin 


Ocultar Escrutador
COMBINACIONES A MAXIMO UN PREMIO PARA CADA CATEGORIA
Ir a página Anterior  1, 2, 3 ... 16, 17, 18 ... 35, 36, 37  Siguiente
 
Nuevo tema   Responder al tema    Foros -> Foro de Quinielas
Tema anterior :: Tema siguiente  
Autor Mensaje
Pucho
Veterano
Veterano


Registrado: 09 Oct 2003
Mensajes: 247

Página Personal

MensajePublicado: Jue Mar 03, 2011 8:36 pm    Asunto: Responder citando

¡¡Gracias Código!!

Empleando tu combinación de 05T05D_D3_342, el programa de Joan ha conseguido un nuevo récord:

05T05D_D3_348

http://uppit.com/0mlc5tw12pku/05T05D_D3_348.rar

Saludos.
.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Jue Mar 03, 2011 8:48 pm    Asunto: Responder citando

Muchas grácias Código.

Tus post tienen tanta enjundia que necesito mi tiempo para asimilarlos.

Se nota que tienes un gran dominio del álgebra lineal y que eres un especialista en la obtención de códigos.

Este fin de semana quiero empezar a programar algo sobre los cosets. Pero quiero entenderlo primero. Creía que lo había entendido pero todo se lió al mezclar dobles con triples.

Ya te iré preguntando.

Sobre el programa había pensado que en lugar de pedir de antemano el numero de generadores, el programa empieze con uno que podria ser el de todo ceros, a partir de ahí debe encontrar otro generador que al aplicarle los cosets no tenga ninguna columna en común con las generadas hasta el momento.

Una vez tenga 2 o mas generadores al añadir un nuevo generador lo admitiré si genera columnas distintas a las actualmente encontradas (nuevos nacimientos) o, si sólo colisiona con las columnas de otro generador, puedo substituir las de este por las nuevas y reemplazar el viejo generador por el nuevo (mutación).

Una vez que no encuentre mas generadores, después de un elevado numero de intentos, podemos eliminar algunos generadores (defunciones) junto con las columnas que generan y buscar nuevas soluciones con los supervivientes.

Sigue siendo la misma idea que el programa de PacoHH pero aplicado a grupos de columnas que es lo que nos permite el uso de "cosets" y que es lo que nos sugeriste en su momento.

Tengo la impresión que puede dar con buenas combinaciones.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Wandering
Habitual
Habitual


Registrado: 24 Ene 2011
Mensajes: 132

Página Personal

MensajePublicado: Jue Mar 03, 2011 11:26 pm    Asunto: Responder citando

Interesantes records.

Por cierto, un combinación de un premio se puede obtener, sin reducidas, hay que conocer muy a fondo el sistema?
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
PacoHH
Experto
Experto


Registrado: 24 May 2004
Mensajes: 3270
Ubicación: Almería
Página Personal

MensajePublicado: Vie Mar 04, 2011 12:27 am    Asunto: Responder citando

2 nuevos récords a distancia 4:

http://uppit.com/aldxy5pgjxxm/08T04D_D4_1020_+_08T03D_D4_510.zip
_________________
http://www.dnp1x2.com/pacohh_normal/
http://quinielandia.blogspot.com/
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Pedro fdez
Imprescindible
Imprescindible


Registrado: 25 Nov 2006
Mensajes: 1046
Ubicación: descansando
Página Personal

MensajePublicado: Vie Mar 04, 2011 12:45 am    Asunto: Responder citando

En estos momentos la combinación de 5t6d_d3_no es el récord pero ya esta mas cerca son 637 que mejora lo existente
_________________
Un saludo PFGU
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Vie Mar 04, 2011 1:29 am    Asunto: Responder citando

Los que faltan a distancia 3.

http://uppit.com/wdin7aheiaia/05T07D_D3_1296_05T08D_D3_2544.zip

04T09D_D3_1728 sale de 05T08D_D3_2544 quitando el 2 del primer triple.
05T06D_D3_648 sale de 05T07D_D3_1296 eliminando un doble.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Pedro fdez
Imprescindible
Imprescindible


Registrado: 25 Nov 2006
Mensajes: 1046
Ubicación: descansando
Página Personal

MensajePublicado: Vie Mar 04, 2011 1:48 am    Asunto: Responder citando

Igualado el récord de 5t6d por 648 mañana veré la forma de subirla al foro
_________________
Un saludo PFGU
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger
Pedro fdez
Imprescindible
Imprescindible


Registrado: 25 Nov 2006
Mensajes: 1046
Ubicación: descansando
Página Personal

MensajePublicado: Vie Mar 04, 2011 1:51 am    Asunto: Responder citando

Ya no hace falta que la suba
_________________
Un saludo PFGU
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger
Pucho
Veterano
Veterano


Registrado: 09 Oct 2003
Mensajes: 247

Página Personal

MensajePublicado: Vie Mar 04, 2011 3:58 am    Asunto: Responder citando

Mejorada en D3.

04T10D_D3_3136 (antes 3072)

http://uppit.com/m2ldggbdmprq/04T10D_D3_3136.rar

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Pedro fdez
Imprescindible
Imprescindible


Registrado: 25 Nov 2006
Mensajes: 1046
Ubicación: descansando
Página Personal

MensajePublicado: Vie Mar 04, 2011 12:18 pm    Asunto: Responder citando

Igualado el récord de 4t9d en 1728

PD.Se la mandare a Paco para que la suba
_________________
Un saludo PFGU
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Vie Mar 04, 2011 8:15 pm    Asunto: Responder citando

14 triples a distancia 10 por 13 columnas:

11111111111111
1111XXXXXXXXXX
11XX11XX222222
1122222211XX22
1XXXX222XX1211
X1X22X12X2211X
XX112X2122X221
X22XXXX1X11122
X222X11X1X22X1
2XX122X11X21X2
2X221121X21XXX
221222XX21121X
22XX1X1221XXX1

Otra versión con signos desequilibrados en el primer triple (6 unos, 4 equis, 3 doses):

11111111111111
1111XXXXXXXXXX
11XX11XX222222
1X1X222211XX22
1X221212XX221X
122X2X21X212X1
X112X2222221X1
XXX2211X121XXX
XX212XX121212X
X22XX2XX1X1112
22X1122122XX1X
22X1XX121122X2
22X221X2XXX121

Fuente:
http://www.cosc.brocku.ca/Department/Research/TR/cs0220.pdf

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Dom Mar 06, 2011 12:16 pm    Asunto: Responder citando

En el siguiente enlace podéis descargar la actualización de la utilidad SistemaLineal.exe al que he añadido un par de botones: uno para crear, editar y guardar matrices; y otro para poder realizar sistemas que son suma lineal de dos combinaciones como por ejemplo la que expuso Código de 11Triples + 2 dobles a distancia 4 por 5589 columnas.

Actualizacion.rar - 260 Kb

También incluyo la última versión del GeneraDistancias.exe al cual he añadido la opción de "Cosets". Si bién soy consciente que sólo funciona cuando la combinación es de todo triples o todo dobles. Pero es un primer paso.

Por defecto tiene cargado los generadores del sistema lineal de 12 triples a distancia 7 con el que he depurado el programa. Las 54 columnas las encuentra muy deprisa. El secreto es introducirle los generadores adecuados. Seguro que Código le podrá sacar mas provecho que nadie.



Como separadores de los generadores del sistema lineal se pueden usar retornos de carro, comas, espacios en blanco, punto y coma y también ignora los caracteres "<" y ">".
Como caracteres tanto se puede usar "012" cómo "1X2".

De ese modo podemos copiar los generadores de los post e introducirlos facilmente en el programa con Ctrl+V dentro de su caja de texto.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
salva
Imprescindible
Imprescindible


Registrado: 22 Nov 2003
Mensajes: 1689
Ubicación: Zaragoza, Ciudad de la Expo 2008
Página Personal

MensajePublicado: Dom Mar 06, 2011 2:16 pm    Asunto: Responder citando

Hola Joan,

¡¡¡¡¡¡¡Muchisimas gracias!!!!!!!

La verdad es que éste tipo de combinaciones nos abre nuevos caminos al mundo del 1X2.

¡¡¡¡¡¡¡Muchisimas gracias!!!!!!

Ha Equisdos32,Pacohh,Código,JoanD,Pucho, y alguno más, por su GRAN trabajo y aportaciones desinteresadas.

Saludos

Salva
_________________
Si supiera que el mundo se acaba mañana, yo, hoy todavía, plantaría un árbol.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Dom Mar 06, 2011 9:46 pm    Asunto: Responder citando

No funciona bien, he probado 12T a D7 con generadores <111111000000, 000000111111> y salen soluciones incorrectas de más de 54 columnas.

Bugs aparte, algún comentario.

El sistema lineal se introduce con una matriz de generadores, no con una matriz de control como en SistemaLineal.exe. Bien, las dos opciones son válidas. La matriz generadora no está diagonalizada, o sea que no se distinguen partidos independientes y partidos dependientes. En principio, no es algo necesario, pero el no hacerlo puede que te impida elegir cosets de forma ordenada como se haría identificando cada coset con cada columna que tiene ceros en las posiciones que corresponden a partidos independientes del sistema lineal. No habría problema en usar cualquier columna para generar un coset, pero quizá el programa pierda eficacia porque el número de columnas que probar es mayor y porque dos columnas pueden generar el mismo coset.

Ten en cuenta que cuando el programa añade una nueva columna no es necesario calcular la distancia de las columnas del coset que genera con el resto de columnas de la posible solución, sino solamente con una columna por cada coset (ya que la distancia entre c1 y c2 es igual que la distancia entre c1+l y c2+l), esto ahorrará mucho tiempo de cálculo.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 7:44 am    Asunto: Responder citando

Muchas grácias, Codigo, por probar el programa. Tus comentarios son muy valiososo.

Código dijo:
No funciona bien, he probado 12T a D7 con generadores <111111000000, 000000111111> y salen soluciones incorrectas de más de 54 columnas.


Supongo que lo que sucede es que como los generadores tienen sólo 6 unos y el resto ceros, generan columnas a distancia 6.

Es una comprobación sobre los generadores del sistema lineal que no hacía pero que voy a añadir.

Código dijo:

Bugs aparte, algún comentario.

El sistema lineal se introduce con una matriz de generadores, no con una matriz de control como en SistemaLineal.exe. Bien, las dos opciones son válidas. La matriz generadora no está diagonalizada, o sea que no se distinguen partidos independientes y partidos dependientes.


Por eso no entendia lo de la parte independiente, porque me quedé con el concepto que planteaste inicialmente que consistia en hacer las combinaciones lineales de unos pocos generadores.

Creo que ahora voy a poder comprender mejor todo aquello que decias sobre la diagonal de unos, la parte independiente, etc. Aunque me parece mucho mas complejo.

Código dijo:

En principio, no es algo necesario, pero el no hacerlo puede que te impida elegir cosets de forma ordenada como se haría identificando cada coset con cada columna que tiene ceros en las posiciones que corresponden a partidos independientes del sistema lineal. No habría problema en usar cualquier columna para generar un coset, pero quizá el programa pierda eficacia porque el número de columnas que probar es mayor y porque dos columnas pueden generar el mismo coset.


Creo que tal y como lo tengo programado eso no se puede producir puestoo que antes de admitir un generador verifico las distancias del nuevo coset generado con los admitidos rechazandolo si no cumple la condición de distáncia.

Código dijo:

Ten en cuenta que cuando el programa añade una nueva columna no es necesario calcular la distancia de las columnas del coset que genera con el resto de columnas de la posible solución, sino solamente con una columna por cada coset (ya que la distancia entre c1 y c2 es igual que la distancia entre c1+l y c2+l), esto ahorrará mucho tiempo de cálculo.

Saludos.


Sospechaba que eso se tenia que cumplir pero, como no estaba seguro, hacía la comprobación con todas las columnas del coset, aunque al encontrar una con distancia inferior ya no proseguia con el resto.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 10:49 am    Asunto: Responder citando

He estado probando la de 12 Triples a distancia 7 con distintos generadores del sistema lineal.

Me he llevado una agradable sorpresa al comprobar que hay muchos posibles generadores que dan con la solución óptima de 54 columnas.

Por ejemplo:

111111001100
010001111111

Pero hay una muy sencilla que es esta:

111111110000
000011111111

7 unos seguidos de 4 ceros y 4 ceros con 7 unos seguidos. Sencilla ¿verdad?.

Lo cual posibilita el tanteo manual de dichos generadores hasta encontrar el óptimo sin que ello suponga un gran escollo para el investigador.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 1:25 pm    Asunto: Responder citando

Ya he encontrado algunos bugs.

Aqui os dejo la nueva versión corregida y con algunos ficheros de generadores del sistema lineal que he encontrado.

GeneraDistancias.rar - 28 Kb
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Lun Mar 07, 2011 2:14 pm    Asunto: Responder citando

Me sigue dando problemas, cuando pongo un solo generador no funciona

Veamos eso de la parte independiente y los ceros con el ejemplo de los 12T_D7. Supongamos que diagonalizo las primeras posiciones de los generadores, en este caso basta con pasar al primer lugar el tercer partido, y queda así:
10 0121011020
01 1022100202

Generan L=
00 0000000000
01 1022100202
02 2011200101
10 0121011020
11 1110111222
12 2102211121
20 0212022010
21 1201122212
22 2220222111

Los dos primeros partidos son independientes y el resto dependientes, en el sentido de que puedo pensar que los dos primeros recorren libremente las 9 columnas del desarrollo de 2 triples, y que el resto de partidos quedan determinados por esos dos primeros. Veamos un ejemplo de coset, el generado por c = 111111111111.
c+L=
11 1111111111
12 2100211010
10 0122011212
21 1202122101
22 2221222000
20 0210022202
01 1020100121
02 2012200020
00 0001000222
Los dos primeros partidos del coset también recorren el desarrollo de 2T, por tanto puedo elegir como representante del coset la columna que empieza por 00, c'= 000001000222. Evidentemente c+L y c'+L son el mismo coset, por tanto, basta con probar los cosets generados por las columnas que empiezan por 00. Ademas, dos columnas diferentes que empiezan por 00 generan cosets diferentes. En resumen, cada coset queda definido unívocamente por cada columna que empieza por 00. En la práctica, el programa probaría sólo las columnas que empiezan por 00 olvidándose del resto, lo que reduce el universo de búsqueda de 12 triples a 10 triples y evita probar cosets repetidos.

Otra cosa, si tengo diagonalizados los generadores:
10 0121011020
01 1022100202
entonces la matriz de control que usa SistemaLineal.exe sale directamente quitando la parte diagonalizada y transponiendo:
01
10
22
12
01
10
10
02
20
02

Joan dijo:

Código dijo:

Ten en cuenta que cuando el programa añade una nueva columna no es necesario calcular la distancia de las columnas del coset que genera con el resto de columnas de la posible solución, sino solamente con una columna por cada coset (ya que la distancia entre c1 y c2 es igual que la distancia entre c1+l y c2+l), esto ahorrará mucho tiempo de cálculo.

Saludos.


Sospechaba que eso se tenia que cumplir pero, como no estaba seguro, hacía la comprobación con todas las columnas del coset, aunque al encontrar una con distancia inferior ya no proseguia con el resto.

Esto sí que es importante, puede acelerar mucho el programa evitando cálculos innecesarios. Al comparar los cosets c1+L y c2+L habría que comparar en principio todas las columnas c1+l1 con todas las columnas c2+l2, pero la distancia entre c1+l1 y c2+l2 es la misma que entre c1 y c2+(l2-l1), y l2-l1 es otra columna de L porque es lineal, por tanto basta comparar la columna c1 con cada columna c2+l. En el ejemplo de antes de los 12T_D7 basta hacer 9 comparaciones y no 81.

Joan dijo:
He estado probando la de 12 Triples a distancia 7 con distintos generadores del sistema lineal.

Me he llevado una agradable sorpresa al comprobar que hay muchos posibles generadores que dan con la solución óptima de 54 columnas.

Por ejemplo:

111111001100
010001111111

Pero hay una muy sencilla que es esta:

111111110000
000011111111

7 unos seguidos de 4 ceros y 4 ceros con 7 unos seguidos. Sencilla ¿verdad?.

Lo cual posibilita el tanteo manual de dichos generadores hasta encontrar el óptimo sin que ello suponga un gran escollo para el investigador.

Los generadores se pueden poner de una forma más legible reordenando partidos y signos, por ejemplo, partiendo de los dos generadores originales:
001121011020
110022100202
podemos reordenar los partidos así:
000001111221
111220000022
También podemos multiplicar algunos partidos por 2 (operación que conserva las relaciones lineales), que equivale a intercambiar los signos 1 y 2:
000001111111
111110000012
Así queda mucho más ordenado y genera la misma solución (salvo orden de partidos y rotación de signos)

Por ejemplo, para probar todos los sistemas lineales de un solo generador empezaríamos probando con la columna de todos unos, y luego iríamos sustituyendo unos por ceros. En el caso de 12T a D7 bastaría probar con 5 generadores:
111111111111
111111111110
111111111100
111111111000
111111110000
111111100000
No haría falta probar generadores con doses por lo que dije antes de que intercambiar 1 y 2 da un sistema equivalente.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 3:43 pm    Asunto: Responder citando

Código dijo:
Me sigue dando problemas, cuando pongo un solo generador no funciona


Pensaba que siempre debiamos de tener un par de generadores para poder combinarlos entre si con diferentes coeficientes.

Supongo que cuando sólo hay un generador en el sistema lineal este se genera con estos 3 terminos; {0*l1, 1*l1, 2*l1}.

Así lo he hecho en esta actualización que pongo a continuación

GeneraDistancias.rar - 28 Kb


Código dijo:

Veamos eso de la parte independiente y los ceros con el ejemplo de los 12T_D7. Supongamos que diagonalizo las primeras posiciones de los generadores, en este caso basta con pasar al primer lugar el tercer partido, y queda así:
10 0121011020
01 1022100202

Generan L=
00 0000000000
01 1022100202
02 2011200101
10 0121011020
11 1110111222
12 2102211121
20 0212022010
21 1201122212
22 2220222111

Los dos primeros partidos son independientes y el resto dependientes, en el sentido de que puedo pensar que los dos primeros recorren libremente las 9 columnas del desarrollo de 2 triples, y que el resto de partidos quedan determinados por esos dos primeros. Veamos un ejemplo de coset, el generado por c = 111111111111.
c+L=
11 1111111111
12 2100211010
10 0122011212
21 1202122101
22 2221222000
20 0210022202
01 1020100121
02 2012200020
00 0001000222


Por fin veo claro cómo determinar la parte independiente !!

Código dijo:

Los dos primeros partidos del coset también recorren el desarrollo de 2T, por tanto puedo elegir como representante del coset la columna que empieza por 00, c'= 000001000222. Evidentemente c+L y c'+L son el mismo coset, por tanto, basta con probar los cosets generados por las columnas que empiezan por 00. Ademas, dos columnas diferentes que empiezan por 00 generan cosets diferentes. En resumen, cada coset queda definido unívocamente por cada columna que empieza por 00. En la práctica, el programa probaría sólo las columnas que empiezan por 00 olvidándose del resto, lo que reduce el universo de búsqueda de 12 triples a 10 triples y evita probar cosets repetidos.


A ver si a lo largo de la semana puedo implementar eso.

Código dijo:

Otra cosa, si tengo diagonalizados los generadores:
10 0121011020
01 1022100202
entonces la matriz de control que usa SistemaLineal.exe sale directamente quitando la parte diagonalizada y transponiendo:
01
10
22
12
01
10
10
02
20
02

Ten en cuenta que cuando el programa añade una nueva columna no es necesario calcular la distancia de las columnas del coset que genera con el resto de columnas de la posible solución, sino solamente con una columna por cada coset (ya que la distancia entre c1 y c2 es igual que la distancia entre c1+l y c2+l), esto ahorrará mucho tiempo de cálculo.

Esto sí que es importante, puede acelerar mucho el programa evitando cálculos innecesarios. Al comparar los cosets c1+L y c2+L habría que comparar en principio todas las columnas c1+l1 con todas las columnas c2+l2, pero la distancia entre c1+l1 y c2+l2 es la misma que entre c1 y c2+(l2-l1), y l2-l1 es otra columna de L porque es lineal, por tanto basta comparar la columna c1 con cada columna c2+l. En el ejemplo de antes de los 12T_D7 basta hacer 9 comparaciones y no 81.


Algo debo hacer mal porque a veces hay columnas repetidas sobretodo si empleo mas de 2 generadores en el sistema lineal. Ahora lo que hago es comparar el representante candidato con todas las columnas de un coset.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Lun Mar 07, 2011 7:01 pm    Asunto: Responder citando

Sigue fallando. He probado 7T_D3 con estos dos generadores y da soluciones falsas:
1111000
0001111

En cambio con un generador sale el récord de 99 correcto. Con 1111110 y también con 1111100.

Con la versión anterior me ha salido 9T_D3_729 con estos tres generadores:
111000000
000111000
000000111
Sin embargo el número de columnas que muestra es incorrecto, sólo al pararlo aparece el verdadero.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 9:06 pm    Asunto: Responder citando

Código dijo:
Sigue fallando. He probado 7T_D3 con estos dos generadores y da soluciones falsas:
1111000
0001111


En la siguiente versión queda corregido el bug:

GeneraDistancias.rar - 27 Kb

Código dijo:

En cambio con un generador sale el récord de 99 correcto. Con 1111110 y también con 1111100.

Con la versión anterior me ha salido 9T_D3_729 con estos tres generadores:
111000000
000111000
000000111
Sin embargo el número de columnas que muestra es incorrecto, sólo al pararlo aparece el verdadero.

Saludos.


Eso sólo pasa con mas de 2 generadores. Es debido a que hay columnas repetidas y al parar las elimina. De momento para evitar este error tengo que hacer las comparaciones con todas las columnas de todos los cosets. Sin embargo para 1 ó 2 generadores sigo haciendo la comparación de una columna con un sólo coset.

A lo mejor si hago lo que me sugieres de diagonalizar y poner la parte independiente a la izquierda para luego sólo tener en cuenta las columnas que empiezan por 00, puede que sólo haga falta hacer las comparaciones con un solo coset, pero de momento lo tengo que solucionar comparando con todos.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Lun Mar 07, 2011 9:45 pm    Asunto: Responder citando

Pueden generarse columnas repetidas si eliges una columna que genera el mismo coset que uno ya añadido. Eso no pasaría usando columnas con ceros fijos como dices, pero de todas formas un coset repetido se detectaría al compararlo con cualquier columna individual del otro coset repetido, no debería ser necesario comparar todas las columnas con todas las columnas. Además, no debería importar que el sistema lineal tenga dos o tres generadores. En fin, no lo entiendo, o hay algún bug o hay algún detalle de la implementación que se me escapa.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Lun Mar 07, 2011 10:20 pm    Asunto: Responder citando

Voy generando columnas al azar como candidatas a representantes. Antes de admitirlas, miro que cumpla la distancia con un coset o con todos los cosets según si he empezado con 2 ó con mas generadores.

Por cierto, cuando hay mas de 2 generadores lo que hago para obtener el sistema lineal es tomarlos de dos en dos y los sumo aplicandoles unos coeficientes que van de 0 a 2 cuando se aplica a triples o de 0 a 1 cuando se aplica a dobles. Supongo que es así como hay que hacerlo.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Código
Habitual
Habitual


Registrado: 13 Jul 2008
Mensajes: 118

Página Personal

MensajePublicado: Mar Mar 08, 2011 12:51 am    Asunto: Responder citando

Para admitir una candidata hay que comparar las columnas del coset que genera con cada una de las columnas admitidas, o alternativamente comparar la columna candidata con todos las columnas de los cosets admitidos, lo que no es necesario hacer es comparar todas las columnas del coset de la candidata con todos las columnas de los otros cosets. Si el sistema lineal tiene k columnas y el número de columnas admitidas es n, el número de comparaciones necesarias para admitir una nueva columna será k*n como máximo, mientras que de hacerlo directamente se necesitarían hasta k*k*n comparaciones.

El sistema lineal generado por las columnas g1, g2, g2, ... es el conjunto de combinaciones lineales a1*g1 + a2*g2 + a3g3 + ... donde los coeficientes a1, a2, a3, ... van de 0 a 2 si son triples ó de 0 a 1 si son dobles. Si hay t generadores para triples y d generadores para dobles, el número de columnas del sistema lineal tiene que ser 3^t * 2^d.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Joan
Experto
Experto


Registrado: 07 Dic 2003
Mensajes: 3406
Ubicación: BARCELONA
Página Personal

MensajePublicado: Mar Mar 08, 2011 4:28 am    Asunto: Responder citando

Código dijo:
Para admitir una candidata hay que comparar las columnas del coset que genera con cada una de las columnas admitidas, o alternativamente comparar la columna candidata con todos las columnas de los cosets admitidos, lo que no es necesario hacer es comparar todas las columnas del coset de la candidata con todos las columnas de los otros cosets. Si el sistema lineal tiene k columnas y el número de columnas admitidas es n, el número de comparaciones necesarias para admitir una nueva columna será k*n como máximo, mientras que de hacerlo directamente se necesitarían hasta k*k*n comparaciones.

El sistema lineal generado por las columnas g1, g2, g2, ... es el conjunto de combinaciones lineales a1*g1 + a2*g2 + a3g3 + ... donde los coeficientes a1, a2, a3, ... van de 0 a 2 si son triples ó de 0 a 1 si son dobles. Si hay t generadores para triples y d generadores para dobles, el número de columnas del sistema lineal tiene que ser 3^t * 2^d.

Saludos.


Ahí debe estar el motivo del problema. No estoy generando todas las combinaciones lineales. Para 3 generadores me salian 19 combinaciones (para todo triples) mientras que tal y como expones deberian ser 27.

Creía erróneamente que, para que un conjunto fuera lineal, cualquier elemento del mismo deberia ser combinación de otros 2 sin importar el nº de generadores. Evidentemente sólo lo estaba haciendo bién para 1 ó 2 generadores.

Cuando tenga solucionado esto volveré a subir el programa. Mientras no uséis mas de 2 generadores.


Muchás grácias, Codigo, por tu paciéncia.
_________________
Saludos

http://www.dnp1x2.com/joand
Peña en huelga en protesta del impuesto del 20%
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Nuevo tema   Responder al tema    Foros -> Foro de Quinielas Todas las horas son GMT + 1 Hora
Ir a página Anterior  1, 2, 3 ... 16, 17, 18 ... 35, 36, 37  Siguiente
Página 17 de 37

 
Cambiar a:  
Puedes publicar nuevos temas en este foro
No puedes responder a temas en este foro
No puedes editar sus mensajes en este foro
No puedes borrar sus mensajes en este foro
No puedes votar en encuestas en este foro