Category: наука

Category was added automatically. Read all entries about "наука".

horror

ОБФУСЦИРОВАНО

Давным-давно я наткнулся в интернете на очень занимательный сайт под названием “The International Obfuscated C Code Contest” или “IOCCC” или «Интернациональный контест по обфускации С-кода».

Цели контекста:
  1. Написать наиболее мутный и обфусцированный С-код в рамках правил
  2. Показать важность стилей программирования, в ироническом виде
  3. Испытать С-компилятор необычным кодом
  4. Продемонстрировать некоторые тонкости языка С
  5. Обеспечить безопасное место для безобразного С-кода
Для тех, кто до сих пор в танке, обфускация — сознательный или бессознательный процесс запутывания исходного кода с целью свести с ума будущих читателей. Также как и рефакторинг, обфускация не меняет функциональности программы, а лишь нарушает организацию и внешний вид исходного кода. Я до сих пор помню, как одноклассник на уроке информатики копировал с экрана моего монитора лесенку. Так вот, если этот процесс пустить вспять, то это и будет примитивный пример обфускации.

Вернемся к контесту. Кратко говоря, участники должны написать максимально непонятный код, который бы при этом делал что-то интересное. Особым шиком считается оформить исходный код в виде ASCII-графики, желательно при этом, чтобы изображение имело отношение к задумке самой программы. Я тоже решил попробовать свои силы и быстро сваял программу, которая выводит в консоли множество Мандельброта. Это был первый этап и вот результаты работы:
                                              ****
                                              ****
                                        *  **********
                                        *****************
                                      *******************
                                     *********************
                           *******  **********************
                          ********* **********************
               *****************************************
                          ********* **********************
                           *******  **********************
                                     *********************
                                      *******************
                                        *****************
                                        *  **********
                                              ****
                                              ****
Дальше я решил сосредоточиться не на самой обфускации, а на оформлении кода. Форматировать код руками — муторно и долго, поэтому я… правильно, написал еще одну программу. На вход она принимает два файла: схему и код. В качестве схемы выступает вывод предыдущей программы, т.е. множество Мандельброта. Идея состоит в том, что новая программа должна пытаться рассредоточить код таким образом, чтобы он максимально точно повторял изображение на схеме. Программа незамысловатая, но есть интересные моменты:
  1. Файлы считываются в строки с помощью read_into_string()
  2. Во время считывания происходит препроцессинг кода: символы “{}();,” окружаются пробелами
  3. Препроцессинг нужен для того, чтобы sscanf() правильно распознавал все токены, т.е. понимал, что for( — два разных токена
  4. Грубо говоря, процедура format() последовательно читает токены из кода и ждет пока в схеме наберется нужное количество звездочек, после этого токен выводится
  5. Процедура format() распознает ситуацию, когда рядом идут два символьных токена, чтобы при выводе между ними вставить, как минимум, один пробел, т.е. чтобы в выводе не было: floatx
Я запустил программу и получил следующее:
                                              void
                                              zxc()
                                        {  for(float y
                                        =-1.0f;y<1.0f;y+=0.1f
                                      ){for(float x=-2.5f;
                                     x<1.0f;x+=0.05f){const
                           float   escapeR=100.0f;float zx=
                          0.0f; float zy=0.0f;float tx=0.0f
               ;float ty=0.0f;int n=100;float mod=0.0f;while
                          (n>=0&& mod<escapeR){zx=tx*tx-ty*
                           ty+x;zy  =2.0f*tx*ty+y;tx=zx;ty=
                                     zy;--n;mod=sqrt(zx*zx+
                                      zy*zy);}printf("%c",
                                        n>=0?'_':'*');}printf
                                        (  "\n");}}void
                                              main(){
                                              zxc();}
И она даже комплириуется. Впрочем мне больше по душе живой фрактал Мандельброта под авторством Д. :)

l_211a6d1a
horror

Грег Иган, «Диаспора»



«Диаспору» без преувеличения можно назвать одним из лучших современных научно-фантастических романов. Безграничный кредит доверия Грегу Игану вынудил меня впервые прочитать художественную книгу в оригинале. Стоит ли говорить о том, что я ни разу не пожалел?

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

Некоторые пассажи просто завораживают. Рядовой глейснер по имени Карпал, живой разум в теле робота, вот уже несколько мега-тау лежит на лунном реголите и любуется звездным небом. Паоло, житель полиса Картер-Зиммерман, покоится в своей церемониальной ванне и медленно приходит в себя (в реальность) после клонирования, колокол должен пробить определенное количество раз, и таким образом просигнализировать кем он является на самом деле: оригиналом или очередным клоном.

Размеренная жизнь заканчиваются после странных событий в далеком космосе. Две нейтронные звезды, вращающиеся вокруг общего центра масс, стремительно сближаются, чтобы в конечном итоге слиться и заполнить окружающее пространство смертоносным гамма-излучением. Это дает начало многим сюжетным линиям: попыткам спасти флешеров на Земле, развитию т.н. теории Кожуха с целью разработки способов моментального передвижения в пространстве, исходу, поискам неуловимых Трансмутеров, которые оставили во множестве миров артефакты и предупреждения.

Философия нового времени — трансгуманизм. Живые люди из плоти и крови (флешеры) давно отошли на второй план и практически не играют никакой роли на заре 3000 года. Homo novus — глейснеры и граждане виртуальных полисов. Иган последовательно и детально описывает новую онтологию: роман начинается с рождения гражданина посредством изощренных генетических алгоритмов, дитя-сирота взрослеет и впитывает базовые импринты и знания. Еще немного и он вступит в первое в своей жизни виртуальное подпространство…

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

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

Третьим столпом «Диаспоры», без сомнения, являются незаурядные внеземные цивилизации, по своей тонкости сравнимые с «Солярисом» Лема. Впервые с ними мы встречаемся в восьмой главе, в «Коврах Вана». Это глава знаменательна и по другим причинам: во-первых это отдельный полноценный рассказ, органично вплетенный в основное повествование; а во-вторых — это единственная глава, переведенная на русский язык. Идеальная возможность для знакомства. Стоит отметить, что ковры Вана являют собой поразительную ВЦ, существующую в кристалла-органической форме в среде без природных врагов. Но впоследствии оказывается, что это лишь в некотором смысле hardware, а все самое интересное происходит глубоко внутри, тем самым обнаруживая удивительные параллели между ВЦ и виртуальными полисами людей.

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

Originally posted here
horror

Квантовый скачок

В Древней Греции жил гениальный человек по имени Демокрит. Однажды он пришел к одному интересному гипотетическому выводу: если взять кусок камня в руки, а затем начать его делить, и опять и опять, то рано или поздно мы получим материальную точку, которую далее невозможно расчленить. Это точку он назвал атомом, что в переводе с греческого и означает «неделимый». По Демокриту свойства всего окружающего вещества как раз и определялись свойствами этих микроскопических неделимых телец. Атомы огня были угловатыми и острыми, поэтому огонь обжигал; атомы воды — гладкими и плавными, поэтому вода текла; атомы привычных твердых тел — шероховаты, поэтому предметы сохраняли форму, даже душа состояла из своих особых атомов, очевидно, неуловимых!

Конечно, у Демокрита и его современников не было никакой возможности проверить экспериментально данную гипотезу. И лишь через два тысячелетия Резерфорд, проведя ряд экспериментов, предложил планетарную модель атома, планетарную, потому что формально она была похожа на солнечную систему. В центре находилось массивное ядро (Солнце), а вокруг него по своим орбитам обращались электроны (планеты). Но данная аналогия в итоге оказалась неверной. Во-первых, атом получился все-таки делимым и состоял из вполне определённых частиц: протонов и нейтронов, которые в свою очередь состояли из других частиц: кварков, что выяснилось, к слову, позднее. А во-вторых, к большому сожалению ученых, электрон согласно классическим законам должен был непрерывно излучать, т.е. терять энергию, и в итоге по спирали упасть на ядро. Но этого не происходило. Через некоторое время Бор дополнил модель Резерфорда и ввел в нее свой спасительные постулат: электрон может двигаться лишь по жестко заданным орбитам, без потери энергии, а при переходе между орбитами-уровнями должен излучаться или поглощаться квант энергии. Именно этот процесс в микромире и получил название квантового скачка.

Понятно без всяких высших материй, что квантовый скачок имеет отношение лишь к миру низких, очень низких энергий. А в случае с переходом электрона с одного уровня на другой — это ещё и микроскопические расстояния. Радиус первой орбиты в атоме водорода, к примеру, равен:

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

Вводим в Google запрос. На небе только и разговоров… сколько прекрасных ссылок! Одна из первых знакомит странника с обширной статьей «Нас ожидает квантовый СКАЧОК».

«Этот цикл для нас и нашего Логоса также будет продолжаться 26000 лет, и ничто не сможет помешать свершиться Великому квантовому скачку».

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

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

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

Встречайте «Mercedes CL 63 AMG: Квантовый скачок»!

Производитель акцентирует внимание на том, что его новый битурбированный V8 объемом 5,5 л потребляет бензина на четверть меньше, чем прежний 6,3-литровый «атмосферник». «Заряженная» новинка берет всего 10,5 л/100 км, чистая экономия составляет 4 л/100 км – притом купе ускоряется до «сотни» за 4,5 с. Сами создатели назвали такой «экономический» прорыв квантовым скачком в моторостроении.

Оказывается, немцы настолько благочестивы и скромны, что даже прекрасные достижения в автомобилестроении они называют не иначе как микроскопическими, ничтожными и пренебрегаемыми. 

В общем, думаю, вы и сами найдете ворох прекрасных примеров. Я предлагаю запомнить одно простое правило: когда производитель заявляет, что его товар является квантовым скачком в индустрии, то можете смело представлять ряд продуктов, в котором рекламируемый выступает среди прочих (конкурентов) на целых 0,00000000001 сантиметров, а то и меньше.

horror

Фрактальная геометрия природы

На wired.com недавно появилась запись под названием «Earth’s Most Stunning Natural Fractal Patterns». В ней автор собрал ошеломляющие фотографии фракталов, которые каждый желающий может встретить в живой природе. И как раз в прошлой записи я с легкой руки пытался несколько растворить границу между живым и неживым, но теперь понимаю, что упомянутые иллюстрации справились бы с задачей стократ лучше.

И все равно не могу не вспомнить про Бенуа Мандельброта. Его книгу, название которой равносильно заголовку поста, я читал лет пять назад. Мало что осталось в голове, но помню, что Мандельброту удалось буквально за руку провести читателя в лице меня по дороге, которая привела к открытию такого невероятного математического объекта как фрактал. Дорога была достаточно витиеватой: хорошо известные и почитаемые платоновские тела отказывались адекватно описывать окружающий мир. Конечно, со времен античности никто и не пытался в природе найти, к примеру, идеальный круг, но как оказалось, степень не идеальности сильно не дооценивалась. Все шло к тому, что миром управляет не непрерывность, а самоподобие. А в 1875 году некий Дюбуа-Реймон подлил масло в огонь, сообщив всему миру о непрерывной недифференцируемой функции, построенной Вейерштрассом.

Мандельброт начинает свою книгу с вопроса «почему геометрию часто называют „холодной” и „сухой”». И сразу же отвечает: «одна из причин — ее неспособность описать форму облака, горы, дерева или береговой линии. Облака не являются сферами, горы — конусами, береговые линии нельзя изобразить с помощью окружностей, кору деревьев не назовешь гладкой, а путь молнии — прямолинейным».

Это все и вынудило Мандельброта создать новую фрактальную геометрию природы. «Термин фрактал я образовал от латинского причастия fractus. Соответствующий глагол frangere переводится как ломать, разламывать, т.е. создавать фрагменты неправильной формы». Фракталы уникальны тем, что имеют дробную метрическую размерность, которая называется ещё размерностью Хаусдорфа и определяется особым образом. К примеру, размерность кривой Коха можно посчитать исходя из самой процедуры построения: каждая прямая делится на три равных отрезка, средний отрезок заменяется правильным треугольником без основания. Другими словами первоначальная прямая заменяется четырьмя новыми, при этом каждая из них в три раза короче изначальной. Если взять отношение логарифмов этих двух чисел, то получится . Таким образом, размерность кривой Коха по Хаусдорфу составляет 1,26. Все просто.

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

Пятая глава книги начинается опять же с вопроса «какова протяженность побережья Британии». Вопрос не праздный. Подобная информация является альфой и омегой справочников по географии. А потом земля была и есть чуть ли не самым ценным ресурсом, которым владеет то или иное государство. Но нельзя же ценить и оценивать то, что не имеешь возможности достоверно измерить. Мандельброт предлагает рассмотреть участок какого-нибудь берега. «Очевидно, что его длина не может быть меньше расстояния по прямой между его начальной и конечной точками. Однако, как правило, береговые линии имеют неправильную форму — они извилисты и изломаны, и их длины, вне всякого сомнения, значительно превышают расстояния между их крайними точками, измеренные по прямой».

В самом деле, и без всяких великих умов понятно, что задача далеко не тривиальная. Можно принять вызов Мандельброта и попробовать оценить протяженность береговой линии Великобритании посредством Google Maps. Для этого нужно открыть карту острова и сместить ползунок масштаба на 1/3 от минуса. При таком приближении хорошо заметна ассиметрия в степени испещренности между восточной и западной частями. Для восточного побережья шаг обхода в 0,5 сантиметра был бы вполне разумным, тогда как западная часть требует более тонкого подхода, т.е. обхода. Но если сместить ползунок еще на 1/3, то испещренность одновременно выровняется и возрастет: взору откроется множество новых мелких деталей. Такие дела. Получается, на каждом уровне мы можем выбрать рациональный шаг обхода, но при детализации обнаруживаются все новые и новые зазубрины, изгибы и извилины. «Какой бы метод измерения мы ни применяли, результат всегда одинаков: длина типичного побережья очень велика и настолько нечетко определена, что удобнее всего считать ее бесконечной».

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

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

«Ричардсон приводит такой пример: в испанских и португальских энциклопедиях приводится различная длина сухопутной границы между этими странами, причем разница составляет 20% (так же обстоит дело с границей между Бельгией и Нидерландами). Это несоответствие, должно быть, частично объясняется различным выбором ɛ [шага]. Эмпирические данные показывают, что для возникновения такой разницы достаточно, чтобы одно значение ɛ отличалось от другого всего лишь в два раза; кроме того, нет ничего удивительно в том, что маленькая страна (Португалия) измеряет длину своих границ более тщательно, чем ее большой сосед».

Далее в своей книге Мандельброт приходит к замечательному выводу: береговая линия является не спрямляемой кривой. Это такие кривые, длины которых не устремляются к определенному пределу при уменьшении шага. Эвклидовы кривые в свою очередь являются спрямляемыми, к примеру, окружность можно долго и нудно аппроксимировать многоугольником, но суммарная длина граней все равно в итоге окажется равной . Мандельброт предлагает называть береговые линии и подобные ей фрактальными кривыми. Очевидно, их размерность больше 1 и является дробной.

Такая история. Мне она запомнилась и понравилась больше остальных. Но нельзя, нельзя писать про Мандельброта, и не написать про его одноименный фрактал. Фрактал Мандельброта, по моему мнению, должен был бы стать одним из научных символов 20 века: рядом с двойной спиралью ДНК и снимком Земли с поверхности Луны. В любом случае он являет собой пример яркой математической самодостаточности и красоты. Платон в свое время открыл тела, которые существует вне зависимости от физического мира, и назвал их своим именем. Но в сравнении с Мандельбротом его открытие ничтожно.

Пенроуз в «Новом уме короля» предлагал отправиться в дивный мир под названием Тор`Блед-Нам. Читателя он посадил на корабль с мощной телеметрической камерой. Сначала она выхватила из пространства некую контрастную кляксу с изломанными лучами, которые отходили во все стороны от нее. При приближении граница кляксы начала обзаводится новыми деталями, а лучи превращаться в красочные миры… С тех пор прошло много лет, а корабль без сомнений продолжает погружаться в глубины того причудливого мира, при этом его пассажиры за каждым изгибом обнаруживают все новые и новые детали. Конечно, вы догадались, что дало название этому миру. А если нет, вспомните Стивена Кинга, его книгу «Сияние» и REDRUM.

Факт существования фрактала Мандельброта наталкивает на интересные размышления, если попытаться его представить как Вселенную, подобную нашей, со своей собственной историей. Аналогий возникает целое множество. Согласно космологическим представлениям наблюдаемую вселенную можно считать такой же вещью в себе, квантовой флуктуацией, время существования которой обратно пропорционально ее энергии. Большой взрыв породил пространство-время, придал веществу импульс и вот уже 13,7 миллиардов лет оно равномерно заполняет поверхность сферы, которая неумолимо расширяется. В свою очередь, все самое интересное во вселенной фрактала Мандельброта также находится на границе окружности. Если нашу вселенную начать детализировать, то, как минимум нужно будет пройти путь от галактик до субатомных частиц. Человек еще не давал имена структурам во фрактале Мандельброта, но ничто и никто не запрещает первые протуберанцы, назвать, к примеру, галактиками, погрузится в них, обнаружить свои звезды, а вокруг них планеты со своими фрактальными жителями. Единственное существенное отличие: мир фрактала бесконечен в глубину, но разве глубина нашего мира оканчивается на кварках, о которых никто не догадывался ещё в начале прошлого века? Ученые давно уже бредят теорией всего, такой формулы, которая бы описывала взаимодействия всех известных частиц. Во вселенной фрактала Мандельброта теория всего прекрасно известна и предельно лаконична: .

Я начинал сей пост со ссылки на подборку живых фракталов. Но уже сейчас они не кажутся мне столь уникальными. В ходе своих непродолжительных блужданий в Google Maps я наткнулся на мириады фрактальный образов: турбулентности в прибрежных зонах, витиеватые каналы рек, россыпи скал… Хватит и нескольких часов, чтобы создать свою собственную галерею живых и не очень фракталов. И мне видится, что фрактальная геометрия в будущем позволит решить одну крайне важную проблему, которую я поднял в прошлой записи.

horror

Наука и жизнь

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

Но давайте теперь вместе попробуем ответить. Первое что приходит в голову: «Жизнь — это такое, такой…» и мозг моментально начинает буксовать. Это тем удивительнее, что все наши действия, включая попытки разрешить данный вопрос, определенно являются проявлением жизни, но ответ по каким-то причинам ускользает как песок сквозь пальцы. Конечно, некоторые люди способны выдать четкое определение не задумываясь, но это лишь значит, что они поломали не одно копье в прошлом, нашли ответ, а затем переспали с ним. Их я не имел в виду.

После некоторых попыток, возникает как минимум одна неопределенность. Определений жизни может быть сколь угодно много, смотря с какой точки зрения смотреть. Оно может быть обывательским, физическим, химическим, биологическим или даже мистическим. По-обывательски, жизнь — это период времени, который проживает живое существо от рождения до самой смерти. «C`est la vie», как говорят французы. Определение вполне достойное и самое главное: его легко можно запомнить, а затем воспроизвести, или даже сконструировать заново на лету. Лишь один момент омрачает положение дел: в нашем, т.е. моем, определении явно присутствует прилагательное «живой», которое является производной формой слова «жизнь». Получается, что утверждение включает само себя, является рекурсивным, а это прямая дорога в ад. Можно попробовать неуместное прилагательное опустить, но все равно на обывательском уровне существо должно существовать, т.е. жить, а значит, жизнь неявным образом входит в существо, напишем мы об этом или нет.

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

Идем далее. Что нам говорит биология? Жизнь — это процесс, в ходе которого генетические объекты осуществляют синтез себе подобных. Так примерно утверждает русская википедия (биологическая вариант). Определение настолько неудачное, по моему скромному мнению, что сразу хочется ознакомиться с англоязычным вариантом: жизнь — это критерий, отличающий объекты, в которых протекают сигнальные и самоподдерживающие процессы, от тех внутри которых такие процессы не имеют места. Так лучше, есть две четкие характеристики: самоподдержание (гомеостаз) и сигналы. Примитивные бактерии, которые мы безоговорочно считаем живыми, обладают этими свойствами: они, к примеру, могут реагировать на раздражители в виде токсических веществ путем перемещения в иные области (сигнальная система); или поддерживать, к примеру, соляной состав внутри цитоплазмы на одном уровне (гомеостаз).

Но давайте возьмем нечто определенно неживое. Солнце — звезда главной последовательности, которая находится в центре одноименной системы. Внутри Солнца, как и внутри других звезд, происходит термоядерная реакция, в ходе которой легкие элементы превращаются в тяжелые. Главная реакция: это превращение четырех атомов водорода в один атом гелия. Масса последнего на долю процента меньше суммарной массы атомов водорода, эта доля процента как раз и расходуется на синтез огромного количества энергии согласно формуле E=mc2. Это одна сторона медали, другая — огромные гравитационные силы, которые пытаются сжать звезду в точку. Когда звезда подходит к концу своего существования, она начинает коллапсировать. В зависимости от изначальной массы, она может или сбросить внешнюю оболочку и превратится в один из экзотических объектов, или неуклонно продолжать сжиматься до тех пор, пока не обратится в черную дыру. Таким образом, нормальное состояние звезды — это тонкий баланс между двумя вышеописанными процессами. При этом ничто не запрещает звезде поглощать легкие элементы из близлежащих туманностей и таким образом продлевать свое существование.

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

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

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

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

В сущности, все объекты имеют свой собственный жизненный цикл. Тринадцать и семь десятых миллиардов лет назад начал свое существование самый главный цикл — Вселенная.  Внутри этого цикла, подобно грибам после дождя, возникли другие — галактики, звезды, планеты, квазары, туманности. А как минимум на одной планете появился Лука, последний общий предок всего живого. Какой смысл в том, чтобы лишь ему и его славным наследникам приписывать данное свойство? Разве та же протопланетная туманность не является не менее важным переходным звеном в драме жизни?

horror

Лунная пыль и крах современной науки

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

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

В 1950х годах ученые пытались посчитать, сколько пыли на Луне. И они подсчитали, что за каждые 10000 лет на Луне накапливается слой пыли в 2 см. И они думали, что на Луну невозможно будет приземлиться: корабль утонет в пыли. Поэтому были построены громадные посадочные подушки с широкими подножиями для равномерного распределения веса. Даже спускная лестница была укорочена на 30 см, они ожидали, что на Луне будет много пыли и астронавты утонут в пыли, но когда астронавты приземлились, то убедились что на Луне чуть более одного сантиметра пыли и, если Земле миллиарды лет, то где вся пыль?  

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

На часть вопросов нам поможет ответить книга «Apollo 11. Preliminary science report». В ней содержится официальный научный отчет по мисси Аполлон 11, в ходе которой впервые была осуществлена высадка человека на Луну.

На странице 85 можно прочесть, что предварительно (до 1969 года) существовали такие источники информации о свойствах лунной поверхности: визуальные наблюдения с Земли, тепловые измерения, фотографии Луны, полученные в ходе программы «Рейнджер», непосредственнее данные с посадок советских аппаратов Луна 9 и Луна 13, а также пяти американских аппаратов в ходе программы «Сервейер».

Именно благодаря последней программе была построена удовлетворительная модель лунной поверхности. Основные моменты: лунный грунт практически несжимаем, слегка сцеплен, состоит из частиц, размеры которых колеблются от ила до мелкозернистого песка. Грунт ведет себя примерно как земной с плотностью 1,5 грамм на сантиметр в кубе. При углублении в него на несколько дюймов (пять и более сантиметров) наблюдается увеличение прочности (устойчивости, сопротивляемости).

На основе вышеуказанной модели проводились различные расчеты. К примеру, ожидалось, что подложки стоек лунного аппарата погрузятся в грунт на 10-15 сантиметров. Схема посадочной опоры с подложкой (footpad) ниже: 

На странице 100 описано приземление. Небольшая вертикальная скорость посадочного модуля привела к менее значительному проникновению подложек в лунный грунт. В ходе переговоров центра управления с Армстронгом и Олдрином было выяснено, что подложки погрузились на 3-8 сантиметров. Получается, что все произошло согласно расчетам, ученые не были удивлены, а на Луне оказался слой пыли толщиной не в один сантиметр.

Идем далее. В книге «Lunar sourcebook: a user`s guide to the Moon» можно прочесть об общих характеристиках лунной поверхности. Страница 285: все исследования показывают, что лунная поверхность целиком состоит из реголита, который полностью покрывает залегающие ниже твердые породы за исключением кратеров с крутыми срезами и лавовых каналов.

Далее. Толщина реголита редко превышает 10-20 метров. Астронавты, в ходе миссий Аполлон, бурили на глубину до 3 метров и на основе гранулометрическиго анализа пришли к выводу, что максимальная глубина не превышает 20 метров, по крайней мере, в этих местах. Сегодня же принято считать, что толщина реголита составляет 4-5 метров в морях (условное обозначение темных участков на поверхности Луны), и может достигать в среднем 10-15 метров в старых высокогорных регионах.

Таким образом, все становится на свои места. Луну покрывает толстый слой реголита, толщина которого варьируется в больших диапазонах, а значит, история Луны и, как следствие, Земли насчитывает больше чем десятки тысяч лет. Получается, современная наука спасена.

PS: Ценителям в отдельным порядке все-таки могу скинуть ссылку на это дегенеративное видео.

horror

Рождение сложности

Все мы прекрасно знаем, что согласно второму началу термодинамики в изолированной системе невозможен самопроизвольный рост упорядоченности — сама собой может нарастать только энтропия (математически это логарифм числа элементарных состояний).

Эволюция живых организмов «от простого к сложному» не подчиняется данному закону, ибо организмы всегда получают энергию извне и, подобно холодильникам, часть энергии расходуют на повышение внутренней упорядоченности. При этом суммарная неупорядоченность всей системы (организм + среда) растет. Это тоже хорошо известно.

А, между прочим, математикам уже давно знакома так называемая S-теорема Ю.Л. Климонтовича, о которой я, к своему сожалению, узнал только вчера. Далее идут слова из статьи Н.М. Борисова «Эволюция, случайность, энтропия (о том, как Дарвин и Клаузич оказались правыми одновременно)»:

Ю. Л. Климонтович, изучая процессы самоорганизации, в 1983 году доказал т. н. S-теорему, которая гласит, что по мере удаления от равновесного состояния вследствие изменения управляющего параметра значения энтропии системы, отнесенные к заданному значению средней энергии, уменьшаются. Как следствие, информация («отрицательная энтропия», или негэнтропия),  порождается не «исключительно разумом», как кажется креационистам, а сочетанием случайного изменения состояния системы с последующим необходимым (избирательным) запоминанием результатов этого изменения. Таким образом, на математическом языке были в рамках неравновесной термодинамики описаны введенные еще Дарвином понятия изменчивости, наследственности и естественного отбора. Вдохновленный успехом нелинейной неравновесной термодинамики, Эйген в нобелевской речи даже назвал Дарвина с его идеей естественного отбора «великим физиком».

Это же прекрасно! Данная теорема возводит эволюцию на стройный математическую фундамент. Но, как и многие другие замечательные результаты до обывателя они дойдут ещё не скоро, да и вероятно в крайне искаженной форме. Но так уж устроен мир, Станислав Лем прекрасно описал подобное явление в книге «Глас господа»:

Девятнадцать лет назад я вместе с молодым антропологом Максом Торнопом (трагически погибшим в автомобильной аварии) опубликовал работу, в которой доказал, что существует предел сложности для всех конечных автоматов, подчинённых гедонистически ориентированной программе (к ним относятся, в частности, все животные вместе с человеком). Эта программа основана на наказаниях и поощрениях, которые воспринимаются как страдание и наслаждение. Мои расчёты показывают, что, если количество элементов регулирующего центра (мозга) превышает четыре миллиарда, в совокупности таких автоматов проявляется тяготение к крайним полюсам программы. При этом верх может взять один из предельных вариантов, а выражаясь более обыденным языком — садизм либо мазохизм; следовательно, их возникновение в процессе антропогенеза было неизбежно. Эволюция «согласилась» на такое решение, поскольку она оперирует статистическими величинами: для неё важно сохранение вида, а не дефектные состояния, недуги, страдания отдельных особей. Как конструктор, она выбирает приспособление к обстоятельствам, а не достижение совершенства. Мне удалось доказать, что в любой человеческой популяции при условии полной панмиксии (свободное скрещивание) не более, чем у десяти процентов особей будет наблюдаться достаточно уравновешенное гедонистически регулируемое поведение, а остальные будут отклоняться от нормы. Хоть я уже и тогда считался одним из лучших математиков в мире, влияние этой работы на антропологов, этнологов, биологов и философов оказалось равным нулю. Я долго не мог этого понять. Моя работа была не гипотезой, а формальным, следовательно, неопровержимым доказательством того, что некоторые свойства человека, над которыми веками ломали головы легионы мыслителей, — результат чистейшей статистической флуктуации, обойти которую при конструировании автоматов или организмов невозможно. Позже, использовав превосходные материалы, собранные Торнопом, я распространил своё доказательство на процесс возникновения групповых этических норм. Однако и эту работу полностью игнорировали. Годы спустя, после бесчисленных дискуссий с гуманитариями, я понял: они не признали моего открытия потому, что оно их не устраивало. Стиль мышления, который я представлял, считался у них чем-то вроде безвкусицы, потому что не оставлял места для риторических препирательств. Это было бестактно с моей стороны — делать выводы о природе человека с помощью математики! В лучшем случае мою затею называли «любопытной». А по существу, никто из гуманитариев не мог примириться с тем, что великую Тайну Человека, загадочные свойства его натуры можно вывести из общей теории автоматического регулирования. Конечно, они не говорили этого прямо. Тем не менее полученный мною результат вменили мне в вину. Я вёл себя как слон в посудной лавке: то, перед чем спасовали антропология и этнография с их полевыми исследованиями, а также глубочайший философский анализ «природы человека», чего не удалось сформулировать в виде осмысленной проблемы ни в нейрофизиологии, ни в этологии (наука о поведении животных), что оставалось тучным заповедником вечно плодоносящих метафизик, психологии подсознания, психоанализа классического и лингвистического и Бог весть каких ещё эзотерических дисциплин, — я попытался рассечь, словно гордиев узел, своим доказательством в девять печатных страниц. Они уже свыклись со своим высоким саном Хранителей Тайны, которую именовали Воспроизведением Архетипов, Инстинктом Жизни и Смерти, Волей к Самоуничтожению, Влечением к Небытию, а я, перечеркнув эти священные ритуалы какими-то группами преобразований и эргодическими теоремами, заявляю, что решение проблемы найдено! Вот почему ко мне относились с тщательно скрываемой антипатией: какой-то бесцеремонный профан посягнул на Загадку, попытался зацементировать её вечно живые ключи, запечатать уста, находившие радость в задавании бесконечных вопросов; а так как моего доказательства опровергнуть не удалось, оставалось только его замалчивать. Нет, во мне говорит не уязвлённое самолюбие. Меня ведь вознесли до небес, правда, за другие работы — в области чистой математики. Этот опыт, однако, был весьма поучителен. Мы недооцениваем косность мышления во многих отраслях знаний. Психологически это вполне объяснимо. Сопротивление, которое наш ум оказывает статистическому подходу, в атомной физике куда меньше, чем в антропологии. Мы охотно принимаем непротиворечивую и подтверждённую опытом статистическую модель атомного ядра. Мы не спрашиваем: «Ну, а как всё-таки атомы ведут себя на самом, деле!» — но в науках о человеке нас такой подход не устраивает.

horror

Курица или яйцо

Уже многие века человечество терзает тьма вопросов, от которых напрямую не зависит их жизнь, но ответы на которые они уж очень желают знать. Не нужно ходить в глубокий и тёмный лес, первый и самый важный вопрос почти полностью повторяет заголовок данной записи и звучит примерно так: “Что же было раньше: курица или яйцо?”.

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

— Скажите, а что было раньше: курица или яйцо?
— Раньше было всё!

Ответ смешной, но уводит нас от корня проблемы. У меня, например, всегда было своё оригинальное решение этой важной дилеммы. Я утверждал, что раньше безусловно было яйцо. Мои доводы: (1) был момент в истории, когда курицы не существовало как вида; (2) генетические изменение в одном виде проявляются только уже в последующих потомствах. Если с помощью логической операции AND объединить доводы (1) и (2), то, как следствие, получим, что курица, которую мы знаем сегодня и чьи яйца с удовольствием едим на завтрак, могла возникнуть лишь из яйца. Но мои “глубокие” знание по биологии, конечно же, могут мне изменять.

Продолжим. Совсем недавно в рабочих целых мне пришлось выкачать из Интернета одну жирную и неповоротливую программу ICQ 6. Забудем сразу же о печальном: после установки меня порадовало вот такое окно с буквами:


А что?.. мило! Хотя это уже и давняя идея и почти целый баян (социальные сети), но мне понравилось. Мне лень искать и я почти уверен в существовании подобных сервисов, но отвечать на вечные вопросы посредством опроса всего человечества — это статистически обоснованный и неплохой подход.

Давайте рассудим. Если 90% населения нашей планеты будет согласно с теми или иными решениями седовласых дилемм, то можно будет чёрным по белому в учебниках писать ответы, как научные факты. А интеллектуалы (оставшиеся 10%) всегда смогут занять полярную позицию и утверждать обратное.

horror

Философия программ

Наверное, язык определяет то, о чём человек в принципе может подумать. Плохой язык ограничивает, такому языку обычно не присуща какая-либо внутренняя красота, и, конечно же, он не приносит никакого эстетического удовольствия. Без сомнения, всё это касается и языков программирования. Многие из них давно уже переросли самих себя, перестали быть просто инструментами. Не зря же в разговорах иногда фигурируют такие фразы как «философия С++» или «философия Java»…

Создатель С++, Бьерн Страуструп,  невероятный человек. Хотя бы потому, что он действительно подвёл под своё детище целую философскую систему. Об этом можно прочитать в его книге «Дизайн и эволюция С++». Вот цитата (программистам обязательна к прочтению ;)

/*
Говорят, что структура системы отражает структуру организации, в которой она была создана. В общем и целом я поддерживаю это мнение. Из него также следует, что если система есть плод работы одного человека, то она отражает склад его лич­ности. Оглядываясь назад, я думаю, что на общую структуру С++ мое мировоззре­ние наложило такой же отпечаток, как и научные концепции, лежащие в основе от­дельных его частей.

Я изучал математику, в том числе прикладную, поэтому защищенная в Дании кандидатская диссертация была посвящена математике и информатике. В результате я научился любить красоту математики, но предпочитал смотреть на нее, как на инструмент решения практических задач. Я искренне сочувствовал студенту, ко­торого Евклид, по преданию, выгнал за вопрос «Но для чего нужна математика?» Точно так же мой интерес к компьютерам и языкам программирования носит в основном прагматический характер. Компьютеры и языки программирования можно оценивать как произведения искусства, но эстетические факторы должны дополнять и усиливать их полезные свойства, а не подменять их.

Collapse )

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

При обсуждении философских вопросов, равно как и возможностей языка лег­ко скатиться на чрезмерно серьезный и нравоучительный тон. Если так произош­ло со мной, примите извинения, но мне хотелось объяснить свои интеллектуаль­ные пристрастия, и думаю, что это безвредно - ну, почти безвредно. Да, кстати, мои литературные вкусы не ограничиваются только произведениями вышеназван­ных авторов, просто именно они повлияли на создание С++.
*/

horror

Генератор слов

Когда у меня спрашивают про моё любимое число, то всегда отвечаю 23. А когда вопрос расширяют до "числа", то, конечно же, числа Фибоначчи.

Увидел вот такую задачу:
С помощью автомата, изображённого на рисунке, строятся слова некоторой последовательности. Начальным состоянием автомата является 1, а допускающие: {1, 2}. Нужно определить сколько различных слов N(n) допускаются автоматом, в зависимости от длины слова n.

Таким образом может быть получено лишь одно слово длиной 1 "a", два слова длиной 2 "aa" и "ab", три слова длиной 3, пять слов длиной 4...

Задача детская. Сгенерированное слово может оканчиваться как на "а", так и на "b". В последнем случае можно просто отбросить последний символ "b" и получить слово длиной n-1, и, соответственно, N(n-1) вариантов. Если же слово оканчивается на "a", то предпоследний символ обязан быть также "а", поэтому можем отбросить два символа с конца и получить N(n-2) вариантов. Значит,
    N(n) = N(n-1) + N(n-2), N(0) = N(1) = 1,
т.о. количество слов длиной n соответсвует n-ому числу Фибоначчи.

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

Напрягся и вспомнил, что в unix этому автомату соответствует такое регулярное выражение: '\(a\+b\)\+' .