Электронный Тезей

Electronic Graphics by Herbert Franke

Источник: журнал «Знание – сила», №3, 1965 год. Автор: В. Пушкин, кандидат педагогических наук (по психологии).

Эвристика – наука о процессах творчества.

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

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

Эвристика – наука о процессах и правилах творчества – насчитывает уже много столетий.

Одним из первых её представителей был известный греческий математик Папп (300 г. нашей эры). Ему принадлежит книга, название которой переводится так: «Сокровищница анализа» или «Искусство решать задачи». Но мы опустим долгую и волнующую историю эвристики и перейдём сразу к нашим дням.

 

Горы и яблони

Известно немало любопытных высказываний о том, как протекает творческий процесс.

Знаменитый немецкий физик и физиолог Гельмгольц рассказывал о нескольких приёмах, которые, как он находил, помогали ему делать открытия. Учёный так описывал свой метод «управления» творческим процессом. После того как все данные стоящей перед ним проблемы тщательно проанализированы и приведены в систему, чтобы их легко было обозреть мысленным взором, необходимо выйти из дома в тот час, когда солнце начинает склоняться к закату, и начать медленный подъём на лесистую гору. Во время такой прогулки и приходит решение сложной проблемы.

Нетрудно увидеть, что способ Гельмгольца не универсален: это его способ и нет никакой гарантии, что другому учёному он поможет.

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

 

Формула интуиции

Творчество и формализация... Два понятия, которые, как может показаться, совершенно исключают друг друга. Формализация – разложение какого-нибудь процесса на его элементы, чёткое, недвусмысленное, последовательное описание их. Если есть формула или алгоритм – программа действий, то не только человек, но и счётно-решающая машина может воспроизвести процесс, воссоздать его существенные моменты. Многие процессы, протекающие в природе или технических системах, уже формализованы – имеется их строгое, чёткое математическое описание. Эго позволяет управлять такими процессами или моделировать их с помощью ЭВМ для дальнейшего, более глубокого изучения.

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

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

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

Перед человеком возникла сложная задача, которая не даётся ему, несмотря на интенсивные попытки. Что делать в этом случае? Пойа делит весь процесс решения на четыре этапа: понимание задачи, составление плана решения, осуществление плана, взгляд назад (изучение результата, который получился, когда план осуществлён).

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

Однако несмотря на все усилия, решение не даётся. Что делать дальше? Пойа продолжает свою схему: нельзя ли иначе сформулировать задачу? Ещё иначе? Вернитесь к определениям. Если не удаётся решить данную задачу, постарайтесь сначала решить сходную. Нельзя ли придумать более доступную сходную задачу? Более общую? Более частную? Аналогичную? Нельзя ли решить часть задачи? Сохраните только часть условия, отбросив остальное: насколько определённым покажется тогда неизвестное; как оно может меняться? Нельзя ли извлечь что-нибудь полезное из данных? Нельзя ли придумать другие данные, из которых можно было бы определить неизвестное? Нельзя ли изменить неизвестное или данное или, если необходимо, и то и другое, чтобы новое неизвестное и новые данные оказались ближе друг к другу?

Но если вы осуществили все указанные в схеме действия и всё-таки не решили задачу, то вам уже трудно чем-нибудь помочь.

Разумеется, схема Пойи ни в коей мере не является панацеей для всех задач и проблем. Она интересна как попытка формально, в виде более или менее определённых правил описать реальный процесс решения. Эти правила могут помочь решать задачи; однако нельзя заложить их в машину и ждать, что она будет действовать в соответствии с ними. Почему?

Секрет этого прост, но в нём-то как раз и таится самая главная трудность. В правилах Пойи очень многое совсем не имеет чёткого определения и в свою очередь нуждается в дальнейшей формализации. Например, что означает указание «Рассмотрите неизвестное»? Ведь сам процесс рассмотрения нуждается ещё в дополнительном и весьма сложном анализе. Для электронных счётно-решающих машин нужны другие программы – такие, где описаны в формулах (формализованы) все без исключения звенья процесса решения задач.

Начало работы по эвристическому программированию относится к 1957 году, когда американские исследователи Ньюэлл, Шоу и Сайман опубликовали описание программы, способной решать проблемы из области математической логики – сложной и относительно новой области математики. Программа эта так и называлась: «Логик-теоретик». Она была названа эвристической и вызвала огромный интерес, потому что при её создании использовались методы и правила, выведенные на основе анализа живого человеческого процесса решения проблем. Создатели программы писали: «Мы хотели понять, например, как математик приходит к доказательству теоремы, несмотря на то, что он вначале не знает, как решать поставленную задачу, и ему неизвестно вообще, сможет ли он её решить».

 

Что автоматизируется – процесс или результат?

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

К сожалению, этот очень интересный спор постепенно утратил серьёзный характер: в многочисленных статьях и выступлениях не только нет содержательного, конкретного сравнения машины и человека, но неясно даже – что понимается под той мыслительной деятельностью, которую можно (или нельзя) автоматизировать.

Инженеры и математики часто рассматривают мозг как некоторый «чёрный ящик»: как систему, внутреннего устройства и работы которой мы не знаем, да это нас особенно и не интересует. Главное – описать внешнее поведение человека или животного в процессе решения той или иной задачи. Этот подход приводит порой к такому ложному рассуждению. Если в одинаковых условиях машина и человек на «выходе» выдают один и тот же результат, значит процесс, который привёл в одном и другом случае к этому результату, одинаков. Значит, если мы добились, что машина производит счёт, то мы тем самым воспроизвели умственную деятельность человека в процессе счета.

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

Не все представители кибернетики, конечно, совершают эту ошибку. Многие говорят так: мы допускаем, что человеческая голова работает иначе, чем наша машина, которая, например, распознает буквы, цифры и т. д. Но это нас совершенно не волнует; наша задача – получить эффект, результат. Доказывая правомерность такого подхода, инженеры приводят серьёзные аналогии. Самолёт, – говорят они, – моделирует, воссоздаёт полет птиц, но у птицы работают крылья, а у самолёта – пропеллер. И ещё: колесо во всём отличается от ног, но оно моделирует, воссоздаёт существенную функцию ног: функцию передвижения...

Для техники это – выход из положения, но с точки зрения спора – уход от проблемы. Учёный, разработавший формулу движения колеса, едва ли рискнёт выдавать её за формулу движения ног. А кибернетика, как известно, является наукой именно об общих закономерностях управления, где бы оно ни осуществлялось – в человеке, животном, машине, производственном предприятии. Если согласиться, что для кибернетики достаточно воссоздать результат умственной деятельности, то оказывается, что возникают две кибернетики. Одна решает практические, чисто технические задачи машинного управления, независимо от знания специфических закономерностей человеческого мышления. Это будет техническая кибернетика. И рядом с ней – общая кибернетика, которая, по самому своему определению, не может успешно развиваться без знания закономерностей мышления.

Так всё-таки, что имеют в виду представители техники, когда они обещают смоделировать человеческий интеллект – процесс мышления или его результат?

А может быть, действительно не стоит мучить себя этим вопросом? Ну, работает машина, решает задачи во многих случаях лучше, чем человек. Нельзя ли обойтись без знания закономерностей «проклятого» мыслительного процесса, который так сложен для научного анализа?

Нет, обойтись нельзя. И вовсе не потому, что нужно развивать теорию общей кибернетики. Просто есть такие задачи, с которыми не может справиться машина и которые довольно успешно решает человек. Задачи эти возникают в ходе управления большими системами – энергетическими, сложными транспортными объектами и т. д. Известно, какое важное значение имеют большие системы на современном уровне развития производства и как возрастёт их роль в будущем. Поэтому очень важно – и именно в техническом, производственном отношении, выяснить: почему машина в каких-то условиях работает плохо, а человек – хорошо. И здесь остаётся только начать изучение закономерности того, как человек решает задачи. Так развитие технической кибернетики приводит к необходимости исследования психологии мышления.

Некоторые результаты экспериментальной психологии мышления были с самого начала положены в основу кибернетической техники. В конце XIX века американский психолог Торндайк занимался тем, что сажал голодных кошек в специально сделанную клетку, из которой животное могло выйти, только нажав на рычаг или потянув за петлю. Оказавшись в заключении, кошка металась по клетке, пока случайно не совершала нужного движения, приводившего к освобождению. Торндайк придавал этому эксперименту чрезвычайно большое значение. Он полагал, что сущность процесса решения сложных проблем человеком тоже состоит в более или менее хаотическом поиске, в пробах и ошибках. Эта психологическая теория «проб и ошибок» нашла более полувека спустя своё выражение в методе перебора вариантов, на основе которого работают современные кибернетические машины.

Что делает, например, машина, играющая в шахматы? Она совершает ход той или иной фигурой, а потом позиция по определённой системе критериев оценивается в баллах и фигура возвращается на место. Затем делается другой ход, снова машина запоминает его оценку и т. д. После того как перепробовано множество ходов, машина «принимает решение» – совершает тот ход, который получил наибольшее количество очков. Так в кибернетике была реализована ранняя экспериментально-психологическая гипотеза, отражающая лишь некоторые стороны человеческой интеллектуальной деятельности.

Представители кибернетики любят отождествлять эти две системы: голову человека и машину. Так, известный американский математик, одни из создателей теории информации К. Шеннон писал в работе «Машина для игры в шахматы»:

«Мыслительный процесс, по мнению некоторых психологов, существенно характеризуется следующими этапами: различные возможные решения задачи испытываются мысленно или символически без реального воспроизведения; лучшее решение выбирается мысленной оценкой результатов этих экспериментов; затем реализуется решение, найденное таким путём. Нужно заметить, что это почти точное описание того, как действует, играя в шахматы, машина, если заменить слово «мысленно» словами «внутри машины».

Сейчас чисто внешний подход к мышлению, о котором говорит Шеннон, уже подвергнут в психологии серьёзной критике. Ведь если придерживаться такого взгляда на мышление, то машина должна играть в шахматы гораздо лучше, чем человек: она гораздо быстрее может перебирать различные варианты. Однако известно, что машине ещё очень далеко до шахматного мастера. Чтобы выиграть у хорошего шахматиста, машине нужно десятилетиями перебирать варианты в ходе одной только партии.

На примере шахмат отчётливо видно: спор о том, что воссоздаёт кибернетическая машина – процесс умственной деятельности или его результат – не является для технической кибернетики праздным спором. Именно в связи с попыткой моделировать процесс человеческого мышления – деятельность, которая обеспечивает человеку возможность успешно работать в условиях бесконечной среды, такой, например, как шахматы, – и возникает в кибернетике направление, получившее название эвристического программирования.

 

Эвристические программы

После программы «Логик-теоретик», о которой шла речь выше, математик Рейтман сделал попытку моделировать сложную творческую деятельность – деятельность композитора. Изучая процесс создания музыки, учёный использовал словесный отчёт композитора и те отрывки, которые он проигрывал в ходе сочинения. Так чисто психологическим методом была создана эвристическая программа, и машина оказалась в состоянии создавать некоторые, хотя и весьма примитивные, музыкальные произведения.

Эвристическое программирование, таким образом, началось с попыток формализации – разложения и описания процессов творчества – в двух различных областях человеческой деятельности. В одном случае моделью оказался учёный-математик, в другом композитор. Однако не может ли быть, что эвристический процесс – будь то творческий элемент в работе литератора, конструктора, физика, педагога, лётчика, художника или врача – обладает общими существенными чертами? Эту идею давно разделяли многие философы и психологи.

Ньюэлл, Шоу и Сайман попытались реализовать в кибернетике это единство творческих процессов, проявляющихся и в искусстве, и в науке, и в других сферах человеческой деятельности. Нетрудно понять, какие огромные практические перспективы обещает успех такой попытки: ведь тогда одна машина смогла бы решать сложнейшие творческие задачи в совершенно различных областях. Так появилась программа под названием ДПС [тут и далее в статье ошибка, так как имеется в виду программа GPS General Problem Solver, созданная в 1959 году Гербертом Саймоном и Клиффордом Шоу], одна из наиболее интересных эвристических программ. Её название переводится на русский язык как «Универсальный решатель проблем» или «Вычислитель для решения проблем общего типа».

ДПС работает в таких основных понятиях: объекты и операторы – способы преобразования объектов, которые изменяют их свойства и различия между ними. Как объекты – в зависимости от области применения программы – могут использоваться математические формулы, геометрические фигуры, различные шахматные позиции и т. д. Программа ДПС основана на таком принципе: каждая задача имеет то, что дано (условия), и то, что требуется найти, или иначе – исходную и конечную ситуацию. Нужно последовательно преобразовывать исходную ситуацию до тех пор, пока она не превратится в конечную.

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

Если бы программа ДПС могла говорить, она рассказала бы о последовательности своих действий примерно так: «Я хочу из А попасть в В, но не знаю, как это сделать. Каков разрыв между тем, что у меня есть, и тем, чего я хочу добиться? Этот разрыв – Д. Как я могу уменьшить Д? Вот оператор Т, который снижает величину Д, но я не знаю, как применить его. Давайте изменим А (моё исходное состояние) так, чтобы можно было использовать оператор Т. А теперь применим оператор Т и получим новый объект – ситуацию А-1. Новая задача состоит в том, чтобы теперь попасть из А-1 в В, но я снова не знаю, как. Каков разрыв теперь?»

Так программа пытается достичь основной цели, последовательно подменяя её более достижимыми целями. Задача решается постепенно, как в детской игре «горячо-холодно».

Как и в переборе вариантов, в основе этой программы лежит определённое представление о том, как решает задачи сам человек. Универсальность ДПС основана именно на том, что есть общего в самых различных процессах решения. Один из многих примеров общего представления о том, что такое процесс решения – модель, предложенная американским психологом Смоллом в 1900 году. Его модель – лабиринт, в центре которого находится цель, искомая ситуация. Решение задачи – путь по коридорам лабиринта, заходы в тупики, кружение на одном месте до тех пор, пока не будет достигнута заветная центральная площадка.

И ДПС, и модель Смолла – это, образно говоря, потомки Тезея, греческого героя, который проник в огромный Критский лабиринт и, как известно, убил находившегося в нём Минотавра. Однако положение ДПС значительно лучше, чем положение человека, который заходят в лабиринт и не знает пути к его центру. Ведь, как следует из описания программы, ДПС знает расстояние от исходной до конечной площадки. И это знание расстояния Д весьма облегчает деятельность электронного Тезея.

Эвристическая программа ДПС имела большой успех. Она оказалась способной решать задачи довольно широкого класса. Характерно, что исследователь Рейтман увидел глубокое сходство между ДПС и своей программой, моделирующей деятельность композитора. Успешная разработка эвристических программ способствовала использованию их в промышленности.

Однако скоро исследователей, авторов «Универсального решателя проблем», постигло разочарование. Оно снова было связано с таинственной, древней и до сих пор не увядающей игрой – шахматами. Разумеется, неудача приложения ДПС к шахматам ни в коей мере не умаляет достоинств этой программы. Но всё-таки... Значит, программа не универсальна, значит, не формализован, не воссоздан, не смоделирован какой-то очень важный механизм умственной деятельности человека.

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

Чтобы ответить на этот вопрос, нужно ещё раз представить себе схему его работы. Он должен идти от начальной ситуации (первая площадка лабиринта) – к цели (конечная его площадка). Если задана цель, если определена эта конечная площадка и известно расстояние одной площадки от другой, ДПС работает хорошо. Ну, а если решающая задачу система – машина или человек, неважно – лишена таких данных? Если область поиска не определена? В этом случае программа, действующая по принципу лабиринта, не сможет решать задачи с необходимой степенью надёжности и успешности. Именно к такому классу задач относятся шахматы.

Количество возможных путей, коридоров, площадок в этой игре так велико, что перед задачей выбора хода пасует быстродействие современных ЭВМ. Можно, правда, ограничить задачу, стоящую перед машиной. Можно поставить ей более определённую цель: отправляясь от существующей позиции, достигнуть матового положения. Однако Ньюэлл справедливо указывает, что такое ограничение, сужение задачи не намного облегчает положение. Ведь матовых позиций может быть очень много, и если исходное положение на доске включает большое число фигур, то к каждой конечной ситуации от каждой исходной ведёт огромное количество путей. Число возможных сочетаний опять становится близким к тем астрономическим числам, из-за которых нельзя применить в шахматах принцип перебора вариантов.

Но Ньюэлл, Шоу и Сайман создали всё-таки эвристическую программу для игры в шахматы. Она основана не столько на анализе общих закономерностей мыслительной деятельности человека, сколько на глубоком изучении самой шахматной игры – её приёмов, правил и обобщений. К таким правилам относятся, например, известные шахматные идеи: «Держите под контролем четыре центральные поля», или: «Прежде чем атаковать, обеспечьте безопасность своего короля» и т. д.

Проанализировав традиционные правила игры, исследователи разбили их на шесть независимых «целей», которые были расположены по степени важности. Вот так: 1) безопасность своего короля, 2) материальное равновесие, 3) контроль над центральными полями, 4) развитие фигур, 5) осада вражеского короля, 6) продвижение пешек.

Этот порядок целей и определяет последовательность работы машины. Сначала машина совершает целый ряд проб для полного обеспечения безопасности своего короля. Если это не удаётся, то всеми последующими ходами она будет пытаться защитить его. Если король в безопасности, она перейдёт к очередной задаче: к учёту размена фигурами и обеспечению материального равенства, чтобы добиться достаточной защиты своих фигур. Если этого нет, машина будет защищать их. Если безопасность фигур обеспечена, машина перейдёт к следующем задаче – завоеванию центральных полей. Она будет выяснять, можно ли продвинуть на них свои пешки. Если да, то она делает это, если нет – машина перейдёт к развитию фигур, а затем – к атаке на короля.

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

Такая программа действует значительно успешнее, чем та, которая использует простой перебор вариантов. Машина, управляемая ею, способна разыгрывать довольно сложные и интересные партии. Практический эффект её очевиден, но с теоретической, общекибернетической точки зрения это в известном смысле шаг назад по сравнению с «Универсальным Решателем Проблем». Несмотря на то, что «Решатель» спасовал перед шахматами, его значение велико – ведь при создании ДПС была сделана попытка смоделировать общие черты и особенности, свойственные всем формам творчества.

Разумеется, за эвристическими программами, воссоздающими мыслительную деятельность на основе анализа того, как эту деятельность выполняет человек, большое будущее. Существует, в принципе, два типа эвристических программ: универсальные (такие, как ДПС) и специальные – их сейчас насчитывается довольно много. Вероятно, и в дальнейшем эти два вида эвристических программ будут интенсивно развиваться, их значение для практики, для производства будет возрастать. Однако наиболее интересны, конечно, универсальные программы: ведь они связаны с исследованием и раскрытием психологических механизмов творческой деятельности человека.                                      




www.etheroneph.com