Разделы
Партнеры
Счетчики
Чего не может компьютер, или труднорешаемые задачи
В среде математиков известна такая притча. В давние времена, когда никто понятия не имел о компьютерах и их возможностях, один индийский мудрец оказал большую услугу своему правителю. Правитель решил отблагодарить того и предложил самостоятельно выбрать награду по собственному разумению. На что мудрец ответил: "Я пожелал бы видеть шахматную доску, на каждой клетке которой были бы разложены зернышки пшена в следующем порядке: на первой - 2 зерна, на второй - 2·2=4 зерна, на третьей - 2·2·2=8, на четвертой 24=16, и так далее на всех клетках". Выражаясь кратко, для каждой клетки отсчитать 2n зерен, где n - порядковый номер клетки.
Сначала правитель обрадовался легкости расплаты. Но вот выполнить обещание не смог, так как он и его слуги вряд ли когда-нибудь смогли бы отсчитать 264 зерен на последнюю клетку, что соответствует примерно 18 миллиардам миллиардов. А для всей доски пришлось бы отсчитать количество зерен, исчисляемое астрономическим числом ∑2n (n=1..64). Не хватило бы просто зерен на Земле, не говоря уж о рутинной работе по их пересчету, складыванию, перевозке груза такой колоссальной массы.
Сравнительно легко вычисляемая математически (но безуспешно реализуемая практически) задача, сформулированная в этой притче, относится к немалому классу весьма специфичных задач, при решении которых даже сеть самых современных компьютеров бессильна так же, как в древности слуги правителя. Используя возможности нынешних компьютеров, не представляет труда за доли секунды их вычислительного времени убедиться в том, что слугам правителя действительно не хватило бы всей жизни для отсчета зерен, но в данном случае это далеко не главное. Суть проблемы в том, что достаточно незначительно изменить входные данные или условия, чтобы перейти от решаемой задачи к нерешаемой. Каждый человек в зависимости от своих счетных и физических способностей может определить, начиная с какой клетки продолжать отсчитывать зерна для него уже не имеет смысла. Тот же предел объема работ можно определить и для компьютера на основе его технических характеристик.
В случаях, когда незначительное увеличение входных данных задачи ведет к возрастанию количества повторяющихся действий в степенной зависимости, специалисты по алгоритмизации могут сказать, что мы имеем дело с неполиномиальным алгоритмом, то есть количество необходимых для решения задачи операций возрастает в зависимости от числа n входов данных по закону, близкому к экспоненте en (e≈2,72). Другое название - экспоненциальные алгоритмы, или же алгоритмы с экспоненциальной сложностью решения.
Подобные алгоритмы решения имеет чрезвычайно большой круг задач, особенно комбинаторных проблем, связанных с нахождением сочетаний, перестановок, размещений каких-либо объектов. Всегда есть соблазн многие задачи решать исчерпыванием, то есть проверкой всех возможных комбинаций. Например, так решалась бы задача безошибочной игры в шахматы. Но задача эта относится к классическим нерешаемым! Ни один современный компьютер за небольшой период времени не сможет сгенерировать все простые перестановки хотя бы 16 шахматных фигур (почти 21 триллион перестановок), не говоря уж о комбинациях этих перестановок относительно 64 полей шахматной доски.
Поэтому труднорешаемой (нерешаемой) задачей можно называть такую задачу, для которой не известен эффективный алгоритм быстрого решения или алгоритма решения вообще не существует. Экспоненциальные алгоритмы решений, в том числе и исчерпывающие, абсолютно неэффективны для случаев, когда входные данные меняются в достаточно широком диапазоне значений, следовательно в общем случае считать их эффективными нельзя. Эффективный алгоритм имеет не настолько резко возрастающую зависимость количества вычислений от входных данных, например ограниченно полиномиальную, то есть n находится в основании, а не в показателе степени. Такие алгоритмы называются полиномиальными, и как правило, если задача имеет полиномиальный алгоритм решения, то она может быть решена на компьютере с большой эффективностью. К ним можно отнести задачи сортировки данных, многие задачи математического программирования и тому подобные.
Чего же не может и, скорее всего, никогда не сможет компьютер в его современном (цифровая вычислительная машина) понимании? Ответ очевиден: выполнить решение полностью аналитически. Постановка задачи заключается в замене аналитического решения численным алгоритмом, который итеративно (то есть циклически повторяя операции) или рекурсивно (вызывая процедуру расчета из самой себя) выполняет операции, шаг за шагом приближаясь к решению. Если число этих операций возрастает, время выполнения, а возможно и расход других ресурсов (например ограниченной машинной памяти), также возрастает, стремясь к бесконечности. Задачи, своими алгоритмами решения создающие предпосылки для резкого возрастания использования ресурсов, в общем виде не могут быть решены на цифровых вычислительных машинах, так как ресурсы всегда ограничены.
Эвристические алгоритмы
Другое возможное решение описанной проблемы - в написании численных алгоритмов, моделирующих технологические особенности творческой деятельности и сам подход к аналитическому решению. Методы, используемые в поисках открытия нового, основанные на опыте решения родственных задач в условиях выбора вариантов, называются эвристическими. На основе таких методов и выполняется машинная игра в шахматы. В эвристике шахматы рассматриваются как лабиринт, где каждая позиция представляет собой площадку лабиринта. Почему же именно такая модель?
В психологии мышления существует так называемая лабиринтная гипотеза, теоретически представляющая решение творческой задачи как поиск пути в лабиринте, ведущего от начальной площадки к конечной. Конечно, можно проверить все возможные пути. Но располагает ли временем попавший в лабиринт? Совершенно нереально исчерпывание шахматного лабиринта из 2·10116 площадок! Занимаясь поиском ответа, человек пользуется другими способами, чтобы сократить путь к решению. Возможно сокращение числа вариантов перебора и для машины, достаточно "сообщить" ей правила, которые для человека - опыт, здравый смысл. Такие правила приостановят заведомо бесполезные действия.
Электронный подход к искусственному интеллекту
Исторически попытки моделирования процессов мышления для достижения аналитических решений делались достаточно давно (с 1950-х годов), и соответствующая отрасль информатики была названа искусственным интеллектом. Исследования в этой области, первоначально сосредоточенные в нескольких университетских центрах США - Массачусетском технологическом институте, Технологическом институте Карнеги в Питтсбурге, Стэндфордском университете, - ныне ведутся во многих других университетах и корпорациях США и других стран. В общем исследователей искусственного интеллекта, работающих над созданием мыслящих машин, можно разделить на две группы. Одних интересует чистая наука и для них компьютер - лишь инструмент, обеспечивающий возможность экспериментальной проверки теорий процессов мышления. Интересы другой группы лежат в области техники: они стремятся расширить сферу применения компьютеров и облегчить пользование ими. Многие представители второй группы мало заботятся о выяснении механизма мышления - они полагают, что для их работы это едва ли более полезно, чем изучение полета птиц в самолетостроении.
В настоящее время, однако, обнаружилось, что как научные, так и технические поиски столкнулись с несоизмеримо более серьезными трудностями, чем представлялось первым энтузиастам. На первых порах многие пионеры искусственного интеллекта верили, что через какой-нибудь десяток лет машины обретут высочайшие человеческие таланты. Предполагалось, что преодолев период "электронного детства" и обучившись в библиотеках всего мира, хитроумные компьютеры благодаря быстродействию, точности и безотказной памяти постепенно превзойдут своих создателей-людей. Сейчас, в соответствии с тем, что было сказано выше, мало кто говорит об этом, а если и говорит, то отнюдь не считает, что подобные чудеса не за горами.
На протяжении всей своей короткой истории исследователи в области искусственного интеллекта всегда находились на переднем крае информатики. Многие ныне обычные разработки, в том числе усовершенствованные системы программирования, текстовые редакторы и программы распознавания образов, в значительной мере основаны на достижениях исследований по искусственному интеллекту. Короче говоря, теории, новые идеи и разработки искусственного интеллекта неизменно привлекают внимание тех, кто стремится расширить области применения и возможности компьютеров, сделать их более "дружелюбными", то есть более похожими на разумных помощников и активных советчиков, чем на тех педантичных и несообразительных электронных рабов, какими они всегда были.
Несмотря на многообещающие перспективы, ни одну из разработанных до сих пор программ искусственного интеллекта нельзя назвать "разумной" в обычном понимании этого слова. Это объясняется тем, что все они узко специализированы; самые сложные экспертные системы по своим возможностям скорее напоминают дрессированных или механических кукол, нежели человека с его гибким умом и широким кругозором. Даже среди исследователей искусственного интеллекта теперь многие сомневаются, что большинство подобных изделий принесет существенную пользу. Немало критиков искусственного интеллекта считают, что такого рода ограничения вообще непреодолимы.
К числу таких скептиков относится и Хьюберт Дрейфус, профессор философии Калифорнийского университета в Беркли. С его точки зрения, истинный разум невозможно отделить от его человеческой основы, заключенной в человеческом организме. "Цифровой компьютер - не человек, - говорит Дрейфус. - У компьютера нет ни тела, ни эмоций, ни потребностей. Он лишен социальной ориентации, которая приобретается жизнью в обществе, а именно она делает поведение разумным. Я не хочу сказать, что компьютеры не могут быть разумными. Но цифровые компьютеры, запрограммированные фактами и правилами из нашей, человеческой жизни, действительно не могут стать разумными. Поэтому искусственный интеллект в том виде, как мы его представляем, невозможен".
Другие подходы к искусственному интеллекту
В последнее время ученые стали понимать, что создателям вычислительных машин есть чему поучиться у биологии. Среди них был нейрофизиолог и поэт-любитель Уоррен Маккалок, обладавший философским складом ума и широким кругом интересов. В 1942 году Маккалок, участвуя в научной конференции в Нью-Йорке, услышал доклад одного из сотрудников Винера о механизмах обратной связи в биологии. Высказанные в докладе идеи перекликались с собственными идеями Маккалока относительно работы головного мозга. В течение следующего года Маккалок в соавторстве со своим 18-летним протеже, блестящим математиком Уолтером Питтсом, разработал теорию деятельности головного мозга. Эта теория и являлась той основой, на которой сформировалось широко распространенное мнение, что функции компьютера и мозга в значительной мере сходны.
Исходя отчасти из предшествующих исследований нейронов (основных активных клеток, составляющих нервную систему животных), проведенных Маккалоком, они с Питтсом выдвинули гипотезу, что нейроны можно упрощенно рассматривать как устройства, оперирующие двоичными числами. В 1930-е годы пионеры информатики, в особенности американский ученый Клод Шеннон, поняли, что двоичные единица и нуль вполне соответствуют двум состояниям электрической цепи (включено-выключено), поэтому двоичная система идеально подходит для электронно-вычислительных устройств. Маккалок и Питтс предложили конструкцию сети из электронных "нейронов" и показали, что подобная сеть может выполнять практически любые вообразимые числовые или логические операции. Далее они предположили, что такая сеть в состоянии также обучаться, распознавать образы, обобщать, то есть она обладает всеми чертами интеллекта.
Теория Маккалока-Питтса в сочетании с книгами Винера вызвала огромный интерес к разумным машинам. В 1940-1960-е годы все больше кибернетиков из университетов и частных фирм запирались в лабораториях и мастерских, напряженно работая над теорией функционирования мозга и методично припаивая электронные компоненты моделей нейронов.
Из этого кибернетического, или нейромодельного, подхода к машинному разуму скоро сформировался так называемый "восходящий метод" - движение от простых аналогов нервной системы примитивных существ, обладающих малым числом нейронов, к сложнейшей нервной системе человека и даже выше. Конечная цель виделась в создании "адаптивной сети", "самоорганизующейся системы" или "обучающейся машины" - все эти названия разные исследователи использовали для обозначения устройств, способных следить за окружающей обстановкой и с помощью обратной связи изменять свое поведение, то есть вести себя подобно живым организмам. Естественно, отнюдь не во всех случаях возможна аналогия с живыми организмами. Как однажды заметили Уоррен Маккалок и его сотрудник Майкл Арбиб, "если по весне вам захотелось обзавестись возлюбленной, не стоит брать амебу и ждать, пока она эволюционирует".
Но дело здесь не только во времени. Основной трудностью, с которой столкнулся "восходящий метод" на заре своего существования, была высокая стоимость электронных элементов. Слишком дорогой оказывалась даже модель нервной системы муравья, состоящая из 20 тысяч нейронов, не говоря уже о нервной системе человека, включающей десятки миллиардов нейронов. Даже самые совершенные кибернетические модели содержали лишь несколько сотен нейронов. Столь ограниченные возможности обескуражили многих исследователей того периода.
Заключение
В настоящее время наличие сверхпроизводительных микропроцессоров и дешевизна электронных компонентов позволяют делать значительные успехи в алгоритмическом моделировании искусственного интеллекта. Такой подход дает определенные результаты на цифровых компьютерах общего назначения и заключается в моделировании процессов жизнедеятельности и мышления с использованием численных алгоритмов, реализующих искусственный интеллект. Здесь можно привести много примеров, начиная от простой программы игрушки "Тамагочи" и заканчивая моделями колонии живых организмов и шахматными программами, способными обыграть известных гроссмейстеров. Сегодня этот подход поддерживается практически всеми крупнейшими разработчиками аппаратного и программного обеспечения, поскольку достижения при создании эвристических алгоритмов используются и в узкоспециальных прикладных областях при решении сложных задач, принося значительную прибыль разработчикам.
Другие подходы сводятся к созданию аппаратуры, специально ориентированной на те или иные задачи. Как правило, это устройства не общего назначения (аналоговые вычислительные цепи и машины, самоорганизующиеся системы, персептроны и тому подобное). С учетом дальнейшего развития вычислительной техники такой подход может оказаться более перспективным, чем предполагалось в 1950-1980 годы.
Знайкина копилка, 20 ноября 2005 года