Шрифт:
Третий крупный раздел искусственного интеллекта — планирование. Человек обладает способностью строить планы с незапамятных времен. Можно сказать, что человек и выжил-то благодаря планированию. Если мы перенесемся в палеолит, то и там встретимся с проблемой, требующей планирования: как распределить наличный объем пропитания между числом потребителей — членов племени? Кому отдать сочное мясо, богатое калориями: тем, кто собирает ягоды, или охотникам?
А если один из собирателей — женщина на последних месяцах беременности? Все эти вопросы соответствуют так называемым ограничениям системы, то есть обстоятельствам, которые следует учитывать при составлении плана.
Ограничения делятся на обязательные и необязательные. В нашем примере с доисторическим племенем лучшие куски мяса должны доставаться тем, кто больше всего нуждается в этом. Однако не случится ничего страшного, если самому сильному охотнику в один из дней не достанется самый сочный кусок. Конечно, эта ситуация не может повторяться постоянно, но уж один-то день охотник может потерпеть.
Следовательно, это необязательное ограничение.
В качестве примера обязательного ограничения приведем распределение ресурсов университета (то есть аудиторий и преподавателей) в течение учебного года. Потребителями ресурсов будут студенты, изучающие, например, математический анализ, торговое право, физику и другие предметы. При распределении ресурсов нужно учесть, что студенты, изучающие торговое право и физику, не могут одновременно занимать, например, аудиторию 455. Заведующий кафедрой математического анализа также не может преподавать торговое право, так как не имеет необходимой квалификации. В этом примере описанные ограничения являются обязательными.
Таким образом, при разработке интеллектуального алгоритма планирования важнейшую роль играет возможность или невозможность нарушить накладываемые ограничения.
* * *
ЗАДАЧА КОММИВОЯЖЕРА
Порой определенная задача может быть отнесена к тому или иному разделу искусственного интеллекта в зависимости оттого, с какой стороны мы подойдем к ее решению. Хорошим примером является задача коммивояжера (Travelling Salesman Problem, или TSP), которую можно решить путем поиска или планирования.
Формулировка этой задачи звучит так: для данного множества городов, дорог между ними и расстояний нужно найти маршрут коммивояжера, проходящий через все города. Коммивояжер не может заезжать в один и тот же город дважды и при этом он должен преодолеть наименьшее расстояние. Как читатель может догадаться, в зависимости от расположения маршрутов между городами коммивояжер обязательно посетит какой-либо город дважды, следовательно, это условие можно считать несущественным.
Пример графа городов, связанных между собой. Расстояние между городами в километрах указано на ребрах графа.
Четвертый раздел искусственного интеллекта — автоматические рассуждения.
Именно они привлекают наибольшее внимание широкой публики и часто становятся главной темой научной фантастики. Тем не менее автоматическим рассуждениям как отдельной дисциплине дала начало не слишком увлекательная задача об автоматическом доказательстве математических теорем.
Часто выдвигаются новые теоремы, которые требуется доказать или опровергнуть. Доказательство теорем может быть крайне сложным. Именно это произошло с великой теоремой Ферма (согласно ей, если n — целое число, большее двух, то несуществует ненулевых натуральных чисел, удовлетворяющих равенству zn = хn + уn) — на доказательство этой теоремы ушло более 200 лет!
В 1956 году экономист Герберт Саймон (1916–2001) и инженер Аллен Ньюэлл (1927–1992) совместно разработали машину под названием Logic Theorist, способную доказывать нетривиальные теоремы математической логики. Разумеется, появление этой машины стало вехой в развитии искусственного интеллекта и вновь вызвало философскую дискуссию о возможности создания мыслящих машин. Эта дискуссия, конечно же, повлияла на литературу и кино 1960—1970-х годов, породив образы мыслящих машин, враждебных человеку. Согласно философу Памеле МакКордак, Logic Theorist доказывает: машина способна выполнять задачи, которые cчитаются творческими и подвластными исключительно человеку.
Гэрберт Саймон (слева) и Аллен Ньюэлл за игрой в шахматы, 1958 год.
В Logic Theorist использовались так называемые символьные системы, созданные математиками, чтобы придать смысл некоторым выражениям и уйти от произвольных обозначений. К примеру, мы можем утверждать: высказывание «быть человеком» означает «быть смертным», что можно записать математически как А —> В, где символ А эквивалентен высказыванию «быть человеком», символ —> — «означает», а В равносильно высказыванию «быть смертным». «Быть человеком означает быть смертным» — это произвольное высказывание, которое записывается выражением А —> В. После формализации всех произвольных членов выполнять операции с ними намного проще с точки зрения математики и информатики.
Для упрощения математических действий символьные системы опираются на аксиомы, из которых выводятся теоремы. Преимущество символьных систем в том, что они являются формальными и однозначно определенными, поэтому программировать их сравнительно просто. Рассмотрим пример:
Сократ — человек.
Все люди смертны.
Следовательно, Сократ смертен, поскольку он — человек.
Если мы запишем эти высказывания в формальном виде, они будут выглядеть так:
А: Сократ
В: человек (люди)
А —> В
С: смертен (смертны)
В —> С
Если А —> В и В —> С, то А —> С, то есть Сократ смертен.