Вычислительная Теория Всего

Создатель пакета Mathematica Стивен Вольфрам (Stephen Wolfram) рассказывает о своих находках по пути к большой цели – сделать все знания вычислимыми, чтобы иметь возможность их поиска, обработки и преобразования. Его новая система Wolfram Alpha ставит целью, ни много ни мало, смоделировать и объяснить законы, лежащие в основе мироздания.



Перевод выступления

Итак, сегодня я хочу поговорить об одной идее. Большой идее. Я даже думаю, что в конечном итоге эта идея будет считаться крупнейшей идеей из всех, появившихся в прошлом веке. Это – представление о вычислимости. Эта идея, конечно, дала нам всю сегодняшнюю компьютерную технику. Но в идее вычислимости заложено намного больше. Это действительно глубокая, очень мощная и фундаментальная идея, и мы только начинаем осознавать её влияние.

В течение последних 30 лет я работал над тремя крупными проектами, каждый из которых опирался на идею вычислимости и развивал её. В свои молодые годы, я, как физик, пользовался компьютером как инструментом. Затем я начал вникать в проблему и думать о том, какие вычисления мне могли бы понадобиться, из каких элементов их можно было бы построить, и как их максимально автоматизировать. В конечном итоге я разработал целую систему, основанную на символическом программировании, что позволило мне создать пакет Mathematica. В течение последних 23 лет мы обогащали пакет Mathematica новыми идеями и возможностями во всё возрастающем темпе, и я рад сообщить, что это помогло создать много полезного в научных исследованиях, образовании и многих других областях. Должен признаться, что при создании Mathematica мною двигал и один эгоистичный мотив. Я хотел пользоваться пакетом сам, подобно Галилею, использовавшему свой собственный телескоп 400 лет назад . Но я хотел познать не астрономический, а вычислительный мир.

Обычно принято считать, что программа – это сложная вещь, создаваемая ради каких-то конкретных целей. Но как насчёт пространства всех возможных программ? Перед вами схема простейшей программы. [надпись: Цвета трёх верхних клеток задают цвет нижней.] Если запустить эту программу, то получится вот что. Очень просто. Теперь слегка изменим правила нашей программы, и получим другой результат, всё ещё очень простой. Изменим ещё. Получается несколько сложнее, но если выполнять программу дальше, то обнаружится, что узор, хоть и замысловат, имеет чёткую структуру. Отсюда вопрос: А что ещё может получиться? Что ж, можем устроить эксперимент. Маленький математический эксперимент чтобы посмотреть.

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

(Смех) [на слайде: содержание его книги с этим названием]

Эта другая наука, - более общая, чем основанные на математике науки, развивавшиеся за последние 300 лет Для меня всегда казалось тайной то, как природа создаёт, без видимых усилий, такую массу вещей, кажущихся нам столь сложными. Что ж, думаю, что секрет найден. Она просто перебирает имеющееся в вычислительном мире, и часто попадает на такие вещи, как Правило 30 или как вот это. Знание этого раскрывает многие давние тайны науки. Хотя при этом возникают новые вопросы, как например, вычислительная неприводимость [к более простому]. Мы привыкли, что наука может предсказывать, но вот такие вещи принципиально неприводимы [к более простому уровню]. Единственный способ узнать результат процесса – это, по сути, наблюдать за его развитием. Это связано с тем, что я называю принципом вычислительной равнозначности, который говорит, что даже крайне простые системы могут производить вычисления абсолютно любой сложности. Ни развитая техника, ни биологическая эволюция не нужны для выполнения вычислений любой сложности, достаточно того, что и так происходит повсеместно. Достаточно таких вот простых правил. [слайд: клеточный автомат, машина Тьюринга]. Так вот, отсюда следуют очень глубокие выводы: о пределах науки, о возможности прогноза и контролирования, к примеру, биологических процессов или экономических систем, о разуме во вселенной, о проблематике свободы воли и о создании технологий.

Разрабатывая столько лет эту науку, я всегда про себя думал: «Что же станет её первым ошеломляющим приложением?» Что ж, ещё когда я был ребёнком, я думал о том, как можно было бы систематизировать знания и сделать их вычислимыми. Такие учёные как Лейбниц, задавались этим вопросом ещё 300 лет назад. Я всегда предполагал, что для достижения реального прогресса, мне придётся, по существу, полностью продублировать мозг. Но тут у меня возникла мысль: Ведь моя научная парадигма подразумевает кое-что другое. К тому же, теперь у меня в руках мощные вычислительные возможности пакета Mathematica, и, как президент фирмы, я обладаю материальными возможностями для реализации крупных, почти сумасбродных, проектов. И я решил просто попробовать понять, какую часть систематизированных знаний, накопленных во всём мире, мы можем сделать вычислимыми.

Это был большой и очень сложный проект; я был не уверен, даст ли он вообще результат. Но я рад сообщить, что проект продвигается весьма успешно, и в прошлом году нам удалось запустить сайт с первой интернет-версией системы Wolfram Alpha. Её цель – предоставить серьёзный инструмент обработки знаний, который вычисляет ответы на вопросы. Давайте разок попробуем. Начнём с простейшего. Надеюсь, не подведёт. [пишет: «2+2»; на экране – 4] Отлично. Получилось. Пока всё по плану. (Смех) Теперь возьмём орешек покрепче. Ну, скажем, нечто … нечто математическое и, если повезёт, система даст ответ [пишет: «Интеграл x^2 sin^3 x dx»; на экране – формула] и даже расскажет кое-что интересное про сопутствующую математику. [на экране: графики и метод вычисления] Можно задать вопрос о реальном мире. Ну, скажем,… не знаю… Каков ВВП Испании? И система должна ответить. Можно посчитать и что-нибудь связанное с этим, скажем, ВВП Испании, поделённый на… ну, не знаю… гм … пусть будет доход Microsoft’a

(Смех)

Идея в том, что можно как бы напечатать вопрос как есть, в том виде, как он пришёл к нам в голову. Давайте спросим что-нибудь из области медицины. Скажем, лабораторный анализ показал уровень холестерина в 140 единиц у мужчины возраста 50 лет… Печатаем, и Wolfram Alpha сейчас найдёт все открытые медицинские данные и постарается узнать, какая часть населения имеет такой и уровень и пр. Или спросим, ну, скажем, о Международной Космической Станции

И что важно, в ответ на этот запрос Wolfram Alpha не просто что-то просматривает, она вычисляет в реальном времени, [на экране – карта с траекторией и точкой месторасположения] где находится в данный момент станция, как быстро она движется и пр. Так что Wolfram Alpha знает об очень и очень многом. На настоящий момент она неплохо осведомлена обо всём, что имеется в обычной справочной библиотеке. Но цель – намного выше. Говоря в общем – демократизировать все знания, быть авторитетным источником во всех областях, быть в состоянии вычислить ответы на конкретные вопросы, не через поиск того, что было написано другими, а используя встроенные знания для вычисления новых ответов на конкретные вопросы.

Конечно, Wolfram Alpha – проект колоссальный, долгосрочный, с огромным числом интересных проблем. Для начала, необходимо просеять несметное множество различных источников, фактов и цифр; с этой целью мы построили целый конвейер из программ в Mathematica и групп специалистов разных областей. Но это только начало. Даже имея сырые факты и цифры, для получения ответов кто-то должен их вычислить, а кто-то – реализовать все необходимые методы, модели, алгоритмы и прочее, что создано наукой в течение веков. [пишет: «кофеин»; на экране: состав и молекула] Но, даже имея всё это, остаётся масса работы. [пишет: «затмение в Лонг-Бич»; на экране: 20.05.2012] На сегодняшний день в системе Wolfram Alpha – 8 миллионов строк кода из Mathematica, написанных с помощью экспертов из множества разных областей.

Но ключевая идея Wolfram Alpha – возможность задавать вопрос при помощи обычного человеческого языка. Значит, надо научиться интерпретировать все те странные выражения, которые люди вбивают в строку поиска. Должен признаться, этот шаг казался мне просто невыполнимым. Решающим оказались два фактора. Во-первых, масса новых лингвистических идей, пришедших из исследований мира вычислений. Во-вторых, осознание того, что наличие вычислимых знаний полностью меняет возможности нашего подхода к пониманию языка. И, конечно, теперь, когда Wolfram Alpha доступна всем, есть чему научиться исходя из её реального пользования. В действительности происходит своего рода взаимное обогащение системы Wolfram Alpha и её пользователей. И это вдохновляет. Статистика запросов к системе показывает, что с первого раза успешно обрабатываются более 80% из них. Если взглянуть, например, на приложения iPhone, то здесь процент значительно выше. Мне всё это, конечно же, приятно.

Однако по многим аспектам Wolfram Alpha всё ещё находится в начале пути. [пишет: «трафик www.apple.com»] Система успешно масштабируется. И мы чувствуем себя увереннее. Скоро технология Wolfram Alpha начнёт применяться в самых разных местах, как для работы с такими общедоступными данными, как сейчас на сайте, так и с частными и внутрифирменными данными. Я обнаружил, что на самом деле Wolfram Alpha предоставляет новый тип вычислений, которые можно назвать «вычислениями, основанными на знаниях». Их начальной точкой является не просто вычисление, а колоссальный объём встроенных знаний. И когда это происходит, то изменяется сама экономика доставки вычислений, будь то в интернете или где-либо ещё.

Сейчас сложилась достаточно интересная ситуация: с одной стороны, есть пакет Mathematica с его точным формальным языком и огромным количеством тщательно подобранных возможностей, способный многое сделать всего за пару строк. Давайте покажу пару примеров. Вот – простейший пример программирования в Mathematica. Здесь целый набор возможностей, интегрированных воедино. Вот этой вот строкой мы создадим небольшой пользовательский интерфейс, позволяющий нам делать увлекательные вещи. Если продолжать, то вот чуть более сложная программа, которая делает всевозможные алгоритмические штуки, создаёт пользовательский интерфейс и т.п. Но это всё очень точные вещи. Это – точное описание на точном формальном языке, и оно позволяет пакету Mathematica узнать, что надо делать.

С другой стороны, есть Wolfram Alpha, в которую встроен весь беспорядок реального мира, человеческого языка и т.д. Что же произойдет, если мы их совместим? Я думаю, это прекрасно. С системой Wolfram Alpha внутри Mathematica можно, например, создавать точные программы, работающие с данными из реального мира. Вот – очень простой пример. Можно также попробовать ввести не очень чёткие данные и дать возможность Wolfram Alpha самой догадаться, о чем идёт речь. Давайте попробуем. [пишет неформальное название «Много-Игольник»] Но самое захватывающее, я думаю, [на экране: полиэдр - логотип фирмы Wolfram Research] в том, что это – реальная возможность демократизации программирования. Это означает, что каждый сможет сказать простым языком, что он хочет, а затем – в этом весь смысл – Wolfram Alpha сможет догадаться, какой программный код даст то, что просит пользователь, и показать ему примеры, чтобы тот выбрал, что ему нужно, чтобы построить всё более и более крупные и точные программы. А иногда Wolfram Alpha будет в состоянии сделать всё сразу и тут же предоставить большую программу, способную проделать все необходимое. Итак, вот – большой сайт, где где собрана масса образовательного и прочего демонстрационного материала по разным предметам. Ну, не знаю, может, прямо здесь покажу вам пример. Это – пример одного из вычислительных документов. Довольно небольшой код из пакета Mathematica, который может работать тут.

Отлично. Давайте ещё раз взглянем на проблему в целом. Так вот, с учётом создания нашего нового типа науки, есть ли общий метод создания её технических приложений? Так, в случае с физическими материалами, мы привыкли просто искать повсюду, и находить, что какие-то конкретные материалы полезны для каких-то конкретных технических целей. Оказывается, ровно то же самое можно делать и в вычислительном мире. Там существуют бездонные запасы программ. Задача в том, чтобы приспособить их к человеческим целям. Например, что-то вроде Правила 30 может работать как очень хороший генератор случайности. Другие простые программы являются хорошими моделями природных и социальных процессов. К примеру, Wolfram Alpha и Mathematica сейчас наполнены алгоритмами, обнаруженными в результате нашего поиска в вычислительном мире. Вот, например, – вернёмся немного назад – это оказалось неожиданно популярным среди композиторов, ищущих музыкальные формы через поиск в вычислительном мире. В каком-то смысле мы можем использовать вычислительный мир для создания массового индивидуализированного творчества. Например, я лелею надежду, что станет возможно, при помощи Wolfram Alpha, делать изобретения и открытия повседневно, прямо на ходу, и обнаруживать такие замечательные вещи, которые никакой инженер, и никакой процесс постепенной эволюции никогда не получит.

А это приводит нас к самому фундаментальному вопросу: Можно ли где-то там, внутри этого вычислительного мира найти наш физический мир? Возможно, есть какое-то совсем простое правило, простая программа для нашей вселенной. Вся история физики вроде бы учит нас, что правила в основе вселенной должны быть очень сложны. Но в вычислительном мире, как мы только что убедились, крайне простые правила могут порождать крайне сложное и разнообразное поведение. А может ли оказаться, что именно это и происходит с нашей вселенной? Если правила для вселенной просты, то они неминуемо будут очень абстрактны и на очень низком уровне [программного языка]. Они будут работать, например, намного ниже уровня пространства и времени, из-за чего представление становится трудным. Но в как минимум большом количестве случаев можно представить себе вселенную в виде некоторой сети, которая, при достаточно больших размерах, ведёт себя как непрерывное пространство – очень похоже на то, как масса молекул может вести себя, как непрерывная жидкость. Ну а тогда вселенная может развиваться путём применения маленьких правил, которые постепенно видоизменяют эту сеть. И каждое принципиально возможное правило, в каком-то смысле, является кандидатурой на нашу вселенную.

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

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

(Смех)

И вот, я работаю над идеей вычислений теперь уже более 30 лет, создаю инструменты и методы, превращаю плоды умственного труда в миллионы строк кода, в топливо для серверных ферм. И с каждым годом я убеждаюсь в ещё большей мощности идеи вычислений. Мы прошли уже много, но так много ещё нужно пройти. От оснований науки до технологического предела, вплоть до самого определения человеческой природы, я считаю, что идея вычисления предопределена быть определяющей идеей нашего будущего.

Благодарю вас.

(Аплодисменты)

Крис Андерсон: Это было потрясающе. Не уходите – у меня вопрос.

(Аплодисменты)

Это, прямо говоря, потрясающее выступление. Можете ли вы в двух словах сказать, как эти идеи соотносятся с теорией струн или прочими теориями, которые принято считать фундаментальными объяснениями вселенной?

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

К.А.: В аудитории присутствует Бенуа Мандельброт. Он тоже доказал, что сложные структуры могут возникнуть из простого начала. Ваша работа имеет отношение к его?

С.В.: Я думаю да. Я рассматриваю работу Бенуа Мандельброта, как один из основополагающих трудов в этой области. Бенуа был особо заинтересован во вложенных структурах, фракталах и т.п. вещах, где структура в чём-то подобна древообразной, где большая ветвь создаёт малые ветви, и ещё более малые и т.д. Это – один из путей прийти к сложным структурам. Полагаю, что вещи вроде Правила 30 для клеточных автоматов выводят нас на другой уровень. На другой уровень в очень точном смысле, потому что эти вещи, по всей видимости, способны создавать структуры такой степени сложности, какая только достижима …

Об этом я могу говорить долго, но не буду.

К.А.: Стивен Вольфрам. Спасибо!

(Аплодисменты)

Translated into Russian by Namik Kasumov
Reviewed by Alexander Chemeris

Источник: TED

Комментариев нет:

Отправить комментарий

ShareThis

Активность на сайте