Вопрос: Я бы хотел узнать о вашем методе преобразования информации от одного элемента атомного уровня к другому аналогичному элементу. Если вы используете квантовую механику или естественное взаимодействие между двумя элементами, то принцип работы такого прибора приблизится к самой Природе. Например, если вы делаете компьютерное моделирование магнита по методу Монте Карло для изучения критических явлений, ваш компьютер атомного уровня будет очень близок самому магниту. Что вы об этом думаете?
Ответ: Да. Все, что мы делаем, — это Природа. Мы приспосабливаем ее под себя, например для выполнения вычислений. В магните существует некоторый тип соотношений; если хотите, там существует продолжающийся в каком-то смысле вычислительный процесс, весьма похожий на происходящее в Солнечной системе — требующий определенного осмысления. Но это могут быть не те вычисления, которые мы хотим произвести в данный момент. То, что мы хотим сделать, — это устройство, для которого можно менять программы и проводить все необходимые вычисления, а не только для проблемы магнита, которую само устройство с удовольствием готово решать. Я не могу использовать для компьютера Солнечную систему до тех пор, пока у меня не появится задача — отследить движение планет; все, что я должен буду делать в этом случае, — это наблюдать. Была забавная статья, написанная в качестве шутки. В далеком будущем появляется «статья», в которой обсуждается новый метод выполнения аэродинамических вычислений: вместо применения компьютеров сегодняшнего дня автор изобретает простой прибор для продувания воздуха за крылом. (Он заново изобрел аэродинамическую трубу!)
Вопрос: Я недавно прочитал в газете статью о том, что работа нервной системы в человеческом мозге гораздо медленнее компьютеров настоящего времени, а элемент нервной системы гораздо меньше. Не думаете ли вы, что компьютеры, о которых вы рассказывали сегодня, имеют что-то общее с работой нервной системы мозга?
Ответ: Существует аналогия между мозгом и компьютером в том отношении, что, несомненно, существуют элементы, которые можно включить под контролем других. Нервные импульсы контролируют или возбуждают другие нервы; в известном смысле это часто зависит от того, сколько было получено импульсов — что-то вроде AND или его обобщения. Сколько энергии затрачивает клетка мозга на один такой переход? Я не знаю числа. Время, требуемое для включения в мозге, намного больше аналогичного времени даже в современных компьютерах, не говоря уже о воображаемом атомном компьютере будущего, но система внутренних связей в мозге разработана значительно детальнее. Каждый нерв соединен с тысячами других, а транзистор мы соединяем только с двумя-тремя.
Некоторые смотрят на деятельность мозга, как на работу механизма, и видят, что во многих отношениях он превосходит современные компьютеры, а во многих отношениях компьютер превосходит мозг. Эту тему инспирируют конструкторы машин, стремящиеся заложить в них все больше возможностей. Нередко случается, что у инженера возникает мысль, как работает мозг (по его мнению), и он конструирует машину, которая ведет себя подобным образом. Такая новая машина действительно может работать очень хорошо. Но я должен предупредить, что ничего не рассказывал о том, как работает мозг, и так ли важно знать об этом, чтобы создать работоспособный компьютер. Для создания летательного аппарата не обязательно понимать, каким образом птицы машут крыльями и как учесть в конструкции эти особенности. Не нужно понимать устройство двигательной системы лап гепарда — животного, бегающего очень быстро, — чтобы сконструировать автомобиль с колесами, которые вертятся очень быстро. Поэтому для создания устройства, на много порядков превышающего возможности Природы, нет необходимости имитировать ее детальное поведение. Это интересная тема, и я хотел бы поговорить об этом.
Ваш мозг очень слаб по сравнению с компьютером. Я задам серию чисел: один, три, семь… Или, лучше: ichi, san, ni, go, ichi, hachi, ichi, ni, ku, san, go[8]. А теперь я хотел бы, чтобы вы повторили их в обратном порядке. Компьютер может вместить десятки тысяч чисел и выдать их мне в обратном порядке или взять их сумму, или выполнить массу других вещей, которые мы сами сделать не можем. С другой стороны, если я рассматриваю лицо, глаза человека, я могу сказать, кто это, если знаю этого человека, или сказать, что не знаю его. Мы пока еще не понимаем, как создать такую компьютерную систему, которая выдавала бы нам подобную информацию при задании черт лица даже при условии, что вы ее учили и она видела множество лиц.
Другой интересный пример — машины, играющие в шахматы. Просто удивительно, что мы можем создавать машины, которые играют в шахматы лучше, чем почти все присутствующие здесь. Но они делают это, перебирая множество вариантов. Компьютер двигает фигуру, я могу передвинуть фигуру, потом опять он и так далее. Компьютеры просматривают каждую альтернативу и выбирают лучший вариант. Они пересматривают миллионы альтернатив, однако человек, владеющий шахматной игрой, делает это иначе. Он распознает рисунок, структуру. Перед тем как сделать ход, он просматривает только тридцать или сорок позиций. Поэтому, хотя правила при игре в Го проще, машины играют в Го довольно плохо, поскольку в каждой позиции существует слишком много возможностей сделать ход и слишком много вещей, которые надо проверить, — машины не могут смотреть так глубоко. Проблема распознавания рисунка, структуры и что делать в данных обстоятельствах — это то, что пока инженерам (они любят называть себя учеными-компьютерщиками) дается с трудом. Это, безусловно, одна из важнейших задач компьютеров будущего — возможно, более важная, чем то, о чем я говорил. Заставим машины эффективно играть в Го!
Вопрос: Думаю, что всякий метод вычислений не будет плодотворным, пока он не начнет сам составлять такие устройства или программы. Я размышлял над статьей Фредкина по консервативной логике, она очень интригующая, но как только я подумал о составлении простой программы, используя такие устройства, я запутался, так как подобная программа значительно сложнее обычной программы. Думаю, мы легко получим некоторую бесконечную регрессию, поскольку процесс создания определенной программы будет более сложным, чем сама программа, и при попытке автоматизировать программу автоматизированная программа будет намного сложнее и так далее, особенно если программа жестко смонтирована, а не отделяется от компьютера, как обычные программы. Полагаю, это основной вопрос — понять методику построения.
Ответ: У нас несколько иной опыт. Нет никакой бесконечной регрессии: она останавливается при некотором уровне сложности. Машина, о которой так ясно говорит Фредкин, и та, о которой рассказывал я в случае квантовой механики, представляют универсальные компьютеры в том смысле, что они могут быть запрограммированы и выполнять различную работу. Это не жестко смонтированная программа. Они являются не более жестко смонтированными, чем обычный компьютер, в который можно заложить информацию — программа представляет часть входных данных, — и машина решает поставленные задачи. Она с жестко смонтированной программой, но она и универсальна, как обычный компьютер. Такие вещи очень неопределенны, но я нашел алгоритм. Если у вас есть программа, написанная для необратимой машины — обычная программа, — тогда я могу преобразовать ее в обратимую машинную программу с помощью схемы прямого преобразования, которая очень неэффективна и использует много больше пошаговых операций. В реальных ситуациях число шагов может оказаться гораздо меньше. Но я по крайней мере знаю, что могу взять программу с 2n шагами, которая необратима, и преобразовать ее в обратимую программу с 3n шагами. Появилось гораздо больше шагов. Я сделал очень неэффективную программу, поскольку не пытался найти минимум — единственный разумный способ для создания более эффективной программы. Я в самом деле не думаю, что вы нашли регрессию, о которой упомянули — может быть, вы правы, но я не уверен.
Вопрос: Разве мы не жертвуем многими достоинствами таких устройств — ведь обратимые машины работают достаточно медленно? Я весьма пессимистически настроен на этот счет.
Ответ: Они работают медленнее, но они значительно меньше. Я не делаю их обратимыми, пока мне это не понадобится. Нет смысла делать эти машины обратимыми, если только вы не пытаетесь снизить энергию грандиозно, почти абсурдно, так как необратимые машины хорошо функционируют только при энергиях, в 80 раз превышающих кТ. Но 80 — это много меньше современных энергий 109 или 1010 кТ, и я по крайней мере произведу улучшение по энергии в 107 раз, причем смогу это сделать еще с необратимыми машинами! И это факт. Для настоящего момента это верный путь продвинуться вперед. Ради интеллектуального развлечения я задал вопрос, насколько далеко мы можем продвинуться принципиально, не практически, — и тогда я открыл, что можно продвигаться по энергии до долей кТ, сделать машины микроскопическими, микроскопическими в смысле атомных размеров. Но для этого я должен использовать обратимые физические законы. Необратимость возникает, если тепло распространяется по большому количеству атомов, и его нельзя собрать обратно. Когда я делаю машину очень маленькой, если только в ней не будет охлаждающего элемента, который будет состоять из множества атомов, — я должен работать обратимо. Практически, возможно, никогда и не наступит время, когда вам захочется привязать маленький компьютер к большому куску свинца, который содержит 1010 атомов (это все еще очень мало), сделав его эффективно необратимым. Поэтому я соглашусь с вами, что на практике в течение долгого времени или, возможно, всегда мы будем пользоваться необратимыми схемами. С другой стороны, почему бы не позволить себе небольшое приключение в науке — попытаться найти ограничения на размеры во всех направлениях — и расширить границы человеческого воображения? Хотя на каждом этапе эта деятельность выглядит абсурдной и бесполезной, часто оказывается, что по меньшей мере она не лишена пользы.