Rambler's Top100


Виртуальный клуб начинающих программистов на Delphi


Заводь
Мелководье
Сокровищница
Рифы
Течения
Архивный грот
Дальние земли
Жемчужница
Ловцы жемчуга
Почтовый грот
Дельфинарий
Карта бухты

Rambler's Top100


Mastak.ru - качественный хостинг на двух континентах

The List of Russian Web Servers WebList.Ru

Искусственный интеллект.
Может ли машина мыслить.

Искусственный интеллект.

Никакое другое понятие или термин компьютерной науки не было с такой охотой превратно толкуемо, как "искусственный интеллект". Во многом вина за это лежит на научной фантастике, чьим популярнейшим героем одно время был взбесившийся (или влюбившийся, но с не менее печальными последствиями) робот или "электронный мозг".

Но что же все-таки вкладывают в это понятие те, кто действительно занимается искусственным интеллектом как областью компьютерной науки? Чем отличаются программы, в которых используются методы искусственного интеллекта, от всех остальных? Предполагает ли искусственный интеллект все то, что обычно присуще интеллекту естественному, - свободную волю, свое "я", эмоции и непредсказуемость поведения?

Все мы почему-то склонны считать, что главное, что отличает нас от машины, - как раз и есть эта самая "непредсказуемость", т.е. тот факт, что наши поступки далеко не всегда логически (да и вообще как-либо) объяснимы. Возможно, с философской точки зрения это и так. Но ученым-компьютерщикам чаще всего приходится решать сугубо практические задачи, в которых от машины требуются прежде всего рассуждения, приводящие к некоторым выводам, - а не чувства и эмоции.

Другое дело, что рассуждения эти могут совсем не быть "логическими" в привычном смысле. Искусственный интеллект как область науки как раз и возник из осознания того факта, что человек решает задачи чаще всего совсем не по правилам логики и математики, и при этом решает их зачастую гораздо эффективнее, чем машина. Задача исследователей и состоит в том, чтобы понять, как устроен аппарат для решения проблем, находящийся в человеческом мозгу, и попытаться смоделировать (повторить) его или хотя бы его часть искусственным путем.

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

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

Распознавание образов. Здесь ищут ответ на вопрос: "как мы отождествляем предметы с их визуальными образами" или, проще говоря, почему мы узнаем стол, каким бы он ни был - круглым или квадратным, на одной ножке или на четырех. Эта область очень важна для конструирования промышленных роботов, а в области персональных компьютеров на ней целиком строится технология программ оптического распознавания символов - именно благодаря алгоритмам искусственного интеллекта компьютер может теперь почти без ошибок "читать" сканированный текст.

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

Базы знаний, или экспертные системы, представляют собой некий аналог обычных баз данных, но содержат информацию не в виде таблиц или записей с полями, а в виде утверждений о чем-либо, например "анальгин обладает болеутоляющим действием" или "зубная боль иногда сопровождается повышением температуры". Доступ к этой информации осуществляется не через команды поиска, а с помощью формулируемых на естественном языке вопросов, например "может ли анальгин помочь при зубной боли?".

Программа, заведующая этой базой знаний, способна строить на основе имеющихся данных выводы и умозаключения. При этом обычно используется не строгая аристотелева логика с однозначными выводами типа "да/нет", а логика вероятностей, которая вычисляет, насколько вероятна истинность каждого заключения, исходя из вероятностей посылок. Скажем, если вы перечислите симптомы своей болезни медицинской экспертной системе, указав, как часто возникает каждый из них, то система, задав вам несколько дополнительных вопросов, выдаст список болезней с соответствующими вероятностями (например, "95% - ОРЗ, 5% - СПИД") и порекомендует самое эффективное лечение.

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

Кроме того, методы искусственного интеллекта применяются для обработки текста (проверка грамматики и правописания), изображений (сжатие, трассировка) и в других областях. Вы наверняка столкнетесь с программами, использующими такие "умные" методы; их обычно нетрудно опознать по их характерному поведению, сочетающему явные черты интеллекта с подчас невероятными и необъяснимыми (для непредвзятого пользователя) тупостью и упрямством. Кроме того, характерно, что используемые на практике "интеллектуальные" алгоритмы очень редко дают на 100% правильный ответ - например, даже лучшие программы распознавания символов ошибаются как минимум в одной букве из ста. И все же существуют задачи, которые для вас не решит никто, кроме программ с искусственным интеллектом - или человека.


Может ли машина мыслить.

"Искусственный интеллект" - словосочетание, некогда широко известное даже непрофессионалам, ныне почти не встречается в компьютерной литературе. Это не значит, однако, что методы и подходы искусственного интеллекта (о них мы говорили в прошлый раз) сейчас не применяются. Как пользователь, вы почти наверняка столкнетесь с ними (или, по крайней мере, с результатами их деятельности).

Но вам, возможно, не совсем ясно, как вообще компьютер может делать что-либо, чего "нет в программе"? Разве можно скомандовать кому бы то ни было рассуждать, догадываться, делать выводы?

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

Это и верно, и неверно. Строго говоря, действительно: если компьютер делает не то, что в данный момент предписывается ему программой, то его следует считать испортившимся.

Однако то, что представляется "программой" человеку, и то, что является программой для компьютера, - вещи очень разные. Ни один компьютер не сможет выполнить "программу" похода в магазин за продуктами, которую вы вкладываете в голову десятилетнего сына, - даже если эта "программа" включает только совершенно однозначные инструкции.

Разница заключается в том, что компьютерные программы состоят из огромного количества гораздо более мелких, частных команд. Из десятков и сотен таких микрокоманд складывается один шаг, из тысяч и даже миллионов - вся программа похода за продуктами в том виде, в каком ее смог бы выполнить компьютер (конечно, если бы у него были ноги - тогда бы он назывался роботом).

Сколь бы смешным ни казалось нам такое мелочное регламентирование, для компьютера этот способ является единственно применимым. И самое удивительное - что он дает компьютеру возможность быть гораздо более "непредсказуемым", чем принято обычно считать!

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

Мы, однако, вынуждены давать компьютерам гораздо более подробные инструкции, определяя малейший их шаг. При этом нам приходится добавлять в программу и такие инструкции, которые впрямую не относятся к данной задаче. Так, в нашем примере роботу необходимо сообщить правила перехода улицы (и правило "если на тебя едет машина, отпрыгивай в сторону").

Эти инструкции обязательно должны включать в себя проверку некоторых условий для принятия решений, обращение за справками (о погоде, о местоположении магазинов) к тем или иным базам данных, сравнение важности различных обстоятельств и многое другое. В результате компьютер с такой программой получает гораздо больше "степеней свободы" - существует очень много мест, в которых он может отклониться от пути к конечной цели.

Разумеется, в подавляющем большинстве случаев эти отклонения будут нежелательными (нам ведь все-таки нужно получить продукты), и мы стараемся создать для работы компьютера такие условия, в которых риск "выскакивающего из-за угла автомобиля" был бы минимальным. Но жизнь есть жизнь, и все мыслимые сюрпризы предусмотреть невозможно. Вот почему компьютер способен удивить как неожиданно "разумной" реакцией на, казалось бы, непредсказуемые обстоятельства, так и невероятной "глупостью" даже в самых ординарных ситуациях (чаще, к сожалению, последнее).

Именно построение сложных программ на основе детального анализа мельчайших шагов, из которых складывается процесс мышления у человека, и составляет современный подход к созданию "думающих машин" (во всяком случае, один из подходов). Конечно, сложность - это далеко не все. И все же из ученых, занимающихся этой проблемой, мало кто сомневается в том, что "умные" программы XXI века будут отличаться от современных прежде всего неизмеримо большей сложностью и количеством элементарных инструкций.

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

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

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

Идеи и пожелания с удовольствием почитаем.

Хостинг от uCoz