Articulo de referencia

Búsqueda divertida

[[program synthesis]] [[evolutionary computation]] [[mathematical optimization]]"},"license":{"wt":"[[Apache License 2.0]] (software) [[Creative Commons license|CC BY 4.0]] (oth...

FunSearch (abreviatura de búsqueda en el espacio de funciones ) es un método de inteligencia artificial desarrollado por Google DeepMind para descubrir programas informáticos que resuelven problemas matemáticos y algorítmicos . Combina un modelo de lenguaje extenso con un evaluador automatizado y un procedimiento de búsqueda evolutiva , generando programas candidatos, puntuándolos y utilizando los de mejor rendimiento para producir nuevos candidatos. [ 1 ]

Google DeepMind anunció FunSearch en 2023, y el artículo asociado se publicó en Nature . [ 2 ] El sistema se aplicó al problema del conjunto de tapas en combinatoria extremal y al problema de empaquetamiento de contenedores en línea , donde encontró nuevas construcciones matemáticas y nuevas heurísticas de empaquetamiento . [ 3 ] [ 4 ]

Método

FunSearch plantea un problema como una búsqueda en programas informáticos en lugar de una búsqueda directa en soluciones individuales. El usuario proporciona una especificación del problema, una función de evaluación y un programa inicial o un esqueleto de programa . En cada iteración, FunSearch selecciona programas existentes de una base de datos , prioriza los programas con mayor puntuación, crea una solicitud para un modelo de lenguaje grande preentrenado y le pide al modelo que genere programas modificados. Los programas generados son ejecutados y puntuados por el evaluador. [ 1 ]

El proceso de búsqueda utiliza un método evolutivo basado en islas, diseñado para mantener un conjunto diverso de programas candidatos y reducir el riesgo de quedar atrapado en óptimos locales . Según el artículo original, una ventaja de este enfoque es que FunSearch genera programas que, en ocasiones, pueden ser inspeccionados, simplificados e interpretados por los investigadores, en lugar de producir únicamente una respuesta numérica final o una larga lista de objetos. [ 1 ]

Formulación algorítmica

FunSearch puede describirse como una búsqueda en un espacio de fragmentos de programa, generalmente funciones incrustadas en un esqueleto de programa fijo.F{\displaystyle {\mathcal {F}}}ser un espacio de funciones candidatas y dejarS:FR{\displaystyle S:{\mathcal {F}}\to \mathbb {R} }ser una puntuación de evaluador obtenida al ejecutar un solucionador fijo que llama a la función candidata. Dada una función inicialF0{\displaystyle f_{0}}FunSearch mantiene una base de datosD{\displaystyle D}de funciones evaluadas y válidas. Muestre repetidamente funciones de alta puntuación deD{\displaystyle D}, los utiliza para construir indicaciones para un modelo de lenguaje grande y le pide al modelo que genere una nueva función candidata.F{\displaystyle f'}La nueva función se ejecuta dentro del esqueleto del programa específico del problema y es evaluada por el evaluador. Si la función generada es válida, se vuelve a agregar aD{\displaystyle D}, permitiendo que las indicaciones posteriores se basen en candidatos anteriores más sólidos. [ 1 ]

En forma simplificada, el bucle de búsqueda se puede escribir como:

D{(F0,S(F0))}{\displaystyle D\leftarrow \{(f_{0},S(f_{0}))\}}

FMáster en Derecho(inmediato(F1,,Fk)),(Fi,S(Fi))D{\displaystyle f'\sim \operatorname {LLM} (\operatorname {prompt} (f_{1},\ldots ,f_{k})),\quad (f_{i},S(f_{i}))\in D}

si F es válido, entonces DD{(F,S(F))}.{\displaystyle {\text{si }}f'{\text{ es válido, entonces }}D\leftarrow D\cup \{(f',S(f'))\}.}

El objetivo idealizado es encontrar una función candidata con una puntuación alta del evaluador,

F*argramometroaincógnitaFFS(F),{\displaystyle f^{*}\in \operatorname {*} {arg\,max}_{f\in {\mathcal {F}}}S(f),}

Aunque en la práctica FunSearch devuelve la mejor función válida descubierta durante la búsqueda. La implementación original utiliza un proceso evolutivo basado en islas para preservar la diversidad entre las funciones candidatas, favoreciendo al mismo tiempo los programas con mayor puntuación. [ 1 ] [ 4 ]

Aplicaciones

Problema con el conjunto de tapas

FunSearch se demostró por primera vez en el problema del conjunto de tapas , un problema en combinatoria aditiva que se refiere al subconjunto más grande posible deZ3norte{\displaystyle \mathbb {Z} _ {3}^{n}}sin tres puntos en línea. En dimensión 8, FunSearch encontró un conjunto de tapa de tamaño 512, mejorando las construcciones previamente conocidas. El artículo también informó cotas inferiores mejoradas para la capacidad del conjunto de tapa utilizando FunSearch para descubrir construcciones relacionadas con conjuntos admisibles. [ 1 ]

Google DeepMind describió el resultado como un ejemplo del uso de grandes modelos de lenguaje para generar conocimiento nuevo y verificable en matemáticas . [ 2 ] Un artículo de noticias de Nature informó que el sistema mejoró los esfuerzos humanos para un problema de combinatoria relacionado con el juego de cartas Set . [ 5 ]

Embalaje de contenedores en línea

FunSearch también se aplicó al problema de empaquetamiento de contenedores en línea , donde los artículos deben asignarse a contenedores a medida que llegan. [ 1 ] En este contexto, FunSearch desarrolló heurísticas programáticas que deciden qué contenedor debe recibir un nuevo artículo. El artículo original informó que las heurísticas descubiertas superaron a las líneas base comunes de primer ajuste y mejor ajuste en datos simulados e instancias de referencia de OR-Library. [ 1 ]

Software

Google DeepMind publicó el software FunSearch en un repositorio público de GitHub junto con el artículo de FunSearch. El repositorio incluye ejemplos y datos para conjuntos de tapas , conjuntos admisibles, empaquetamiento de contenedores en línea , conjuntos independientes en productos fuertes de grafos de ciclos , conjuntos sin esquinas y experimentos relacionados. También incluye una implementación de un solo hilo del pipeline de FunSearch , aunque el repositorio señala que no incluye los modelos de lenguaje , el entorno de ejecución ni la infraestructura distribuida utilizados en los experimentos originales. El repositorio indica que su software está licenciado bajo la Licencia Apache 2.0 , mientras que otros materiales están licenciados bajo la Licencia Creative Commons Atribución 4.0 Internacional . [ 6 ]

Recepción

En un artículo de Nature News & Views, Jean-Baptiste Mouret describió FunSearch como un sistema que conecta la programación genética con grandes modelos de lenguaje, y escribió que el trabajo demostraba cómo los modelos de lenguaje podían ayudar a evolucionar los programas informáticos. El artículo caracterizó el sistema como una prueba de concepto para el descubrimiento matemático asistido por IA. [ 3 ]

Véase también

Referencias

  1. 1 2 3 4 5 6 7 8 Romera-Paredes, Bernardino; Barekatain, Mohammadamin; Novikov, Alexander; Balog, Matej; Kumar, M. Pawan; Dupont, Emilien; Ruiz, Francisco JR; Ellenberg, Jordan S.; Wang, Pengming; Fawzi, Omar; Kohli, Pushmeet; Fawzi, Alhussein; et  al. (2024). "Descubrimientos matemáticos a partir de la búsqueda de programas con grandes modelos de lenguaje" . Nature . 625 : 468–475 . doi : 10.1038/s41586-023-06924-6 . Recuperado el 4 de mayo de 2026 .
  2. 1 2 "FunSearch: Realizando nuevos descubrimientos en ciencias matemáticas utilizando grandes modelos de lenguaje" . Google DeepMind . 14 de diciembre de 2023. Recuperado el 4 de mayo de 2026 .
  3. 1 2 Mouret, Jean-Baptiste (17 de enero de 2024). "Los grandes modelos de lenguaje ayudan a que los programas informáticos evolucionen". Nature . 625 : 452–453 . doi : 10.1038/d41586-023-03998-0 .
  4. 1 2 Ellenberg, Jordan S.; Fraser-Taliente, Cristofero S.; Harvey, Thomas R.; Srivastava, Karan; Sutherland, Andrew V. (17 de marzo de 2025). "Modelado generativo para el descubrimiento matemático". arXiv : 2503.11061 [ cs.LG ].
  5. Castelvecchi, Davide (14 de diciembre de 2023). "La IA DeepMind supera a los matemáticos humanos en un problema sin resolver". Nature . doi : 10.1038/d41586-023-04043-w .
  6. "google-deepmind/funsearch" . GitHub . Google DeepMind . Consultado el 4 de mayo de 2026 .
  • Sitio web oficial
  • funsearch en GitHub