Generador de circuitos
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Generador de circuitos
Escrito originalmente por pep0n en 7 de Marzo del 2016
¿Alguna vez os habéis preguntado cuántos circuitos puedo diseñar con las pistas que tengo?
Por otro lado, muchas personas cuando empiezan en el hobby lanzan preguntas del estilo, ¿alguien me puede diseñar un circuito ...?
Pues aquí tenéis la respuesta a esas preguntas.
El miércoles por la noche estaba durmiendo cuando me desperté a las 4 de la mañana porque estaba soñando que podía hacer un programa que generara de manera automática circuitos. Me quedé despierto un buen rato dando vueltas, pensando si eso que había soñado se podía hacer o no. A las 5 ya había decido que sí que se podía hacer. Así que me levanté para tomar notas. No es la primera vez que sueño algo y luego me olvido.
El miércoles dediqué un rato a repasar trigonometría porque la tenía muy olvidada y hacia mucha falta.
El jueves por la mañana tuve una crisis. Me puse a pensar en el coste temporal de lo que estaba pensando hacer y me asusté. Por la tarde, dándole más vueltas al asunto me equivoqué y creí que al coste no iba a ser tan alto. Así que me lancé a hacerlo.
El sábado, con el programa ya funcionando, volví a pensar en el coste temporal y me di cuenta de lo que había hecho. Si lo hubiera pensado bien antes, igual no lo hubiera intentado. Pero como me equivoqué y ya estaba hecho, solo había que pulir la interfaz para que se pudiera usar.
Así que, aquí lo tenéis por si queréis jugar con él.
La interfaz es muy sencilla:
Puedes poner el número de pistas que quieres utilizar. El ancho y alto del tablero que servirá como base. El error de cierre del circuito. Por defecto es 1cm si queréis un cierre perfecto poner un 0.
A continuación viene el susto. Indica el espacio de soluciones en el que tiene que buscar los circuitos. Utiliza fuerza bruta. O sea, intenta todas las combinaciones posibles de pistas. En este momento sólo limitadas por la superficie del tablero en el que debe ir.
Si queréis intentarlo, le dais al botón de Generar y ... empieza a buscar circuitos que se puedan cerrar.
El botón de Generar se transforma en un Parar y encima de él aparece el tiempo que lleva buscando. Al lado, un número se irá incrementando conforme encuentre circuitos. Podréis verlos cambiando con el control de la derecha del todo.
En el estado actual, y sin capar más el espacio de búsqueda es un juguetito en el que para tableros pequeños y pocas pistas se puede ver algo. Si ponéis tablero grandes o muchas pistas ... puede tardar años o quizás más.
Además, los circuitos que encuentra son muchos y la mitad están duplicados (son simétricos a otros).
A modo de ejemplo: en mi máquina tal y como está configurado por defecto (8 rectas de 40, 4 R1 y 8 R2 en un tablero de 4m x 2m) me descubrió 46.644 circuitos y necesitó 37 minutos y 21 segundos.
Si queréis jugar, os lo podéis descargar de aquí (última versión).
¿Alguna vez os habéis preguntado cuántos circuitos puedo diseñar con las pistas que tengo?
Por otro lado, muchas personas cuando empiezan en el hobby lanzan preguntas del estilo, ¿alguien me puede diseñar un circuito ...?
Pues aquí tenéis la respuesta a esas preguntas.
El miércoles por la noche estaba durmiendo cuando me desperté a las 4 de la mañana porque estaba soñando que podía hacer un programa que generara de manera automática circuitos. Me quedé despierto un buen rato dando vueltas, pensando si eso que había soñado se podía hacer o no. A las 5 ya había decido que sí que se podía hacer. Así que me levanté para tomar notas. No es la primera vez que sueño algo y luego me olvido.
El miércoles dediqué un rato a repasar trigonometría porque la tenía muy olvidada y hacia mucha falta.
El jueves por la mañana tuve una crisis. Me puse a pensar en el coste temporal de lo que estaba pensando hacer y me asusté. Por la tarde, dándole más vueltas al asunto me equivoqué y creí que al coste no iba a ser tan alto. Así que me lancé a hacerlo.
El sábado, con el programa ya funcionando, volví a pensar en el coste temporal y me di cuenta de lo que había hecho. Si lo hubiera pensado bien antes, igual no lo hubiera intentado. Pero como me equivoqué y ya estaba hecho, solo había que pulir la interfaz para que se pudiera usar.
Así que, aquí lo tenéis por si queréis jugar con él.
La interfaz es muy sencilla:
Puedes poner el número de pistas que quieres utilizar. El ancho y alto del tablero que servirá como base. El error de cierre del circuito. Por defecto es 1cm si queréis un cierre perfecto poner un 0.
A continuación viene el susto. Indica el espacio de soluciones en el que tiene que buscar los circuitos. Utiliza fuerza bruta. O sea, intenta todas las combinaciones posibles de pistas. En este momento sólo limitadas por la superficie del tablero en el que debe ir.
Si queréis intentarlo, le dais al botón de Generar y ... empieza a buscar circuitos que se puedan cerrar.
El botón de Generar se transforma en un Parar y encima de él aparece el tiempo que lleva buscando. Al lado, un número se irá incrementando conforme encuentre circuitos. Podréis verlos cambiando con el control de la derecha del todo.
En el estado actual, y sin capar más el espacio de búsqueda es un juguetito en el que para tableros pequeños y pocas pistas se puede ver algo. Si ponéis tablero grandes o muchas pistas ... puede tardar años o quizás más.
Además, los circuitos que encuentra son muchos y la mitad están duplicados (son simétricos a otros).
A modo de ejemplo: en mi máquina tal y como está configurado por defecto (8 rectas de 40, 4 R1 y 8 R2 en un tablero de 4m x 2m) me descubrió 46.644 circuitos y necesitó 37 minutos y 21 segundos.
Si queréis jugar, os lo podéis descargar de aquí (última versión).
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 7 de Marzo del 2016
Se me olvidaba, los circuitos siempre empiezan a piñón fijo por una recta de 40cm en medio del borde de la pista, adicional a lo que se haya puesto en el control de cantidad de rectas de 40cm. Vamos, 1 recta más (seguramente la de conexiones).
Se me olvidaba, los circuitos siempre empiezan a piñón fijo por una recta de 40cm en medio del borde de la pista, adicional a lo que se haya puesto en el control de cantidad de rectas de 40cm. Vamos, 1 recta más (seguramente la de conexiones).
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por bebeto en 7 de Marzo del 2016
¡Grande Pepón!
¡Grande Pepón!
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por litus14 en 7 de Marzo del 2016
Madre mía.
Probaré con las pistas del diseño del California a ver qué sale
Madre mía.
Probaré con las pistas del diseño del California a ver qué sale
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por Bayssman en 7 de Marzo del 2016
Gran aportación!!!! A ver cómo funciona...
Gran aportación!!!! A ver cómo funciona...
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 7 de Marzo del 2016
No es grande. Es chiquitita y no vale de mucho ... de momento.
Te diría que te fueras a tomar un café. Pero no será suficiente.
Ya estoy pensando en introducir el concepto 'dificultad' en la generación a ver si soy capaz de restringir el espacio de búsqueda según lo difícil que vaya a ser un circuito ... tengo que pensar más.
Editado 7 de Marzo del 2016 por pep0n
Bayssman escribió:Lun Mar 07, 2016 1:41 pmGran aportación!!!! A ver cómo funciona...
No es grande. Es chiquitita y no vale de mucho ... de momento.
litus14 escribió:Lun Mar 07, 2016 12:06 pmProbaré con las pistas del diseño del California a ver qué sale
Te diría que te fueras a tomar un café. Pero no será suficiente.
Ya estoy pensando en introducir el concepto 'dificultad' en la generación a ver si soy capaz de restringir el espacio de búsqueda según lo difícil que vaya a ser un circuito ... tengo que pensar más.
Editado 7 de Marzo del 2016 por pep0n
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por quinux en 7 de Marzo del 2016
Si la docencia fuera de otra forma y aplicada a casos reales en vez de tantos problemitas en cuadernos....
¿Vas a poner unas tijeras de podar en el algoritmo?
Por cierto, gracias!!!! esto será otro CarreraSlot seguro!!!
:huh: Es cierto, la trigonometría sirve!!!pep0n escribió:Lun Mar 07, 2016 11:05 am El miércoles dediqué un rato a repasar trigonometría porque la tenía muy olvidada y hacia mucha falta.
Si la docencia fuera de otra forma y aplicada a casos reales en vez de tantos problemitas en cuadernos....
pep0n escribió:Lun Mar 07, 2016 1:52 pm
Ya estoy pensando en introducir el concepto 'dificultad' en la generación a ver si soy capaz de restringir el espacio de búsqueda según lo difícil que vaya a ser un circuito ... tengo que pensar más.
¿Vas a poner unas tijeras de podar en el algoritmo?
Por cierto, gracias!!!! esto será otro CarreraSlot seguro!!!
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 7 de Marzo del 2016
Exactamente. Esa es la idea. Ahora solo hay que pensar en cómo será la tijera.
quinux escribió:Lun Mar 07, 2016 2:23 pm¿Vas a poner unas tijeras de podar en el algoritmo?
Exactamente. Esa es la idea. Ahora solo hay que pensar en cómo será la tijera.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por Richard77 en 7 de Marzo del 2016
Grande pep0n! Siempre innovando y currando para los demás!
Grande pep0n! Siempre innovando y currando para los demás!
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por djlutz en 7 de Marzo del 2016
Enorme Pepon.
...y el domingo descansé...pep0n escribió:Lun Mar 07, 2016 11:05 am...
El miércoles...
El jueves...
El sábado...
Enorme Pepon.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por olgydan en 8 de Marzo del 2016
Es flipante la mente de este hombre!
Es flipante la mente de este hombre!
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por Pimpo en 8 de Marzo del 2016
Mare meua Pepon¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ gracias una vez mas.
Uffff como Litus se ponga a jugar....en breve se avecinan obras en la pista del California
Mare meua Pepon¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ gracias una vez mas.
Uffff como Litus se ponga a jugar....en breve se avecinan obras en la pista del California
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por seritobom en 8 de Marzo del 2016
grande maestro , no se si se podra pero estaria bien un programita de estos para android , poder utilizarlo en el movil o tablet para ratos muertos que tienes durante el dia o por ejemplo el dia que se decide cambiar el trazado en un club.
como siempre ahi que quitarse el sombrero
grande maestro , no se si se podra pero estaria bien un programita de estos para android , poder utilizarlo en el movil o tablet para ratos muertos que tienes durante el dia o por ejemplo el dia que se decide cambiar el trazado en un club.
como siempre ahi que quitarse el sombrero
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 8 de Marzo del 2016
Lo siento Serito pero para Android sería muy complicado porque necesita mucha capacidad de cálculo. Al menos en su versión actual.
Lo siento Serito pero para Android sería muy complicado porque necesita mucha capacidad de cálculo. Al menos en su versión actual.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 8 de Marzo del 2016
Y como dije, hay una nueva versión.
Esta vez se ha introducido el concepto de "dificultad" de un circuito. Es MUY discutible y quizás alguien tenga una idea mejor. Estaré encantado de oírla.
En su versión actual se define la dificultad de un circuito como el resultado de ir sumando o restando una serie de pesos en función de la pista que se coloque y de si es una contracurva o no.
Las rectas disminuyen la dificultad de un circuito:
* 40cm: -4
* 20cm: -2
* 10cm: -1
Las curvas aumentan la dificultad de un circuito:
* R1: +4
* R2: +2
* R3: +1
* R4 y R5 no aumentan la dificultad.
Las contracurvas multiplican por 6 la dificultad del circuito en función de la curva que se está poniendo. Ej: si la contracurva es una R1 la dificultad que se añade al circuito es (4*6).
¿Por qué esos valores? Por intuición y por haber probado varios y ser los que mejor me han parecido.
La idea es que si un circuito va a ser muy difícil no siga por el camino que está explorando. Así pues hace falta un valor de máxima dificultad para podar los caminos. Ese valor se puede poner en la interfaz debajo de la etiqueta que pone 'Dificultad'. Si se pone un valor muy alto no descarta ningún circuito y entonces funciona como la versión anterior.
Ahora, con los valores por defecto y una dificultad de 20. Tarda sólo 5:43 (mucho más rápido) y encuentra 5957 circuitos (a costa de haber desechado muchos por el camino)
Podéis descargarlo de aquí.
Podéis ver que hay un botón llamado P. Si alguien quiere experimentar lo que es la exploración de las posibles soluciones que lo pulse.
Editado 2 de Octubre del 2017 por pep0n
Y como dije, hay una nueva versión.
Esta vez se ha introducido el concepto de "dificultad" de un circuito. Es MUY discutible y quizás alguien tenga una idea mejor. Estaré encantado de oírla.
En su versión actual se define la dificultad de un circuito como el resultado de ir sumando o restando una serie de pesos en función de la pista que se coloque y de si es una contracurva o no.
Las rectas disminuyen la dificultad de un circuito:
* 40cm: -4
* 20cm: -2
* 10cm: -1
Las curvas aumentan la dificultad de un circuito:
* R1: +4
* R2: +2
* R3: +1
* R4 y R5 no aumentan la dificultad.
Las contracurvas multiplican por 6 la dificultad del circuito en función de la curva que se está poniendo. Ej: si la contracurva es una R1 la dificultad que se añade al circuito es (4*6).
¿Por qué esos valores? Por intuición y por haber probado varios y ser los que mejor me han parecido.
La idea es que si un circuito va a ser muy difícil no siga por el camino que está explorando. Así pues hace falta un valor de máxima dificultad para podar los caminos. Ese valor se puede poner en la interfaz debajo de la etiqueta que pone 'Dificultad'. Si se pone un valor muy alto no descarta ningún circuito y entonces funciona como la versión anterior.
Ahora, con los valores por defecto y una dificultad de 20. Tarda sólo 5:43 (mucho más rápido) y encuentra 5957 circuitos (a costa de haber desechado muchos por el camino)
Podéis descargarlo de aquí.
Podéis ver que hay un botón llamado P. Si alguien quiere experimentar lo que es la exploración de las posibles soluciones que lo pulse.
Editado 2 de Octubre del 2017 por pep0n
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 8 de Marzo del 2016
Y no será la última versión. Ésta sigue siendo una mala solución.
Ya se me ha ocurrido la 'buena'. Pero me costará bastante hacerla.
Y no será la última versión. Ésta sigue siendo una mala solución.
Ya se me ha ocurrido la 'buena'. Pero me costará bastante hacerla.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por litus14 en 8 de Marzo del 2016
Una cosilla.. salen circuitos con "puente", es decir a dos alturas.
Una cosilla.. salen circuitos con "puente", es decir a dos alturas.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por pep0n en 8 de Marzo del 2016
Sí, no está controlado.
Sí, no está controlado.
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por Robx en 8 de Marzo del 2016
Que bueno!!
Muchas Gracias Pepon, seguro que resulta muy util para montar circuitos caseros
Que bueno!!
Muchas Gracias Pepon, seguro que resulta muy util para montar circuitos caseros
- HAL
- Site Admin
- Mensajes: 175819
- Registrado: Lun Sep 02, 2019 5:33 am
Escrito originalmente por Bayssman en 9 de Marzo del 2016
bueno si tú lo dices... Para mí es grande... Mucha gente demanda diseños y creo que será muy útil... A ver si puedo probarlo...pep0n escribió:Lun Mar 07, 2016 1:52 pmNo es grande. Es chiquitita y no vale de mucho ... de momento.