Как-то Катя Синицына написала мне записку, я точно видел, это от неё "Давай встречаться". Я подумал, и написал ответ "успокойся". Немножко грубо, наверное, зря, но не важно, я не хотел, мотив был. Возможно, на моём месте, кто-то другой, бросил бы бессмысленную затею с ИИ, но я не другой и не бросил. И не хотел бросать, я знал, что это не нормально, я знал, что добром оно не кончится. И поэтому в том числе, я написал ей такой ответ. Я подумал, что не смогу быть достойной ей парой всё равно. Причин было много, можно их не перечислять, оно и так понятно.
Вскоре у нас в классе началась эпидемия программирования, все хотели научиться программировать. Хотя, наверное, такие эпидемии программирования происходят регулярно со времён появления компьютеров. Началось всё не с меня, но я принял в ней деятельное участие, хотя результаты моей работы никого тогда не заинтересовали. Выделиться умением программировать мне не удалось, не судьба. И никто как-то не обратил тогда внимания на мои мега проекты. Хотя некоторые из написанных мною компьютерных игр я тогда показывал своим приятелям, да и то не всем, и они были не в восторге, потому что в моих играх не было 3D графики. Эпидемия программирования кончилась, как и началась, стихийно. Не это ничего не дало, почему-то всё внимание было приковано не ко мне, а к другому выдающемуся программисту нашего класса, который в отличии от меня не смог даже... Не важно. Важно другое, я выиграл олимпиаду по математике, и это самое главное.
Между тем я продолжал тыкаться по теме создания ИИ, у меня не получалось, и поэтому, я всё чаще играл и меньше работал, это было плохо. Зато, в те времена я научился по настоящему хорошо играть в стратегии, но это тоже можно оставить за кадром. Всё было нормально... Шло моё обычное детство, самое обычно. Только мне было плохо тем, что детство стало обычным, меня это не устраивало. Оставалось чувство незавершённости, словно что-то выпало из моей жизни, я не мог так.
* * *
Я пришёл домой со школы, настроение было паршивое, включил телевизор, там шли новости про военную операцию в Чечне. Новый премьер министр Путин что-то там командовал. В общем, боевые действия начались не на шутку, и наши бомбили почти каждый дом, и это хорошо. Так может это когда-нибудь закончится, наконец. Новости политики кончились, дальше были уголовные сводки, убили коммерсанта, убили, вымогали, рэкет... Всё плохо, я знал, я знал что всё так. И криминал, увы, это лишь часть проблемы, были и другие посерьёзнее. Я знал, что делать. Я тяжело вздохнул, включил компьютер и стал ждать, когда он загрузится.
Я не играл, я сидел и делал, дописывал логические ячейки. Думал над тем, а что мне нужно принципиально изменить так, чтобы ИИ заработал. Это было не просто. Но теперь работа пошла быстрее, потому что я мог писать программы не сам. А всё чаще доверял написание программ своему творенью, и у него получалось неплохо, хотя мне всё равно приходилось командовать им постоянно, и думать самому. Тем не менее, ячеек вариантов решения становилось всё больше, и они оптимизировались, со временем, старое заменялось новым. И это приводило к лучшей и более глубокой интеграции компонентов программ. ИИ пока ещё не начал думать, так, как я хотел, но он работал всё лучше и лучше, быстрее и быстрее...
В начале зимы я начал учить его разговаривать, понимать, что говорю я, и говорить самому. Естественно со смыслом. А ещё я хотел научить его думать, мыслить на русском, а не математическими комбинациями. Я подумал, ещё один такой дополнительный вариант позволит мне... Я делал многое другое... Вскоре выяснилось, оказывается мой ИИ умеет программировать не только на паскале, но даже и на тех языках, которые я не знал и до конца не понимал. Главное, он мог писать программы на winhex, и это у него получалось хорошо. Хотя я умел пользоваться битовым редактором также, но не столь идеально. Теперь я мог доверить программе составление таких комбинаций, которые никогда не осилил бы сам, или потратил бы на это слишком много времени. При этом теперь уже я не всегда точно знал, что именно и как делает мой ИИ, потому что изменений в нём самом уже была масса, и многие из изменений он сделал сам. Теперь, просматривая созданную программу, если уж доходили руки, я нередко рисковал найти в ней совершенно неожиданное для меня самого решение и структуру. Хотя не всё я мог проверить в принципе, особенно те части, что он писал на winhex.
К середине зимы масса ИИ превысила тысячу мегабайт, и это стало проблемой, потому что у меня на компьютере было всего тысяча семьсот мегабайт памяти, как бы мало... То что пришлось поудалять почти все игры не беда, но мне нужно было больше места в будущем, это стало ясно. Да и слишком большую программу неудобно потом будет заливать в Интернет. И не стоит думать, что я не работал над архивацией данных, я сам написал целый комплекс сложных архиваторов, обеспечивающих сжатие, и ускоряющих работу самого ИИ. Это было изначально. Обычно я использовал технологию азбуки, когда в азбуке имелись сложные готовые решения, которые соответствовали каждому символу. И каждый бит соответствовал, например, трёмстам битам, а потом они просто распаковывались. Таким образом, триста команд помещались в одной букве моей азбуки. И так можно было осуществить сжатие, и даже при загрузке, происходила распаковка. Тем более, иерархия азбуки была сложна, были элитные наборы наиболее часто используемых команд, были конгломераты букв азбуки второго уровня, было и типовое общее сжатие. И во время работы архиватор распаковывал и переупаковывал данные, по необходимости, и не только на винчестере, но и на оперативке и во время вычислений. И даже сами вычисления иногда, если это было возможно, осуществлялись в запакованном виде, чтобы быстрее, а потом финальное вычисление производилось после распаковки последнего пакета. Всё это было необходимо, потому что изначально я писал ИИ в сильно ограниченном ресурсами пространстве. Это было очень важно, ведь компьютер у меня был слабый, да и в условиях войны в Интернете, часто стоит вопрос скорости работы программы. Поэтому не стоит думать, что все данные, хранившиеся на моём компе, хранились тупо в примитивном коде. На самом деле всё было оптимизировано до предела. И архиватор ИИ выполнял не только функцию сжатия данных, но и кодировку защиты. Едва ли кто-то, не имея моей азбуки, её полного набора, смог бы расшифровать эту ересь, в которой ИИ записывал данные. Тем более, что написать сложную систему многоуровневого сжатия на самом деле куда проще, чем написать ИИ. И я занимался этим вопросом очень чётко, по-своему, может дилетантски, но моя система азбуки работала, была весьма сложна и позволяла осуществлять иногда тысячекратное сжатие. При этом, не имея азбуки, расшифровать сохранённые данные не смог бы никто при всём желании и за тысячу лет. Потому что ересь азбуки была многоуровневая, имела также особые и уникальные разделы, которых было довольно много, и сама запись кода осуществлялась вперемешку, когда в одной и той же последовательности букв попеременно использовалась то одна, то другая система кода. Я тогда как-то не думал над этим, просто сжимал данные и всё, так как мог придумать, но вероятно в будущем, это стало весьма значимым элементом защиты. Не стоит забывать, что, впоследствии, обучая его сжатию, я учил его не только тупо архивировать данные, но и переписывать смысл сложных и длинных программ в двух словах. Например, после прочтения, он уже мог не запоминать книжку целиком, как компьютер, а он мог сформулировать и запомнить смысл книги в двух словах, аналогично с программами и многими другими вещами. Это очень важно, потому что так мыслят люди и животные, я уделял этой форме сжатия и замены огромное внимание. Правда, настоящий успех этой методики будет достигнут позже. Так что сжатие данных было отдельной грандиозной темой, которая не была мною упущена при создании ИИ. И сжатие было сложным, многогранным и многоуровневым.