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