Проблема ручного инжиниринга
Выбор оптимального алгоритма для задач удовлетворения ограничений (CSP) критически зависит от качества извлекаемых признаков. Традиционный подход требует глубокой экспертизы и ручного кодирования, что становится узким местом при появлении новых классов задач. Авторы предлагают автоматизировать этот процесс, используя Large Language Models (LLM) в цикле проверки и исправления (check–fix–verify).
Agentic-подход к синтезу кода
Система принимает высокоуровневую модель MiniZinc и конкретный экземпляр задачи. LLM-агент генерирует исполняемый Python-скрипт, который строит типизированное графовое представление задачи. Скрипт вычисляет структурные свойства, такие как плотность графа, кластеризация переменных и жесткость ограничений. Ключевое преимущество — интерпретируемость: сгенерированный код можно проверить, в отличие от «черного ящика» нейросетей.
Результаты бенчмарков
Эксперименты проведены на трех комбинаторных задачах: маршрутизация транспортных средств (vehicle routing), последовательность автомобилей (car sequencing) и коды с исправлением ошибок фиксированной длины (FLECC). Использовался портфель из пяти современных решателей (solvers). Сгенерированные извлекатели признаков позволили алгоритмам выбора превзойти как экспертные наборы mzn2feat, так и лучшие трансформерные варианты trans2feat.
| Метрика / Сравнение | Результат / Примечание |
|---|---|
| Улучшение точности (FLECC) | До +8.3 процентных пункта (pp) над mzn2feat |
| Сравнение с трансформерами | Превосходство над лучшими вариантами trans2feat |
| Интерпретируемость | Генерируемый код Python доступен для инспекции |
| Количество решателей | Портфель из 5 state-of-the-art solvers |
Значение для индустрии
Работа демонстрирует переход от статического анализа к динамическому синтезу инструментов. Возможность автоматически создавать специфичные для задачи извлекатели признаков снижает порог входа в сложные задачи оптимизации и ускоряет адаптацию систем к новым доменам без участия экспертов-людей.
Источник: arXiv cs.AI ↗
