Игнаси Белда - Том 33. Разум, машины и математика. Искусственный интеллект и его задачи
Автоматическое обучение стало одним из самых обширных разделов искусственного интеллекта. В университетах, исследовательских центрах и компаниях ежедневно совершаются новые открытия в этой области, ведь, с одной стороны, в различных областях знаний и промышленности очень велика потребность в экспертных системах, а с другой — программировать полезные экспертные системы очень сложно.
Обучение интеллектуальной экспертной системы производится на основе последовательности случаев и соответствующих им решений. После обучения система способна выводить правила и нормы, описывающие исходные случаи, и для любого нового случая она сможет найти новое решение. Экспертную систему можно считать интеллектуальной, только если она умеет автоматически обучаться и формулировать обобщения. Иными словами, система не должна требовать ручного ввода правил, а после обучения она ведет себя подобно эксперту в своей предметной области.
Позднее мы расскажем о способах применения экспертных систем более подробно. Мы приведем несколько показательных примеров современных экспертных систем, например систем, используемых для прогнозирования просрочки платежей по ипотеке, систем раннего обнаружения злокачественных опухолей или систем автоматической классификации нежелательных электронных писем (спама).
Автоматическая классификация электронной почты с целью отделить спам от корректных сообщений — одна из областей применения экспертных систем.
ПланированиеТретий крупный раздел искусственного интеллекта — планирование. Человек обладает способностью строить планы с незапамятных времен. Можно сказать, что человек и выжил-то благодаря планированию. Если мы перенесемся в палеолит, то и там встретимся с проблемой, требующей планирования: как распределить наличный объем пропитания между числом потребителей — членов племени? Кому отдать сочное мясо, богатое калориями: тем, кто собирает ягоды, или охотникам?
А если один из собирателей — женщина на последних месяцах беременности? Все эти вопросы соответствуют так называемым ограничениям системы, то есть обстоятельствам, которые следует учитывать при составлении плана.
Ограничения делятся на обязательные и необязательные. В нашем примере с доисторическим племенем лучшие куски мяса должны доставаться тем, кто больше всего нуждается в этом. Однако не случится ничего страшного, если самому сильному охотнику в один из дней не достанется самый сочный кусок. Конечно, эта ситуация не может повторяться постоянно, но уж один-то день охотник может потерпеть.
Следовательно, это необязательное ограничение.
В качестве примера обязательного ограничения приведем распределение ресурсов университета (то есть аудиторий и преподавателей) в течение учебного года. Потребителями ресурсов будут студенты, изучающие, например, математический анализ, торговое право, физику и другие предметы. При распределении ресурсов нужно учесть, что студенты, изучающие торговое право и физику, не могут одновременно занимать, например, аудиторию 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 использовались так называемые символьные системы, созданные математиками, чтобы придать смысл некоторым выражениям и уйти от произвольных обозначений. К примеру, мы можем утверждать: высказывание «быть человеком» означает «быть смертным», что можно записать математически как А —> В, где символ А эквивалентен высказыванию «быть человеком», символ —> — «означает», а В равносильно высказыванию «быть смертным». «Быть человеком означает быть смертным» — это произвольное высказывание, которое записывается выражением А —> В. После формализации всех произвольных членов выполнять операции с ними намного проще с точки зрения математики и информатики.
Для упрощения математических действий символьные системы опираются на аксиомы, из которых выводятся теоремы. Преимущество символьных систем в том, что они являются формальными и однозначно определенными, поэтому программировать их сравнительно просто. Рассмотрим пример:
Сократ — человек.
Все люди смертны.
Следовательно, Сократ смертен, поскольку он — человек.
Если мы запишем эти высказывания в формальном виде, они будут выглядеть так:
А: Сократ
В: человек (люди)
А —> В
С: смертен (смертны)
В —> С
Если А —> В и В —> С, то А —> С, то есть Сократ смертен.
В этом случае правило вывода под названием «гипотетический силлогизм» позволяет заключить, что А —> С истинно, если А —> В и В —> С.
Тем не менее число вариантов, полученных при автоматическом и систематическом выводе теорем на основе аксиом и правил вывода, будет опасно близко к числу атомов во Вселенной. По этой причине в машине Logic Theorist использовались эвристические рассуждения, то есть методы нечеткого прогнозирования, которые помогали выбрать лучшие производные высказывания среди возможных. Отобранные высказывания определяли правильную последовательность выводов, позволявших прийти от аксиом к доказательству теорем.
Рассмотрим практический пример. Мы хотим знать, смертен ли Сократ. Нам известны следующие исходные аксиомы:
А: Сократ
В: болельщик «Олимпиакоса
С: грек
D: человек
Е: смертен
А —> С
С —> D
A —> D
С —> Б
D —> E
Определим, истинно или ложно А —> Е, с помощью «грубой силы», то есть путем перебора всех возможных сочетаний. Имеем: