# Сложна ли сложность?

Леонид Александрович Ашкинази

Сложна ли сложность?


Непосредственной причиной обращения к этой теме стала фраза, неосторожно сказанная одним из читателей "Химии и жизни" в разговоре с другим читателем. Первый заявил, что "железо в компьютере проще, чем в радиостанции". Поскольку второй был компьютерщиком, фраза вызвала у него изумление: "Да в нем одних транзисторов три миллиарда!" Первый, как специалист по радиоэлектронике, попробовал отстоять опрометчиво сказанную глупость и близкую его сердцу радиостанцию Р-404 на трех трехосных грузовиках...

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

Предадимся рефлексии -- а не с этого ли начинается любое исследование в гуманитарной области и не это ли, кстати, может сойти за определение гуманитарного? Тогда условиями сложности можно счесть:

-- количество элементов,

-- разнообразие элементов,

-- количество связей,

-- разнообразие связей,

-- количество состояний системы,

-- количество функций системы.

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

Однако строить абсолютное определение сложности -- хоть и хочется, но непонятно как, поскольку элементов всегда неопределенно много. Например, рассмотрим вас, уважаемый читатель. Ваши элементы -- это не только органы, но и клетки, внутриклеточные структуры, молекулы, атомы и далее со свистом в глубь материииии... Помните, как Крис Кельвин заглянул супермикроскопом в кровь своей девушки? А если вы не читали великий роман Станислава Лема, то в Сети есть прелестная естественно-научная иллюстрация "The Scale of the Universe" в нескольких вариантах, например http://htwins.net/scale/

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

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

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

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

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

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

Перед тем как перейти к проблеме количества состояний системы и количества функций, обратимся к вопросу сопоставления непрерывного и дискретного. У ключа два состояния, это замечательно, а сколько состояний приписывать транзистору в аналоговой схеме? Разработчику аналоговой схемы этот вопрос и в голову не приходит, но нам-то хочется сравнить. Любая аналоговая схема устойчива, то есть продолжает работать, не выходя за оговоренные значения параметров элементов, как пассивных (сопротивления, емкости и т. д.), так и активных (транзисторы). В том числе и к изменениям коэффициента усиления транзисторов, а значит, и к уровню сигналов, то есть к состояниям активных элементов. Изменения, которые переваривает система, обычно составляют проценты или первые десятки процентов. За количество состояний естественно принять обратную величину допустимого ухода параметров. Приняв строгое ограничение в один процент, мы получаем сто состояний аналогового транзистора.

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

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

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

В заключение у пытливого читателя возникает вопрос: зачем мы все это плели? Только чтобы сгладить неловкость, нечаянно случившуюся в разговоре между двумя профи, читателями "Химии и жизни"? Нет. Для того чтобы показать пытливому, что за словами -- если они не в телевизоре -- может стоять смысл и смысл этот может быть неочевиден, непрост и контекстно зависим. То есть зависим от того, какая задача рассматривается, для чего именно мы конструируем понятие сложности. Чтобы решить, сколько выделить часов на преподавание, или сколько выделять человеко-часов на конструирование, или сколько выделить ресурсов на разворачивание производства? Во всех этих случаях понятие сложности будет разным, и на основе предшествующего анализа вы его сконструируете сами -- в качестве легкого домашнего упражнения, как неприлично шутят некоторые математики.

А еще было бы интересно сравнить по этой схеме компьютер и наш мозг... можно мозг автора, если вы стесняетесь...