Глеб Острожский - Экспанты: Вторжение
— До отметки в семьсот тысяч одновременно работающих компьютеров она была в целом стабильна, но после нее случился резкий скачок процентов на тридцать.
— Но что это значит? — спросил Алекс.
— Это значит, что любые десять тысяч компьютером в системе должны иметь приблизительно одинаковую производительность, поскольку в таком большом случайно выбранных компьютером и более мощные и менее мощные машины уравнивают свои производительности. В общем, так оно и есть. С одной разницей, когда количество участвующих в выполнении задачи машин перевалило приблизительно семьсот тысяч, производительность любых десяти тысяч компьютеров увеличилась почти на треть.
— Такого не может быть.
— Не может, но есть. У меня несколько мыслей. Первая, что в Муравейнике стало работать большое количество суперсовременных компьютеров, которые вначале не попали в базу. Например, в ЦРУ и НАСА начался рабочий день, а кто-то установил наш стрип-покер с коммуникатором на их компьютеры.
— Отпадает, — сказал Алекс. — Если это произошло при количестве в семьсот тысяч, то никакие суперкомпьютеры не могли увеличить производительность аж на треть.
— Да, я тоже так подумал. Вторая — Муравейник резко стал забирать бОльшее количество ресурсов. Проверил и эту версию. Я запустил в полседьмого свой старенький комп, где был коммуникатор. Муравейник скачался, запустился и последние 15 минут работы до семи Муравейник брал строго 3 % мощности машины. У меня остается последняя и самая сумасшедшая.
— Муравейник… превратился… в муравейник, — Алекс подошел к столу и уставился в монитор, словно ожидая что-то увидеть там еще. — Эффект интеллектуальной синергии. Но это же…
— невозможно, — закончил мысль Виктор.
В комнате повисла пауза. Гипотеза была настолько нереальной, что вызывала неприятный холодок в животе. Первым заговорил Виктор.
— Если действительно после наличия некой критической массы компьютерная сеть начинает работать не как сумма мощности входящих в нее компьютеров, а на 30 % больше…
— Тут еще надо посмотреть, не будет ли, например, трех миллионов машин очередного скачка производительности, — перебил его Алексей.
— Тут вообще много неизвестного, — согласился Виктор. — Неизвестно, зависит ли появление этого эффекта от количества машин и их суммарной производительности, или только от количества единиц в системе. А главное: было ли это каким-то неизвестным науке эффектом увеличением производительности или же это было самостоятельная оптимизация алгоритма расчета.
— Ты понимаешь, что ты говоришь? Ты хочешь сказать, что система начинает думать?
— Не способность думать, а… ну как бы это сказать. Ну, как в том же муравейнике: один муравей — набор инстинктов, а если их много у них появляются способность выполнять действия присущие организмам с наличием мозга. Может, после определенного порога сеть даже более оптимально использует свои ресурсы, чем прописано в программе.
В голове у Алекса была просто каша. Еще вчера вечером он волновался только об одном: как сработает коммуникатор. То, что алгоритм "качай и одновременно делись с другим" прекрасно работал, уже было достижением. А тут прыжки производительности, расчет числа Пи со скоростью выше любого суперкомпьютера. Кстати о суперкомпьютерах…
— Знаешь, о чем я подумал? — Алекс говорил медленно, словно мысль, которую он начал высказывать, еще не вполне сформировалась в голове. — Мы хотим проверить, оптимизирует ли машина алгоритм? Легко! Давай предложим ей поиграть в шахматы.
— И что? Есть гора программ для игры в шахматы. Я пробовал, компьютер выигрывает у меня всегда, — Виктор не понимал, к чем у клонит Алекс.
— Ну, Джокер, у тебя выиграть не сложно. А принцип работы всех программ одинаковый. Компьютер перебирает все возможные комбинации. Просто, чем круче программа, тем на большее количество ходов она прогнозирует, оценивая какой вариант приносит ей больше условных пешек.
— Почему условных? — удивился Виктор.
— Ну, это как бы единица для оценки веса, важности, называй как хочешь, всех фигур. Не это важно — важно, что она просчитывает все ходы и теоретически может просчитать абсолютно все вариации ходов. Если, конечно, ей дать достаточно времени. Но в реальности они как раз ограничены во времени, иначе партии длились бы месяцами. Спасает их только обширная библиотека готовых матчей, с которой они постоянно сравнивают позицию на доске. Человек же опирается на другой принцип. Да, он просчитывает варианты ходов, но самые бесперспективные он даже не берет во внимание. Он как бы видит общую ситуацию на доске. Поэтому изначально смотрит на позицию на доске и на основные ходы, которые могут изменить её в его пользу. Вот это и есть умение думать. А рост производительности — это просто рост производительности.
— Ты хочешь предложить поиграть ей в шахматы? Я, Умка, помню, что у тебя разряд по шахматам, но…
— но вряд ли я переиграю Муравейник? — перебил Алекс. — Да, вряд ли. Но если ограничить количество участвующих в партии машин и время на обдумывание, то можно будет определить, происходит ли только скачок производительности или это способность оптимизировать расчеты. Тем более играть буду не я у меня форма уже не та. Но есть у меня знакомый из нашей шахматной секции — он уже добрался до мастера спорта, играет за молодежку, лет через десять будет и гроссмейстером. Его имя Борис, но в секции получил кличку Директор — он приходил на тренировки с большой кожаной папкой.
Так как алгоритм работы шахматных программ почти одинаковый, то на написании версии Муравейника для игры в шахматы ушло всего полторы недели. В программу сознательно не закладывали библиотеки с готовыми партиями. Только чистый алгоритм мог показать, насколько производительна программа. Еще дня два тестировали, при этом Муравейник выиграл все партии у Алекса, а одну из них даже на десятом ходу. Пришло время привлекать более сильного соперника.
Алекс разыскал в своих старых записях телефон Бориса и прямо с утра набрал его.
— Привет, Директор. Это Алексей Харламов, помнишь такого?
— Привет. Давно не слышал. У тебя что-то срочное, мне нужно в клуб убегать?
— У меня к тебе деловое предложение, связанное с шахматами.
— Деловое, и с шахматами? Ты же бросил шахматы года два назад. Мне говорили, ты весь в компьютерах сейчас.
— Правильно, именно с этим связано предложение, но думаю лучше при встрече. Когда сможем пересечься?
— Можно и сегодня в клубе, давай часа через три, после тренировки, там и встретимся.