В вычислительной алгебраической геометрии и вычислительная коммутативная алгебра, алгоритм Бухбергер является методом преобразования данного набора генераторов для полиномиального идеала в основу Грёбнера относительно некоторого одночлена порядка. Его изобрел австрийский математик Бруно Бухбергер. Его можно рассматривать как обобщение алгоритма Евклида для одномерного вычисления НОД и исключения Гаусса для линейных систем.
Грубая версия этого алгоритма для поиска базиса идеала I кольца многочленов R работает следующим образом:
Многочлен S ij обычно называют S -полиномом, где S относится к вычитанию (Бухбергера) или сизигии (другие). Пара многочленов, с которой он связан, обычно называется критической парой.
Существует множество способов улучшить этот алгоритм помимо того, что было указано выше. Например, можно уменьшить все новые элементы F относительно друг друга перед их добавлением. Если главные члены f i и f j не имеют общих переменных, то S ij всегда будет уменьшаться до 0 (если мы используем только f i и f j для сокращения), поэтому нам вообще не нужно его вычислять.
Алгоритм завершается, потому что он последовательно увеличивает размер мономиального идеала, порожденного главными членами нашего множества F, и лемма Диксона (или теорема о базисе Гильберта ) гарантирует, что любая такая возрастающая цепочка в конечном итоге должна стать постоянной.
Вычислительная сложность алгоритма Бухбергер очень трудно оценить, из числа вариантов, которые могут существенно изменить время вычисления. Тем не менее Т.В. Дубе доказал, что степени элементов редуцированного базиса Грёбнера всегда ограничены
где n - количество переменных, а d - максимальная суммарная степень входных многочленов. Это позволяет теоретически использовать линейную алгебру над векторным пространством многочленов степени, ограниченной этим значением, для получения алгоритма сложности.
С другой стороны, есть примеры, когда базис Грёбнера содержит элементы степени
и указанная выше верхняя граница сложности является оптимальной. Тем не менее такие примеры крайне редки.
С момента его открытия было введено множество вариантов Бухбергера для повышения его эффективности. Алгоритмы Фогера F4 и F5 в настоящее время являются наиболее эффективными алгоритмами для вычисления базисов Гребнера и позволяют регулярно вычислять базисы Гребнера, состоящие из нескольких сотен многочленов, каждый из которых имеет несколько сотен членов и коэффициенты из нескольких сотен цифр.