Вокруг Света 2007 № 10 (2805) | страница 32



В простых случаях оценочную функцию тем или иным способом задает разработчик системы. В более сложных она вырабатывается в ходе обучения на примерах с заранее известным правильным ответом. Тривиальную систему ИИ каждый может создать сам с помощью электронных таблиц вроде Excel. Допустим, вы хотите купить ноутбук. Загрузили из Интернета базу данных с тысячами предложений, да еще каждый день поступают новые. Читать список подряд бесполезно — уже после сотни строк начинаешь путаться. Да и слишком много важных параметров приходится держать в голове. Но в этом нет необходимости: обозначьте каждую функцию числовым значением (например: есть Wi-Fi — 1, нет — 0). Задайте каждому параметру определенный вес и напишите оценочную функцию по схеме: оценка = параметр1*вес1 + параметр2*вес2 +... и так далее. Самым важным придайте большой вес, остальным — поменьше, а недостаткам (например, цене) — отрицательный. Поколдуйте вечерок с этими весами, пока не почувствуете, что система не допускает явных ошибок, и дальше она будет автоматически оценивать все предложения. Последнее слово, конечно, за вами, но вот просматривать весь список уже не нужно — достаточно изучить лишь лидеров доморощенного хитпарада. Причем веса можно в любой момент пересмотреть, если ваши предпочтения изменились.

Получилась настоящая система ИИ для поддержки принятия решений, пусть и очень примитивная. В процессе настройки вы заложили в нее свой опыт. А если при этом вы еще посоветовались со специалистами и учли их мнение, то можно уже говорить об экспертной системе. Сходным образом, но, конечно, на более обширных и надежных данных, работают медико-диагностические экспертные системы: по формализованному анамнезу они выдают список диагнозов с условной оценкой вероятности каждого. Программы, фильтрующие спамерские письма, оценивают каждое послание по характерным для спама словам, адресам и другим признакам, каждому из которых приписан свой вес. Спамеры, наоборот, стараются обмануть ИИ фильтрующих программ: пишут с ошибками, заменяют цифры буквами, добавляют в письма посторонние тексты, чтобы фильтр не распознал на их фоне рекламу. Системы ИИ непрерывно совершенствуются с обеих сторон.

Тест Тьюринга

В 1950 году один из основоположников кибернетики, Алан Тьюринг, предложил тест, который должна пройти машина, чтобы ее можно было назвать мыслящей. Пусть эксперт обменивается тестовыми сообщениями с двумя собеседниками, один из которых человек, а другой — компьютер. Задача эксперта — за время разговора отличить машину от человека. Тьюринг ожидал, что к 2000 году компьютеры с памятью около 100 Мбайт смогут в 30% случаев обманывать эксперта в течение 5 минут. Машины уже стали много мощнее, но пока ни один робот не прошел тест Тьюринга. Впрочем, уже есть программы, которым под силу некоторое время выдавать себя за человека, если собеседник не ожидает, что общается с роботом. Такие программы находят применение в компьютерных играх, чатах и даже в рекламе. Если вы владеете английским, попробуйте пообщаться с ALICE (