Алгоритм Баха - Bach's algorithm

Алгоритм Баха является вероятностным за полиномиальное время алгоритм для генерации случайных чисел вместе с их факторизации , названный в честь его первооткрывателя, Эрик Бах . Это интересно, потому что неизвестен алгоритм, который эффективно факторизует числа, поэтому простой метод, а именно генерация случайного числа и последующее его разложение, непрактичен.

Ожидается, что алгоритм выполняет O (log n) проверок простоты .

Более простой, но менее эффективный алгоритм ( ожидающий выполнения тестов на простоту) принадлежит Адаму Калаи .

Обзор

Алгоритм Баха производит число равномерно случайным образом в диапазоне (для заданного входа ) вместе с его факторизацией. Он делает это, выбирая простое число и показатель такой , что , в соответствии с определенным распределением. Затем алгоритм рекурсивно генерирует число в диапазоне , где вместе с факторизацией . Затем он устанавливает и добавляет к факторизации, чтобы произвести факторизацию . Это дает логарифмическое распределение в желаемом диапазоне; затем используется отбраковочная выборка для получения равномерного распределения.

использованная литература

дальнейшее чтение

  • Бах, Эрик . Аналитические методы в анализе и разработке теоретико-числовых алгоритмов , MIT Press, 1984. Глава 2, «Генерация случайных факторизаций», часть которой доступна онлайн здесь .