Добавить в цитаты Настройки чтения

Страница 51 из 96

     В Америке негры опять грабили магазины, поджигали дома и машины, танцевали голыми на улицах крупных городов и яростно требовали к себе уважения на основании одного только оттенка кожи.

     Словом, мир жил своей жизнью, а мы жили своей. Пашка всё чаще пропадал в спортзалах, тренируясь там вместе с оставшимися оперативниками. Лариса занялась систематизацией и сведением всех наших знаний о реальном мире, Маши-Мокоши, апостолах, героях, сверхспособностях и так далее. Надеясь, путём систематизации и перекрёстных ссылок, выделить новую информацию или, хотя бы, понять куда и где следует копать в первую очередь, чтобы узнать что-то полезное.

     Я же пытался разработать искусственный интеллект.

     Знаете, наверное, нет такого программиста, который бы никогда не пытался написать настоящий ИИ. Если даже таковой разработчик найдётся, то можете плюнуть ему в среду разработки и смело заявить, что он жалкий ремесленник, а не романтик. Настоящий программист всегда должен быть хотя бы немного романтиком

     Поначалу, когда ты ещё только учишься, создание «умной программы» кажется не таким уж сложным делом. Ты пытаешься, пробуешь, но ничего не получается. Остаются только разрозненные наработки, которые через несколько лет, если найдёшь их в поисках по жёсткому диску своей рабочей станции, покажутся тебе смешными и нелепыми. Второй этап наступает, когда ты уже более-менее опытный разработчик. На этот раз ты понимаешь огромную сложность задачи и перед тем как садиться писать код сначала читаешь тематические статьи, выбираешь наиболее перспективное направление разработки ИИ, готовишься, собираешь информацию, размышляешь и… обычно дело так и не доходит до самого кодирования.

     Что до направлений разработки ИИ, то их, как говорится, на любой вкус. Можно начать разрабатывать «сверху». Это направление экспертных систем, худшим примером которых является встроенная справка операционной системы виндовс. Это декларативные языки программирования где описывается набор правил, начальное и желаемое конечное состояние, то есть описывается решение задачи, но не указывается алгоритм перехода к этому решения. Если вам знакомы такие названия, как «лисп» или «пролог», то вы меня наверняка понимаете. Наконец, к методологии «разработки сверху» можно отнести макропрограмиование, когда любая правильно составленная текстовая строка сама может рассматриваться как код и таким образом программа получает возможность самостоятельно дописывать себя. Разрабатывая ИИ сверху, программист пытается создать готовую сложную структуру способную к самостоятельному развитию и изменению. Первая проблема с которой сталкиваются «разработки сверху» это создание модуля целеполагания.

     Направление разработки ИИ «снизу» подразумевает, что программист не создаёт заранее готовую сложную и уже почти разумную структуру, вместо этого он, образно говоря, ставит на огонь «первичный бульон» и с интересом разглядывает то, что может там зародиться. Приверженцы этого направления пытаются копировать существующие в природе живые системы. Это целый класс генетических алгоритмов, в которых различные решения состязаются друг с другом чтобы выделить лучшее, то есть наиболее соответствующее заданным изначально критериям. Если из двух случайных решений ты всегда можешь выбрать какое из них лучше, но понятия не знаешь, как вообще решать поставленную задачу - тогда используй какую-нибудь из множества реализаций генетических алгоритмов и твоё дело в шляпе.

     Другое направление разработки «снизу» это получившие большую известность последнее время нейронные сети копирующие процессы, происходящие в настоящих нейронах живых существ. Проблема в том, что в мозге того же муравья так много нейронов, что для построения нейронной сети аналогичной мощности потребуется суперкомпьютер целиком. Архитектура вычислительных машин вообще довольно плохо предназначена для построения нейронных сетей. Здесь, наверное, нужна какая-нибудь другая архитектура.



     Наконец, к разработке «снизу» можно отнести эмуляции биоценозов, где виртуальные хищники соревнуются с виртуальными травоядными и даже с виртуальной травой и внутри каждой группы используются различные стратегии выживания.Главная проблема «разработки снизу» - выделить из множества всплывших на поверхность «первичного бульона» сгустков что-нибудь полезное.

     Но самый странный факт относительно ИИ заключается в том, что ИИ… уже давно изобретён. Достаточно взять любой микроконтроллер, любую систему обработки изображений, генерации текста, любой компилятор наконец - все они успешно выполняют свои функции, некоторые даже способны к ограниченному самообучению. Это, так называемый, слабый ИИ. В отличии от «слабого», сильный или полноценный ИИ должен не только уметь учиться, но, в первую очередь, должен уметь целенаправленно изменять самого себя.

     Какое-то время назад, ещё в те времена, когда победное шествие java только начиналось, приверженцы программирования на языке Cи хвастались тем, что весь язык Си может быть написан на самом языке Си. Аналогичным образом: искусственный интеллект (сильный ИИ) — это программа, которая может писать другие программы и, в частности, может написать сама себя. Такая вот рекурсия вместо нормального определения. Впрочем, это нормально, учитывая то, что мы сейчас пытаемся дать определение тому, чего пока ещё не существует.

     А между тем, именно в этом заключалось моё главное преимущество перед всеми остальными разработчиками ИИ, от работающих у себя в гаражах гиков до целых научных институтов занимавшихся сей проблематикой. С некоторых пор я совершенно точно знал, что создание сильного ИИ возможно. Более того, я сам или любой другой человек, мы оба всего лишь НПС в огромной и сложной компьютерной игре. Мы сами - искусственные интеллекты. Те самые «объекты-процессы» о которых как-то проговорилась Мокошь.

     Я с полной уверенностью и определённостью мог утверждать, что создание сильного ИИ реально. В этом было моё преимущество. Все остальные только надеялись, что создать сильный ИИ возможно, а я точно знал это. Оставалось немногое. Оставалось его действительно создать.

     Может быть таким образом я всего лишь пытался убежать от действительности? Спрятаться от мыслей о приближающейся большой войны и окончательной гибели привычного мне мироустройства за попытками решить выдуманную задачу? Возможно и даже почти наверняка так оно и есть. Сейчас, оглядываясь назад, думаю: неужели тогда я отчаялся настолько, что единственная моя надежда была на рукотворного бога из машины, который неожиданно появится и всё разрешит?

     Я мог не признавать этого, но понимание того, сколь мало зависит от меня, моих решений и моих действий, сильно било по мозгам. Современный человек привык считать себя центром вселенной и даже если он утверждает, что это не так, то всё равно это именно так. Настоящее понимание собственной ничтожности и невозможности до конца управлять своей собственной судьбой, не говоря уже о тщетности попыток спасти других людей и привычный тебе мир - всё это сильно давило на меня. Заставляло с ненормальной фанатичностью сосредоточиться на разработке ИИ. Я неделями не поднимался из бомбоубежища на поверхность. Спал урывками и по несколько часов. Лариса и Пашка обеспокоились моим состоянием, но я отвергал помощь друзей и на все их вопросы отвечал одно и тоже: -Потом, дайте немного времени.