Еще один классический пример — так называемая задача о ранце, в которой нужно уложить в рюкзак различные предметы. В этом случае решением будет совокупность предметов с минимальным общим весом и максимальной ценностью. И вновь комбинаторная задача, относительно простая для человека, часто оказывается крайне сложной для компьютера.
Следующий раздел искусственного интеллекта — обучение. Является ли интеллектуальной система, способная обучаться на основе предшествующего опыта? Вернемся к примеру с автоматической системой диагностирования, в которую введено множество симптомов, соответствующих определенным заболеваниям. Этот процесс ввода информации, содержащей различные внутренние связи, называется обучением. После того как система обучена, она способна найти в памяти любой симптом и определить, какое заболевание ему соответствует. Обучение такой системы основано на запоминании, и ее нельзя назвать интеллектуальной. Цель обучения интеллектуальных систем — сформировать способность формулировать обобщения, то есть выводить некие правила, которые затем можно будет применить для решения новых задач.
Автоматическое обучение стало одним из самых обширных разделов искусственного интеллекта. В университетах, исследовательских центрах и компаниях ежедневно совершаются новые открытия в этой области, ведь, с одной стороны, в различных областях знаний и промышленности очень велика потребность в экспертных системах, а с другой — программировать полезные экспертные системы очень сложно.
Обучение интеллектуальной экспертной системы производится на основе последовательности случаев и соответствующих им решений. После обучения система способна выводить правила и нормы, описывающие исходные случаи, и для любого нового случая она сможет найти новое решение. Экспертную систему можно считать интеллектуальной, только если она умеет автоматически обучаться и формулировать обобщения. Иными словами, система не должна требовать ручного ввода правил, а после обучения она ведет себя подобно эксперту в своей предметной области.
Позднее мы расскажем о способах применения экспертных систем более подробно. Мы приведем несколько показательных примеров современных экспертных систем, например систем, используемых для прогнозирования просрочки платежей по ипотеке, систем раннего обнаружения злокачественных опухолей или систем автоматической классификации нежелательных электронных писем (спама).
Третий крупный раздел искусственного интеллекта — планирование. Человек обладает способностью строить планы с незапамятных времен. Можно сказать, что человек и выжил-то благодаря планированию. Если мы перенесемся в палеолит, то и там встретимся с проблемой, требующей планирования: как распределить наличный объем пропитания между числом потребителей — членов племени? Кому отдать сочное мясо, богатое калориями: тем, кто собирает ягоды, или охотникам?
А если один из собирателей — женщина на последних месяцах беременности? Все эти вопросы соответствуют так называемым ограничениям системы, то есть обстоятельствам, которые следует учитывать при составлении плана.
Ограничения делятся на обязательные и необязательные. В нашем примере с доисторическим племенем лучшие куски мяса должны доставаться тем, кто больше всего нуждается в этом. Однако не случится ничего страшного, если самому сильному охотнику в один из дней не достанется самый сочный кусок. Конечно, эта ситуация не может повторяться постоянно, но уж один-то день охотник может потерпеть.
Следовательно, это необязательное ограничение.
В качестве примера обязательного ограничения приведем распределение ресурсов университета (то есть аудиторий и преподавателей) в течение учебного года. Потребителями ресурсов будут студенты, изучающие, например, математический анализ, торговое право, физику и другие предметы. При распределении ресурсов нужно учесть, что студенты, изучающие торговое право и физику, не могут одновременно занимать, например, аудиторию 455. Заведующий кафедрой математического анализа также не может преподавать торговое право, так как не имеет необходимой квалификации. В этом примере описанные ограничения являются обязательными.
Таким образом, при разработке интеллектуального алгоритма планирования важнейшую роль играет возможность или невозможность нарушить накладываемые ограничения.
* * *