Даже если мы поднимем процент от пятидесяти до девяноста, мы все равно столкнемся с теми же ограничениями. У второго поколения IQ будет сто девяносто. У третьего – двести семьдесят один. Здесь и находится задокументированный предел человеческого интеллекта. Четвертое поколение его преодолеет и достигнет отметки в триста сорок три целых и девять десятых. Но как бы далеко в будущее мы ни заглянули, IQ этих впечатляющих компьютеров никогда не составит больше тысячи. Они будут невероятно умны, но все же их развитие будет иметь вполне определенные границы.
Пределы интеллекта
Мой пятый аргумент против неизбежности сингулярности – это пределы интеллекта. Даже если машины будут рекурсивно совершенствоваться, развитие может упереться в естественные пределы. Многие другие сферы жизни имеют границы, почему интеллект должен от них отличаться?
Наука полна ограничений. Физика, например, утверждает, что нельзя разогнаться выше скорости света. Химия – что скорость химической реакции тоже имеет свои пределы. Биология – что человеческую жизнь невозможно увеличить намного больше ста двадцати лет или что невозможно бежать марафон в течение двух часов. Возможно, ИИ тоже столкнется с подобными ограничениями?
При игре в рулетку не имеет значения, насколько вы умны, – вы никогда не обыграете казино. Колесо в буквальном смысле настроено против вас. Самый умный человек в этом случае просто не станет играть. Компьютеры умеют считать вероятности гораздо лучше людей. Они могут поступать намного рациональнее. Однако более точный подсчет вероятности не поможет им победить природу. Лучшим решением может оказаться то, для нахождения которого достаточно гораздо более простых и грубых расчетов.
Вычислительная сложность
Мой шестой аргумент основан на понятии вычислительной сложности – хорошо разработанной математической теории, которая описывает сложность разрешения некоторых вычислительных проблем. Пока мы не изобретем машины, основанные на еще неизвестных формах вычисления, даже экспоненциальные улучшения не помогут нам из-за существования фундаментальных пределов возможного для компьютеров.
Закон Мура – увеличение мощности компьютеров каждые два года – убедил нас в том, что технологический прогресс сможет решить большинство вычислительных задач[30]. Мы живем в экспоненциальное время, и экспоненциальные улучшения в вычислительной мощности дают повод верить, что нам остается подождать нужного поколения компьютеров. Через десять лет машины станут в тысячу раз мощнее, чем нынешние компьютеры. Через двадцать лет – в миллион раз. Через тридцать – в миллиард. То есть можно с уверенностью сказать, что однажды компьютеры будут владеть такой вычислительной мощностью, что мы сможем делать с их помощью все, что захотим? К сожалению, это предположение далеко от правды.
Ученые разработали серьезную теорию вычислительной сложности. Она описывает, сколько вычислений нужно, чтобы решить разные проблемы конкретным или абстрактным способом. Для теории вычислительной сложности не имеет значения, какой именно компьютер используется. Это может быть персональный компьютер, смартфон или умные часы. Разница в устройстве обусловливает только разницу во времени выполнения задачи, ее постоянный коэффициент. То, что нас интересует, касается гораздо больших изменений во времени выполнения, чем постоянный коэффициент задачи. Для нас важен экспоненциальный рост, и, как мы увидим в дальнейшем, даже больше, чем экспоненциальный.
Допустим, вы хотите вычислить наибольшее число в списке. Это – линейная проблема. Вам необходимо просканировать весь список. Этот процесс займет время, пропорциональное количеству входных данных, то есть объему списка. Если список удвоить, это займет в два раза больше времени. Если утроить – в три раза.
А теперь представим, как можно упорядочить этот список – от меньшего к большему. Простейший метод заключается в том, чтобы найти для начала меньший пункт; как мы только что выяснили, это займет пропорциональное объему списка время. Затем необходимо найти предпоследнюю по величине вещь и т. д. В итоге время, которое нужно потратить на сортировку этого или любого другого списка, увеличивается в геометрической прогрессии. Если удвоить длину списка, это займет в четыре раза больше времени. Если утроить – в девять раз. Если учетверить – в шестнадцать. Звучит так себе. Однако вычисления могут масштабироваться еще хуже.
Существуют такие вычислительные проблемы, в которых время выполнения растет экспоненциально вместе с объемом входных данных. Представьте себе такую задачу: супруги при разводе хотят поделить свое имущество на две равноценные части. Простейший метод решения – это высчитать сумму каждой возможной комбинации вещей. Если стоимость одной из таких комбинаций равна половине стоимости всего имущества, то ответ найден. Каждый раз к входным данным – списку вещей – прибавляется одна единица, количество комбинаций, которые надо учитывать, удваивается, как и (в худшем случае) время выполнения алгоритма.