Эволюция разума
Шрифт:
Очевидный путь решения проблемы состоит в повышении качества каналов. Допустим, при прохождении по каналу миллиона бит информации возникает лишь одна ошибка. Но если я пересылаю файл, содержащий полмиллиона байт (это размер небольшой программы или базы данных), вероятность правильной передачи будет менее 2 %, даже при таком высоком качестве канала. Учитывая, что ошибка всего в одном байте информации может полностью обесценить компьютерную программу или любые другие данные, ситуация является неприемлемой. Таким образом, вне зависимости от качества канала, поскольку вероятность ошибки передачи данных быстро растет с увеличением объема передаваемой информации, это ограничение кажется непреодолимым.
Создатели аналоговых компьютеров подошли к решению проблемы путем постепенного снижения требований (то есть позволяли решать только такие задачи, в которых допустима небольшая погрешность),
Таково оставалось общественное мнение до тех пор, пока американский математик Клод Шеннон (1916–2001) не показал, каким образом можно достичь достаточно точной передачи информации с помощью самых ненадежных каналов передачи. В своей всемирно известной статье «Математическая теория связи» (A Mathematical Theory of Communication), опубликованной в журнале Bell System Technical Journal в июле и октябре 1948 г., и, в частности, в теореме о пропускной способности канала Шеннон постулировал, что с помощью канала с любым уровнем шума (ниже 50 %, поскольку такой канал передает только шум) можно передавать сообщение с любой точностью. Другими словами, число ошибок может составлять один бит из n битов даже при сколь угодно большом значении n. Например, в предельном случае, если у вас есть канал, безошибочно передающий информацию лишь 51 % времени (то есть бит правильной информации передается лишь немного чаще, чем бит неправильной информации), вы тем не менее можете передавать сообщения таким образом, что ошибка будет лишь в одном бите из миллиона или в одном бите из триллиона или из триллиона триллионов бит.
Как же это возможно? Ответ заключается в избыточности информации. Сейчас это кажется очевидным, но тогда дело обстояло иначе. Если, к примеру, я передаю каждый бит информации три раза, надежность результата станет значительно выше. Если этого недостаточно, нужно просто повышать степень избыточности до тех пор, пока не будет достигнут приемлемый результат. Повтор информации — простейший путь получения желаемой точности передачи информации по каналу с высоким уровнем шума, но не самый эффективный. В статье Шеннона, с которой началось развитие теории коммуникации, были предложены оптимальные методы определения ошибок и коррекционные коды, позволяющие достичь любой точности передачи информации с помощью любого направленного канала связи.
Читатели старшего поколения наверняка помнят телефонные модемы, проводившие информацию по шумным аналоговым телефонным линиям. Такая связь сопровождалась шипением, свистом и многими другими помехами, но при этом позволяла передавать цифровые сообщения с очень высокой точностью — в соответствии с теоремой Шеннона о зашумленном канале. Та же проблема и такое же решение существуют для цифровой памяти. Почему, по вашему мнению, программные диски, CD и DVD продолжают работать даже при появлении царапин или после падения на пол? Еще раз скажем спасибо Шеннону.
Вычислительный процесс состоит из трех элементов: коммуникации (которая, как я подчеркнул, осуществляется как внутри компьютера, так и между компьютерами), памяти и логических вентилей (производящих арифметические и логические действия). Точность логических вентилей тоже можно сделать сколь угодно высокой с помощью определения ошибок и коррекционных кодов. Благодаря теореме и теории Шеннона мы можем без помех управлять большими массивами сложных цифровых данных и алгоритмов. Важно отметить, что головной мозг тоже использует принцип Шеннона, хотя эволюция человеческого мозга произошла задолго до появления мозга самого Шеннона! Как мы видели, большинство образов или идей (идея — тоже образ) хранится в мозге в избыточном количестве. Основной смысл избыточности образов заключается в преодолении ненадежности цепей нейронов.
Второй важный принцип в основе теории информации я уже упоминал — это универсальность вычислительных методов. В 1936 г. Алан Тьюринг
Блок-диаграмма машины Тьюринга, состоящей из считывающей и записывающей головки и внутренней программы, осуществляющей переходы между состояниями.
Входной сигнал задается информацией на ленте. Программа работает, а когда алгоритм выполнен, машина останавливается и выходные данные оказываются отпечатанными на ленте. Заметим, что, хотя теоретически лента имеет бесконечную длину, любая реальная программа, не попадающая в бесконечный цикл, использует лишь ограниченную часть ленты, так что, если мы возьмем ленту конечного размера, машина по-прежнему сможет решать некий набор задач.
Схема машины Тьюринга кажется простой — так сделал ее создатель. Он хотел, чтобы его машина была максимально простой (но не проще, если перефразировать Эйнштейна [121] ). В результате работ Тьюринга и его бывшего учителя Алонзо Черча был сформулирован так называемый тезис Черча — Тьюринга: если некая функция не может быть вычислена машиной Тьюринга, она не может быть вычислена никакой другой машиной, подчиняющейся законам природы. Хотя машина Тьюринга выполняет лишь несколько команд и обрабатывает за один раз только один бит информации, она может решить любую задачу, которую способен решить любой другой компьютер. Иными словами, любая машина, эквивалентная машине Тьюринга, может вычислить любой алгоритм (решить любую задачу, которую мы в состоянии сформулировать).
121
Эйнштейн говорил: «Научная теория должна быть максимально простой, но не проще того».
В «строгой» формулировке тезиса Черча — Тьюринга постулируется эквивалентность между тем, что и как думает человек, и тем, что может рассчитать машина. Основная идея заключается в том, что человеческий мозг подчиняется законам природы и поэтому его способность обрабатывать информацию не может превышать аналогичную способность машины (в том числе машины Тьюринга).
Безусловно, статья Тьюринга 1936 г. заложила теоретические основы информатики, но важно отметить, что на работу Тьюринга большое влияние оказала лекция венгерско-американского математика Джона фон Неймана (1903–1957), которую он прочел в Кембридже в 1935 г. Тьюринг использовал в своей машине концепцию фон Неймана о хранимой программе [122] . Верно и то, что на фон Неймана оказала влияние статья Тьюринга, где элегантным образом изложены принципы информатики; в конце 1930-х и в начале 1940-х гг. фон Нейман рекомендовал прочесть эту статью всем своим коллегам [123] .
122
S. Bochner. A Biographical Memoire of John von Neumann. National Academy of Sciences. Washington, D.C. 1958.
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.