Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Криптографические приключения: таинственные шифры и математические задачи - Роман Викторович Душкин на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

Теперь стало всё совершенно понятно. А папа сказал:

— В твоих наведённых воспоминаниях должно быть что-то про топологию, верно?

— Да, ты написал, что это наука о неизменяемых свойствах объектов при их деформации.

— Точно, но только при непрерывной деформации, без разрывов и склеиваний. Так вот, сейчас мы сделали топологическое преобразование схемы — и всё встало на свои места. Ведь правда?

— Да, так намного понятнее.

— Так вот что я хочу сказать. В математике много странных и непонятных на первый взгляд вещей. Топология — это одна из таких вещей, поскольку вне прикладного уровня она очень абстрактная. Иногда даже сложно понять, о чём говорится в топологических теоремах (например, есть теорема о неподвижной точке, теорема о раскраске карт, а есть и о волосатом шаре). Но применять её можно во многих областях жизни…

— Ты призываешь меня стать математиком?

— Я бы хотел, чтобы ты очень старательно изучал математику, поскольку она — базовый язык для любой науки. Будешь понимать математику, значит, сможешь освоить и любую другую область знания.

— Понятно. Но ты же поможешь мне в учёбе?

— Конечно!

* * *

Утром папа собрал нас с Катей и сказал, что готов заниматься с нами всякими интересными задачами. У нас будет этакий летний кружок по изучению того, что вряд ли расскажут в школе. Мы, конечно же, согласились.

И у нас началось первое занятие, посвященное использованию нашего нового телеграфа. Папа сразу ввёл два новых понятия: протокол и кодирование информации. Он задал вопрос:

— Кирилл, представь, что ты хочешь отправить Екатерине сообщение при помощи этого устройства. Как ты это сделаешь?

Новые знания, загруженные мне в голову, конечно же, подсказали ответ:

— Для начала мы договоримся о способе кодирования, а потом я передам сообщение, закодировав его этим способом.

Катя явно не поняла, о чём речь. Тогда папа начал объяснять:

— Смотри, в обычной жизни мы записываем и передаём сообщения при помощи букв и других знаков. Но в сделанном нами телеграфе их нет. Как же передавать сообщения?

— Например, азбукой Морзе.

Папа даже щёлкнул пальцами от удовольствия. Он спросил, откуда Катя знает этот способ, а она сказала, что иногда учитель по математике у нее в школе рассказывает всякие интересные вещи. Отец авторитетно покивал и сказал, чтобы она слушала такого учителя, поскольку он, скорее всего, сможет хорошо преподать математику.

Потом он продолжил:

— Да, азбука Морзе — это один из возможных вариантов, но далеко не лучший. У него, конечно, есть свои преимущества, но давай подумаем еще. У нас есть ключ. Им можно включать и выключать лампочку со звонком. Интересно то, что мы можем подавать сигнал любой длительности: хотим, включим на секунду, хотим — на десять. Фактически это даёт нам неограниченное количество символов. Понятно, что такое «символ»?

Я сказал:

— Это минимальная единица кодирования информации, возможная на устройстве.

Отец кивнул и продолжил:

— Какой самый простой способ кодирования можно создать, используя длительность включения сигнала?

Я предложил:

— Можно каждой букве дать номер от 1 до 33, а пробел пусть будет 34, и тогда можно передавать буквы по номерам, а сам номер кодировать длительностью сигнала в секундах.

Отец одновременно улыбнулся и укоризненно покачал головой:

— Ты прекрасно знаешь, что пробел в сообщениях встречается чаще всего, так что использовать для его кодирования число 34 просто неэкономно. Это во-первых. Во-вторых, а так ли уж нужен пробел?

Действительно, ведь при помощи шифромашины мы с Марком передавали сообщения без пробелов. Тем временем отец продолжил:

— Но проблема даже не в этом. Нужно будет очень точно отмерять секунды, а при длинной передаче внимание оператора наверняка собьётся, и декодировать сигнал будет трудно. Давайте придумаем что-то более компактное и удобное для распознавания. Екатерина, ты знакома с двоичной системой счисления?

— Нет.

— Хорошо. Тогда как ты думаешь, почему мы считаем до десяти, то есть почему используем для записи чисел десять цифр от 0 до 9?

— Наверное, потому, что у нас десять пальцев на руках.

— Ты права, есть такая гипотеза. Но если подумать, то число «10» ничем не лучше и не хуже других чисел. Просто мы привыкли, что у нас именно десять цифр. А что получится, если использовать только две цифры: 0 и 1?

Катя нахмурилась. Я уже знал об этой системе, поэтому дал своей знакомой возможность поразмыслить самостоятельно. Она думала, но, видимо, в голову ничего не приходило. Тогда папа обратился ко мне, и я уже не упустил возможности покрасоваться. Я взял лист бумаги и написал в столбик:

0 = 0

1 = 1

2 =…

— Как получить 2? Нам надо к 1 прибавить ещё 1. Правила сложения очень простые:

0 + 0 = 0

0 + 1 = 1

1 + 1 = 10

— Почему это 10?

— Смотри. У нас есть только две цифры. Цифра 1 — последняя в ряду (как цифра 9), поэтому, если прибавить к ней единицу, произойдет перенос разряда, так же как если к девяти прибавить один. Но можно просто запомнить эти правила и не задумываться.

Отец блаженно улыбался, слушая моё объяснение. Похоже, этого он от меня и ожидал. Ободрённый, я спросил Катю:

— Теперь ты можешь сказать, как записать «3»?

Катя подумала и сказала, что «3» надо записывать как «11». Я подтвердил, что это абсолютно правильно, и сразу же спросил, как записывать «4». Но тут уже возникли сложности, и пришлось объяснять, как происходит перенос разряда и почему в итоге получается «100». После этого мы записали двоичные числа до 31 (так попросил папа).

Тем временем папа рассказал нам, как из двоичной записи числа перейти к десятичной. Оказалось, что каждому разряду соответствует степень двойки: 1 (20), 2 (21), 4 (22), 8 (23), 16 (24), 32 (25), 64 (26), 128 (27), 256 (28), 512 (29), 1024 (210) и т. д. Нужно взять те степени, которым в записи двоичного числа соответствуют единицы, а потом сложить их. Например, двоичному числу 10111 соответствует десятичное 16 + 4 + 2 + 1 = 23.

Затем папа сказал, что в математике числа «0» и «1» называются битами и что любую информацию можно представить при помощи битов. После этого мы наконец перешли к разработке системы кодирования.

Папа составил таблицу из трёх столбцов. В первый он выписал все буквы русского алфавита, пропустив букву Ё. Во втором записал их номера (от 0 до 31). А в третий столбец он записал те же номера в двоичном представлении, но каждый номер состоял из пяти битов — от 00000 до 11111. Получилось вот что:

— Теперь договоримся, как передавать биты 0 и 1. Тут можно использовать и метод Морзе. Пусть «0» будет коротким сигналом, а «1» — длинным, раза в три длиннее. При этом между каждым сигналом надо делать небольшую паузу, а между буквами, то есть между каждыми пятью сигналами — паузу подлиннее.

Отец взял мой передатчик и попросил записывать за ним. Мы взяли карандаши, а папа стал выбивать последовательность сигналов: длинный, короткий, короткий, длинный, короткий… Я записывал за ним: 10010 00101 01011 00101 00011 10000 00000 10100. Получилось слово «ТЕЛЕГРАФ».

Мы ещё немного потренировались — я выстукивал слова, Катя записывала, потом наоборот. Вроде бы всё понятно и довольно просто. Потом папа сказал:

— Ну вот, я хотел начать с протокола, а потом перейти к кодированию, а получилось наоборот. Давайте же изучим, что такое протокол. Скажи, Екатерина, как ты поймёшь, что надо начинать записывать передачу Кирилла?

— Я услышу звонок и увижу мигающую лампочку.

— Но ведь ты наверняка в этот момент будешь что-то делать, а карандаша и бумаги рядом не окажется. А может быть, и самой тебя поблизости не будет. Как быть?

Мы задумались. А ведь действительно. Чтобы успешно передать сообщение, нам обоим надо быть около своих устройств, но как это сделать, если мы друг друга не видим? Но отец продолжил:

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

Мы с Катей переглянулись, а отец тем временем говорил:

— Мы введём несколько служебных символов: «Запрос на начало передачи», «Ответ о готовности приёма» и «Окончание передачи». Подумайте и ответьте мне, для чего нужны эти символы.

Я сказал:

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

Отец согласился, а потом обратился к Кате:

— Екатерина, ты можешь придумать, как будут выглядеть эти три служебных символа?

— Думаю, что они должны состоять из последовательности сигналов, которые непохожи на наши биты «0» и «1».

— Почему?

— Так будет проще понять, что это служебная информация, а не текст телеграммы.

— Здорово, молодец! Это, в общем, необязательно: в компьютерных системах используются только биты и ничего другого. Но мы действительно можем позволить себе применить другие символы, чтобы проще отличать. Поэтому предлагаю такую схему…

И папа записал на листке рядом с таблицей букв три строки.

Для запроса на начало передачи — три длинных звонка.

Для указания готовности к приёму — один длинный звонок.

Для окончания передачи — два длинных звонка.

Длительность каждого из этих звонков была в два раза больше, чем длительность бита «1».

Затем он сказал:

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

Рассказав всё это, папа нарисовал схему:

— Так выглядит формальное представление алгоритма в специальной нотации, которая позволяет описывать взаимодействие нескольких лиц. Запоминайте эти хорошие слова: «алгоритм», «нотация» и другие. Потом они помогут вам понимать многие важные вещи.

На этом теоретическая часть нашего занятия была закончена, и мы перешли к практической. Первым делом мы перерисовали в свои блокноты таблицу кодировки символов для нашего телеграфа, а также алгоритм передачи информации. После этого Катя уехала к себе, и через некоторое время из моего передатчика раздался сигнал запроса на начало передачи. Я ответил сигналом готовности, и Катя начала передачу. Она передавала медленно, я успевал записывать последовательности битов в свой блокнот, сразу группируя их по пять. Потом раздался сигнал окончания. Я быстро раскодировал её сообщение. Она сообщала, что приехала домой. Тогда я ответил, что жду её завтра на новое занятие. Она подтвердила приём моего сообщения символом окончания передачи.

Испытания телеграфа можно было считать пройденными. Я на радостях сфотографировал своё устройство и написал у себя в блоге, что мы сделали телеграф и уже его испытали. Через некоторое время один мой одноклассник ответил в комментариях, что я занимаюсь ерундой. Какой глупый…

Вечером папа задал мне странный вопрос:

— Как ты думаешь, почему я купил пять лампочек на замену тем, которые у нас выйдут из строя?

Я только пожал плечами. Тогда папа объяснил, что он примерно посчитал, сколько за всё лето мы передадим друг другу символов, потом разделил это число на среднее количество включений и выключений, которое может выдержать лампа, и получил число пять. Потому он на всякий случай купил именно пять ламп. Это было вполне логично. Но он снова спросил:

— Как ты считаешь, что вероятнее: у одного из вас перегорит одна лампа, а у второго четыре, или у одного перегорит две, а у другого три?

Здравый смысл подсказывал мне, что вероятнее второй вариант, но отец попросил меня посчитать это точно. Для этого надо было рассмотреть разные варианты последовательного перегорания лампочек: от ККККК (все пять лампочек перегорели только у Кирилла) до ЕЕЕЕЕ (то же самое произошло у Екатерины).

Из дневника Кирилла:

08 июня. Сегодня папа дал мне задачу по расчёту вероятностей. Для этого мне надо было подсчитать количество возможных комбинаций букв К и Е длиной пять символов. Я начал выписывать сочетания от ККККК до ЕЕЕЕЕ и понял, что сделал точно такую же таблицу, как та, в которой мы определили коды букв для нашего телеграфа, только «К» надо заменить на «0», а «Е» на «1».

Оказывается, в математике встречаются одинаковые вещи, которые с первого взгляда могут показаться совсем различными. Папа рассказывал мне нечто похожее про топологию. Как интересно!

Или папа специально подгадал и купил именно пять лампочек, чтобы я на практике убедился в этом?

Глава 5

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

— Привет, Кирилл. Как дела? Прием!



Поделиться книгой:

На главную
Назад