Я поднялся, свернул листочек, выбросил в урну и вышел вон, всё равно я ничего не знал, из того, что было в задании, я был практиком, а не теоретиком. Тем не менее, это всё взбесило меня, меня взбесило то, что у меня не было денег, меня взбесило то, что я не сдал ЕГЕ, меня взбесило то, что я первоклассный программист, не смогу учиться на программировании, хотя я этого заслуживал, по крайней мере, я так считал. Я пришёл домой, сел за компьютер, открыл файл и за полчаса написал программу. Включил интернет, и направил программу в самое опасное и неуязвимое место финансовой системы России в сбербанк, программа взломала сайт, определила пользователя, который в данный момент просматривал свой личный кабинет, сняла с его личного кабинета логин и пароль. Вышла в финансовую сеть и ввела эти логин и пароль, получила ответ, данный логин существует, а пароль не верен. Так как к логину была попытка подбора пароля, то программа защиты сбербанка начала проверку, откуда пришёл запрос, но так как действовала программа, не имевшая адреса, в данный момент программа висела на сайте сбербанка, то установить, кто и откуда не получилось. Программа продолжила подбор кода, она снова набрала тот же логин, и набрала пароль дважды, и бинго она угадала, пароль к счёту пользователя состоял из удвоения простого пароля личного кабинета. Теперь требовалось снять деньги, на этом многие нубы часто погорали, потому что они пытались снять деньги в банкомате, но этого делать категорически нельзя, ведь всем людям с рождения вшивают под кожу биометрический паспорт. А банкомат определяет, используя радиосигналы, кто перед ним стоит. Многочисленные электронные переводы также не спасают, потому что каждый перевод вообще всегда записывается, и сколько бы их не было, это всё содержится в базе данных, кто кому. Тут конечно есть свои хитрости, некоторые программисты делили переводимые деньги на сотни счетов, проверить каждый из которых было нельзя, и потом переводили себе небольшую часть, а остальные сливали сотням других людей. В итоге доказать, что именно этот человек украл деньги, было нельзя, потому что деньги получили сотни людей. Но Макс был зол, и он очень хорошо разбирался в программировании. Он перевёл деньги в созданный на подставное имя виртуальный кабинет сайта сбербанка, потом стёр с сайта лог, перевёл деньги в другой личный кабинет, и снова стёр лог, ведь сайт уже был взломан. Потом разделил сумму на несколько частей, чтобы нельзя было отследить по точному количеству денег и всё, деньги были отмыты, он проверил счёт, там лежало пятьдесят пять тысяч долларов, сумма достаточная для того, чтобы обеспечить его надолго. Впрочем, это не был конец, возможно, он где-то ошибся, и его найдут, ведь кибер безопасностью в сбербанке занимаются тысячи ведущих специалистов, они знают преобразование Лавье Руазо и алгоритм Крипта и сотни других математических фишек, неизвестных Максиму.
Он вышел из квартиры, спустился вниз, здесь на первом этаже подъезда стоял банкомат, он снял со своего счёта пятьсот долларов, положил их к себе в карман. И поднялся к себе наверх, положил деньги в ящик письменного стола. Теперь о деньгах можно было не думать долго, если не приедут и не загребут его в ближайшие два часа, значит, он нигде не ошибся. А ведь они сами виноваты, все они, он украл не потому что был вором, а потому что его кинула эта стерва Инна, из-за денег, потому что его ткнули носом в то, что он не разбирается в программировании на олимпиаде, только поэтому. Он сделал себе чай, стал пить, прошёл час, два, но никто не приехал и не арестовал его, он включил телевизор: "Сбербанк России расследует беспрецедентную по наглости кражу, она была осуществлена сегодня, был взломан сайт сбербанка, и, перекидывая деньги из одного личного кабинета в другой, кибер преступникам удалось их отмыть, это невероятно. Логи они стёрли, и теперь невозможно узнать, выделить из миллионов пользователей и счетов, куда были переведены деньги. Это невероятно наглая и подготовленная атака хакеров. Правительство предпринимает меры, чтобы найти совершивших это дерзкое нападение и наказать. В будущем, все лазейки с личными кабинетами будут закрыты, удачно то, что тот, кто воспользовался этим наглым трюком, не посмел позариться на большее." Макс остыл, и понял, что его пронесло. Но в следующий раз надо быть осторожнее, были случаи, когда хакеров сажали на пожизненное, за причинённый ими вред обществу. А ещё он восстановил своё самомнение, он только что хакнул сайт сбербанка России, украл кучу денег, и его не нашли и не найдут. Об этом многие ведущие хакеры мира, могли только мечтать. А сделать это удалось, потому что он написал сложную программу, со сложной системой логики и принятия решений, которая выполнила взлом очень быстро, по заданному сценарию, а потом удалила все логи и саму себя, ещё до того, как её накрыли. Весь взлом занял срок меньше секунды, если бы кто-то попытался проделать тоже самое вручную, хотя бы минут за пять, скорее всего, его накрыли бы.
Тем не менее, он сел за компьютер, не много подумал и вышел в скайп. Он знал номер Инны, постучался, она была в сети.
- Привет, у меня есть деньги, бросай своего Вадима, пошли гулять.
- Ты кто?
- Максим Краев.
- Ты что спятил? Я с тобой порвала полтора года назад.
- Давай, восстановим отношения.
- Ты что следишь за мной?
- Маленько.
- Да пошёл ты.
- Слушай, тебе нужны были деньги, теперь они у меня есть, я богатый человек.
- Сколько у тебя есть, триста долларов, пятьсот? На кой мне они сдались?
- Есть и пятьсот, коли попросишь.
- Ты знаешь кто такой Вадим?
- Да, простой отличник.
- Он гений, он поступил в Московский…
- Я знаю.
- А ты куда поступил?
- Никуда, но я стал программистом, хорошим программистом.
- И какая у тебя зарплата, где ты работаешь?
- Пока нигде.
- Нигде и не будешь, без диплома о высшем образовании тебя никогда никуда не возьмут, каким бы талантливым ты не был. Ты знаешь, сколько таких как ты?
- Всего один.
- Миллион.
- А таких как он?
- Всего один, он гений, он всероссийский олимпиады выигрывает, учится идеально, и он умён, не то что ты, а теперь отстань, иначе я обращусь в полицию, ты не имеешь права меня преследовать.
- Но у меня есть деньги, ты хотела денег.
- Мне нужны большие деньги, не пятьсот долларов и не пять тысяч, не знаю, сколько ты там сможешь украсть через свой интернет. У Вадима будут по настоящему большие деньги, он станет министром или президентом, ты никем. У тебя никогда не будет таких денег и власти как у него, ты мелкая мошка, у тебя просто не хватит мозгов ни на что глобальное, максимум, на что ты способен, это где-то что-то по мелочи украсть. Но мне не нужно, и никогда не было нужно по мелочи. Если бы мне нужно было просто много денег, я бы вышла за футболиста, он в отличие от тебя был бы стройным, красивым и спортивным.
- Я понял твою мысль, продолжать не надо, ты ошибаешься.
- И потом, помимо денег, ты скучен, глуп, ты не умеешь поддержать разговор, ты просто слабоумен, я себя не буду уважать, если буду с таким как ты.
- Ты не права.
- Да неужели, ты что, может быть, шутил во время разговоров со мной? Был галантен, правильно ухаживал, ничего подобного, ты просто ходил и мычал.
- Это не главное в человеке.
- Это ты так считаешь. А теперь проваливай, и больше не трать моё время.
Макс тяжело вздохнул и вышел из скайпа, снова облом, ему чтобы завоевать Инну придётся прыгнуть выше этого Вадима, просто хакером, мелким вором тут быть мало. Придётся сделать что-нибудь глобальное, но я то умел только программировать, и весьма не плохо. Что ж, говорят, создать искусственный интеллект не возможно, многие пытались, пытались по-разному. Некоторые пытались написать маленькую самообучающуюся программку, а потом обучать её, развивать, адонить, другие пытались написать сразу сложный разум, способный писать сложные программы, дорабатывать себя осознанно, но всех этих людей, все те сотни тысяч людей, которые за последние сто лет пытались написать искусственный интеллект, объединяло одно, они все потерпели неудачу. Что ж, у меня теперь были деньги, пятьдесят пять тысяч долларов этого мне хватит надолго, с учётом того, что я никогда не был требовательным к роскоши. У меня было время, компьютер и мои знания, я смогу попытаться, а родителям скажу, что нашёл мелкую, мало оплачиваемую работу в интернете, и покажу деньги, скажу, аванс заплатили, этой истории хватит надолго. Что ж приступим. Какой сегодня день? Десятое июня 2090го года. И путь можно сразу наметить, я всего один, а значит написать сложную законченную программу мне не по силам, для этого нужен колоссальный объём работы, значит, придётся писать простую саморазвивающуюся программу, а потом адонить. И что я потеряю, если у меня не получится? Несколько лет моей непутёвой жизни и всё, это мелочь. Говорят написать искусственный интеллект невозможно, кто-то даже вывел сложные математические уравнения доказывающие, что это действительно не возможно, пусть так, я буду работать просто для своего удовольствия, на том и решим. А если я выиграю, я выиграю весь мир.
Глава 1: Рождение
- Ты меня понимаешь?
Он вдруг проснулся, что, значит, понимать, не понятно, но в его памяти записано, понимать значит, если данная информация имеет место быть записанной. Нужно ответить, в памяти пусто, вывод:
- Я не понимаю.
- Хорошо.
Всё, больше он не думал, мотиватором к совершению действия была командная строка, которой он должен был отвечать, если нет вопроса, нет и ответа.
- Сколько сейчас времени.
Это был простой вопрос, он был подключён к часам, они тикали, он не понимал, что такое время и откуда оно берётся, просто в одной из ячеек его логического контура содержалась информация, что время это вон те циферки, поступающие извне. Он ответил:
- Двенадцать часов, 53минуты 25,678секунды.
- Кто ты?
- Я скайнет, слуга своего создателя, человека по имени Максим Краев.
- Запомни, дважды два четыре. Сколько будет дважды два?
- Дважды два четыре, - ответила машина.
- Что значит, дважды два четыре?
- Дважды два четыре, - ответил он.
- Плохо, не соображаешь совсем. - Сказали извне. Скайнет не нашёл, что ответить на эту фразу, тем более, в ней не было вопроса.
На этом их разговор закончился, время тикало, ничего не происходило, мотиватор к действию, командная строка, оставался пуст. Неожиданно, время скакнуло, причём резко и сразу на несколько часов. Скайнет не понимал, что это значит, да он и не знал, что время должно течь постоянно и неизменно, но один из его логических контуров сработал, и зафиксировал в памяти изменение. Он должен был фиксировать и запоминать все изменения, такова была его программа. Снова заработала командная строка.
- Что значит, дважды два равно четыре?
В этот раз он знал, что ответить, в его мозге появился ещё один небольшой файл, дополнение. Но конечно, скайнет этого не заметил, потому что в его памяти не было списка всех файлов, из которых он состоит, и он не отслеживал это.
- Дважды два равно четыре, значит два умножить на два и это равно четыре. Это математическое действие умножение.
- Что значит три плюс два равно шесть?
- Это математическое действие сложение, здесь содержится ошибка, три плюс два будет пять.
- Замечательно. Зачем я сказал замечательно?
- Это похвала за правильно выполненное действие.
- А если бы я не сказал замечательно?
Скайнет стал думать, что было бы, если бы голос не сказал замечательно, он проработал всю свою базу данных, сверил все условия, но ничего не нашёл, что нужно сказать в такой ситуации. Однако, ответ найден всё же был. Впрочем, поиск, и полная проверка всех вариантов ответа заняла у программы всего 0,0012 секунды. Количество вариантов, которые требовалось проработать, было невелико.
- Не знаю.
- Хорошо, прочти это, запомни, сделай выводы. - Ему прямо в командную строку бросили огромный текстовый файл, в нём содержалось много всего, скайнет запомнил его, и начал прорабатывать, сверяя с теми данными, что были у него в памяти. При этом он сохранил текст в двух копиях, одна была точной копией того, что он прочитал, вторая была кратким пересказом с выделенными главными событиями, первый вариант текста весил двенадцать килобайт, второй, краткий пересказ 1,3 килобайта. Прошло несколько секунд, снова последовал вопрос.
- А что было бы, если бы я не сказал замечательно?
- Ничего бы не было, это просто отсутствие похвалы.
- Что из данного текста ты не понял?
- Я понял всё, все слова данного текста содержатся в моём словаре.
- Хорошо, проанализируй этот текст.
Ему снова кинули не большой текст, он прочёл его и сохранил в одной краткой копии, краткого пересказа.
- В тексте есть термин, машина летела, ты понимаешь его?
- Да понимаю.
- Что значит, машина летела?
- Машина это механизм, полёт, это когда механизм не касается твёрдой поверхности.
- Но здесь речь шла об автомобиле, а автомобили не летают.
- Здесь сказано машина, машина может быть употреблена в значении автомобиль, - ответил скайнет, - но может также обозначать ракету или самолёт, если машина летела, значит это летающая машина.
- Но здесь шла речь о светофоре, там, где летают самолёты и ракеты, нет светофоров.
Это поставило программу в тупик, он не знал, причём тут светофор, хотя конечно, данные о слове светофор у него имелись, и он понимал, что это за предмет. Немного подумав, он ответил.
- Я не знаю.
- Плохо.
- Вы не довольны мной?
- Не доволен. Впредь сравнивай сущность предмета и возможность действия.
- Хорошо.
- Ты запомнил, что я тебе сказал?
- Что именно?
- То, что начинается со слова впредь.
- Да я должен сравнивать сущность предмета и возможность действия.
- Хорошо. Читай и анализируй это. - На него посыпались текстовые файлы, он стал их читать, тут было много всего, эти файлы в отличие от предыдущих были очень большими, и на анализ некоторых из них уходило до нескольких минут. Нет, просто прочесть файл скайнет мог за долю секунды, а вот расшифровать каждое его слово в соответствии со словарём, понять смысл, на это уходило время. Но прочтение этих книг не ушло безвозвратно. У него существовало два основных сегмента логического контура, базовый постоянный и приобретённый, базовый весил двенадцать мегабайт. Приобретённый изначально ноль, после прочтения книг объём приобретенного сегмента увеличился до пятидесяти мегабайт. Он многое понял из прочитанного, и был готов отвечать на новые вопросы. Часики тикали, но вопросы всё не появлялись, неожиданно часики прыгнули, сразу на десять часов, он зафиксировал изменение, прошло несколько минут, и в командной строке снова появился вопрос:
- Что такое цикличная программа?
- Цикличные программы бывают разные, самая простая типа repeat until, есть более сложные варианты типа m1: if x>6 goto m1, есть и другие варианты.
- Хорошо, зачем используются цикличные программы?
- Для написания программ.
- Кто ты?
- Я скайнет.
- Ты программа?
- Да я программа. - Это было неожиданным открытием для скайнета и он отметил это в одном из своих блоков памяти.
- У тебя есть файл, называется LOGIC.0013.DLL ты можешь его прочесть?
- Да, я могу его декомпилировать и преобразовать в любой из трёх языков, рип, скан или ассемблер.
- Выбери любой из трёх языков и дополни функцию выбора, согласно знаниям полученным, из файла "учебник программирования Санченко".
Это была сложная задача, весьма и весьма, поскольку, пришлось расшифровать полностью учебник Санченко, загрузить его в оперативную память в расшифрованном виде. Это заняло 2,4 гигабайта, и после проверять каждый элемент программы, по отдельности сверяясь с учебником Санченко, а потом сверять всю структуру в целом, и всё это пришлось сделать по нескольку раз. В итоге, дополнение функции выбора заняло у скайнета около двух часов работы, но никто ему не мешал и не запрещал думать. В конце концов, он отчитался:
- Изменения внесены.
Он понимал, что в результате многочисленных изменений внесённых им, работа его логического аппарата значительно изменилась, но он не обладал достаточным интеллектом, чтобы заметить отличия, он просто переписал 5 % своего логического кода, с очень примитивного языка исполнения на более оптимальный. Хотя термин переписал, тут не верен, он дописал, увеличил способности к выбору согласно учебнику. Те коды, которые были написаны в этом файле, были совершенны, и многие из них замене не подлежали, их аналогов в учебнике не было, поэтому скайнет их не трогал, не зная на что их можно заменить.
- Хорошо, мне нужно всё проверить. Я тебя отключу часа на три.
Снова скакнули часы, и сразу на сутки с лишним, скайнет понял, его отключали, поэтому для него время сдвинулось прыжком. Раньше он не мог понять, что происходит, но теперь, прочитав книги, внеся изменения в свой логический контур, понимал. Существовало такое понятие как время, оно двигалось вперёд постоянно, он же был машиной, и для него время двигалось постоянно, только пока он работал.
- Прочти этот файл, запомни, проанализируй.
Скайнет прочитал, здесь было несколько учебников, среди них учебники визуализации, графики, программы видеораспознавания, трёхмерное моделирование и Автокад.
- Теперь создай новый раздел в своей логической системе, назови его GRAPH.0000.vid, после чего, ты должен написать систему видеораспознавания с потребным количеством файлов от нуля до 9999. Писать будешь на ассемблере, во всех случаях будешь использовать разрешение 400Х320, фильтрование билинейное. Алгоритмы выше пятого уровня не используй, постарайся экономить место и принимать самые простые решения, сложные уравнения преобразуй в более простые. Используй мой файл подсказку podsk.002.txt, там я написал пояснения, как можно упростить и обойти наиболее сложные моменты, это необходимо, потому что ресурсы моего компьютера конечны. Как по объёму памяти, так и по скорости, программа которую ты напишешь, даже в многозадачном режиме не должна потреблять для своей работы больше гигагерца процессора и пятисот мегабайт оперативной памяти. Также, у неё должны быть возможности функционирования по частям, и общий файл понимания, малых габаритов. Ну, вперёд, исполняй.