Сравнение разных методов вычисления

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

количество верных цифрЛейбницЭйлерВаллисВиетМонте-Карло
0101118310
1100971585116
2100095615727135
3100009550157108466
410000195494157082104273
51000001954931157079812278334
6999999695492231571724613292593
7 883351599842973215293059
8  118695932173026633
9   1826871154

Отсутствующие в таблице значения потребовали бы неразумно долгого ожидания.

Таблица ясно показывает, что при вычислении по формулам Эйлера, Лейбница и особенно Валлиса верные цифры даются очень тяжело: следующая верная цифра требует примерно в десять раз больше проходов цикла, чем предыдущая.

Заметно лучше себя показывает метод Монте-Карло. Но, похоже, и для него трудоёмкость вычисления растёт в геометрической прогрессии. Однако это не отменяет главного недостатка метода Монте-Карло — его непредсказуемости. Другой эксперимент привёл бы к другим значениям в соответствующем столбце таблицы.

Но настоящим чемпионом оказалась формула Виета. Лишняя верная цифра тут требует одного-двух дополнительных проходов цикла. Такой успех этого метода означает, что нам следовало начать с формулы Виета и ею же закончить эту главу? Конечно нет. Иначе мы не познакомились бы с другими формулами, которые представляют если не вычислительный, то уж по крайней мере общематематический интерес. И уж разумеется, не узнали бы метод Монте-Карло, который в некоторых случаях бывает просто незаменим.

Информатика-54© А. Н. Швец