Текст книги "Эволюция разума"
Автор книги: Рэймонд Курцвейл
Жанр:
Биология
сообщить о нарушении
Текущая страница: 13 (всего у книги 20 страниц)
По моему мнению, такие самоорганизующиеся методы, как я описал для теории мысленного распознавания образов (ТМРО), необходимы для понимания сложной и часто неоднозначной иерархии, встречающейся в реальном мире, в том числе в человеческом языке. Идеальным сочетанием для надежной разумной системы была бы комбинация иерархического подхода, основанного на ТМРО (который, как я считаю, лежит в основе функционирования человеческого мозга), и точной кодировки научных данных. А это и есть сочетание человека и компьютера. В ближайшие годы мы усилим оба полюса. Хотя наша биологическая новая кора достаточно пластична, ее базовая архитектура имеет физические ограничения. Увеличение размеров новой коры в лобной части нашего мозга стало важной эволюционной инновацией, но теперь мы не в состоянии расширить наши лобные доли ни в тысячу раз, ни даже на 10 %. Я хочу сказать, что мы не можем сделать это биологическим путем, но мы совершим это технологически.
Как создать разум
В нашем головном мозге миллиарды нейронов, но что такое нейроны? Просто клетки. Пока между нейронами не образуются связи, мозг не обладает никакими знаниями. Все, что мы знаем, все, что мы есть, зависит от того, как связываются наши нейроны.
Для создания разума будем основываться на тех рассуждениях, которые я привел выше. Начнем с построения распознающего модуля, отвечающего всем необходимым требованиям. Далее создадим множество копий этого модуля – столько, сколько позволяют возможности компьютеров. Каждый модуль рассчитывает вероятность распознавания соответствующего образа. При этом он учитывает наблюдаемую величину каждого входного сигнала и соотносит ее с усвоенной им величиной и ее возможной вариабельностью. Если рассчитанная величина сигнала превосходит пороговое значение, распознающий модуль активирует соответствующий аксон. Пороговое значение и параметры, учитываемые при вычислении вероятности присутствия образа, относятся к числу параметров, которые оптимизируются с помощью генетического алгоритма. Поскольку для распознавания образа не требуется активизации всех входных сигналов, это обеспечивает самоассоциативное распознавание (то есть распознавание всего образа на основании отдельных частей). Также следует учесть возможность ингибирующих сигналов (означающих сниженную вероятность присутствия образа).
В результате распознавания образа распознающий модуль посылает сигнал дальше по аксону. Этот аксон связан с одним или несколькими другими распознающими модулями на более высоком понятийном уровне. Все распознающие модули следующего уровня, к которым приходит сигнал, воспринимают этот образ как входной сигнал. Когда большая часть образа распознана, каждый распознающий модуль отсылает сигналы и на более низкий концептуальный уровень; эти сигналы дают понять, что образ «ожидается». Каждый модуль имеет один или несколько каналов для доставки сигналов ожидания. Когда такой сигнал получен, порог распознавания этого образа в данном распознающем модуле понижается (распознавание облегчается).
Распознающие модули отвечают за связывание с другими распознающими модулями выше и ниже по иерархии. Заметим, что все эти контакты в компьютерном варианте действуют через виртуальные связи (которые, как в виртуальных сетях, представляют собой просто указатели), а не через реальные контакты. Данная система гораздо более гибкая, чем в биологическом мозге. В человеческом мозге новые образы должны быть «приписаны» к реальным распознающим модулям, а между аксонами и дендритами должны образовываться реальные связи. Обычно для этого используется существующая физическая связь, имеющая отношение к данному образу, и за счет дополнительного роста аксонов и дендритов осуществляется новое взаимодействие.
Еще один механизм в биологической новой коре млекопитающих заключается в постепенной ликвидации неиспользуемых нервных связей. Для того чтобы перенастроить распознающие модули новой коры на восприятие каких-то новых образов, необходима физическая реконфигурация связей. И вновь в компьютерном варианте эта задача решается гораздо проще. Мы просто присваиваем новым распознающим модулям новую информацию и программируем новые связи. Если цифровой коре нужно перенастроить ресурсы памяти на новый набор образов, она освобождает распознающие модули от старых образов и задает новые настройки. Такой своеобразный «сбор мусора» и перераспределение памяти являются стандартным свойством многих компьютерных систем. В цифровом мозге нам также следует создать резервную копию старых воспоминаний, прежде чем удалить их из активной коры, что в нашем биологическом мозге мы сделать не в состоянии.
Существует несколько математических методов, которые можно использовать для создания самоорганизующихся иерархических распознающих модулей. Лично я по нескольким причинам предпочитаю метод скрытых иерархических моделей Маркова. Я уже несколько десятилетий пользуюсь этим методом, начиная с самых первых систем распознавания речи и понимания разговорного языка, созданных в 1980-х гг. Да и если говорить в общем, ученые, занятые распознаванием образов, имеют больше опыта в применении данного метода, чем каких-либо других. Этот метод или аналогичные ему математические методы также широко применяются для понимания разговорной речи.
Следует сказать, что не все системы, действующие по принципу скрытых моделей Маркова, являются полностью иерархическими. В некоторых предусмотрено лишь несколько уровней иерархии, например при переходе от акустического состояния к фонеме и слову. Чтобы создать разум, мы позволим системе создавать столько новых уровней иерархии, сколько понадобится. Кроме того, не все системы на основе скрытых моделей Маркова являются самоорганизующимися. В некоторых запрограммированы фиксированные контакты, однако эти системы умеют эффективно удалять многие исходные связи, присваивая им нулевой вес. В наших системах, созданных в 1980-х и 1990-х гг., происходило автоматическое удаление контактов, вес которых был ниже определенного уровня, а также формирование новых контактов для лучшего соответствия тренировочным данным и обучения. Для оптимальной организации связей с новыми распознающими модулями мы можем использовать линейное программирование.
Наша цифровая новая кора будет характеризоваться определенной степенью избыточности, особенно это относится к часто встречающимся образам. Это обеспечивает надежное узнавание распространенных образов, а также является ключевым элементом в достижении инвариантного распознавания различных форм образа. Однако нам придется установить правила для ограничения избыточности, поскольку не следует отводить слишком много места для сохранения самых распространенных образов низкого порядка.
Правила, ограничивающие избыточность, порог распознавания и связь порога распознавания с ожидаемостью образа, – примеры общих параметров, которые влияют на эффективность таких самоорганизующихся систем. Сначала мы выберем их значения интуитивно, а затем оптимизируем с помощью генетического алгоритма.
Очень важный этап – обучение мозга, как биологического, так и компьютерного. Как я уже писал, иерархическая система распознавания образов (и цифровая, и биологическая) за один момент осваивает не больше двух иерархических уровней (а скорее один). Чтобы усовершенствовать систему, я начну с предварительно обученных иерархических сетей, которые уже научились распознавать человеческую речь, печатные буквы и структуры разговорного языка. Такая система сможет читать документы, написанные разговорным языком, но за один раз по-прежнему сможет осваивать примерно один понятийный уровень. Ранее усвоенные понятия создадут достаточно прочную основу для продвижения на следующие уровни. Система может вновь и вновь обращаться к уже прочитанным документам, достраивая новые понятийные уровни при каждом следующем прочтении. Так и люди глубже понимают текст, когда читают его повторно. В нашем доступе имеются миллиарды страниц информативного материала, такого как «Википедия».
Система также будет содержать модуль критического мышления, который станет осуществлять постоянное сканирование всех существующих образов и оценивать их совместимость с другими образами (идеями) цифровой новой коры. У биологической новой коры такой функции нет, вот почему люди иногда совмещают в своей голове совершенно несовместимые идеи. В случае обнаружения противоречивых данных модуль попытается найти решение, используя как кортикальные структуры самой системы, так и весь массив имеющихся литературных данных. Принятие решения может просто сводиться к установлению некорректности одной из идей (если она противоречит большинству имеющихся данных). В более конструктивном плане может быть выявлена идея более высокого понятийного уровня, которая позволяет разрешить кажущееся несоответствие путем объяснения обеих исходных идей. Система добавит это решение в виде нового образа и свяжет его с теми идеями, которые запустили поиск. Модуль критического мышления будет работать постоянно.
Кроме того, я предполагаю установить модуль, который вы являет нерешенные вопросы в различных дисциплинах. Этот модуль будет искать ответы на подобные вопросы во всех возможных источниках информации также на постоянной основе. Как я объяснял в начале книги, хранящаяся в новой коре информация состоит из глубоко угнездившихся друг в друге образов и, следовательно, является полностью метафорической. Мы можем использовать конкретный образ для поиска решения практически в любой несвязанной области.
В качестве примера вспомните метафору, которую я приводил в четвертой главе, связывая случайные движения молекул газа и случайность эволюционных изменений. Молекулы газа в банке движутся непредсказуемым образом, и все же через определенное время все они из этой банки выйдут. Я отмечал, что это наталкивает на важный вопрос об эволюции разума. Подобно молекулам газа, эволюционные изменения тоже происходят во всех направлениях, не имея какой-либо цели. Однако мы наблюдаем изменения в сторону усложнения и усовершенствования разума и в итоге – появление новой коры, способной осуществлять иерархическое мышление. Таким образом, можно наблюдать, как бесцельный и ненаправленный процесс (в термодинамическом плане) может привести к полезному результату (в плане биологической эволюции).
Я также уже писал о том, что догадка Чарлза Лайеля о роли небольших изменений горных пород под действием воды в формировании гигантских каньонов подтолкнула Чарлза Дарвина к аналогичным наблюдениям о роли малых изменений в формировании видов живых организмов. Поиск таких метафор будет еще одним непрерывным процессом в работе цифрового мозга.
Нам следует найти способ обрабатывать одновременно несколько списков, что эквивалентно структурному мышлению. Списком может быть определение ограничений, которым должно удовлетворять решение. Каждый шаг может запускать рекурсивный поиск в существующей иерархии идей или в доступной литературе. Кажется, человеческий мозг способен одновременно обрабатывать четыре таких списка (без помощи компьютера), но у цифровой коры таких ограничений быть не должно.
Мы также хотим усилить наш искусственный мозг такой способностью, которой блестяще владеют компьютеры: речь идет о способности управляться с огромными массивами данных, а также быстро и эффективно применять известные алгоритмы. Например, Wolfram Alpha сочетает в себе возможности множества научных методов и применяет их к тщательно подобранным данным. Такие системы продолжают совершенствоваться, учитывая заявление Вольфрама об экспоненциальном сокращении случаев отказов системы.
Наконец, нашему новому мозгу нужна цель. Цель выражается в виде набора задач. Когда речь идет о биологическом мозге, задачи определяются центрами удовольствия и страха, унаследованными от старого мозга. Эти примитивные двигатели созданы биологической эволюцией для того, чтобы вид мог выжить, но новая кора научила нас сублимировать их. Задача Ватсона состоит в ответах на вопросы «Джеопарди!» Еще одна просто формулируемая задача может заключаться в прохождении теста Тьюринга. Чтобы это сделать, цифровой мозг должен уметь по-человечески изложить свою вымышленную историю, чтобы претендовать на роль реального (биологического) человека. Он, кроме того, должен уметь скрывать свои способности, поскольку любую систему, которая обладает такими знаниями, как, скажем, Ватсон, очень легко отличить от человека.
Но интереснее то, что мы можем поставить перед нашим новым мозгом более амбициозную задачу, такую как создание лучшего мира. Конечно, на этом пути возникает множество вопросов: лучшего для кого? в каком плане? для людей как биологического вида? для всех сознательных существ? если так, то кого можно считать сознательным существом?
Если небиологический мозг получит такую же способность изменять мир, как биологический мозг (на самом деле значительно большую способность, чем невооруженный биологический мозг), нам необходимо предусмотреть его морально нравственное воспитание. Начать можно с золотого правила нравственности, установленного нашими религиозными традициями.
Глава восьмая
Мозг как компьютер
Наш мозг, по форме напоминающий французский деревенский хлеб, представляет собой переполненную химическую лабораторию, в которой никогда не прекращаются диалоги между нейронами. Представьте себе этот яркий клубок жизни, этот сгусток клеток мышиного цвета, эту фабрику идей, этого маленького деспота в костяной чаше, это скопление бегущих во всех направлениях нейронов, это маленькое все, этот переменчивый центр веселья, этот ящик, в который вся суть личности втиснута, как комок одежды в спортивную сумку.
Современная география мозга сохранила чудесную архаичность, как средневековая карта, в которой рядом с известными мирами соседствуют неизведанные земли, населенные монстрами.
В математике вы не понимаете вещей. Вы просто их используете.
Джон фон Нейман
Уже с момента появления первых компьютеров в середине XX века начались дебаты не только относительно предела их возможностей, но и относительно того, можно ли рассматривать человеческий мозг в качестве формы компьютера. Общепринятое мнение по последнему вопросу изменилось кардинально от идеи о том, что эти два обрабатывающих информацию «устройства» принципиально не различаются, к идее об их принципиальном различии. Итак, является ли наш мозг компьютером?
Когда в 1940-х гг. компьютеры впервые привлекли к себе внимание общественности, их тут же стали воспринимать в качестве мыслящих машин. Первый компьютер ENIAC[119]119
ENIAC (Electronic Numerical Integrator and Computer; электронный числовой интегратор и вычислитель) – первый электронный цифровой компьютер общего назначения, созданный в США в годы Второй мировой войны.
[Закрыть], о создании которого было объявлено в 1946 г., пресса назвала «гигантским мозгом». По мере роста доступности компьютеров в последующие десятилетия их постоянно сравнивали с мозгом, который может делать то, чего не может обыкновенный биологический мозг.
Компьютерные программы быстро научили машины действовать в соответствии с этими рекламными заявлениями. «Общая программа для решения задач», созданная в 1959 г. Гербертом Саймоном, Дж. Клиффом Шоу и Алленом Ньюэллом в Университете Карнеги – Меллон, смогла доказать теорему, с которой не справились Бертран Рассел и Альфред Норт Уайтхед в своей знаменитой работе 1913 г. Principia Mathematica[120]120
«Принципы математики» (или «Начала математики») – трехтомный труд по логике и философии математики, выпущенный Расселом и Уайтхедом в 1910, 1912 и 1913 гг.
[Закрыть]. В последующие десятилетия стало ясно, что компьютеры значительно превосходят невооруженный человеческий мозг по способности решать математические задачи, диагностировать заболевания и играть в шахматы, однако робота трудно научить завязывать шнурки или понимать разговорную человеческую речь, которую запросто понимает пятилетний ребенок. С такими задачами компьютеры начинают справляться только в наши дни. Забавно, что эволюция компьютерного разума происходит в обратном направлении в сравнении с созреванием человеческого разума.
Реклама 1957 года, отражающая популярное видение компьютера как гигантского мозга.
Вопрос о том, являются ли человеческий мозг и компьютер эквивалентными на каком-то уровне, до сих пор остается открытым. Во введении я писал о том, что в Интернете можно найти миллионы ссылок, относящихся к сложности человеческого мозга. Аналогичным образом, если в Google запустить поиск на тему «мозг – не компьютер», вы тоже обнаружите миллионы ссылок. На мой взгляд, подобные формулировки аналогичны формулировке «яблочное пюре – не яблоко». Технически утверждение верно, но из яблока можно сделать яблочное пюре. Возможно, правильнее сказать: «Компьютеры – не текстовые процессоры». Правда, что компьютеры и текстовые процессоры существуют на разном понятийном уровне, но компьютер может стать текстовым процессором, если обладает соответствующей программой. Аналогичным образом, компьютер может стать мозгом, если снабжен программами мозга. Именно это и пытаются сделать такие ученые, как я.
Таким образом, вопрос заключается в следующем: сможем ли мы найти алгоритм, который превратит компьютер в эквивалент человеческого мозга? В конце концов, ввиду своей универсальности (ограниченной только мощностью) компьютер может следовать любому созданному нами алгоритму. Напротив, человеческий мозг действует лишь по специфическим алгоритмам. Эти методы разумны, так как обеспечивают значительную пластичность и возможность реструктуризации внутренних связей на основе пережитого опыта, но все эти функции можно имитировать с помощью компьютерных программ.
Идея об универсальности компьютерных вычислительных методов (идея о том, что компьютер общего назначения может использовать любой алгоритм) возникла одновременно с появлением первых настоящих компьютеров. Я назову четыре основных принципа, лежащих в основе универсальности и осуществимости компьютерных вычислений и их применимости к описанию нашего мышления. Эти принципы стоит упомянуть еще и по той причине, что человеческий мозг тоже их использует. Первый принцип заключается в способности передавать, запоминать и обрабатывать информацию. В 1940-х гг. под словом «компьютер» люди понимали аналоговую машину, в которой числовые данные представлялись в виде аналоговых физических переменных, таких как напряжение, а специализированные элементы могли выполнять арифметические действия, такие как сложение или умножение. Однако серьезным ограничением аналоговых компьютеров является недостаточная точность. Данные могут быть представлены с точностью около одного процента, а по мере увеличения числа арифметических операций точность данных еще больше снижается. При проведении большого числа вычислений результат становится столь неточным, что вообще теряет смысл.
Всякий, кто помнит попытки записывать музыку с помощью аналоговых устройств, знает об этом эффекте. Первая копия была значительно хуже оригинала по уровню шума (вспомним, что «шум» представляет собой случайные несовпадения). Копия первой копии была еще хуже, а десятая копия представляла собой один только шум. Считалось, что зарождавшийся мир цифровых компьютеров будет поражен той же болезнью. Это беспокойство понятно, если речь идет о передаче цифровой информации по каналу. Идеальных каналов не бывает, каждый характеризуется определенным уровнем ошибки. Допустим, у нас есть канал, который правильно проводит каждый байт информации с вероятностью 0,9. Если я передаю сообщение размером один бит, вероятность точной передачи по этому каналу составляет 0,9. Если объем информации составляет два бита, точность передачи равняется 0,92 = 0,81. А если мне нужно передать один байт (8 бит)? Вероятность безошибочной передачи этой информации меньше 50 % (0,43, если быть точным). Вероятность безошибочной передачи пяти байт информации составляет примерно 1 %.
Очевидный путь решения проблемы состоит в повышении качества каналов. Допустим, при прохождении по каналу миллиона бит информации возникает лишь одна ошибка. Но если я пересылаю файл, содержащий полмиллиона байт (это размер небольшой программы или базы данных), вероятность правильной передачи будет менее 2 %, даже при таком высоком качестве канала. Учитывая, что ошибка всего в одном байте информации может полностью обесценить компьютерную программу или любые другие данные, ситуация является неприемлемой. Таким образом, вне зависимости от качества канала, поскольку вероятность ошибки передачи данных быстро растет с увеличением объема передаваемой информации, это ограничение кажется непреодолимым.
Создатели аналоговых компьютеров подошли к решению проблемы путем постепенного снижения требований (то есть позволяли решать только такие задачи, в которых допустима небольшая погрешность), и, если ограничиваться определенными вычислениями, эти компьютеры могли быть полезными. С другой стороны, цифровые компьютеры нуждаются в постоянном обмене информацией – не только между компьютерами, но и внутри самого компьютера. Это обмен информацией между модулем памяти и центральным процессором. Внутри центрального процессора осуществляется связь между регистрами и вычислительными регистрами. И даже в вычислительных регистрах происходит обмен между битовыми регистрами. Таким образом, обмен информацией идет буквально на всех уровнях. Если учесть, что количество ошибок быстро возрастает с усилением информационного обмена и что ошибка в одном байте информации может нарушить весь процесс, цифровые вычислительные методы, как казалось, были обречены на провал.
Таково оставалось общественное мнение до тех пор, пока американский математик Клод Шеннон (1916–2001) не показал, каким образом можно достичь достаточно точной передачи информации с помощью самых ненадежных каналов передачи. В своей всемирно известной статье «Математическая теория связи» (A Mathematical Theory of Communication), опубликованной в журнале Bell System Technical Journal в июле и октябре 1948 г., и, в частности, в теореме о пропускной способности канала Шеннон постулировал, что с помощью канала с любым уровнем шума (ниже 50 %, поскольку такой канал передает только шум) можно передавать сообщение с любой точностью. Другими словами, число ошибок может составлять один бит из n битов даже при сколь угодно большом значении n. Например, в предельном случае, если у вас есть канал, безошибочно передающий информацию лишь 51 % времени (то есть бит правильной информации передается лишь немного чаще, чем бит неправильной информации), вы тем не менее можете передавать сообщения таким образом, что ошибка будет лишь в одном бите из миллиона или в одном бите из триллиона или из триллиона триллионов бит.
Как же это возможно? Ответ заключается в избыточности информации. Сейчас это кажется очевидным, но тогда дело обстояло иначе. Если, к примеру, я передаю каждый бит информации три раза, надежность результата станет значительно выше. Если этого недостаточно, нужно просто повышать степень избыточности до тех пор, пока не будет достигнут приемлемый результат. Повтор информации – простейший путь получения желаемой точности передачи информации по каналу с высоким уровнем шума, но не самый эффективный. В статье Шеннона, с которой началось развитие теории коммуникации, были предложены оптимальные методы определения ошибок и коррекционные коды, позволяющие достичь любой точности передачи информации с помощью любого направленного канала связи.
Читатели старшего поколения наверняка помнят телефонные модемы, проводившие информацию по шумным аналоговым телефонным линиям. Такая связь сопровождалась шипением, свистом и многими другими помехами, но при этом позволяла передавать цифровые сообщения с очень высокой точностью – в соответствии с теоремой Шеннона о зашумленном канале. Та же проблема и такое же решение существуют для цифровой памяти. Почему, по вашему мнению, программные диски, CD и DVD продолжают работать даже при появлении царапин или после падения на пол? Еще раз скажем спасибо Шеннону.
Вычислительный процесс состоит из трех элементов: коммуникации (которая, как я подчеркнул, осуществляется как внутри компьютера, так и между компьютерами), памяти и логических вентилей (производящих арифметические и логические действия). Точность логических вентилей тоже можно сделать сколь угодно высокой с помощью определения ошибок и коррекционных кодов. Благодаря теореме и теории Шеннона мы можем без помех управлять большими массивами сложных цифровых данных и алгоритмов. Важно отметить, что головной мозг тоже использует принцип Шеннона, хотя эволюция человеческого мозга произошла задолго до появления мозга самого Шеннона! Как мы видели, большинство образов или идей (идея – тоже образ) хранится в мозге в избыточном количестве. Основной смысл избыточности образов заключается в преодолении ненадежности цепей нейронов.
Второй важный принцип в основе теории информации я уже упоминал – это универсальность вычислительных методов. В 1936 г. Алан Тьюринг описал «машину Тьюринга», которая представляет собой не реальный механизм, а еще один мысленный эксперимент. Этот абстрактный компьютер состоит из бесконечно длинной ленты памяти, в ячейках которой располагаются цифры 1 или 0. Эта информация служит для машины входным сигналом, и машина за один раз прочитывает информацию в одной ячейке. Кроме того, машина снабжена таблицей правил (в частности, подчиняется принципу хранимой программы), представленных в виде пронумерованных утверждений. Каждое правило определяет одно действие, если в текущей ячейке расположена цифра 0, и другое, если в текущей ячейке цифра 1. К возможным действиям относится написание на ленте 0 или 1, перемещение ленты на одну ячейку влево или вправо или остановка. Каждое состояние определяет следующее состояние машины.
Блок-диаграмма машины Тьюринга, состоящей из считывающей и записывающей головки и внутренней программы, осуществляющей переходы между состояниями.
Входной сигнал задается информацией на ленте. Программа работает, а когда алгоритм выполнен, машина останавливается и выходные данные оказываются отпечатанными на ленте. Заметим, что, хотя теоретически лента имеет бесконечную длину, любая реальная программа, не попадающая в бесконечный цикл, использует лишь ограниченную часть ленты, так что, если мы возьмем ленту конечного размера, машина по-прежнему сможет решать некий набор задач.
Схема машины Тьюринга кажется простой – так сделал ее создатель. Он хотел, чтобы его машина была максимально простой (но не проще, если перефразировать Эйнштейна[121]121
Эйнштейн говорил: «Научная теория должна быть максимально простой, но не проще того».
[Закрыть]). В результате работ Тьюринга и его бывшего учителя Алонзо Черча был сформулирован так называемый тезис Черча – Тьюринга: если некая функция не может быть вычислена машиной Тьюринга, она не может быть вычислена никакой другой машиной, подчиняющейся законам природы. Хотя машина Тьюринга выполняет лишь несколько команд и обрабатывает за один раз только один бит информации, она может решить любую задачу, которую способен решить любой другой компьютер. Иными словами, любая машина, эквивалентная машине Тьюринга, может вычислить любой алгоритм (решить любую задачу, которую мы в состоянии сформулировать).
В «строгой» формулировке тезиса Черча – Тьюринга постулируется эквивалентность между тем, что и как думает человек, и тем, что может рассчитать машина. Основная идея заключается в том, что человеческий мозг подчиняется законам природы и поэтому его способность обрабатывать информацию не может превышать аналогичную способность машины (в том числе машины Тьюринга).
Безусловно, статья Тьюринга 1936 г. заложила теоретические основы информатики, но важно отметить, что на работу Тьюринга большое влияние оказала лекция венгерско-американского математика Джона фон Неймана (1903–1957), которую он прочел в Кембридже в 1935 г. Тьюринг использовал в своей машине концепцию фон Неймана о хранимой программе[122]122
S. Bochner. A Biographical Memoire of John von Neumann. National Academy of Sciences. Washington, D.C. 1958.
[Закрыть]. Верно и то, что на фон Неймана оказала влияние статья Тьюринга, где элегантным образом изложены принципы информатики; в конце 1930-х и в начале 1940-х гг. фон Нейман рекомендовал прочесть эту статью всем своим коллегам[123]123
Turing, A. M. On Computable Numbers, with an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, 1930, 2 (42): 230–65. http://www.comlab.ox.ac.uk/activities/ieg/e-library/sources/tp2ie.pdf.
Turing, A. M. On Computable Numbers, with an Application to the Entscheidungsproblem: A correction. Proceedings of the London Mathematical Society, 1938, 43: 544–546.
[Закрыть].
В той же статье Тьюринг поведал о другом неожиданном открытии, касающемся неразрешимых задач. Неразрешимые задачи – это те, что хорошо описываются единственным решением (которое, как можно показать, существует), но (как тоже можно показать) не могут быть решены никакой машиной Тьюринга (то есть вообще никакой машиной). Представление о существовании таких задач в корне противоречит сформировавшейся к началу XX в. догме о том, что все проблемы, которые можно сформулировать, являются решаемыми. Тьюринг показал, что число неразрешимых задач не меньше числа разрешимых задач. В 1931 г. к такому же выводу пришел Курт Гедель, сформулировавший «теорему о неполноте». Такая странная ситуация: мы можем сформулировать задачу, можем доказать, что у нее существует единственное решение, но при этом знаем, что никогда не сможем это решение найти.
Тьюринг показал, что вычислительные машины действуют на основании очень простого механизма. Поскольку машина Тьюринга (и, следовательно, любой компьютер) может определять свою дальнейшую функцию на основе полученных ею ранее результатов, она способна принимать решения и создавать иерархические информационные структуры любой сложности.
В 1939 г. Тьюринг сконструировал электронный калькулятор Bombe, который помогал дешифровать сообщения, составленные немцами на кодирующей машине Enigma. К 1943 г. группа инженеров при участии Тьюринга закончила создание машины Colossus, которую иногда называют первым в истории компьютером. Это позволило союзникам расшифровывать сообщения, созданные более сложной версией Enigma. Машины Bombe и Colossus были сконструированы для решения единственной задачи и не могли перепрограммироваться. Но свою функцию они выполняли блестяще. Считается, что отчасти благодаря им союзники могли предвидеть тактику немцев на протяжении всей войны, а Королевские военно-воздушные силы Великобритании в Битве за Британию смогли одолеть втрое превосходящие их по численности силы Люфтваффе.
Именно на этой основе Джон фон Нейман создал компьютер современной архитектуры, отражающей третью из четырех важнейших идей теории информации. На протяжении прошедших с тех пор почти семидесяти лет основное ядро этой машины, названной «машиной фон Неймана», практически не изменилось – как в микроконтроллере в вашей стиральной машине, так и в самом крупном суперкомпьютере. В статье, опубликованной 30 июня 1945 г. и озаглавленной «Первый проект отчета о EDVAC», фон Нейман изложил основные идеи, которые с тех пор направляли развитие информатики[124]124
Von Neumann, John. First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania, 1945. Von Neumann, John. A Mathematical Theory of Communication by John Von Neumann in the Bell System Technical Journal, 1948.
[Закрыть]. В машине фон Неймана присутствует центральный процессор, где выполняются арифметические и логические операции, модуль памяти, в котором хранятся программы и данные, массовая память, программный счетчик и входные/выходные каналы. Хотя статья предназначалась для внутреннего пользования в рамках выполнения проекта, для создателей компьютеров она стала Библией. Вот так иногда обычный рутинный отчет может изменить мир.