В рамках разработки ИИ проблема разума была центральной с самого момента основания дисциплины. В конечном итоге Минский назвал ее сложнейшей задачей. Возможно, именно поэтому в Стэнфорде и Карнеги даже не пытаются пользоваться этим подходом. Они избрали радикально противоположный путь решения проблемы объезда препятствий. Подход слабого ИИ исключительно механистичен и опирается на набор неоправданно эффективных данных. И этот подход сработал лучше, чем ожидалось. Мне нравится думать об этом как о
В 1981 г. профессор Стэнфорда Ричард Паттис представил учебный язык программирования под названием
Решение кроется в том, что нам заранее известны препятствия и мы помогаем Карелу обойти их. Программист видит сетку, которая одновременно является картой мира Карела. Эта сетка хранится в памяти Карела, он как бы ее «представляет». Именно таким подходом воспользовалась команда Университета Карнеги – Меллона, чтобы построить свою беспилотную машину. При помощи лазерного радара, камер и сенсоров генерировалась трехмерная карта окружающего пространства. В ней не было «объектов», подлежащих «распознаванию», скорее, в ней были зоны, где можно и нельзя передвигаться, которые система идентифицировала при помощи машинного обучения. Объекты вроде машин представали в виде трехмерных шаров. Последние были препятствиями, подобно тем, что мы видели в задаче с роботом Карелом.
Это превосходное решение, поскольку оно позволяет резко сократить количество переменных, которые Boss или Junior необходимо учитывать. «Малышу Бену» приходилось идентифицировать все объекты в поле зрения – дороги, пешеходов, здания и дорожные конусы – и затем прогнозировать, где объект окажется в ближайшем будущем. Таким образом, каждое предположение требовало решения сложных уравнений. Boss и Junior не нужно было этого делать, в них уже была загружена трехмерная карта местности и дорога, по которой следует проехать, а при помощи машинного обучения они определяли, по каким конкретно частям карты можно ехать, а по каким – нет. Подход, примененный при разработке Boss и Junior, – это слабый ИИ, опирающийся на технологии качественного картирования.
Машина самостоятельно двигалась согласно созданной ею же карте местности. По сути, у нее была своя сетка, как у Карела. Системе оставалось лишь объезжать препятствия. Если в изначальной карте не было дорожного конуса, он учитывался постфактум. Если же он был, то распознавался как статичный объект и вычислялся заранее – это избавляло процессор от идентификации объекта во время движения.