— Ну, возьмем простой пример случайного процесса. Когда ты после телефонного разговора вешаешь телефонную трубку, ты обычно не смотришь, как закручен провод, верно? Поэтому после каждого нового разговора он может либо закрутиться еще на один оборот, либо остаться на месте, либо раскрутиться назад на один оборот.
— Он еще может совсем раскрутиться, если папа заметит, что провод слишком сильно закрутился, и не поленится его раскрутить.
— Давай для начала пренебрежем таким редким событием, а остальные три варианта — шаг вперед, шаг назад и шаг на месте — будем считать равновероятными. Это целая наука, как получать на компьютере случайные числа, — для этого лучшие программисты придумывают самые быстрые алгоритмы. Ну, а мы с тобой можем воспользоваться сейчас игральным кубиком. На нем ведь шесть чисел: 1, 2, 3, 4, 5, 6. Давай будем делать шаг назад, если на кубике выпадет 1 или 2, оставаться на месте, если это 3 или 4, и делать шаг вперед, если это 5 или 6.
— Давай. Ты будешь складывать шаги, а я буду кидать кубик, — оживился Сережа, которому немного наскучили лекции Чипа и захотелось поиграть.
Сережа бросил кубик. Выпало 5, и он крикнул Чипу: «Вперед!» «Один!» — крикнул в ответ Чип.
Сережа кинул кубик еще раз. «Стой!» — крикнул он, потому что выпало 3. «Один!» — повторил Чип предыдущий счет. Дальше дело пошло быстрее: «Вперед!» «Два». «Назад!» «Один». «Стой!» «Один» «Вперед!» «Два». «Вперед!» «Три». «Стой!» «Три». «Вперед!» «Четыре». «Назад!» «Три».
— Ну, что, — сказал Чип,— мы бросили кубик 10 раз и сдвинулись вперед на 3 шага. Значит, провод закрутился бы на 3 оборота. Будем считать, что после каждых 10 звонков папа проверяет провод и раскручивает его. Начнем все сначала.
Они кинули кубик еще 10 раз. Теперь получилось в сумме 2 шага назад, то есть провод закрутился бы на два оборота в другую сторону. Еще и еще кидали они кубик, и получилось, что за 10 бросаний кубика суммарное число шагов бывало в среднем 3 — 4, а направление бывало разным — иногда вперед, а иногда назад. Всего они сделали 10 опытов по 10 бросаний, и в 5 опытах было положительное направление, в 4 — отрицательное, а в одном опыте после всех 10 бросаний кубика получился нуль, так что провод совсем бы не закрутился. Но это, конечно, была редкая удача.
— Видишь, — сказал Чип, — кое-что мы поняли. Ваш телефонный провод будет со временем закручиваться, иногда в одну, а иногда в другую сторону, но количество оборотов будет расти, так что папе время от времени придется его раскручивать обратно. А если бы мы с тобой бросили кубик миллиард раз вместо ста, то смогли бы точно подсчитать, как величина закрутки зависит от времени и как часто папе придется раскручивать провод. Вот для того, чтобы быстро сделать миллиард таких испытаний, и нужен компьютер. Кстати, в этом простом случае и без компьютера можно предсказать, что величина закрутки провода будет расти, как корень квадратный из времени.
— Давай теперь сделаем что-нибудь смешное, я хочу немного посмеяться, а то надоело с числами возиться.
— Ты любишь играть в чепуху? Это когда несколько человек пишут каждый свой рассказ, меняясь по кругу бумажками после каждого слова и загибая бумажки, чтобы не подглядывать.
— Да, здорово было бы сыграть, только нас всего двое — так неинтересно!
— А вот с помощью случайных чисел можно играть в чепуху даже одному. Сочиняешь шесть разных рассказов, а потом составляешь один, по очереди выдергивая слова из случайно выбранного рассказа. А из какого рассказа выдернуть очередное слово, решаешь, бросая игральный кубик.
Они взялись за дело и скоро сочинили шесть коротких рассказов.
1. Шел снег. Усталый мальчик брел из школы домой насвистывая.
2. Была жара. Веселый воробышек прыгал с ветки на ветку чирикая.
3. Моросил дождь. Огромный кит плыл из моря в океан пыхтя.
4. Лил дождь. Свирепый динозавр выползал из болота рыча.
5. Стоял туман. Сверкающий автомобиль мчался из города на дачу гудя.
6. Надвигалась буря. Озабоченный шмель летел с поля в сад жужжа.
В каждом рассказе было по 10 слов, так что кубик опять пришлось бросать 10 раз. У Чипа получилось: «Стоял снег. Веселый динозавр прыгал с ветки на дачу насвистывая». А у Сережи: «Надвигалась жара. Свирепый шмель плыл с поля домой пыхтя».
Отсмеявшись над своими рассказами, Чип и Сережа придумали такое задание для читателей: сочинить смешную игру, где применялся бы принцип случайных чисел. Лучшая игра будет опубликована в журнале. На конверте укажите: «Случайные числа».
До свиданья, друзья!
Вот и кончается 1987 год. За этот год Сережа узнал много нового и всерьез увлекся информатикой. Он поступил в кружок программистов и научился сам писать программы на языке Бейсик. Теперь настоящий, взрослый компьютер его слушается! Например, попросишь компьютер нарисовать на экране двух рыбок, которые друг за другом гоняются, — и, пожалуйста, бегают по экрану, как живые.