Алгоритм Діксона може бути вдосконалений по декількох напрямах:
 можна замінити процедуру генерації   -чисел
так, щоб вірогідність їх породження була більшою;
-чисел
так, щоб вірогідність їх породження була більшою;
можна оптимізувати вибір бази, чинника, з тим, щоб зменшити число невідомих в системі рівнянь;
 можна удосконалити процедуру відсіву „поганих” чисел  , що
не є
, що
не є  -числами;
-числами;
можна використовувати швидкий алгоритм рішення системи лінійних рівнянь ( наприклад, алгоритм Відемана для розріджених матриць), і т.д.
 Подібні поліпшення не дозволяють змінити загальний
вид оцінки складності  але дають можливість зменшити
константу
   але дають можливість зменшити
константу  ,
, 
Алгоритм Брілхарта - Моррісона.
Суть алгоритму Брілхарта - Моррісона, опублікованого ними в 1975 р., полягає в двох змінах в алгоритмі Діксона:
 випадкові числа  вибираються
за допомогою методу безперервних дробів, запропонованого Лагранжем, що дозволяє
генерувати такі
 вибираються
за допомогою методу безперервних дробів, запропонованого Лагранжем, що дозволяє
генерувати такі  , що
, що  є
малим, і тому вірогідність його розкладання вища;
 є
малим, і тому вірогідність його розкладання вища;
           з фактор-бази  виключаються
ті числа
  виключаються
ті числа  , для яких
, для яких 
 
Розглянемо алгоритм детальніше.
 Теорема. Хай  -
дійсне число, і
  -
дійсне число, і  - послідовність його підходячих дробів
 - послідовність його підходячих дробів  , 
Тоді при всіх
, 
Тоді при всіх  виконується нерівність
  виконується нерівність
 
Доказ. Через властивості відповідних дробів маємо
 
Звідси

 Слідство. Хай  не
є квадратом і
  не
є квадратом і  - відповідний дріб для числа
  - відповідний дріб для числа  .
Тоді мінімальний по абсолютній величині лишок
.
Тоді мінімальний по абсолютній величині лишок 
 рівний  і
не перевершує
  і
не перевершує 
 Доказ.  При
  ,
,
 причому через теорему  Тому
мінімальний по абсолютній величині лишок числа
 Тому
мінімальний по абсолютній величині лишок числа  по
модулю
  по
модулю  співпадає з
 співпадає з  , що
і потрібно було довести.
, що
і потрібно було довести.
 Дана властивість показує, що якщо як
випадкові числа  на 1 етапі алгоритму Діксону брати числа
  на 1 етапі алгоритму Діксону брати числа  ,  то
мінімальний по абсолютній величині лишок числа
,  то
мінімальний по абсолютній величині лишок числа  , рівний
, рівний
 , не перевищуватиме значення
, не перевищуватиме значення  ..
Тому вірогідність його розкладання в добуток чисел бази
..
Тому вірогідність його розкладання в добуток чисел бази  буде
вищою, ніж при випадковому виборі.
 буде
вищою, ніж при випадковому виборі.
Метод квадратичного решета.
 У 1981 році К. Померанц запропонував для
породження  - чисел використовувати підхід, узагальнюючий метод
Ферма.
- чисел використовувати підхід, узагальнюючий метод
Ферма.
Розглянемо функцію
  ,
,
що є квадратним тричленом з цілими коефіцієнтами.
 При кожному цілому  виходить
нетривіальне порівняння
  виходить
нетривіальне порівняння
  ,
,
 причому значення   при
малих
 при
малих  невелике:
  невелике:
 
 і тому 
 Тому, якщо замість випадкових чисел в
алгоритмі розглядати значення  при випадкових
  при випадкових  , що знаходяться в деякому інтервалі
, що знаходяться в деякому інтервалі  , то
вірогідність породження
, то
вірогідність породження  - чисел зростає.
- чисел зростає.
 При цьому можна заздалегідь здійснити
просіювання тих   з
цього інтервалу, які можуть давати розкладання
 з
цього інтервалу, які можуть давати розкладання  на
множники з фактор-бази
  на
множники з фактор-бази  Для цього для кожного
  Для цього для кожного  ,
яке може виступати як співмножник в розкладанні
,
яке може виступати як співмножник в розкладанні
 
вирішуємо квадратне рівняння
 
 у кільці  .
Якщо
.
Якщо  - рішення цього рівняння, то повинна виконуватися
рівність
 - рішення цього рівняння, то повинна виконуватися
рівність 
 Виконавши заздалегідь дану роботу по
знаходженню коріня  для кожного
 для кожного  ,
можна тепер залишити в інтервалі
,
можна тепер залишити в інтервалі  тільки
ті числа
  тільки
ті числа ,  для яких порівняння
,  для яких порівняння  виконується
для достатньо великої кількості чисел
 виконується
для достатньо великої кількості чисел  .
Знання для кожного  списку тих, для яких виконуються ці порівняння, допоможе
також швидше здійснити факторизацію числа
.
Знання для кожного  списку тих, для яких виконуються ці порівняння, допоможе
також швидше здійснити факторизацію числа  якщо
вона існує.
  якщо
вона існує.
Дж. Девіс і П. Монтгомері узагальнили даний підхід. Вони запропонували використовувати многочлен
 
де коефіцієнти є цілими числами і удовлерворяют умові
 ;
;
При такому виборі коефіцієнтів виконується рівність

звідки одержуємо порівняння

причому

 Коефіцієнти  вибираються,
виходячи з таких міркувань. Функція
 вибираються,
виходячи з таких міркувань. Функція   приймає
максимальне значення в кінцях відрізка
 приймає
максимальне значення в кінцях відрізка 
 Мінімальне значення вона приймає в крапці 

 Вибиратимемо   так, щоб максимальне і мінімальне значення функції
   так, щоб максимальне і мінімальне значення функції   на
відрізку
 на
відрізку  були рівні по абсолютному значенню і протилежні по
знаку:
 були рівні по абсолютному значенню і протилежні по
знаку:
|  | 
f(x)
|  | 
 -М
                      -М                 
|  | 
 М                       x
                                                         
                       М                       x
Тому вважаємо:

 Число  знаходимо
як рішення порівняння
 знаходимо
як рішення порівняння 

Нарешті число вибираємо з умови

 Помітимо, що умову існування рішення другого
порівняння можна перетворити таким чином: для всіх простих дільників  виконується
 виконується
  Значення факторизації числа
 Значення факторизації числа  необхідно
також тому, що воно бере участь як співмножник в шуканому порівнянні. Тому,
звичайно, як число
  необхідно
також тому, що воно бере участь як співмножник в шуканому порівнянні. Тому,
звичайно, як число  вибирають або повний квадрат, або число, що
факторизується в добуток простих чисел з фактор-бази.
 вибирають або повний квадрат, або число, що
факторизується в добуток простих чисел з фактор-бази.
 При даному виборі параметрів значення
многочлена  на інтервалі
 на інтервалі 
  задовольняє нерівності 
 що в   разів
краще, ніж у початкового алгоритму Помаранчі, в якому при
 разів
краще, ніж у початкового алгоритму Помаранчі, в якому при  
 
Завдання.
Методом Ферма і Діксону факторизувати числа, вказані в таблиці 1. Оцінити складність обчислень. Варіант брати залежно від номера в журналі.
| Варіант (номер в журналі) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 
| Число (факторизувати методом Ферма) | 143 | 187 | 221 | 247 | 253 | 347 | 323 | 437 | 391 | 77 | 249 | 377 | 
| Число(факторизувати методом Діксона) | 437 | 323 | 347 | 253 | 247 | 221 | 187 | 143 | 77 | 527 | 403 | 203 | 
| Варіант (номер в журналі) | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 
| Число (факторизувати методом Ферма) | 203 | 341 | 403 | 527 | 203 | 217 | 377 | 391 | 221 | 347 | 249 | 247 | 
| Число (факторизувати методом Діксона) | 341 | 403 | 249 | 377 | 143 | 203 | 217 | 77 | 527 | 187 | 323 | 341 | 
Таблиця 1.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.