Construyendo un Word Clock con Algoritmos Genéticos

Tal vez fue una barrera del idioma que encontró, o tal vez una tendencia a hacer las cosas duro e inteligente, pero nos gusta mucho. [Alessio]Su objetivo es construir la pantalla para su reloj de palabras. En lugar de depender de un vocabulario prediseñado, creó su propio patrón de palabras utilizando un algoritmo genético.

Mirando otras versiones de Word Clock en Internet, [Alessio] notó que todas las copias de bricolaje usaban la misma letra que el reloj original QLOCKTWO. Hay razones obvias para esto, entre ellas un líder vago, pero [Alessio] decidió hacer uno mejor. Armado con JGAP, creó un reloj de palabras alemán de 10 × 10 y un reloj de palabras en inglés de 11 × 11.

[Alessio]El algoritmo toma una lista de expresiones regulares ("cinco y cuatro" y "cuatro cinco" son expresiones válidas para 4:05) y combina soluciones para obtener una solución óptima. Una ventaja adicional de [Alessio]El método es la capacidad de generar relojes de palabra no cuadrados. En la página de su proyecto, [Alessio] Ponga ejemplos de relojes de palabras redondos, triangulares y con forma de diamante.

[Alessio] terminó de construir un reloj de palabras en alemán de 10 × 10 cuadrados con un Arduino Nano, un reloj en tiempo real DS1307, un LED RGB y algunos registros de interruptores. Muy buen trabajo para un word clock personalizado.

  • Sr. X dice:

    "Expresiones regulares"

    No creo que eso signifique lo que tú crees que significa.

    • Tópteros dice:

      Eche un vistazo a su sitio web. Él usa expresiones regulares:

      1:00: (. *?) (Uno) (. +?) (O) (. +?) (Reloj) (. *)
      1:05: (. *?) (Uno) (. +?) (Cinco) (. *)
      1:05: (. *?) (Cinco) (. +?) (Pasado) (. +?) (Uno) (. *)

      • Sr. X dice:

        Mi mal, la próxima vez prometo que leeré TFA antes de intentar trollear.

  • Ulo dice:

    @MrX: El artículo vinculado lo ajusta. Sin embargo, ¿es eso lo que te estás quitando de esto? ¿No es genial el truco real? Dame un descanso.

    De todos modos, a Alessio: ¡Esto es increíble! Excelente uso práctico de GA.

  • uC dice:

    Se ve inteligente. Estaba buscando armar uno de estos basado en un reciente proyecto de inicio ClockTHREE.

    Alessio ciertamente hizo esto mucho más interesante. Uso muy inteligente de la expresión regular para resolver posibles coincidencias. Me pregunto si podría usarse para encontrar coincidencias verticales y horizontales.

    • Tópteros dice:

      Simplemente tome los grupos que muestra el programa y organícelos verticalmente antes de cortar la plantilla.

      • uC dice:

        Quería decir que sería interesante si pudiera organizarlos AMBAH horizontal y verticalmente.

        por lo tanto:

        t
        w
        one

        sin embargo, es genial

    • Tópteros dice:

      "[Alessio] decidió hacer uno mejor. Armado con JGAP, creó un reloj de palabras alemán de 10 × 10 "

      No usó JGAP.

      "Solo quería entender realmente los GA y decidí programarlo * todo por mí mismo *. Para un problema real, por supuesto, usaría uno de los muchos marcos de GA (por ejemplo, JGAP)"

  • Tópteros dice:

    No pude dejar un comentario en su sitio web, así que lo publicaré aquí.

    "Cuarenta" y "cuarenta" deben cambiarse por "cuarenta".

    También cambiaría: 05 veces a (. +?) (O) (. +?) (Cinco) (. *).

  • ellindsey dice:

    "Cuatro"? Una buena idea, pero creo que algo se perdió en la traducción.

    • Iván dice:

      No sé de dónde vino esa muestra. Pero me alegro de no ser el único que se enamoró de él. Intenta buscar "tres" 😉

      Supongo que es solo una imagen. Jejeje

  • Chris dice:

    Otro reloj de palabras:
    http://chriative.com/blog/projects/word-clock/

  • th3BadWolf dice:

    Después de leer, tuve que volver aquí y decir:

    Amo GA, ya que el dinero lisa lo anhelo más. También consiguió un vehículo 2D GA que intentaba subir una colina. Todavía los tengo en algún lugar de mi computadora, si los quieres, ahora están fuera de línea .. = /

  • Andrés dice:

    4:05 nunca es "cuatro cinco", es "cuatro cero cinco". Si habla inglés, eso es.

  • Tópteros dice:

    ¿Alguien más podría poner en funcionamiento su código Java? Hasta ahora no he tenido suerte.

  • gizmoguyar dice:

    Este tipo de reloj parece ser muy popular, por lo que es bueno verle otro giro. Debo decir que todas las fotos que veo en línea son bastante feas. Acabo de terminar el mío y tengo que jactarme de que definitivamente es el mejor.

    http://www.augsoddsandends.com/Augs_Odds_And_Ends/Word_Clock.html

  • Alessio dice:

    Gracias a todos, corrigí el error tipográfico "cuarenta" y cambié el: 05 veces como sugirieron Thopter y Andrew.

    ¿Cuál es el problema con el código? Lo acabo de importar a Eclipse y funciona bien ...

    • Tópteros dice:

      Descubrí cómo operar el código. Fue culpa mía, la primera vez que compilé y ejecuté código Java en mi computadora.

      Volví a descargar el código postal, pero es el mismo que antes. ¿Qué cambios ha realizado?

      • Alessio dice:

        Realmente no he cambiado el archivo Zip, lo haré si no lo olvido.
        Los únicos cambios en "TimeNamesEnglish.java", donde se generan las cadenas para los tiempos, basta con mirarlo, es bastante corto.

      • Tópteros dice:

        Sí, también hice cambios en ese archivo. Todavía no veía cómo conseguir el: 05, sin conseguir también "las tres y cinco".

      • Alessio dice:

        Puse el código en github, así que échale un vistazo

  • dcandi dice:

    Si alguien quiere jugar con esta idea en python, la he implementado con DEAP en este enlace: http://dcandi.com/post/genetic-algorithms-deap/

Alberto Gimenez
Alberto Gimenez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.