НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

Сложность

Все рассуждения, приведенные в предыдущем параграфе, в полной мере касаются и такого нечеткого понятия, как творчество. В коллективной монографии "Управление, информация, интеллект" (в авторский коллектив которой входили и пишущие эти строки) дано следующее "кибернетическое" определение творческого процесса: " Это любая переработка информации, выполняемая неформализованным или частично формализованным способом, целью которой является создание новой "информационной структуры" как объекта (результата) творчества. Под неформализованным или частично формализованным способом переработки информации будем понимать такой способ, при котором не используется заранее составленное, формальное описание характера и последовательности действий, необходимых для осуществления всего процесса (с детализацией, достаточной для реализации его на современных вычислительных машинах)" [58, с. 314]. Иногда о творчестве говорят как о процессе получения интересного результата нетривиальным путем; иногда - как о решении новой задачи, поставленной внешней обстановкой; но всегда, говоря об акте творчества, явно или подсознательно подразумевают выход за рамки уже известных представлений. В последующих главах мы остановимся на некоторых основных результатах, полученных в кибернетическом моделировании элементов творчества. Здесь же мы обратимся к наиболее весомым, по нашему мнению, соображениям, касающихся трудностей "машинного творчества". Связаны эти трудности с понятием сложности.

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

* (Некоторые их аспекты оформились в результате' бесед с проф. Д. Б. Юдиным, которому авторы приносят искреннюю благодарность.)

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

Но "сложность" касается не только решения задач. Этот феномен неотделим от используемого языка - в самом общем смысле этого понятия. Одно из высших достижений эволюции - "языки" живых организмов, обладающих достаточно высокой степенью организации, - являются языками с расплывчатой семантикой, нечеткими языками. Естественные языки человеческого общения - языки вида Homo sapiens, "Человек разумный" - также нечетки. Это не случайно. Антропогенез с неизбежностью привел к языкам с неоднозначной, динамичной, гибкой семантикой - к языкам сложным; языки четкие - разной меры формальности - появились только на сравнительно высокой ступени развития общества и человеческого мышления. Ибо задачи, которые с самого начала ставил "человек разумный" (и тот Homo, который был прежде него): задачи добывания пищи, защиты от врагов и пр., - все они на четком, строгом, формализованном языке не могли быть сформулированы. Содержательная и объемная гибкость, нечеткость, "нежесткость" языковых образований - это то средство, которым история вооружила предчеловека, а потом человека для того, чтобы вид выжил и стал на путь качественно нового развития - развития социального. Однако по мере возникновения у человечества новых потребностей, новых задач - задач, которые нельзя ставить и решать в расплывчатых терминах, стали постепенно появляться и совершенствоваться языки все более формальные, языки, на которых стало возможным строгое задание понятий, отображающих реальный мир.

Два великих мыслителя сформулировали полярные подходы к определениям понятий. Определяйте значения слов, выражений языка - понятия, и вы избавите человечество от многих заблуждений, говорил Рене Декарт; "определить - значит ограничить" (или иначе: "определение есть отрицание"), писал Бенедикт Спиноза. Именно второй подход близок к тому понятию сложности, о котором сейчас идет речь. Из огромного количества систем понятий, которые имеются для постановки и решения той или иной (массовой) задачи, "формалист" вынужден использовать одно-единственное. Все остальные он отбрасывает. Можно сказать, что при формализованном подходе жизнь из неограниченно богатой, многокрасочной, яркой становится одноцветной, одномерной; рассматриваются лишь определенные аспекты того или иного явления, все же другие решительно отсекаются.

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

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

Ныне в научном знании возникла потребность в экспликации идеи сложности. Примерно двадцать лет назад в математической логике стала формироваться по сути дела новая дисциплина, создатели которой смотрели на нее как на систему понятий и утверждений, имеющую главным образом теоретическое значение. Если говорить об отечественной науке, то это были прежде всего работы А. А. Маркова и А. Н. Колмогорова, а также их учеников (и учеников их учеников); важные результаты в данной области были получены также в научных школах С. В. Яблонского и О. Б. Лупанова. В итоге было разработано четкое понятие сложности задания объекта (или сложности его записи). В общем и целом, под сложностью записи объекта понимается кратчайшая длина программы, наименьшее число команд, которое должно быть введено в идеализированную машину (машину, рассматриваемую в рамках абстракции потенциальной осуществимости) для того, чтобы она могла решить любую задачу некоторого класса - предъявить объект, считающийся ее решением. Или - "почти любую": в смысле какой-то разумной или естественной меры, установленной на данном классе задач.

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

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

Независимо, от описанных путей экспликации идеи сложности следует констатировать экспоненциальный рост реальных сложностных характеристик тех объектов, которые окружают человека. Поясним это на простом примере. Ныне хорошо известно, какую роль в кибернетике играет такой раздел математической логики (и алгебры), как булева алгебра. При обычном в классической математике подходе центральном объектом этого раздела оказывается булева функция. Так называется функция, которая определена на множестве из двух значений (обычно в качестве таковых выбираются числа 0 и 1) и принимает значения тоже из этой области. Булевы функции могут моделироваться релейно-контактными схемами; можно считать и наоборот, что они моделируют упомянутые схемы: здесь проявляется симметричность отношения "быть моделью", так как между множеством булевых функций и множеством релеино-контактных схем определенного вида существует отношение изоморфизма. Естественно возникает задача обозрения всех булевых функций (соответственно, релеино-контактных схем). Поскольку число их бесконечно, первый вопрос, которью встает перед исследователем, состоит в том, как зависит от числа аргументов число соответствующих попарно-различных булевых функций. Оказывается, что если число аргументов равно n (n = 1, 2, 3, ...), то число всех попарно-различных булевых функций от п аргументов k = 22n. Это означает экспоненциальный рост, что наглядно видно из следующей таблицы:


В результате мы очень быстро приходим к тому, что А. Н. Колмогоров назвал "большими" и "очень большими" числами. На идеях Колмогорова мы считаем необходимым остановиться более подробно.

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

Колмогоров приводит следующие примеры. Число 3 - малое, так как число булевых функций от трех аргументов k = 223 = 256, а 256 функций вполне можно реально ввести в рассмотрение (например, выписав их табличные значения). Однако число 5 уже не малое число, так как перебор 2564 булевых функций (контактных схем) от пяти аргументов реально невозможен ни для человека, ни для машины. В качестве другого примера среднего числа Колмогоров приводит число 1000, примером же большого числа может служить, говорит он, число видимых звезд на небосклоне. Ибо каждый знает, что нельзя пересчитать звезды пальцем, а тем не менее существует каталог звездного неба, т. е. для звезд выработана система обозначений.

Большие вычислительные возможности ЭВМ приводят к определенному сдвигу в этой классификации (например, число 5, не малое для человека, является малым для ЭВМ), однако в общем ее не нарушают: хотя соответствующие числа для машины гораздо больше, они остаются близкого порядка с "человеческими": 3 для человека и 10 для машины в случае малых чисел, 103 для человека и 1010 для машины - в случае средних чисел, 10100 для человека и 101010 для машины - в случае больших чисел (о сверхбольших числах Колмогоров говорит, что они "не понадобятся"). "Между числами разных категорий, - пишет Колмогоров, - существует непроходимая грань: числа, средние для человека, не становятся средними для машины. 103 несравненно больше, чем 10, а 10100 безнадежно больше, чем 1010" [30, с. 24]. Эти заключения были сделаны в начале 60-х годов. Развитие вычислительной техники привело к возрастанию "чисел Колмогорова" для машин, но не сняло для них различия в четырех категориях чисел. В силе остается вывод советского математика о том, что объем памяти живого существа и даже машины характеризуется средними числами, а многие проблемы, решение которых предполагает простой перебор, - большими. И вот тут-то А. Н. Колмогоров формулирует принципиально важный тезис: "Проблемы, которые не могут быть решены без большого перебора, останутся за пределами возможностей машины на сколь угодно высокой ступени развития техники и культуры" [30, с. 24]. Это надо понимать в том смысле, что их решение останется недоступным для вооруженного вычислительной техникой научного исследования. Следует заметить: уже сейчас установлено, что некоторые проблемы - они изучаются в теории автоматов и математической логике - не могут быть решены без простого перебора. В связи с этим Колмогоров ставит принципиальный вопрос: существуют ли такие проблемы, связанные с кибернетическим анализом живого, которые "ставятся и решаются без необходимости большого перебора?" [30, с. 25]. Ответ на этот вопрос приходится ожидать от будущего развития научного познания.

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

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

Фон Нейман рассматривает проблему на примере зрительного восприятия - явления фактически еще мало объясненного. Его интересует вопрос, в чем состоит явление зрительного узнавания, опознавания визуальных образов; как описать, что человек или животное такие-то объекты опознает как "одинаковые", а такие-то - как "различные". Фон Нейман приходит в связи с этим к следующему "пессимистическому" заключению. Приблизительно пятую часть головного мозга человека занимает его зрительный аппарат, т.е. аппарат, реализующий визуальное опознавание объектов. Если обратиться к числам (которые, говорит фон Нейман, не очень надежны, но дают верную ориентацию), то получается, что сеть, содержащая порядка двух миллиардов "реле", занята только организацией зрительных образов ("зрительной аналогией") . Априори не ясно, может ли существовать какое-нибудь более простое описание того, что такое зрительная аналогия, чем просто перечисление динений, составляющих зрительный аппарат. Поэтому, приходит к выводу фон Нейман, отнюдь не исключено, что поиски точного логического определения "зрительной аналогии" напрасны. "Весьма возможно, что уже сама схема связей в зрительном аппарате мозга является простейшим логическим выражением (или определением) принципа зрительной аналогии" [59, с. 91]. "Я считаю, - говорит фон Нейман, - что это абсолютно неизбежно; когда такая ситуация возникнет, это просто вопрос степени усложнения. Я думаю, что по ряду причин можно подозревать, что именно так обстоит дело с вещами, производящими неприятно туманное и расплывчатое впечатление (вроде вопроса, что такое зрительная аналогия), где мы чувствуем, что никогда не дойдем до конца описания. В таком случае быстрее сделать что-то, чем описать, быстрее привести схему, чем дать общее описание всех ее функций и всех мыслимых обстоятельств" [60, с. 67].

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

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

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

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

Описанные нами "сложностные" трудности касаются прежде всего второй и третьей ступеней в той иерархии уровней рассмотрения; возможностей кибернетического моделирования, которые мы ранее выделили: речь идет о технической реализуемости ("слишком много вычислений!") и практической целесообразности ("слишком много энергии!"). Затрагивает ли все сказанное первый уровень возможности - уровень принципиальной осуществимости (иначе его можно назвать уровнем потенциальной реализуемости)? По-видимому, да. Если принять "сложностные" ограничения, то потребуется выделить еще один - промежуточный между потенциальной реализуемостью и реальной осуществимостью - уровень, причем первый уровень тогда придется трактовать в качестве "абстрактной возможности", или, другими словами, возможности логической, возможности того, что, по Канту, может быть мыслимо существующим без впадения в формальное противоречие. В более современных терминах - это то, что не запрещается ни законами логики, ни общими принципами естествознания. Возможность передачи любого процесса переработки информации подходящим образом запрограммированной машине Тьюринга в общем случае (а не в случае тех или иных конкретных рассмотрений) есть именно такая абстрактная возможность. Конечно, открытие такой возможности явилось важным гносеологическим результатом кибернетики (и математической логики), о чем мы еще будем говорить. Принцип, на котором базируется эта возможность, - это уже упоминавшаяся нами абстракция потенциальной осуществимости, которую теперь можно конкретизировать как отвлечение от сложностных ограничений.

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

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь