Читаем 25 этюдов о шифрах полностью

Следует отметить, что «хорошей во всех отношениях случайной последовательности» практически не существует: насколько «хорошей» является случайная последовательность, зависит от ее назначения.

Подумайте сами:

1. Докажите следующее утверждение: вероятность того, что при k подбрасываниях кривой монеты раз выпадет орёл, равняется:

2. Придумайте такие числа d, и N, чтобы

N было не слишком маленьким и длина периода последовательности, полученной линейным конгруэнтным методом, была близка к N.

3. Придумайте какой-нибудь свой датчик случайных чисел.

2.3. Что такое алгоритм и его сложность

Под алгоритмом, если говорить неформально, можно понимать четко описанную последовательность действий, приводящую к определенному результату.

Понятие алгоритма очень долго оставалось интуитивным понятием. Только в 30-е годы XX века в работах выдающихся математиков Д. Гильберта, А. Черча, С. Клини, Э. Поста и А. Тьюринга были предложены формальные определения алгоритма на основе понятия рекурсивной функции и на основе описания алгоритмического процесса. Тем самым формировалась теория алгоритмов — новое направление в математике, которое стало впоследствии теоретической основой развития вычислительной техники. В настоящее время теория алгоритмов бурно развивается, многие ее понятия проясняются и уточняются (доказуемость

, разрешимость, эффективность и др.).

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

Очень важным понятием в математике (интуитивно ясным, но не очень просто формализуемым) является сложность алгоритма. Приведем простой пример. Пусть требуется угадать задуманное число, про которое известно, что оно натуральное и не превосходит 1000. Разрешается задавать вопросы, на которые можно ответить «да» или «нет». Одним из способов (алгоритмов) угадывания может быть такой: последовательно перебираются все числа от 1 до 1000 до тех пор, пока нужное число не будет найдено. В худшем случае для этого потребуется 999 вопросов. Однако можно предложить и другой алгоритм, позволяющий угадать число за 10 вопросов: сначала выясняется, больше ли угаданное число 500 или нет, если да, то больше 750 или нет и т.д. С каждым шагом число возможных кандидатов уменьшается в два раза. Здесь сложностью алгоритма можно считать число вопросов. Тогда первый алгоритм в 100 раз «сложнее» второго.

Если алгоритм проводит серии вычислений, сложностью алгоритма можно считать число совершаемых операций. При этом, если в алгоритме встречаются только умножение и сложение, под сложностью часто понимается только число умножений, поскольку эта операция требует существенно большего времени. На практике необходимо также учитывать стоимость операций, выполняемых алгоритмом, и т.п.

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

n, тогда сложность алгоритма решения массовой задачи становится функцией от n. Приведем два примера.

Рассмотрим алгоритм простого перебора всех двоичных ключей длины n. Ясно, что таких ключей — 2n, и поэтому в данном алгоритме 2n шагов, т.е. его сложность равна 2n. Это — простейший пример экспоненциального алгоритма (его сложность выражается через n

экспонентой). Большинство экспоненциальных алгоритмов — это просто варианты полного перебора.

Рассмотрим теперь алгоритм умножения столбиком двух n-значных чисел. Он состоит из n2 умножений однозначных чисел, т.е. его сложность, измеренная количеством таких умножений, равна n2. Это — простейший пример полиномиального алгоритма (его сложность выражается через n полиномом).

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

Перейти на страницу:

Похожие книги

"Теорія та методика навчання математики, фізики, інформатики. Том-1"
"Теорія та методика навчання математики, фізики, інформатики. Том-1"

"Теорія та методика навчання математики, фізики, інформатики. Том-1" Теорія та методика навчання математики, фізики, інформатики: Збірник наукових праць: В 3-х томах. – Кривий Ріг: Видавничий відділ НацМетАУ, 2002. – Т. 1: Теорія та мето-дика навчання математики. – 444 с. Збірник містить статті з різних аспектів дидактики мате-матики і проблем її викладання в вузі та школі. Значну увагу приділено проблемам розвитку методичних систем навчання ма-тематики та застосування засобів нових інформаційних техно-логій навчання математики у шкільній та вузівській практиці. Для студентів вищих навчальних закладів, аспірантів, наукових та педагогічних працівників.

Неизвестен Автор

Математика / Физика / Руководства / Прочая научная литература / Прочая справочная литература
Для юных математиков
Для юных математиков

Вниманию юного, и не очень, читателя предлагается книжная серия, составленная из некогда широко известных произведений талантливого отечественного популяризатора науки Якова Исидоровича Перельмана.Начинающая серию книга, которую Вы сейчас держите в руках, написана автором в 20-х годах прошлого столетия. Сразу ставшая чрезвычайно популярной, она с тех пор практически не издавалась и ныне является очень редкой. Книга посвящена вопросам математики. Здесь собраны разнообразные математические головоломки, из которых многие облечены в форму маленьких рассказов. Книга эта, как сказал Я. И. Перельман, «предназначается не для тех, кто знает все общеизвестное, а для тех, кому это еще должно стать известным».Все книги серии написаны в форме непринужденной беседы, включающей в себя оригинальные расчеты, удачные сопоставления с целью побудить к научному творчеству, иллюстрируемые пестрым рядом головоломок, замысловатых вопросов, занимательных историй, забавных задач, парадоксов и неожиданных параллелей.Авторская стилистика письма сохранена без изменений; приведенные в книге статистические данные соответствуют 20-м годам двадцатого века.

Яков Исидорович Перельман

Развлечения / Детская образовательная литература / Математика / Книги Для Детей / Дом и досуг