Цели и стандартная модель
Если рассматривать интеллектуального агента снаружи, то имеет значение только последовательность действий, которую он создает, исходя из получаемого им потока входных данных. При рассмотрении изнутри действия должны выбираться программой, заложенной в агента . Люди от рождения имеют, скажем так, одну агентскую программу, которая со временем заставляет их действовать с разумной мерой успешности при выполнении громадного круга задач. На сегодняшний день это не относится к ИИ: мы не знаем, как построить одну универсальную программу ИИ, которая делала бы все, и вместо этого создаем разные типы агентских программ для разных типов задач. Мне придется дать хотя бы минимальные объяснения того, как работают разные агентские программы. Более подробные объяснения вы найдете в приложениях в конце книги, адресованных тем, кому это будет интересно. (Ссылки на конкретные приложения даются верхними индексами, например здесь Аи здесь Г.) В центре внимания вопрос о том, как стандартная модель реализуется в этих разных типах агентов — иными словами, как ставится задача и как она транслируется агенту.
Самый простой способ сообщить о поставленной задаче — в форме цели . Когда вы садитесь в свою машину с автопилотом и нажимаете иконку «дом» на экране, бортовой компьютер принимает это как поставленную задачу, переходит к плану и осуществляет движение по маршруту. Состояние мира или соответствует цели (да, я дома), или не соответствует (нет, я не живу в аэропорту Сан-Франциско). В классический период исследования ИИ, до 1980-х гг., когда неопределенность стала главной проблемой, большинство исследований исходило из восприятия мира как полностью наблюдаемого и детерминистского, и цели имели смысл в качестве способа постановки задачи. Иногда имеется также функция издержек для оценки решений: оптимальным является то решение, которое минимизирует совокупные издержки при достижении цели. В случае автомобиля она может быть встроенной — например, издержки маршрута есть некая фиксированная комбинация времени и потребления топлива, — или же у человека может быть опция установления соотношения между этими двумя параметрами.
Ключом к выполнению таких задач является способность «мысленно моделировать» эффекты возможных действий, которая иногда называется опережающим поиском . Ваша машина с автопилотом имеет внутреннюю карту и знает, что если ехать на восток от Сан-Франциско по Бэй-бридж, то попадешь в Окленд. Алгоритмы, восходящие к 1960-м гг. [60] Оптимальные маршруты определяются с помощью А алгоритма и множества производных от него: Peter Hart, Nils Nilsson, and Bertram Raphael, «A formal basis for the heuristic determination of minimum cost paths », IEEE Transactions on Systems Science and Cybernetics SSC- 4 (1968): 100–107.
, находят оптимальные маршруты, заглядывая вперед и ведя поиск среди многих возможных последовательностей действий А. Эти алгоритмы являются повсеместным элементом современной инфраструктуры: они дают нам не только указания, куда ехать, но и решения в области авиапутешествий, роботизированной сборки, организации строительства и логистики в сфере доставки. С некоторыми модификациями по нейтрализации нежелательного поведения противников та же идея опережающего изучения используется в играх, таких как крестики-нолики, шахматы и го, целью которых является выигрыш в соответствии с конкретным определением этого понятия в данной игре.
Алгоритмы опережающего поиска чрезвычайно эффективны для своих специфических задач, но не отличаются гибкостью. Например, AlphaGo «знает» правила го, но только в том смысле, что имеет две подпрограммы, написанные на традиционном языке программирования наподобие С++: одна подпрограмма генерирует все возможные допустимые шаги, другая кодирует цель, определяя, является ли данное состояние выигрышем или проигрышем. Чтобы AlphaGo сыграла в другую игру, кто-то должен переписать ее код на С++. Более того, если вы задаете новую цель, скажем, посетить экзопланету на орбите Проксимы Центавра, она станет исследовать миллиарды последовательностей ходов в го в бесплодной попытке найти ту последовательность, которая приведет к достижению цели. Она не может заглянуть внутрь кода на С++ и понять очевидное: никакая последовательность шагов го не доставит вас на Проксиму Центавра. Знание AlphaGo, в сущности, заперто внутри «черного ящика».
В 1958 г., через два года после летнего собрания в Дартмуте, на котором и появилась сфера разработки ИИ, Джон Маккарти предложил намного более универсальный подход, открывающий «черный ящик»: написание разумных программ общего назначения, способных усваивать знание по любой теме и мыслить на его основе, чтобы ответить на любой вопрос, имеющий ответ [61] Статья, представившая программу Advice Taker и системы знания на основе логики: John McCarthy, «Programs with common sense», in Proceedings of the Symposium on Mechanisation of Thought Processes (Her Majesty’s Stationery Office, 1958).
. В особенности полезным здесь окажется практическое рассуждение того типа, что предложил Аристотель: «Выполнение действий А, Б, В… достигнет цели Г». Цель может быть какой угодно: убедиться, что в доме чисто, до того, как я там окажусь, выиграть в шахматы, не потеряв ни одного своего коня, снизить мои налоги на 50 %, посетить Проксиму Центавра и т. д. Новый класс программ, предложенный Маккарти, скоро получил название экспертной системы [62] Чтобы составить некоторое представление о значимости систем на основе знания, рассмотрим системы баз данных. База данных содержит четкие отдельные факты вроде местоположения моих ключей и личностей четырех моих друзей в Facebook. Системы баз данных не могут хранить общие правила, например правила игры в шахматы или юридическое определение британского гражданства. Они могут сосчитать, сколько людей по имени Алиса имеют друзей, которые носят имя Боб, но не способны определить, отвечает ли конкретная Алиса условиям предоставления британского гражданства, или приведет ли к победе определенная последовательность шахматных ходов. Системы баз данных не могут соединить два фрагмента знания, чтобы получить третий: они поддерживают функцию запоминания, но не мышления. (Действительно, многие современные системы баз данных дают возможность добавлять правила и использовать эти правила для получения новых фактов; в той мере, в которой они это делают, они являются системами на основе знания.) Хотя они представляют собой ограниченные версии систем на основе знания, системы баз данных лежат в основе большей части сегодняшней коммерческой деятельности и приносят сотни миллиардов долларов ежегодно.
.
Читать дальше
Конец ознакомительного отрывка
Купить книгу