Голосование нечётных: ускоряем автоматы сменой правила ✛ ✎

Оригинал: "Algorithms and fine-grained complexity for nondeterministic and symmetric difference automata"
arXiv:2607.00742 · 2026-07-01 · arXiv non-exclusive · собственный разбор · 2 мин
Если решение автомата зависит от чётности числа путей, старые алгоритмы работают быстрее.

В зал суда входит слово — цепочка букв. Двенадцать присяжных, каждый из них — вычислительный путь, идут по буквам и решают: «принять» или «отклонить». В обычном недетерминированном автомате слову достаточно одного голоса «за». Но есть странный суд, где вердикт зависит от общего числа голосов: если «за» проголосовало нечётное число присяжных, слово считается принятым. Это правило изменило всю работу.

Если слово пустое, суд выносит решение мгновенно: достаточно посчитать, сколько присяжных изначально были «за» и «против». Если сумма нечётна — слово принято.

Почему это ускоряет вычисления? Обычный автомат использует логику «или»: путь либо есть, либо нет. Здесь же работает арифметика остатков: каждый путь — это 0 или 1, а общий результат — их сумма по модулю 2, то есть простое исключающее ИЛИ (сложение без переноса). Такая арифметика позволяет применить быстрые алгебраические методы и следить не за всеми путями, а только за тем, сколько их в каждом состоянии. Для автоматов, где у слова не больше k путей, разработан умный способ обрабатывать каждый символ за число шагов, пропорциональное k и размеру автомата.

Самое удивительное: можно превратить обычный автомат в набор из нескольких необычных. Используя случайные коэффициенты и арифметику остатков, создают ансамбль, и если исходный автомат принимал слово, то хотя бы один из новых выдаст нечётный результат с вероятностью больше половины. Это напоминает игру с угадыванием: вместо одного надёжного судьи берут команду чудаковатых, но вместе они не ошибаются.

Проверка пустоты — когда автомат не принимает ни одного слова — теперь занимает почти квадратичное время, а не кубическое. Это возможно благодаря быстрому умножению матриц — тому же трюку, что ускоряет компьютерную графику.

В итоге сама структура автомата подсказывает, как ускорить расчёты. Случайная неоднозначность путей, которая раньше мешала, становится помощником. И если учёные докажут, что нельзя сделать ещё быстрее, им придётся опровергнуть другую, недоказанную гипотезу. Суд нечётных голосов не просто забава — это ключ к границе между быстрыми и сверхбыстрыми вычислениями.

Если взять автомат с тысячей состояний, где для каждого слова не больше 10 путей, новый алгоритм прочтёт слово из миллиона букв за доли секунды — в сотни раз быстрее перебора.

В квантовой механике частица тоже идёт сразу по всем путям, и итог зависит от сложения их амплитуд. Здесь — от сложения голосов по модулю два.

O(k|w||Q| + |\delta|)
Динамический алгоритм обрабатывает каждый символ за число операций, пропорциональное неоднозначности и размеру автомата, избегая полного перебора путей.
O(|\Sigma| n^{\omega})
Быстрое умножение матриц сводит проверку доказательства к почти квадратичному времени (ω ≈ 2.38), бросая вызов кубическим алгоритмам.
Учёные
David DeutschErwin SchrödingerJohn Stewart BellLouis de BroglieLov GroverPaul Benioff
Понятия
нейронное усвоение языка xgboost автоматизированный анализ объяснимый ИИ автоматизация распознавание речи система отсчёта отказоустойчивый квантовый компьютер обработка естественного языка эвиденциальные нейронные сети трансформеры