kaipa: (Default)
Несколько лет назад я задавался вопросом, что может аппроксимировать нейронная сеть. Ответ -- "все" -- не был удивительным, но тогда мне было неочевидно, как это сделать практически.

А вот оказывается, существует тип нейронных сетей, объединяемых под общим названием резервуарные вычисления (Reservoir Computing), которые неплохо справляются с этой задачей. Идея простая, и не удивительно, что почти одновременно в конце 90х к ней пришли разные группы исследователей, предложившие модели Echo State Networks, Liquid State Machines и некоторые другие.

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

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

Этот подход имеет много интересных свойств. Например, можно к одному и тому же резервуару присоединять разные выходные слои и таким образом решать разные задачи. То есть сам резервуар гомогенен, не настроен под конкретную задачу, и может быть использован для чего угодно. Исследователи предполагают, что человеческий мозг функционирует похожим образом. Известная пластичность мозга хорошо вписывается в это предположение. Более того, Liquid State Machines и еще одна резервуарная технология Temporal Recurrent Networks были разработаны группами, исследовавшими взаимодействие нейронов в мозгу человека.

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

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

В первую очередь тут стоит отметить Александра Ивановича Галушкина, в своей монографии 1974г "Синтез многослойных систем распознавания образов" подытоживший результаты исследований в 60х годах и в том числе обосновавший метод обратного распространения ошибки ("backpropagation" в иностранной литературе) для обучения нейронных сетей. Английская википедия об этом почему-то не знает, упоминая только диссертацию Пола Вербоса того же года. Впрочем, приоритет тут не сильно важен, это я так, на полях. Куда интереснее, на мой взгляд, что подход советской и наследовавшей ей российской школы был более системным. Например, нейронные сети определяются следующим образом: "Нейронные сети – частный вид объекта управления в адаптивной системе с аналитическими методами настройки коэффициентов (адаптации)". Акцент на задачах управления сильно отличается от более современных определений. Отсюда вытекают и другие частные вопросы:
- Какая наиболее эффективная с точки зрения ресурсов функция активации
- Как функции оценки ошибки влияют на скорость сходимости
- Как оценить не только сходимость, но и точность на данной итерации обучения (то есть при ограниченном наборе примеров для обучения оценить точность и надежность для произвольного входа).
и др.
Эти вопросы жизненно важны для задач управления, но не столь существенны для распознавания изображений, речи или предсказательных систем -- типичных примеров применения нейронных сетей сегодня.

Галушкин, к сожалению, в прошлом году умер, до последних дней продолжая заниматься исследованиями в области нейроматематики, публикуя работы и преподавая на Физтехе и в ВШЭ. Он и его группа занимался и сетями с памятью, и сетями переменной топологии -- в общем, на переднем крае. Предисловие к его последней крупной книге "Нейронные сети: основы теории" написал патриарх Лотфи Заде. Хорошее представление о текущем состоянии и перспективах дает статья-доклад 2014г ""О методах настройки многослойных нейронных сетей""

Красноярская научная школа сейчас представлена группой А.Н. Горбаня и Е.М.Миркеса, которые в числе прочего предложили проект стандарта для нейросетевых систем. Причем красноярская школа в большей степени отталкивается от задач динамики химических и биологических систем, для решения которых они и используют аппарат нейронных сетей.
kaipa: (Default)
В тему обсуждения http://fregimus.livejournal.com/256005.html, вызванного к жизни http://posic.livejournal.com/1288549.html:

"Если под полезным знанием, как мы временно согласились, понимать такое, которое либо сейчас, либо в сравнительно недалёком будущем, будет способствовать материальному комфорту человечества (т. е. чисто интеллектуальное удовлетворение в расчёт не принимается), то огромная часть высшей математики бесполезна. Современная геометрия и алгебра, теория чисел, теория множеств и функции, теория относительности, квантовая механика - ни одна из этих наук не удовлетворяет критерию полезности намного лучше, чем другая, и нет ни одного настоящего математика, жизнь которого можно было бы оправдать на этой основе. Если придерживаться этого критерия, то Абель, Риман и Пуанкаре прожили свою жизнь напрасно; их вклад в комфорт человечества ничтожно мал, и мир без них ничего бы не потерял."
— Г. Г. Харди. Апология математика. 1940.

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

Дальше, слегка причесанные выдержки из моих ответов в журнале уважаемого Фрегимуса, которые хотелось бы сохранить у себя.

* * *

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

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

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

Существует классическая статья 1960г "The Unreasonable Effectiveness of Mathematics in the Natural Sciences", хотя еще Эйнштейн удивлялся подобным образом.
Статья: http://www.dartmouth.edu/~matc/MathDrama/reading/Wigner.html
Некоторое обсуждение есть даже в википедии: https://en.wikipedia.org/wiki/The_Unreasonable_Effectiveness_of_Mathematics_in_the_Natural_Sciences

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

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

* * *
"Во-первых, это красиво!"
-- Бородатый анекдот.

Эстетическая внутренняя красота математики как таковой -- это вопрос, никак не связанный с ее полезностью. Полезна ли живопись или поэзия? Возможно, что то, что мы понимаем под математической красотой, -- это проявление человеческого стремления находить прекрасное в самых разных вещах. Но есть и более глубокое объяснение. Если задуматься, что в математике считается красивым самими математиками, то как мне кажется, это возможность очень малыми средствами выразить большую внутреннюю сложность (не исключено, что увериться в этом мне помог [livejournal.com profile] baaltii1). Человека восхищает, когда в простоте скрывается бездна смысла. То же самое работает и в других науках -- самые известные и фундаментальные законы выражаются простыми формулами. Да и в культуре вообще -- наиболее глубокие проявления разума обычно внешне лаконичны.

* * *

P.S. Интересное обсуждение похожих вопросов было о Шеня в записи "Апология математики для налогоплательщиков" и еще одной содержательной линии дискуссии с участием posic'a .
kaipa: (Default)
Выношу из комментариев некоторые ссылки на исследования Юрия Манина, любезно подброшенные [livejournal.com profile] sober_space. (неполный список его работ можно найти, например, тут).

https://www.youtube.com/watch?v=cwZf0lJVOiY -- доклад Манина "Ренормализация и теория вычислимости".

Две статьи, которые подробно описывают то, о чем рассказывалось в докладе:
http://arxiv.org/abs/0904.4921 -- Renormalization and computation I: motivation and background
http://arxiv.org/abs/0908.3430 -- Renormalization and Computation II: Time Cut-off and the Halting Problem

Чуть более поздняя, хотя возможно более доступная, статья.
http://arxiv.org/abs/1302.6695 -- Complexity vs Energy: Theory of Computation and Theoretical Physics

---

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

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

Надеюсь на днях прочитать статьи и несколько глубже в это погрузиться.
kaipa: (Default)
Я слишком недавно зафрендил нескольких правильных людей, и это сверхинтересное интервью Владимира Воеводского в журнале Романа Михайлова прошло мимо (как удивительно кратка статья в википедии про филдсовского лауреата, в статье про гомотопическую теорию типов о нем и то больше написано). Интервью о науке, математике, основаниях математики и мистике. Наверное, многие видели. Но думаю, что это интересно и перечитать.

Часть 1: http://baaltii1.livejournal.com/198675.html
Часть 2: http://baaltii1.livejournal.com/200269.html

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

Отдельно отмечу ветку про язык и внутренний опыт [livejournal.com profile] sober_space, благодаря которой я вышел на интервью:
http://sober-space.livejournal.com/40628.html

Я не в состоянии как-то это комментировать, у меня просто дикий восторг от того, что такие люди есть.
kaipa: (Default)
Несколько лет назад я с интересом знакомился с основными результатами работ Колмогорова, нет не по математике, а по стиховедению. На тот момент сами работы найти было непросто, если вообще возможно, и приходилось пользоваться пересказом Успенского. И вот в этом году многие работы Колмогорова по теме были сведены и единый сборник и напечатаны, о чем я узнал благодаря сообществу [livejournal.com profile] kolmogorov.

Достаточно тоненькая книжка выполнена в стиле, похожем на серию "Колмогоров: избранные труды" - такая же красная твердая обложка с золотым тиснением. В ней чуть более десятка статей с комментариями А.В. Прохорова (редактор-составитель книги, возможно, брат или родственник Ю.В Прохорова?) и М.Л. Гаспарова. Это, конечно, удивительно, как один из величайших математиков XX века находил время на филологические исследования (что включало в себя и изучение результатов предшественников, таких как Якобсон, Андрей Белый и др.) и какие интересные наблюдения он сделал.

Исторически первым Колмогоров написал несколько страниц к письму своему ученику Ю.М.Смирнову, который посылал ему в числе прочего свои стихи. Смирнов в то время неважно чувствовал метр и размер, и Колмогоров этим письмом провел что-то вроде ликбеза. Это письмо -- "Замечание об основах русского стихосложения" -- датировано 23.08.1943, задолго до первых статей, но в нем уже подробно расписаны основные метры, используемые в русской классической поэзии на примерах стихотворений Ломоносова, Пушкина, Лермонтова, Гумилева, Есенина. Объяснены простые и сложные метры, силлабо-тоническая и тоническая (дольная) схемы стихосложения.

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

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

Можно считать это развернутой аннотацией к сборнику. Я надеюсь найти время подробно прочитать некоторые статьи. Пока я их только просмотрел по диагонали, чтобы уловить основные мысли.
kaipa: (Default)


Выше тизер замечательных лекций Романа Михайлова ([livejournal.com profile] baaltii1), из которых я мало что понял, кроме общего настроя, и стал читать "Алгебраическую топологию" Хатчера, чтобы въехать в контекст.

Это лишь один из многих курсов проекта "Лекториум". Не Crausera, конечно, просто курсы лекций ведущих ученых (например, курс о решении 10й проблемы Гильберта читает сам Матиясевич), с обычно хорошим звуком и изображением. Наибольший интерес (для меня) представляют теоретические курсы по Computer Science от ПОМИ РАН и математике от лабаратории им. Чебышева. Попроще курсы от Computer Science Center, более айтишные, на малоподготовленных слушателей что ли.

В общем, у кого есть время и желание узнать что-то новое в лекционном формате -- рекомендую.
kaipa: (Default)
Для затравки история одного доказательства.

Оригинальная статья The Paradox of The Proof

Перевод на Хабре (без ссылки на оригинал) Парадокс доказательства

Насколько я понимаю, за полтора года ничего не изменилось. Никто из математиков не понимает толком, что сделал Cинъити Мотидзуки и доказал ли он в качестве побочного эффекта abc-гипотезу.

Доказательство гипотезы (теоремы) Пуанкаре Перельманом проверяли чуть ли не два года. При том, что путь доказательства был в общем понятен и намечен еще в начале 90х Ричардом Гамильтоном. Мотидзуки, как я понимаю, разработал новый математический язык, который математики сначала должны освоить, и только потом проверять доказательство abc-гипотезы. Это может занять и десятилетия.

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

В математике -- теории, которые бы объяснили тривиальные на вид вещи, вроде гипотезы Римана или связи умножения со сложением, то есть опять же строение мира, но теперь уже математического, настолько сложны, что понять их могут единицы.

Такое впечатление, что возможности человеческого интеллекта по познанию мира средствами математического языка подходят к естественному пределу. Как его преодолевать -- при помощи искусственного интеллекта, каких-то новых математик, языков или мета-языков -- пока не понятно.
kaipa: (Default)
Потратил полночи и получил огромное удовольствие, следуя за мыслью [livejournal.com profile] schwalbeman и его оппонентов и собеседников.

Математика как естественная наука

Математика как естественная наука 2

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

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

Кстати, это понимание полностью согласуется с тем, что приводит Манин в книге "Математика как метафора": "мы изучаем идеи, с которыми можно обращаться так, как если бы они были реальными предметами"

P.S. Спасибо [livejournal.com profile] ninaofterdingen за наводку на интереснейший журнал. Как же я его раньше-то пропустил!?
kaipa: (Default)
На собеседование приходил студент-пятикурсник, который занимается аппроксимацией модели аэродинамики самолета при помощи нейронных сетей. Модель большая и сложная, у нее около 700 переменных и 70 критериев. Поскольку эту тему он по идее должен знать лучше всего, в основном говорили о нейронных сетях.

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

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

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

Исчерпывающий ответ на вопрос, какие функции может аппроскимировать нейронная сеть, дан в этой статье А.Н. Горбаня. Если очень грубо, то это не что иное, как обобщение известной теоремы Веерштрасса об аппроксимации непрерывной функции многочленами. Что такое нейронная сеть? "Нейрон получает на входе вектор сигналов x, вычисляет его скалярное произведение на вектор весов α и некоторую функцию одного переменного φ(x,α) [функцию активации]. Результат рассылается на входы других нейронов или передается на выход. Таким образом, нейронные сети вычисляют суперпозиции простых функций одного переменного и их линейных комбинаций." То есть вопрос переформулируется в вид, можно ли аппроксимировать произвольную непрерывную функцию суперпозицией и линейной комбинацией простых функций одного переменного. Ответ положительный (это следствие из более общего утверждения). Никаких специальных условий на функцию активации не накладывается.

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

Ответ на второй вопрос, как я подозреваю, сильно зависит от архитектуры и стратегии обучения нейронной сети. Кроме того, есть ряд "не нейронных" методов, которые позволяют оценить точность аппроксимации. Простейший способ, это использовать известную функцию и подсчитать точность апроксимации точно (прошу прощения за тавтологию) при разных архитектурах сети, как это показано, например, в этой статье.
kaipa: (Default)
[livejournal.com profile] dr_kim некоторое время назад посоветовал книгу Ю.И Манина "Математика как метафора" (в электронном виде есть здесь). Я ее начал урывками читать примерно в то же время, когда [livejournal.com profile] readership жестко критиковал мою точку зрения о роли математики в познании (не специально, так совпало). Мне кажется, то что пишет о роли математики в познании Манин, лучше согласуется с моей точкой зрения, а не с точкой зрения моего оппонента, который считает, что "математика это моделирование НЕ реальности, а самого мышления, вскрывающее его текущие возможности."

Приведу несколько фрагментов, иллюстрирующие основные тезисы Манина (в книге они подробно обсуждаются и иллюстрируются примерами).

Из эссе "Математика и культура".

Но что же мы изучаем, когда занимаемся математикой?

Один из возможных ответов таков: мы изучаем идеи, с которыми можно обращаться так, как если бы они были реальными предметами (П. Дэвис и Р. Херш называют их «умственными объектами с воспроизводимыми свойствами»).

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

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


<…>

Чтобы понять, как именно математика применяется к пониманию реального мира, удобно рассмотреть ее в трех модальностях: как модель, теорию и метафору.

Математическая модель описывает (количественно или качественно) определенный класс явлений, но ни на что большее предпочитает не претендовать.

Теорию (имеется в виду математически сформулированная физическая теория) от модели отличают в первую очередь бо ́льшие притязания. <…> Та сила, что побуждает все время создавать теории –– это концепция реальности, существующей независимо от материального мира и возвышающейся над ним, реальности, которую можно познать только с помощью математических инструментов.

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


Из эссе "Математика как метафора"

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

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


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


<…>

Он [естественный язык] позволяет использовать науку как метафору.
kaipa: (Default)
[livejournal.com profile] _darkus_ затеял разработку системы поддержки принятия решений (СППР) для диагностики определенного типа заболеваний, и публикует наброски статей по архитектуре. Поскольку я когда-то занимался математической теорией, стоящей за процессами принятия решений, тема для меня не чужая.

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

Для начала, довольно очевидные, но важные определения.

1. Решение -- это элемент конечного или бесконечного множества альтернатив или решений какой-то задачи.
2. Принятие решения -- акт выбора ЛПР решения из множества возможных.
3. Это важно. Акт выбора производится не случайно, а с целью удовлетворения некоторым субъективным для ЛПР или объективным критериям.
4. СППР -- средства и процесс, помогающие ЛПР принять решение.

Ключевой пункт здесь третий. Решения могут быть объективными и субъективными. Большинство систем, которые принято называть СППР, помогают именно с объективными решениями. Экспертные системы -- самый распространенный пример. Объективность в данном случае означает, что разные ЛПР при одних и тех же условиях при помощи СППР выберут одно и то же решение (или небольшой набор решений). Это полезно, но не очень интересно. Куда интереснее, во всяком случае на мой взгляд, СППР, которые помогают ЛПР выразить свои субъективные предпочтения и принять именно его, личное решение.

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

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

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

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

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

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

Quantum theory as the most robust description of reproducible experiments -- статья, в которой авторы (включая Михаила Кацнельсона) обосновывают свой подход к построению теорий.

Ю.А. Манин. Математика как метафора (есть pdf) -- цикл статей и очерков, в том числе о роли языка в познании.

Рецензия ИП на "Логику Случая" -- не совсем даже рецензия, а довольно остроумная выжимка основных идей. Я ее каким-то образом пропустил в своем время, так как был в те дни в зимнем отпуске, и не очень внимательно следил за лентой.

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

Все это я еще не читал, начал со статьи Кацнельсона.

Сюда же добавлю книги Ожигова "Конструктивная физика" (1,2, легко ищется), на которые я уж не помню каким образом выплыл. Попытка выводить физические теории и законы не средствами традиционного математического анализа, а средствами конструктивной математики. (хм, интересно, что при отсутствии актуальной бесконечности определения предела по Коши и Гейне не эквивалентны). Зачем это нужно? Интуитивно понятно, что все физические объекты конструктивны, бесконечностей и бесконечно малых не существует, и т.д., а классический анализ весь построен на бесконечностях. Но пойму полностью (если пойму), когда дочитаю.
kaipa: (Default)
По следам содержательного разговора с [livejournal.com profile] antilamer на тему использования квази-случайных последовательностей решил написать небольшую заметку. Почему-то статьи по этой теме есть в английской википедии, но не в русской, хотя один из авторитетов в этой области -- И. М. Соболь -- наш советский и российский математик (вот список его статей, многие весьма интересны).

Сначала пара определений.

Случайная последовательность здесь и дальше -- это выборка из равномерного распределения в ограниченной конечномерной области (для простоты можно считать область сферой или кубом в Rn).

Псевдо-случайные последовательности -- это сгенерированные имитации случайных последовательностей. Они являются строго детерминированными (программисты знают, что random можно перезапустить с исходной или заданной "позиции"), но при этом похожи на случайные.

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

Лучше всего сходства и отличия проиллюстрирует картинка с википедии, которая показывает разницу в расположении случайных и квази-случайных точек для размера выборки из 10, 100, 1000 и 10000. Видно, что квази-случайная выборка более "равномерно" покрывает область. Хотя в смысле настоящей случайности это квази-равномерность. Именно это свойство делает ее полезной для квази-случайного метода Монте-Карло, который используется для задач оптимизации, вычисления интегралов и др.

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

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

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

Наверное, не-математики меня заклюют, что ничего не понятно, а математики за нестрогость, но подробнее написать времени, увы, нет.
kaipa: (Default)
Либителям data science и алгоритмов кластеризации есть шанс попробовать себя в по-настоящему практической задаче: поиске бозона Хиггса на основе статистического анализа реальных данных по столкновению частиц.

Чуть более подробно на русском -- на "Элементах"

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

Никто не хочет поучаствовать? В отличие от конкурсов типа ICFP времени тут гораздо больше, в том числе и на подумать, почитать умные книжки и т.д.
kaipa: (Default)
Никто не читал книгу А. Ю. Хренникова "Неколмогоровские теории вероятностей и квантовая физика"? Чем колмогоровская ТВ не угодила квантовой физике? (дополнение от 26.05: [livejournal.com profile] a_shen на мой вопрос не очень положительно отозвался о статьях этого автора в целом)

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

Кстати, надо бы вспомнить, где именно расходится частотный подход к случайности фон Мизеса с Колмогоровским, то есть в каких случаях они дают разные результаты.

P.S. Это я решил почитать статью про алгоритм Дойча-Йожи уважаемого [livejournal.com profile] _darkus_, а кривая вынесла вот так. Кстати, Роман серьезно погрузился в теорию и моделирование квантовых вычислений. Рекомендую.
kaipa: (Default)
В обсуждении задачи о "естественном" методе получения числа e, я обратил внимание на один из комментариев хозяина журнала:

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

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


Мне стало любопытно, что именно имелось ввиду, тем более, что книжка Пойа у меня есть в настоящем бумажном виде. Честно говоря, да, впечатляет. Эйлер объясняет, как он получил (не доказал строго) формулу для σ (n) -- суммы делителей числа n. Вот первые 20 членов последовательности, начиная с единицы:

1, 3, 4, 7, 6, 12, 8, 15, 13, 10, 18, 12, 28, 14, 24, 24, 31, 18, 39, 20

Далее, цитирую фрагмент статьи Эйлера, приведенной Пойа в качестве иллюстрации математическом мышления Эйлера (отсюда):

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

σ (n) = σ (n — 1) + σ (n — 2) — σ (n — 5) — σ (n — 7) + σ (n — 12) + σ (n — 15) — σ (n — 22) — σ (n — 26) + σ (n — 35) + σ (n — 40) — σ (n — 51) — σ (n — 57) + σ (n — 70) + σ (n — 77) — σ (n — 92) — σ (n — 100) + ….

К этой формуле мы должны сделать следующие замечания:
I. Знаки + и — в правой части формулы попарно чередуются.
II. Закон чисел 1, 2, 5, 7, 12, 15, …, которые мы должны вычитать из рассматриваемого числа n, станет ясен, если мы возьмем их разности.

Числа 1, 2, 5, 7, 12, 15, 22, 26, 35, 40, 51, 57, 70, 77, 92, 100, …
Разности 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, …

В самом деле, мы имеем здесь поочередно все целые числа 1, 2, 3, 4,
115
5, 6, … и нечетные числа 3, 5, 7, 9, 11, …, и поэтому мы можем продолжать последовательность этих чисел сколь угодно далеко.
III. Хотя эта последовательность бесконечна, мы должны в каждом случае брать только те члены, для которых числа, стоящие под знаком σ, еще положительны, и опускать σ для отрицательных значений.
IV. Если в нашей формуле встретится символ σ(0), то, поскольку его значение само по себе является неопределенным, мы должны подставить вместо σ(0) рассматриваемое число n.


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

Уверился в мысли, что книжку Пойа надо прочитать целиком.

P.S. Название "Наиболее необычный закон чисел" принадлежит Эйлеру.
kaipa: (Default)
Несколько лет назад я пытался в споре с философом отстаивать честь математики как науки в попперовском смысле (записи на эту тему: Математика: проблема доверия и О философии математики). Тогда мне приходили в голову примеры из теории чисел и геометрии. В уже упоминавшейся мною книге "Колмогоровская сложность и алгоритмическая случайность" мне попался пример из совсем другой области.

"Давайте бросим (самую что ни на есть честную) монету миллион раз. Полученную последовательность нулей и единиц попробуем сжать с помощью какого-то из практически используемых компрессоров, скажем, с помощью программы gzip. (Для этого ее надо вначале разбить на восьмибитовые байты.) Можно быть уверенным, что мы не получим сжатия больше чем на 1%, сколько раз не повторяй этот опыт. В самом деле, такая степень сжатия возможно лишь для 2^(-10000) доли всех последовательностей. Это утверждение (невозможность сжатия) вполне заслуживает названия закон природы -- оно ничуть не хуже подтверждается экспериментально, чем многие другие законы."

То есть получается математическая гипотеза, которая может быть проверена и опровергнута экспериментально! Ура, математика, во всяком случае ее некоторая часть, спасена.

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

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

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

Мы имеем в виду понятие генератора псевдослучайных битов (в смысле Блюма, Микэли и Яо; об этом центральном понятии современной сложностной криптографии можно прочесть, например, в книге Голдрайха [47]). Существование таких генераторов не доказано, но следует из некоторых сложностных предположений (существование односторонних функций), которые многие считают правдоподобными.

Объясним неформально, о чём идёт речь. Представим себе простую и быструю (полиномиальную) процедуру, которая берёт «зародыш» случайности (seed в англоязычной литературе), двоичное слово сравнительно небольшой длины, скажем, из тысячи битов. Эта процедура преобразует его в гораздо более длинное слово, скажем, в последовательность из 10^10 битов. Естественно, что получившееся слово имеет малую сложность, поскольку оно может быть задано указанием самой процедуры (которая проста по нашему предположению) и зародыша. Более того, даже и сложность с ограничением на время мала, поскольку преобразование предполагается легко вычислимым.

Тем не менее, если нам покажут такое слово из 10^10 битов, то мы можем и не отличить его от по-настоящему случайной последовательности. Это звучит па- радоксально: мы только что сказали, что колмогоровская сложность такого слова мала, а для случайных слов она близка к длине, в каком же смысле мы говорим о неотличимости?

Смысл этот вполне практический -- мы бы сразу согласились с тем, что это слово имеет малую сложность и потому нетипично, если бы нам показали зародыш. Но если нам дали это слово длины 10^10 просто так, то перебрать все 2^1000 возможных зародышей выше человеческих сил (даже если иметь в виду всё человечество со всеми его компьютерами), и никто так никогда и не узнает, что оно на самом деле было малой сложности.

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


Ссылка [47] -- это O. Goldreich -- Foundations of Cryptography, на русский, похоже, не переведена.

37

Feb. 1st, 2014 02:38 am
kaipa: (Default)
Число 37 обладает многими любопытными свойствами.

Так, умноженное на 3 и на числа, кратные 3 (до 27 включительно), оно дает произведения, изображаемые одной какой-либо цифрой:

37 × 3 = 111;
37 × 6 = 222;
37 × 9 = 333;
37 × 12 = 444;
37 × 15 = 555;
37 × 18 = 666;
37 × 21 = 777;
37 × 24 = 888;
37 × 27 = 999.

Другим интересным свойством числа 37 является то, что некоторые кратные ему числа при круговой перестановке входящих в них цифр дают опять-таки числа, кратные 37. Например:

259 = 7 × 37
592 = 16 × 37
925 = 25 × 37

То же самое верно относительно чисел 185, 518, 851 и чисел 296, 629, 962. Все эти числа состоят из тех же цифр, только переставляемых в круговом порядке, и все они кратны 37.

Это все занимательно, а теперь два нетривиальных свойства.

1. Любое число является суммой не более чем 37 чисел в пятой степени. -- факт указан в википедии без ссылки на источник.

2. Число делится на 37 тогда и только тогда, когда сумма чисел, образованных тройками последовательных цифр данного числа, должна делиться на 37. -- олимпиадная задача

По материалам:
http://mathworld.ru/content/o-chislakh-37-i-41
http://ru.wikipedia.org/wiki/37_(число)
http://zaba.ru/cgi-bin/tasks.cgi?tour=books.mk2.delim2.des&solution=1

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 26th, 2017 06:21 pm
Powered by Dreamwidth Studios