Шрифт:
Созданный компанией IBM суперкомпьютер Deep Blue, одержавший победу над чемпионом мира по шахматам.
Под поиском здесь понимается поиск оптимального решения определенной задачи.
После определения задачи с помощью математической функции речь пойдет об оптимизации функций, то есть о поиске входных параметров, при которых результирующее значение будет оптимальным. Для решения некоторых задач требуется оптимизировать несколько функций одновременно, при этом определить эти функции и ограничить их значения непросто. Для автоматической системы оптимизация функций представляет сложную задачу, особенно если функция не задана аналитически и ее примерный вид можно определить лишь на основе нескольких множеств значений. Часто бывает, что рассматриваемая функция имеет несколько сотен параметров, либо вычисление множеств ее значений очень трудоемко, либо множества ее значений содержат шум, то есть в определенных точках пространства являются неточными.
В подобных сложных сценариях используется искусственный интеллект. Человек способен решать сложные многомерные математические функции благодаря интуиции — классическим примером служат функции подобия. Представьте, что вам знакомы более 500 человек. Если вы увидите фотографию какого-то человека, то мгновенно сможете сказать, знаком ли он вам, и даже назвать его имя. Эта с виду простая операция решается путем оптимизации функции, описывающей разницу между лицами, которые вы помните, и изображенным на фотографии. Каждое лицо описывается тысячами параметров: цвет глаз, соотношение размеров рта и носа, наличие веснушек и так далее. Наш мозг способен определять все эти характеристики и сравнивать их с характеристиками всех знакомых нам людей. Мозг оценивает параметры лица на фотографии, сравнивает их с параметрами лиц всех знакомых людей и определяет, для какого человека различие между этими параметрами будет наименьшим. Также мозг определяет, когда различие между параметрами настолько мало, что можно сказать: на фотографии изображен один из знакомых людей. И все эти операции мозг выполняет менее чем за секунду. Однако для компьютера распознавание лиц — крайне сложная операция, и ему для решения этой же задачи потребуется несколько минут.
* * *
ГО — ОДНА ИЗ ВЕЛИЧАЙШИХ НЕРЕШЕННЫХ ЗАДАЧ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Игра го — прекрасный пример комбинаторной задачи, в которой выбор оптимального хода в заданной позиции вполне по силам даже игроку среднего уровня, но крайне сложен для компьютера.
Сегодня еще ни одна компьютерная программа не смогла без форы обыграть профессионального игрока в го.
Правила этой стратегической китайской игры крайне просты, однако по ходу партий постоянно возникают невероятно сложные сценарии. В го играют на доске, разделенной линиями на квадраты размером 19 х 19. Два игрока по очереди ставят фишки белого и черного цвета на свободные пересечения линий доски. Если одна или несколько фишек оказываются полностью окруженными фишками другого цвета, то «захваченные» фишки снимаются с доски. Игрок может в любой момент передать право хода противнику, но если оба они передают право хода два раза подряд, партия заканчивается, и победителем признается тот, кто на момент прекращения партии имел более выгодную позицию.
С точки зрения математики го — стратегическая игра, подобная шахматам. Однако если компьютер все же оказался способен одержать верх над чемпионом мира по шахматам, то программы для игры в го едва ли одолеют игрока-любителя. Происходит это по трем причинам. Во-первых, доска для игры в го более чем в пять раз просторнее шахматной доски, следовательно, потребуется проанализировать большее число ходов. Во-вторых, каждый ход может повлиять на несколько сотен последующих, поэтому компьютер не может прогнозировать развитие партии в долгосрочной перспективе. Наконец, в шахматах фигуры снимаются с доски по одной и обладают определенной ценностью, поэтому можно довольно точно оценить выгоду оттого или иного хода. В го, напротив, выгода, получаемая от взятия фишки соперника, зависит оттого, какие именно фишки снимаются с доски, что определяется их текущим расположением.
Доска и фишки для игры в го. Последние традиционно называются камнями.
Положение фишек на доске в одной из партий финала чемпионата мира, прошедшего в 2002 году, где встретились Чхве Мёнхун (белые) и Ли Седоль.
* * *
Почему мы называем этот раздел искусственного интеллекта поиском, если речь идет о численной оптимизации? К поиску относятся задачи и другого типа, к примеру, так называемые комбинаторные задачи. Их решения образованы различными элементами, которые могут сочетаться между собой и порождать комбинаторное пространство. Решение такой задачи определяется оптимальным множеством элементов. Хороший пример комбинаторной задачи — шахматная партия. Оптимальным решением этой задачи будет последовательность ходов, ведущих к выигрышу.
Еще один классический пример — так называемая задача о ранце, в которой нужно уложить в рюкзак различные предметы. В этом случае решением будет совокупность предметов с минимальным общим весом и максимальной ценностью. И вновь комбинаторная задача, относительно простая для человека, часто оказывается крайне сложной для компьютера.
Одна из множества информационных систем, используемых для распознавания образов, в данном случае — для распознавания лиц. На иллюстрации изображена разработка японской компании NEC.
Следующий раздел искусственного интеллекта — обучение. Является ли интеллектуальной система, способная обучаться на основе предшествующего опыта? Вернемся к примеру с автоматической системой диагностирования, в которую введено множество симптомов, соответствующих определенным заболеваниям. Этот процесс ввода информации, содержащей различные внутренние связи, называется обучением. После того как система обучена, она способна найти в памяти любой симптом и определить, какое заболевание ему соответствует. Обучение такой системы основано на запоминании, и ее нельзя назвать интеллектуальной. Цель обучения интеллектуальных систем — сформировать способность формулировать обобщения, то есть выводить некие правила, которые затем можно будет применить для решения новых задач.
Автоматическое обучение стало одним из самых обширных разделов искусственного интеллекта. В университетах, исследовательских центрах и компаниях ежедневно совершаются новые открытия в этой области, ведь, с одной стороны, в различных областях знаний и промышленности очень велика потребность в экспертных системах, а с другой — программировать полезные экспертные системы очень сложно.
Обучение интеллектуальной экспертной системы производится на основе последовательности случаев и соответствующих им решений. После обучения система способна выводить правила и нормы, описывающие исходные случаи, и для любого нового случая она сможет найти новое решение. Экспертную систему можно считать интеллектуальной, только если она умеет автоматически обучаться и формулировать обобщения. Иными словами, система не должна требовать ручного ввода правил, а после обучения она ведет себя подобно эксперту в своей предметной области.
Позднее мы расскажем о способах применения экспертных систем более подробно. Мы приведем несколько показательных примеров современных экспертных систем, например систем, используемых для прогнозирования просрочки платежей по ипотеке, систем раннего обнаружения злокачественных опухолей или систем автоматической классификации нежелательных электронных писем (спама).
Автоматическая классификация электронной почты с целью отделить спам от корректных сообщений — одна из областей применения экспертных систем.