|
2. Решение задач и искусственный интеллектНаиболее характерной и специфической разновидностью умственной деятельности является решение задач. Слово "задача" мы будем употреблять дальше в самом широком смысле. Поэтому прежде всего уточним, что будет подразумеваться под этим словом. Типичным примером задачи является отыскание пути к заранее указанному месту (цели) в каком-либо ограниченно знакомом районе. Эта задача может возникнуть перед человеком (или роботом), оказавшимся в лесу или в лабиринте. Процесс решения подобного рода задач мы склонны представлять как поиск некоторого пути обхода препятствий, пути преодоления трудностей. Заметим, что трудность решения в какой-то мере входит в само понятие задачи: там, где нет трудностей, нет и задачи. Поэтому, если с самого начала имеется средство непосредственного (без преодоления каких-либо трудностей) достижения цели, то будем говорить, что задачи нет или задача не поставлена. Таким образом, всякая задача предполагает необходимость поиска некоторого алгоритма (метода) или средства для достижения так или иначе определенной (поставленной), но непосредственно недоступной цели. Решение задачи означает нахождение этого алгоритма или средства. Понятие алгоритма принадлежит к числу основных понятий кибернетики - науки об управлении, переработке информации и связи в живой и неживой природе, которая является, по существу, теоретической основой робототехники. Под алгоритмом понимают точное предписание о выполнении в определенном порядке системы операций для решения любой задачи из некоторого данного класса (множества) задач. Разумеется, высказанная формулировка не является строгим математическим определением понятия "алгоритм". Она, скорее, трактует значение этого термина, поясняя его смысл. Тем не менее эта формулировка близка и понятна каждому человеку; она отражает то понятие алгоритма, которое постепенно складывалось с древнейших времен по мере решения человеком все новых и новых задач. Термин "алгоритм" происходит от имени узбекского математика Аль-Хорезми, который еще в эпоху средневековья (в IX веке н. э.) предложил простейшие арифметические алгоритмы. В математике и кибернетике серия (класс) задач определенного типа считается решенной, когда для ее решения установлен алгоритм. Например, в алгебре установлены алгоритмы, которые по любым заданным коэффициентам алгебраического уравнения позволяют чисто механически определить (с любой наперед заданной точностью) корни этого уравнения; в кибернетике установлены алгоритмы оптимального управления. Нахождение алгоритмов является естественной целью человека при решении им разнообразных классов задач. Отыскание алгоритма для задач некоторого данного типа (особенно "оптимального", "хорошего" алгоритма) связано с тонкими и сложными рассуждениями, требующими большой изобретательности и высокой квалификации. Принято считать, что подобного рода деятельность требует участия интеллекта человека. Задачи, связанные с отысканием алгоритма решения класса задач определенного типа, будем называть интеллектуальными. Что же касается задач, алгоритмы решения которых уже установлены, то, как отмечает известный специалист в области "искусственного интеллекта" М. Минский, "излишне приписывать им такое мистическое свойство, как "интеллектуальность". В самом деле, после того, как такой алгоритм уже найден, процесс решения соответствующих задач становится таким, что его могут в точности выполнить человек, вычислительная машина (должным образом запрограммированная) или робот, не имеющие ни малейшего представления о сущности самой задачи. Требуется только, чтобы лицо, решающее задачу (человек, машина или робот), было способно выполнять те элементарные операции, из которых складывается процесс, и, кроме того, чтобы оно педантично и аккуратно руководствовалось предложенным алгоритмом. Такое лицо, действуя, как говорят в таких случаях, чисто машинально, может успешно решать любую задачу рассматриваемого типа. Поэтому представляется совершенно естественным исключить из класса интеллектуальных такие задачи, для которых существуют стандартные методы решения. Примерами таких задач могут служить чисто вычислительные задачи: решение системы линейных алгебраических уравнений, численное интегрирование дифференциальных уравнений и т. д. Для решения подобного рода задач имеются стандартные алгоритмы, представляющие собой определенную последовательность элементарных операций, которая может быть легко реализована в виде программы для вычислительной машины. В противоположность этому для широкого класса интеллектуальных задач, таких, как распознавание образов, игра в шахматы, доказательство теоремы и т. п., напротив, это формальное разбиение процесса поиска решения на отдельные элементарные шаги часто оказывается весьма затруднительным, даже если само их решение и несложно. Трудность разбиения решения интеллектуальных задач на элементарные шаги обычно бывает связана с трудностью формального описания этих задач. Например, человек может отличить кошку от собаки или русскую речь от английской, совершенно не будучи в состоянии дать формальное описание соответствующего алгоритма распознавания. Тип задачи предопределяет алгоритм ее решения. В чем состоит специфика алгоритмов решения интеллектуальных задач? Рассмотрим в качестве примера алгоритм решения "задачи на доказательство". Процесс решения этой задачи - результат интеллектуальной деятельности - есть доказательство, т. е. последовательность логических операций или шагов, начинающихся с условий (предпосылок) задачи и заканчивающихся заключением теоремы. При этом каждый шаг приводит к некоторому новому положению, полученному из соответствующим образом подобранных отдельных условий или из уже известных фактов (аксиом), или из ранее доказанных положений (лемм). Многие нематематические задачи можно себе представить в том же аспекте. Например, технологу при накладке производства нового изделия необходимо спланировать, скоординировать и уложить в согласованную схему множество операций: выбор и подготовку оборудования, формулировку конструктивных требований и ограничений, обоснование технологического маршрута и т. п. Сверх того в его обязанности может входить согласование этих технологических операций с операциями совершенно иного характера (финансовыми, экологическими, юридическими и т. п.). Все эти операции взаимосвязаны и могут быть спланированы так, что в результате их осуществления будет получено требуемое изделие с нужными свойствами. Таким образом, чтобы решить "задачу на доказательство", необходимо составить хорошо скоординированную, согласованную схему операций (логических, математических или прикладных), начинающуюся с условий (предпосылок) и заканчивающуюся заключением (целью), последовательно ведущую от данных к неизвестному, от объектов, находящихся в нашем распоряжении, к объектам, которых нужно достичь. Решая интеллектуальные задачи, мы постоянно ищем пути и средства к достижению той или иной цели, пытаемся выработать какой-то план действий, следуя которому, можно достичь этой непосредственно недоступной цели. Именно способность к преодолению трудностей и препятствий, к нахождению обходного пути к цели там, где нет прямого пути, отличает интеллектуальную деятельность от неинтеллектуальной, возвышая "умное" животное над "глупым", человека - над самым "умным" животным и талантливых людей - над другими людьми*. * (Разумеется, интеллектуальная деятельность человека отличается от таковой у животных. Важнейшим отличием человеческого мышления является язык, с помощью которого человек получает возможность значительно расширить свои интеллектуальные способности и класс решаемых задач. Но и в жизни животных интеллектуальная деятельность также играет огромную роль, нередко определяя возможность их существования.) Умение решать интеллектуальные задачи, т. е. способность целенаправленно преобразовывать имеющуюся информацию (знания), приобретается путем обучения на опыте подобно, скажем, умению плавать. Учась плавать, мы подражаем пловцам в том, что они делают руками и ногами, чтобы плавать. При помощи упражнений мы вырабатываем у себя необходимые навыки. Точно так же, учась решать задачи, мы наблюдаем и подражаем другим в том, как они это делают, и, наконец, мы вырабатываем у себя соответствующие навыки путем упражнений, т. е. путем обучения на опыте. Заметим, что умение решать задачи гораздо важнее, чем одно чистое знание, хотя, конечно, без необходимых знаний невозможно и решение. Резюмируя вышеизложенное, попытаемся теперь определить, что же такое интеллект? Прежде всего заметим, что четкого, общепризнанного определения этого термина пока еще нет. Поэтому предлагаемое определение будет носить некоторый рабочий (возможно, неполный) характер. Интеллектом будем называть способность мозга решать (интеллектуальные) задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным обстоятельствам. В этом определении под термином "знания" мы подразумеваем не только ту информацию (непосредственные впечатления), которая поступает в мозг через органы чувств. Такого типа знания чрезвычайно важны, но недостаточны для интеллектуальной деятельности. Дело в том, что объекты окружающей нас среды обладают свойством не только воздействовать на органы чувств, но и находиться друг с другом в определенных отношениях. Ясно, что для того чтобы осуществлять в окружающей среде интеллектуальную деятельность (или хотя бы просто существовать), необходимо иметь в системе знаний модель этой среды. В этой информационной модели окружающей среды реальные объекты, их свойства и отношения между ними не только отображаются и запоминаются, но и, как это отмечено в данном определении интеллекта, могут мысленно (т. е. в мозгу) "целенаправленно преобразовываться". При этом существенно то, что формирование модели внешней среды происходит "в процессе обучения на опыте и адаптации к разнообразным обстоятельствам". Деятельность мозга (обладающего интеллектом), направленную на решение интеллектуальных задач, мы будем называть мышлением, или интеллектуальной деятельностью. Интеллект и мышление органически связаны с решением таких задач, как доказательство теорем, логический анализ, распознавание ситуаций, планирование поведения, игры и управление в условиях неопределенности. Характерными чертами интеллекта, проявляющимися в процессе решения задач, являются способность к обучению, обобщению, накоплению опыта (знаний и навыков) и адаптации к изменяющимся условиям в процессе решения задач. Благодаря этим качествам интеллекта мозг может решать разнообразные задачи, а также легко перестраиваться с решения одной задачи на другую. Таким образом, мозг, наделенный интеллектом, является универсальным средством решения широкого круга задач (в том числе неформализованных), для которых нет стандартных, заранее известных методов решения. Важно отметить, что приведенное выше определение интеллекта конструктивно (хотя, может быть, и не полно) в том смысле, что оно раскрывает основные черты механизма мышления. Следует иметь в виду, что существуют и другие, чисто поведенческие (функциональные) определения. Так, по А. Н. Колмогорову, любая материальная система, с которой можно достаточно долго обсуждать проблемы науки, литературы и искусства, обладает интеллектом. Другим примером поведенческой трактовки интеллекта может служить известное определение А. Тьюринга, данное им в книге "Может ли машина мыслить?" [16]. Не приводя этого хорошо известного, но громоздко формулируемого определения, напомним только, что оно основано на специально организованной "игре в имитацию" между людьми и машиной, которые находятся в разных комнатах, но имеют возможность обмениваться информацией (например, с помощью телеграфной связи). Если в процессе диалога между участниками игры людям не удается установить, что один из участников - машина, то такую машину можно считать обладающей интеллектом. Недостатком тьюринговского определения интеллекта является то, что в принципе можно построить автомат с полным набором решений на все возможные задачи. Такой автомат для любой поставленной задачи просто находит в памяти соответствующее решение и, следовательно, по А. Тьюрингу, обладает интеллектом. Между тем, такое поведение автомата явно не соответствует нашему интуитивному представлению о мышлении. Это наводит на мысль, что определение интеллекта должно содержать нечто, показывающее, каким образом решаются интеллектуальные задачи. Легко видеть, что этому требованию удовлетворяет наше определение. Оно, в частности, позволяет отличить лицо, творчески решающее задачу, от лица, заучившего наизусть решение этой задачи. Возникает принципиальный вопрос: можно ли моделировать интеллектуальную деятельность, а если можно, то как это сделать? Интересен план имитации мышления, предложенный А. Тьюрингом. "Пытаясь имитировать интеллект взрослого человека, - пишет А. Тьюринг [16], - мы вынуждены много размышлять о том процессе, в результате которого человеческий мозг достиг своего настоящего состояния... Почему бы нам вместо того, чтобы пытаться создать программу, имитирующую интеллект взрослого человека, не попытаться создать программу, которая имитировала бы интеллект ребенка? Ведь если интеллект ребенка получает соответствующее воспитание, он становится интеллектом взрослого человека... Наш расчет состоит в том, что механизм в мозге ребенка настолько несложен, что устройство, ему подобное, может быть легко запрограммировано... Таким образом, мы расчленим нашу проблему на две части: на задачу построения "программы-ребенка" и задачу "воспитания этой программы". Сегодня многим ученым представляется несомненным, что вычислительные машины и роботы могут в принципе обладать всеми основными чертами интеллекта. Более того, современные ЦВМ и роботы вместе с их алгоритмическим и программным обеспечением уже обладают, по крайней мере частично, этими чертами. Они легко справляются с решением отдельных интеллектуальных задач. О подобного рода системах мы будем говорить, что они обладают элементами искусственного интеллекта. Таким образом, на вопрос "могут ли вычислительные машины или роботы мыслить?", следует дать положительный ответ. При этом нужно исходить из того, что вопрос должен быть решен путем эксперимента, наблюдения и сравнения поведения машины или робота с поведением человека в процессе решения интеллектуальных задач. Круг проблем, объединяемых термином "искусственный интеллект", достаточно широк и довольно неопределен. В самом общем смысле искусственный интеллект - это совокупность автоматических методов и средств целенаправленной переработки информации (знаний) в соответствии с приобретаемым в процессе обучения и адаптации опытом при решении разнообразных интеллектуальных задач. Работы по созданию систем искусственного интеллекта находятся сейчас в начальной стадии. В основном такие системы существуют в виде специализированных программ для ЭВМ, способных изолированно решать такие интеллектуальные задачи, как игра в шахматы или в другие интеллектуальные игры, сочинение музыки, доказательство математических теорем, диалог с человеком на языке, близком к обычному русскому, английскому и т. д., медицинская диагностика и т. п. В последнее время появились также системы искусственного интеллекта, реализованные в виде специализированной аппаратуры. Примерами могут служить обучаемые системы распознавания изображений, речи, радиолокационных сигналов и т. п. Главная трудность при создании подобного рода систем состоит не в поиске элементов, из которых их можно построить, а в отыскании логики совместной целенаправленной работы большого количества таких элементов. Особенности той или иной системы искусственного интеллекта в основном определяются свойствами заложенных в нее алгоритмов и программ, а не их технической реализацией. Необходимо подчеркнуть, что возможности искусственного интеллекта (как, впрочем, и возможности интеллекта человека) принципиально ограничены, так как объем памяти, скорость запоминания и считывания информации в системах искусственного интеллекта практически всегда ограничены. Это проявляется прежде всего при решении интеллектуальных задач высокой размерности. Существует несколько путей решения задач с помощью систем искусственного интеллекта. Простейший и на первый взгляд лучший способ решения - это полный перебор вариантов. Однако в ряде случаев такой перебор практически неосуществим, хотя теоретически и возможен. Дело в том, что многие интеллектуальные задачи большой размерности (в частности, разного рода комбинаторные задачи) не поддаются перебору в пределах современных временных масштабов, так как они приводят к необходимости перебора порядка 1000! вариантов. Если учесть, что в году примерно 3⋅107 секунд, то при быстродействии 106 операций в секунду и при практически неограниченной памяти порядка 1010 бит для перебора 1000! вариантов (напомним, что 10! = 3628800) потребуется астрономически большое число лет, превосходящее всякое воображение. В качестве примера интеллектуальной задачи высокой размерности обычно приводится игра в шахматы. Количество возможных вариантов в этой игре огромно и характеризуется, как известно, числом 10120. Многие практически важные задачи не могут быть решены методом полного перебора. Поэтому для их решения разрабатываются специальные алгоритмы, учитывающие специфику и структуру интеллектуальных задач. Важное место среди этих алгоритмов занимают эвристические и адаптивные алгоритмы, позволяющие в ряде ситуаций эффективно преодолевать трудности, связанные с охарактеризованным выше "проклятием большой размерности", а также с априорной неопределенностью интеллектуальных задач. Искусственный интеллект робота мы будем трактовать как алгоритмическое и программное обеспечение его управляющей системы ("мозга"), обладающее способностью моделировать (отображать) окружающую среду и решать широкий класс интеллектуальных задач посредством обучения на опыте и адаптации к изменяющимся условиям функционирования. Ясно, что искусственный интеллект является неотъемлемой частью тех роботов, которые предназначены для имитации интеллектуальной деятельности человека*. * (Необходимо подчеркнуть, однако, что искусственный интеллект роботов не рассматривается нами как модель биологических или психологических процессов, происходящих в мозгу человека или животных. Такую задачу мы и не ставим. Наша задача более скромна. Мы хотим только показать (и сделаем это в четвертой и пятой главах), что с помощью интеллектуальных роботов можно решать широкий класс интеллектуальных задач.) Говоря об интеллекте роботов, вряд ли можно сомневаться в том, что источником многих понятий и представлений для них послужил окружающий мир. Но, однажды постигнутые, эти понятия и представления (включая модель окружающего мира) могут начать развиваться и совершенно независимо. В частности, они могут, подобно тому, как это произошло у человека, подняться к высотам обобщения и абстракции, освобождаясь от пут своего конкретного (даже, может быть, "примитивного") происхождения. В процессе этой "внутренней" эволюции роботов могут рождаться новые понятия и представления (не заложенные в них человеком!), которые в свою очередь могут чудодейственным и пока непредсказуемым образом повлиять на ход научно-технического прогресса. Следует отметить, что есть люди, в корне не согласные с изложенной точкой зрения на интеллект роботов и искусственный интеллект вообще. Например, высказывается такое возражение: "Мозг современного человека - это результат процесса эволюции, который длился миллиарды лет. Робота нельзя обучать столь продолжительное время. Поэтому никогда не появятся интеллектуальные роботы". Несмотря на внешнюю убедительность, это рассуждение содержит грубую ошибку. Легко заметить, что, рассуждая совершенно аналогично, можно было бы "доказать" невозможность создания, скажем, самолета. В самом деле, "организм птицы - результат многовековой эволюции ее костей, мышц, перьев и мозга. Изобретатели самолета не могут заставить свой летательный аппарат, который тяжелее воздуха, пройти столь же длинный эволюционный путь. Поэтому создание самолетов невозможно". Ошибка такого рассуждения заключена в постулировании того, что автоматическая система может имитировать соответствующую биологическую функцию (мышление, полет и т. п.) только путем копирования механизма и эволюционного пути своего биологического прототипа. Люди, создавая роботов (или самолеты), естественно, вкладывают в них накопленный опыт и знания, которые тысячелетиями добывались человечеством. И если мы, исчисляя "эволюционный стаж" человека, вполне обоснованно включаем в него и время эволюции его непосредственных предков, то в "эволюционный стаж" роботов следует засчитать и время эволюции человека. Роботы начинают учиться решению интеллектуальных задач, уже имея очень высокую начальную организацию, заложенную в них человеком. При этом, по крайней мере поначалу, их обучает человек. В этих условиях ссылка на "миллиарды лет эволюции" становится малоубедительной*. * (Любопытно отметить, что рядом исследователей была предпринята попытка промоделировать саму эволюцию. Идея заключалась в том, чтобы, используя колоссальное быстродействие современных ЭВМ, промоделировать эволюционный процесс в ускоренном масштабе времени. Основное внимание при этом уделялось моделированию феномена мутаций и естественного отбора. Такой подход дает возможность свести миллионы лет эволюции к нескольким дням вычислительного времени на ЭВМ. Однако средняя и особенно последняя стадии эволюции связаны со столь сложными структурами моделей (которые "интеллектуальными" еще назвать никак нельзя), что их реализация в настоящее время представляется по меньшей мере проблематичной.) Другого типа возражения возникают в связи с тем, что человек - это "существо социальное". Коротко эти возражения сводятся к тезису типа: "мышление - функция не человека, а человечества; оно возникло в результате коллективной деятельности (социальной жизни) людей; робот же индивидуален по своей природе, следовательно, он не может обладать интеллектом". Это возражение содержит ту же самую ошибку - постулат о единственности пути к мышлению. Конечно, спору нет, общение людей между собой существенно повлияло на формирование интеллекта человека. Отсюда, однако, вовсе не следует, что у робота, имеющего достаточно высокую начальную организацию, интеллект не может развиваться в процессе индивидуального решения все более сложных интеллектуальных задач. Кроме того, совершенно не исключено, что несколько роботов ("коллектив роботов") будут совместно ставить и решать задачи, вытекающие из необходимости удовлетворить потребности человечества или самого этого "коллектива" (ремонт самих себя, создание новых роботов, в том числе с новой конструкцией или с новым программным обеспечением и т. п.). Итак, ссылки на роль социальных процессов в формировании интеллекта человека доказывают столь же мало, как и ссылки на продолжительность эволюционного пути человека. Как уже говорилось, нет причин, которые делали бы принципиально невозможным создание интеллектуальных роботов. Многие специалисты полагают, что искусственный интеллект роботов, в конце концов, превзойдет интеллект человека. Сказанное, конечно, никоим образом не означает, что искусственный интеллект современных ЭВМ и роботов уже имитирует все свойства и закономерности мышления. Речь идет лишь о принципиальной возможности имитации любых закономерностей такого рода по мере их открытия и изучения, ибо все закономерности интеллектуальной деятельности, безусловно, познаваемы и воспроизводимы. |
|
|||
© ROBOTICSLIB.RU, 2001-2019
При копировании материалов проекта обязательно ставить ссылку на страницу источник: http://roboticslib.ru/ 'Робототехника' |