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