Русский
Русский
English
Статистика
Реклама

Математика

Взлом по любви. Как математик взломал алгоритм сайта знакомств и нашел идеальную девушку

19.02.2021 12:19:30 | Автор: admin


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

Крис МакКинли (Chris McKinlay) родился в пригороде Бостона, и в 2001 году окончил колледж Миддлбери по специальности китайский язык. В августе того же года он устроился на полставки переводчиком с китайского в нью-йоркскую компанию, снимавшую офис на 91-м этаже северной башни Всемирного Торгового Центра. Спустя пять недель, 11 сентября 2001 года, Крис должен был явиться на работу к двум часам дня. Он еще крепко спал, когда в 8:46 утра первый самолет врезался в небоскреб, где располагался офис его компании. Увидев по телевизору, как здание Всемирного Торгового Центра падает и оседает на землю в клубах дыма и пыли, Крис крепко задумался о скоротечности нашего земного существования о том, чем он на самом деле хотел бы заниматься в своей жизни.


Крис МакКинли

Старый приятель, учившийся когда-то в Колумбийском университете, заинтересовал Криса блэкджеком именно в этой карточной игре впервые проявились математические и аналитические способности МакКинли. Бросив переводы, он присоединился к команде профессиональных игроков, и в течение нескольких лет мотался между Нью-Йорком и Лас-Вегасом, считая карты в казино и зарабатывая этим занятием порядка 60 000 долларов в год. Увлекаясь блэкджеком и покером, МакКинли строил математические модели для выработки оптимальных стратегий игры: это занятие приносило ему не только деньги, но и удовольствие.

Пробудившийся благодаря азартным играм глубокий интерес к точным наукам вновь направил Криса в учебную аудиторию: он поступил в магистратуру Калифорнийского университета в Лос-Анжелесе, а позже получил степень Ph.D. по прикладной математике. Однако еще в процессе написания диссертации по теме Крупномасштабная обработка данных и параллельные численные методы МакКинли пришел к выводу, что его по-прежнему устраивает в собственной жизни далеко не все. Главной причиной тревог 35-летнего математика было одиночество.

А не спеть ли мне песню о любви?


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

В отличие от знаменитого Тиндера, появившийся в 2004 году OkCupid (который принадлежит, к слову, тем же самым владельцам) претендует на научный подход в вопросах строительства отношений как раз то, что нужно ученым, программистам, хакерам и прочим нердам. Сайт, разработанный четырьмя студентами-математиками из Гарвардкого университета, быстро набрал небывалую популярность в США, попав в ТОП-10 лучших служб знакомств по версии журнала Time за 2007 год. Его основное отличие от других аналогичных площадок заключается в том, что после бесплатной регистрации пользователю предлагается ответить на вопросы нескольких довольно-таки подробных анкет, с помощью которых составляется его психологический портрет. Алгоритмы OkCupid подбирают пары исходя из общих предпочтений, интересов и сходства анкетных данных. Соответственно, чем более подробно заполнен профиль, тем более подходящую кандидатуру способен отыскать сайт знакомств, но тем меньше математических шансов на удачное совпадение.

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


>Типичная анкета пользователя на OkCupid.com

Личный опыт Криса МакКинли показал, что с сайтом OkCupid отношения у него как-то не складываются. При наличии миллионов активных пользователей, из которых примерно 80 000 женщины из Лос-Анжелеса, его профиль совершенно не привлекал внимания противоположного пола. Сайт учитывает совпадения только в том случае, если оба пользователя ответили на одни и те же вопросы анкеты, а выбранные Крисом варианты не пользовались популярностью у девушек. Более того: из предложенных бездушными алгоритмами пары десятков потенциальных невест на сообщения Криса откликнулись лишь несколько. Шесть состоявшихся свиданий подтвердили опасения МакКинли о том, что подобная методика знакомств пустая трата времени. А раз она не приносит должного результата, нужно менять алгоритм: этот принцип прекрасно работал в мире карточных игр. Почему бы для налаживания личной жизни одно конкретно взятого человека, то есть своей собственной, не воспользоваться достижениями современной науки? подумал Крис. И решил вооружиться математикой с благородной целью: найти на OkCupid идеальную девушку, построить с ней отношения и обрести, наконец, счастье, о котором он так долго мечтал.

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

Взломай это!


Для начала Крис собрал полный ассортимент вопросов, которые задает своим пользователям OkCupid, и рассортировал их по тематике. Всего получилось семь групп. Теперь нужно было извлечь данные из анкет пользователей, которые подходили ему в качестве потенциального партнера: гетеросексуальные и бисексуальные женщины в возрасте от 25 до 45 лет. OkCupid дает возможность просмотреть ответы других юзеров, но только на те вопросы, на которые ответил ты сам. Чтобы обойти это ограничение, Крис создал 12 фейковых учетных записей и написал скрипты на Python для управления этими аккаунтами. Поддельные пользователи случайным образом отвечали на определенный блок вопросов в анкете, а затем посещали профайлы девушек, подходивших Крису по возрастным критериям, и собирали их варианты ответов в специально созданную базу данных.

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


То самое здание Калифорнийского университета в Лос-Анжелесе

Собранную информацию предстояло проанализировать, выявив закономерности среди десятков тысяч анкет. Для этого МакКинли использовал модифицированный алгоритм кластеризации под названием K-modes, готовая реализация которого имеется в каталоге PyPi для Python. Алгоритм K-modes, разработанный когда-то исследователями из компании Bell Labs, использует принцип категоризации сущностей на основе заданных параметров. Экспериментируя с этими параметрами, Крис сумел разделить 20 000 наиболее релевантных его запросам анкет на семь отдельных групп в соответствии с результатами анкетирования. Получились выборки, с которыми можно было работать дальше. С помощью ботов МакКинли собрал данные еще 5000 анкет женщин из Лос-Анжелеса и Сан-Франциско, заходивших на OkCupid в течение последнего месяца. Обработка этой выборки с помощью алгоритма K-modes дала похожий результат: анкеты отсортировались в аналогичных пропорциях. Методика сработала!

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


В Калифорнийском университете, как и во многих учебных заведениях США, есть своя бейсбольная команда и учатся симпатичные чирлидеры

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

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

Закончив с анкетами, Крис решил посмотреть, сколько вариантов знакомств предложит ему OkCupid и не поверил своим глазам. По умолчанию сайт сортирует выдачу по уменьшению степени совпадения психологического профиля и интересов. МакКинли торопливо пролистал несколько страниц, но подходящие ему с точки зрения OkCupid девушки, ответы которых совпали с его собственными более чем на более 90%, все не заканчивались в выборке оказалось более 10 000 красавиц со всей Америки.

Сайт OkCupid автоматически уведомляет пользователя, когда кто-то просматривает его профиль. Чтобы привлечь к себе внимание, МакКинли написал еще один скрипт, который от имени его аккаунта автоматически открывал анкеты женщин из Лос-Анжелеса разных возрастных групп: 1000 анкет дам в возрасте 41 года, затем еще 1000 на год помладше, и так до 25-летних девушек. Скрипт обрабатывал строго определенное количество строк собранной Крисом базы в сутки, чтобы избежать возможной блокировки. И женщины стали заглядывать в профиль МакКинли, а потом посыпались первые сообщения. Ты действительно знаешь китайский?, писали ему заинтригованные девушки. Возможно, у нас много общего, пусть не в области математики, но наверняка в других интересных вещах. Твоя страничка выглядит интригующей!. Это был полный и безоговорочный успех. По крайней мере, Крису так казалось поначалу.

Встреча с реальностью


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

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

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

С ростом количества встреч аналитический ум МакКинли стал подмечать в происходящем кое-какие закономерности. Большинство юных девушек из группы 25+ проживали в восточной части Лос-Анжелеса и имели, как правило, более двух татуировок. Эту группу Крис назвал Tatoo. Одинокие женщины старшего возраста часто оказывались обладательницами целого выводка собак среднего размера, которых они обожали. Таких кандидаток он решил называть Dog. Некоторые девчонки знакомились только с новичками на сайте OkCupid, этих он отнес к группе Зеленые. Другие были склонны к приключениям, их он окрестил по имени одной яркой представительницы данной категории Саманты. Всего подобных групп набралось семь.


Точный расчет и математический анализ залог счастливой любви. Или нет? Иллюстрация Wired

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

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


Счастливая парочка Крис МакКинли и Кристин Тьен Ван

Однажды утром в строке номер 88 лабораторного журнала Криса МакКинли появилась очередная запись: Кристин Тьен Ван, 28 лет, художница, студентка магистратуры факультета изящных искусств Калифорнийского университета Лос-Анжелеса, активистка, борющаяся за отмену тюрем. Совпадение их анкет составляло 91%. Они встретились в саду университетского кампуса и отправились в суши-бар, расположенный на территории колледжа. Там Кристин призналась своему спутнику, что внесла кое-какие изменения в собственный профиль и ответы на сайте знакомств, чтобы найти с помощью OkCupid как можно больше интересных парней. В порыве откровенности Крис поведал ей в ответ свою историю всю как есть, ничего не скрывая. Он рассказал ей о том, что девушка стала очередной невольной участницей его математического эксперимента. Это звучало ужасно цинично, призналась потом Тьен Ван изданию Wired, настолько, что мне все это чертовски понравилось!. За первой встречей последовала вторая, затем третья, а спустя две недели молодые люди удалили свои анкеты на сайте OkCupid.

Happy End


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

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

Люди намного сложнее, чем их профили на сайтах знакомств и в соцсетях, добавляет Кристин, настоящий взлом в отношениях происходит не онлайн, а при личной встрече и в процессе очного общения.

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

Подробнее..

За что IT-компании платят экономистам и сколько стоит человеческая жизнь?

27.02.2021 16:15:57 | Автор: admin

На этой неделе наших соцсетях выступал Евгений Канашевский, экономист из Zalando, Economics Phd университета Штата Пенсильвания.

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

Делимся с вами расшифровкой эфира.



Меня зовут Евгений Канашевский. Сегодня мы поговорим о том, за что IT-компании платят экономистам, о том, чем экономисты отличаются от обычных data scientist-ов, и ответим на интересные вопросы вроде сколько стоит человеческая жизнь?, которыми занимаются экономисты.

Для начала я представлю себя. Я сейчас работаю экономистом/data scientist-ом в большой компании Zalando. Это онлайн-магазин, который продает одежду, обувь, косметику в 16 странах Европы и планирует расширение на новые рынки. До того, как я присоединился к Zalando в 2020 году, я делал PhD по экономике в университете штата Пенсильвания. Я начал интересоваться экономикой задолго до этого, когда учился в МФТИ и потом также в Российской экономической школе.

До того, как поехать на PhD по экономике, я работал 2 года в агентстве контекстной рекламы в Москве; очень сильно хотел узнать больше о том, что такое экономика и как она устроена. Чтобы утолить свою жажду, я поехал в итоге на PhD. Сейчас я надеюсь поделиться с вами этим знанием. Надеюсь, вам будет интересно, и мы поймем, зачем бизнесу экономисты.

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

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

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

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

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

Такими вопросами задаются экономисты. Эти вопросы сложны, потому что в мире не так уж и много стран; невозможно заглянуть в параллельную вселенную, где СССР развивался бы с применением рыночных механизмов экономики и демократических институтов. Помимо вопросов в глобальном масштабе, экономисты задаются и более повседневными вопросами, которые имеют хорошую практическую ценность. Например как выгодно продать радиочастоты в нескольких штатах США. Представьте себе: вы владеете определенным диапазоном радиочастот (вы представляете государство). Вы хотите продать их наиболее выгодным способом так, чтобы максимально принести денег в бюджет. Возникает вопрос: как устроить механизм, с помощью которого вы будете это делать? Экономисты предлагают использовать аукционы, чтобы продавать частоты; это кажется логичным, если вспомнить, как продаются произведения искусства, например. Но тогда возникает следующий вопрос: как оптимально устроить аукцион, чтобы получить в бюджет максимально много денег?

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

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

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

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

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

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

Это оценки были сделаны; они были сделаны для США, потому что там есть хорошие данные на самом разном уровне. Эти оценки говорят, что цена человеческой жизни колеблется в диапазоне от 4 до 9 миллионов долларов. Такие оценки, конечно, нужно проецировать на Россию мы должны измерить, как цена человеческой жизни отличается в странах, где люди меньше зарабатывают и приносят меньше ценности. Это очень грубый подсчет, но есть правила пересчета. И, как это ни грубо звучит, цена человеческой жизни в России меньше, чем в Америке, просто из-за того, что экономика в России менее производительна. Но, тем не менее, можно получить какие-то оценки и с помощью этого решать практические вопросы например, сколько мы готовы тратить на улучшение безопасности на дорогах, чтобы терять меньше людей.

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

Где работают экономисты помимо международных организаций, научных институтов, госорганизаций и банков? Экономисты работают в отраслевом консалтинге, в основном в разных консалтинговых фирмах. Все больше и больше работают в больших и не очень больших IT-компаниях. Просто чтобы назвать пример самых больших компаний это Google, Amazon, Uber, Facebook; компания, в которой работаю я (Zalando) это e-commerce-компания, у которой есть собственная команда экономистов для решения задач о поведении людей. Netflix пример компании, не очень большой по штату сотрудников, которая при этом нанимает экономистов, которые решают очень интересные задачи.

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

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

Чтобы ответить более детально на вопрос почему IT-фирмы набирают именно экономистов, разберем три пункта. Во-первых, почему экономисты исследуют, как принимают решения люди в самых разных ситуациях как так получилось, что они этим занимаются и задают странные вопросы (какова ценность человеческой жизни?, как устроить рынок пересадки почек?). Во-вторых, мы разберем 4 вида задач, для которых бизнесу нужны экономисты. И, наконец, мы обсудим, почему бизнесу нужны именно экономисты, а не обычные data scientist-ы: в чем различия между ними.

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

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

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

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

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

Это подводит нас к тому, почему IT-компании нанимают экономистов. Я выделил 4 большие области, где работают экономисты в IT-компаниях; это не полный список экономисты занимаются и другими вещами, но эти области уже сформировались.

Первая область оценка спроса на товары или услуги. Здесь можно подумать о многих бизнесах, но я приведу самые яркие примеры. Amazon один из крупнейших онлайн-магазинов (не могу сказать, кто самый крупный Amazon или Alibaba), огромная компания с огромным штатом, которой очень важно оценивать спрос: сколько товаров будет продано, как изменение цен повлияет на продажи. Uber рай для экономистов, потому что у него очень много данных: можно оценивать спрос на такси, можно отвечать на вопросы типа как установить цены на Uber в час пик в центре Манхэттена, как эти цены должны отличаться от цен в другое время в этом же месте; как сделать так, чтобы Uber получил выручку, и при этом люди могли заказать такси и такси к ним приехало. То есть, мы видим, что здесь много людей, и у них разные стимулы: у клиента стимул как можно быстрее и дешевле поехать на такси, Uber и таксист хотят заработать денег.

Второй пример задачи это аукционы. Здесь самые яркие примеры это Google и Yandex, рынки онлайн-рекламы. Каждый раз, когда вы вбиваете в поиск что-либо, проводится маленький аукцион, и кто-то платит за то, чтобы показать вам рекламу. От 70 до 90% выручки материнской компании Google Alphabet приходится на эти аукционы, то есть, Google живет за счет рекламы (Yandex тоже). Экономисты работают над тем, как спроектировать эти аукционы таким образом, чтобы бизнесы не тратили на рекламу лишние деньги, а пользователи получали релевантную рекламу. Все эти стимулы учитываются в проектировании аукционов экономистами.
Третий пласт задач это эксперименты и квазиэксперименты (A/B-тесты). A/B-тестирование проводится рутинно, постоянно в больших компаниях. Экономисты здесь занимаются проектированием систем для A/B-тестирования; на самом деле, провести его легко, сложно сделать это хорошо. Как правильно провести A/B-тестирование, подсчитать результаты, затратить минимум ресурсов и получить максимальную выгоду этим всем занимаются экономисты в таких компаниях, как Google, Facebook или Zalando. Компания Netflix хорошо известна своей платформой для экспериментов и A/B-тестов.

Четвертый пласт это измерение downstream impact: как продукт влияет на, допустим, lifetime value, которые вы получаете от одного клиента. Представьте, что вы хотите оценить, сколько должен стоить подписочный сервис вроде Amazon Prime: какую цену просить у подписчиков, чтобы максимизировать количество подписок, чтобы люди не отписывались? Для этого нужно оценить, сколько ценности Amazon Prime приносит клиенту не за день или месяц, а годами. И такие задачи, когда есть долгосрочное планирование и прогнозирование, долгосрочная оценка, решают экономисты для бизнеса.

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

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

Это мы назовем вопросом первого уровня: нам не важно, почему спрос на товары был именно таким на прошлой неделе. Хорошая предсказательная модель, которую мы будем строить, не обязана давать объяснения того, почему люди покупали столько пива и чипсов она должна на основе прошлых данных предсказать будущее с достаточной точностью. Примеры таких моделей: распознавание визуальных образов (отличить кошку от собаки на фото), определение спам-сообщений в e-mail, определение кредитного рейтинга потенциального клиента. В предсказательных моделях не важны причинно-следственные связи; основываясь на данных, которые у вас уже есть, вы хотите сделать предсказание для нового объекта картинки, сообщения, клиента. Здесь методы машинного обучения замечательно работают. Мы можем обучить продвинутые методы и сделать очень хорошее предсказание.

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

Что делать в таком случае? Мы можем провести эксперимент. Мы можем поднять цену на пиво лишь в отдельном магазине нашей сети (предположим, у нас имеется сеть магазинов) и посмотреть, что в этом магазине произойдет на следующей неделе с продажами пива и чипсов и в других магазинах тоже. Здесь мы проводим простейший A/B-тест. Как его правильно провести именно такими задачами задаются экономисты в компаниях. Это второй уровень вопросов по причинно-следственным связям. Здесь, в отличие от первого уровня, мы хотим узнать, что произойдет, если мы внесем изменение то есть, мы можем пощупать причину и следствие, изменение, которое мы вносим, и конечный результат (продажи пива и чипсов).

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

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

Пример такого вопроса: в 70-е годы XX века в Стране басков регионе Испании было сильное сепаратистское движение, происходило много терактов. Экономисты хотели оценить, что было бы со Страной басков как бы она развивалась экономически если бы этих терактов не было. Как экономисты это делают? Они строят параллельную реальность, в которой они строят воображаемую мирную Страну басков, и смотрят, как она развивается, какой в ней экономический рост. Результаты говорят о том, что террористическая активность в Стране басков уменьшила ее экономический рост на 10%. Тут мы можем понять, что именно такие вопросы экономиста задают уже давно, и они разработали много методов для ответа на такие вопросы. Именно этим они ценны бизнесу.

Итак, мы попробовали объяснить, чем экономисты ценны бизнесу и как они отличаются от обычных data scientist-ов. Последний вопрос нашего вебинара: Почему бизнесы будут нанимать все больше экономистов?; ответим с помощью примера онлайн-рекламы.

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

Более конкретные примеры вопросов, которыми задаются бизнесы: Что будет с продажами, если в следующем месяце потратить на рекламу в 2 раза больше? Конечно, мы можем провести эксперимент потратить в 2 раза больше на рекламу. Но как понять потом, что новые продажи принесла именно реклама? Это могло произойти благодаря сезонным распродажам в том же месяце, или благодаря другой рекламной активности. У компании может быть много каналов рекламы, особенно у такой большой, как Zalando, и бюджеты могут меняться по многим из них. Допустим, мы хотим увеличить бюджет в одном из них и понять, что происходит с продажами но как понять, что именно это изменение привело к дополнительным продажам? Что, если продажи отложенные пользователь увидел рекламу, но покупку совершил только через месяц?
Следующий вопрос: как отвечать на такие сложные вопросы при условии, что пользователи в Европе и в других странах все меньше и меньше готовы делиться своими данными cookies и прочими? Бизнесам все сложнее отслеживать пользователей. Отслеживание пользователей за пределами вашего сайта на индивидуальном уровне невозможно в большинстве случаев; вы не можете знать, что пользователь делал на той платформе, где была ваша реклама в Facebook или Instagram. Такими вопросами задаются бизнесы, и ради таких вопросов они нанимают экономистов.

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

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

Я расскажу, что вам делать, если вы хотите больше знать об экономике. Я могу посоветовать книги и подкасты. Замечательная книга, с которой стоит начать книга бывшего ректора РЭШ Сергея Гуриева, Мифы экономики. Оттуда я сегодня взял пример о стоимости человеческой жизни. Вы можете в этой книге прочитать о мифах, которые существуют о том, что делают экономисты и как устроена экономика, и о развенчании этих мифов. Про то, почему одни страны богатые, а другие нет, какой консенсус у экономистов и сколько работы они проделали, изучая историю стран, вы можете прочитать в книге Why Nations Fail. Про более микроуровневые задачи, когда мы смотрим не на страны, а на поведение отдельных людей, и про то, чем экономисты отличаются от normal data scientists, которые занимаются задачами предсказания или классификации, вы можете прочитать в книге Mostly Harmless Econometrics это про эконометрические методы, специальные статистические методы для изучения причинно-следственных связей. Книга The Book of Why также фокусируется на причинно-следственных связях, как раз оттуда я взял концепцию трехуровневой лестницы причинно-следованных связей; она отлично объясняет, почему бизнесам нужно все больше и больше экономистов.

Также я хотел поделиться подкастами и лекциями. На русском языке есть Экономика на слух отличный подкаст от VTimes. Также подкаст Экономика и жизнь это на YouTube-канале РЭШ; вообще, на нем можно найти много интересных лекций.

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

Q: сейчас в России потолок зарплат экономистов $1000 в месяц что нужно, чтобы устроиться в Google?

На самом деле, для того, чтобы устроиться в Google экономистом, вам нужен PhD по экономике Google может себе позволить выбирать только из PhD по экономике. Хотя это не значит, что вы совсем не можете заниматься экономическими вопросами в Google: вы можете заниматься ими, будучи data scientist-ом и сотрудничая с экономистами. Это мне известно от моих коллег, которые работают в Google. Это будет не так-то просто, но, я думаю, возможно.

Если у вас будут вопросы по тому, что я рассказал, то я на самые интересные из них отвечу еще позже. Спасибо всем, кто задавал интересные вопросы и кому была интересна эта лекция.

Подробнее..

Реализация моделей динамических систем средствами контроллера

17.02.2021 14:23:34 | Автор: admin

За основу задания динамических свойств систем может быть принята любая из форм представления операторов: дифференциальные уравнения (ДУ), передаточные функции (ПФ), временные характеристики (ВХ) или частотные характеристики (ЧХ), однако для конкретных задач целесообразно выбирать наиболее рациональную форму [1].
Возможные преобразования форм представления моделей вход-выход показаны на Рисунок 1. Сплошные линии орграфа показывают однозначные преобразования, штриховые - неоднозначные преобразования экспериментальных данных. Результаты последних преобразований зависят от выбора структуры оператора и алгоритма обработки данных.

Рисунок 1. Орграф взаимосвязи форм представления моделей. Модели могут описывать поведение регуляторов систем управления [4], наблюдателей [3], корректирующих звеньев, фильтров [5], и др. динамических систем. В этой работе рассматриваются MATLAB преобразования форм представления моделей и реализация моделей средствами контроллеров.

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

Дискретная модель в форме пространства состояний представляется разностными уравнениями первого порядка

Связь переменных уравнений (2) показана на блок схеме Рисунок 2, где X переменные состояния; 1/z задержка на один такт.

Рисунок 2. Структура дискретной модели объекта в форме пространства состояний.

Система разностных уравнений
Раскроем уравнения (2) подстановкой в уравнения матриц (1) объекта:

По разностным уравнениям (3) построим Simulink модель дискретного объекта с периодом дискретизации 1 с (см. Рисунок 3).

Рисунок 3. Дискретная модель объекта (1) и реакция y[n] объекта на синусоидальное u[n] воздействие.

Импульсная передаточная функция
Воспользуемся преобразованием форм MATLAB для перевода дискретной модели из пространства состояний в формат импульсной передаточной функции, затем в формат непрерывной ПФ и, наконец, в формат пространства состояний непрерывной модели. Ниже показан код m-программы c промежуточными результатами, сдвинутыми вправо на 1 Tab.
Ad = [1.1 -0.5 0.12
1.0 0.0 0.0
0.0 1.0 0.0];

Bd = [-0.4
0.6
0.5];

Cd = [1 0 0];

Dd = 0;

Wo_ss_d = ss(Ad,Bd,Cd,Dd,1); % структура дискретной модели с периодом 1 с
Wo_tf_d = tf(Wo_ss_d) % дискретная ПФ

Непрерывная передаточная функция

Wo_tf_c = d2c(Wo_tf_d) % непрерывная ПФ

Непрерывная модель в форме пространства состояний
Wo_ss_c = ss(Wo_tf_c) % непрерывная модель в форме пространства состояний
Wo_ss_c =
A =
x1 x2 x3 (4)
x1 -2.12 -1.213 -0.819
x2 2 0 0
x3 0 0.5 0
B =
u1
x1 2
x2 0
x3 0
C =
x1 x2 x3
y1 0.009016 -0.2697 -0.8307
D =
u1
y1 0

Continuous-time state-space model.

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

Приведенный многоступенчатый перевод дискретной модели (1, 2, 3) в непрерывную модель пространства состояний (4) можно выполнить одной командой d2c: Wo_ss_c = d2c(Wo_ss_d). В этом варианте получится набор матриц с другими коэффициентами относительно многоступенчатого варианта, но это не является ошибкой, поскольку одна и та же ПФ (с одинаковым составом нулей и полюсов) может быть представлена в форме пространства состояний разными вариантами коэффициентов матриц A, B, C, D. Нули и полюса ПФ можно вычислить командами MATLAB: zeros, poles, eig.

Система дифференциальных уравнений
Матрицы (4) непрерывной модели связывают переменные состояния x(t) с входом y(t) и выходом u(t) модели следующим образом.

Раскроем систему дифференциальных уравнений (5) подстановкой коэффициентов матриц (4):

Как в случае построения дискретной Simulink модели (Рисунок 3) по разностным уравнениям (3), построим Simulink модель непрерывного объекта (см. Рисунок 4) по дифференциальным уравнениям (6).

Рисунок 4. Непрерывная модель объекта (1) и реакция y(t) объекта на синусоидальное u(t) воздействие (синий график). Для сравнения, показан коричневый график y[n] дискретного объекта Рисунок 3, график y(t) сдвинут вправо на 0.5 с - половину дискреты.

Перевод модели в частотную область
В MATLAB по данным модели пространства состояний или передаточным функциям можно построить соответствующие амплитудно-фазовые частотные характеристики (АФЧХ). Примеры перевода для рассматриваемого объекта показаны ниже.
bode(Wo_ss_d) % АФЧХ дискретного объекта представленного в форме пространства состояний
bode(Wo_tf_d) % АФЧХ дискретного объекта представленного в форме ПФ
bode(Wo_ss_c) % АФЧХ непрерывного объекта представленного в форме пространства состояний
bode(Wo_tf_c) % АФЧХ непрерывного объекта представленного в форме ПФ
grid % нанесение координатной сетки

Рисунок 5. Амплитудно-фазовые частотные характеристики непрерывного объекта (слева) и дискретного объекта (справа).

Построение передаточной функции по частотным характеристикам
Имеется множество вариантов обратного перевода модели из частотной области. Вот один из них.
[mag,phase,freq] = bode(Wo_tf_c) % выделение амплитуды, фазы и частоты АФЧХ
complex_f = frd(mag.exp(jphase.pi/180),freq) % модель объекта в частотной области tfest(complex_f,3) % ПФ непрерывного объекта, 3 - порядок объекта

В этом примере зависимости амплитуды mag и фазы phase от частоты freq вычислены оператором bode для ПФ Wo_tf_c. Оператор frd сформировал структуру complex_f - зависимость комплексных аргументов mag.exp(jphase.pi/180) от частоты, которая использовалась оператором tfest для построения ПФ непрерывного объекта третьего порядка. Полученная ПФ точно совпадает с исходной ПФ Wo_tf_c. Как упоминалось во введении, при использовании экспериментальных зависимостей (амплитуды и фазы от частоты) мы бы получили неоднозначный вариант ПФ.

Перевод модели во временную область
MATLAB предлагает множество вариантов вычисления реакции объекта на входное воздействие. Вот один из них реакция (Рисунок 6) на единичное ступенчатое воздействие вычисляется оператором step:
% [y,t] = step(Wo_tf_c) % выделение данных реакции на единичное воздействие
step(Wo_tf_c) % построение графика реакции на единичное воздействие

Рисунок 6. Реакция модели непрерывного объекта (ПФ: Wo_tf_c) на единичное ступенчатое воздействие.

Построение передаточной функции по временным характеристикам
Обратное преобразование построение передаточной функции по временным характеристикам входа и выхода объекта выполняется командами iddata и tfest.

Перевод импульсной передаточной функции в код контроллера
Модель Рисунок 3 импульсной передаточной функции (3a) дискретного объекта (1) можно представить в виде схемы показанной на Рисунок 7.

Рисунок 7. Модель импульсной передаточной функции

. Блок z-1 реализует задержку на 1 такт. Для рассматриваемого объекта установлен период дискретизации в 1 с.

Работа схемы Рисунок 7 подобна реализации Рисунок 8, в которой блок fcn, содержащий m-функцию пользователя, выполняет совместно с z-1 блоками работу рассматриваемой импульсной ПФ.

Рисунок 8. Simulink модель эквивалентной импульсной передаточной функции с fcn блоком, содержащим представленный m-код. Следующая программа вычисляет реакцию объекта, представленного импульсной ПФ. Полученная реакция (Рисунок 9) полностью совпадает с реакциями дискретных моделей рассматриваемого объекта и соответствует реакциям непрерывных моделей этого же объекта (Рисунок 10).

b2 = -0.4; b1 = -0.24; b0 = 0.072; % коэффициенты полинома числителя ИПФ

a3 = 1; a2 = -1.1; a1 = 0.5; a0 = -0.12; % коэффициенты полинома знаменателя ИПФ

y = zeros(1,50); % резервирование памяти для хранения реакции
u = ones(1,50); % единичное воздействие

ym1 = 0; ym2 = 0; ym3 = 0 % начальные значения

for i = 1:50

y(i) = a3*ym1; (7)

ym1 = b2*u(i)-a2*y(i)+ym2;

ym2 = b1*u(i)-a1*y(i)+ym3;

ym3 = b0*u(i)-a0*y(i);

end

% График реакции дискретных моделей

if 1
% Построение графиков
figure (1) % активное окно графопостроителя
clf % очистка предыдущих данных
plot(y,'xb') % график y[n] m-файла
hold on
plot(out.ScopeData1.signals(3).values) % график y[n] Simulink модели, ver.1
plot(out.ScopeData1.signals(4).values) % график y[n] Simulink модели, ver.2
plot(out.ScopeData1.signals(5).values) % график y[n] Simulink модели, ver.3
plot(out.ScopeData1.signals(6).values) % график y[n] Simulink модели, ver.4
legend('m-file','Simulink v.1','Simulink v.2','Simulink v.3','Simulink v.4')
grid
xlabel('Номер отсчета')
ylabel('Амплитуда реакции'),
title('Сравнение реакций дискретных моделей')
end

Рисунок 9. 100% совпадение реакций дискретных моделей и вычислений m-программы.

Рисунок 10. Варианты построения эквивалентных Simulink моделей рассматриваемого объекта.

Порядок программирования динамических моделей контроллерами
Для построения модели динамической системы средствами контроллеров предлагается выполнить следующее.

  1. Средствами MATLAB преобразовать динамическую систему в форму импульсной передаточной функции для требуемого шага дискретизации (3a).

  2. Выделить коэффициенты полиномов числителя и знаменателя импульсной ПФ (Рисунок 7)

  3. Средствами контроллера реализовать последовательность вычисления импульсной ПФ (7)

Структура и порядок динамической системы могут отличаться от рассмотренного примера.

Заключение
Рассмотренные варианты преобразования форм представления динамических моделей в интегрированной среде MATLAB могут быть использованы для реализации моделей средствами контроллеров путем построения кода эквивалентной импульсной передаточной функции (Рисунок 11).

Рисунок 11. Операторы MATLAB преобразования моделей и построения эквивалентного кода для программирования контроллеров.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

  1. А.А.Алексеев, Д.Х.Имаев, Н.Н.Кузьмин, В.Б.Яковлев. Теория управления: Учеб./СПб.: Изд-во СПбГЭТУ ЛЭТИ, 1999. 435 с.

  2. Help MATLAB.

  3. Dr. Bob Davidov. Синтез наблюдателя состояний. http://portalnp.ru/2021/01/10862

  4. Dr. Bob Davidov. Аналитическое конструирование линейно-квадратичного регулятора http://portalnp.ru/2021/01/10857

  5. Dr. Bob Davidov. Фильтр Калмана в линейно-квадратичном гауссовском управлении. http://portalnp.ru/2021/02/10877

Подробнее..

Перевод Единый математический язык для физики и инженерного искусства в 21 веке

15.02.2021 14:04:42 | Автор: admin

Введение

Сегодня, старшеклассников обучающихся по уровням А или их эквивалентам в естественных науках, познакомят с понятием векторов направленных отрезков прямых, и научат манипулировать ими с помощью классической векторной алгебры. Фактически это алгебра, введенная Гиббсом в конце 19-го века; с тех пор она мало изменилась. Ученики практикуются в искусстве векторной алгебры и видят, насколько успешно она выражает большую часть двумерной и трехмерной геометрии. Манипулирование системой становится почти второй натурой.

Уильям Роуэн Гамильтон 1805-1865. Изобретатель кватернионов и один из ключевых научных деятелей 19 векаУильям Роуэн Гамильтон 1805-1865. Изобретатель кватернионов и один из ключевых научных деятелей 19 века

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

Немного истории

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

\{ 1,\,\mathbf i,\,\mathbf j,\,\mathbf k \} \\ i^2 = j^2 = k^2 = \mathbf i\mathbf j\mathbf k = -1

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

Герман Гюнтер Грассман (1809-1877). Немецкий математик и школьный учитель, прославившийся алгеброй, которая теперь носит его имяГерман Гюнтер Грассман (1809-1877). Немецкий математик и школьный учитель, прославившийся алгеброй, которая теперь носит его имя

В то время как Гамильтон разрабатывал свою кватернионную алгебру, Грассман формулировал свою собственную алгебру, ключом к которой было введение внешнего произведения; мы обозначаем это внешнее произведение как , так что внешнее произведение двух векторов a и b записывается как a b. Это произведение имеет определенные особенности. Одной из таких особенностей является его ассоциативность, т. е.

\mathbf a \wedge (\mathbf b \wedge \mathbf c) = (\mathbf a \wedge \mathbf b) \wedge \mathbf c

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

\mathbf{a}\wedge\mathbf{b} = -\mathbf{b}\wedge\mathbf{a}

Мы больше привыкли иметь дело с коммутативным произведением, то есть умножением между двумя числами, 25 = 52 = 10, но оказывается чрезвычайно полезным во многих областях физики, математики и техники иметь произведение, которое не обязательно коммутирует. Напротив, внутреннее (скалярное) произведение между двумя векторами, a и b, записанное как a b (что дает скаляр, величина которого равна ab cos , где угол между векторами), является коммутативным, т. е.

\mathbf a \cdot \mathbf b = \mathbf b \cdot \mathbf a

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

 Портрет Уильяма Кингдона Клиффорда (1845-1879), математика и философа, работы достопочтенного Дж. Джон Кольер. (Библиотека и архив Королевского общества.) Портрет Уильяма Кингдона Клиффорда (1845-1879), математика и философа, работы достопочтенного Дж. Джон Кольер. (Библиотека и архив Королевского общества.)

Следующий решающий этап истории происходит в 1878 году и связан с работой английского математика Уильяма Кингдона Клиффорда. Клиффорд был одним из немногих математиков, которые читали и понимали работу Грассмана, и в попытке объединить алгебры Гамильтона и Грассмана в единую структуру он ввел свою собственную геометрическую алгебру. В этой алгебре мы имеем одно геометрическое произведение, образованное объединением внутреннего и внешнего произведений; оно ассоциативно, как произведение Грассмана, но также обратимо, как произведения в алгебре Гамильтона. В геометрической алгебре Клиффорда уравнение типа ab = C имеет решение b = aC, где a существует и известно как обратное от a. Ни внутреннее, ни внешнее произведение не обладают этой обратимостью сами по себе. Большая часть силы геометрической алгебры заключается в этом свойстве обратимости.

Алгебра Клиффорда объединила все преимущества кватернионов с преимуществами векторной геометрии, так что геометрическая алгебра должна была тогда идти вперед как основная система математической физики. Однако два события помешали этому. Первой была безвременная смерть Клиффорда в возрасте всего 34 лет, а второй введение Гиббсом своего векторного исчисления. Векторное исчисление хорошо подходило к теории электромагнетизма в том виде, в каком она существовала в конце XIX века; это, а также значительная репутация Гиббса, привели к тому, что его система затмила работу Клиффорда и Грассмана. Ирония заключается в том, что сам Гиббс, похоже, был убежден, что подход Грассмана к множественным алгебрам был правильным.

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

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

Краткий обзор

В нашей геометрической алгебре мы начинаем со скаляров, то есть обычных чисел, которые имеют величину, но не связаны с ориентацией, и векторов, то есть направленных отрезков как с величиной, так и с ориентацией/направлением. Давайте теперь возьмем эти векторы и посмотрим немного более внимательно на геометрию, лежащую за внешним произведением Грассмана. Внешнее произведение между двумя векторами a и b записывается как a b и представляет собой новую величину, называемую бивектором. Бивектор a b это направленная область, охватываемая двумя векторами a и b; таким образом, внешнее произведение двух векторов является новой математической сущностью, кодирующей понятие ориентированной плоскости.

Если мы пронесем b вдоль а, то получим тот же бивектор, но с противоположным знаком (ориентацией). Теперь, расширяя эту идею, мы видим, что внешнее произведение между тремя векторами, a b с, получается путем выметания бивектора a b вдоль c, что дает ориентированный объем или тривектор. Если мы пронесем a через область, представленную бивектором b с, мы получим тот же самый тривектор (можно показать, что он имеет ту же самую "ориентацию"); этот факт выражает ассоциативность внешнего произведения.

В n-мерном пространстве у нас будут n-векторы, которые являются просто ориентированными n-объемами; таким образом, мы видим, что внешнее произведение легко обобщается на более высокие измерения, в отличие от векторного произведения Гиббса, которое ограничено тремя измерениями. Решающий шаг в развитии геометрической алгебры теперь происходит с введением геометрического произведения. Мы уже знаем, что такое a b и a b; геометрическое произведение же их объединяет:

\mathbf{ab} = \mathbf a \cdot \mathbf b + \mathbf a \wedge \mathbf b

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

Геометрическая алгебра в двух измерениях

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

\mathbf{e_1}^2 = \mathbf{e_2}^2 = 1 \\ \mathbf{e_1}\cdot\mathbf{e_2} = 0

Единственным новым элементом в нашей двумерной геометрической алгебре является бивектор e e; это самый высокий класс элемента в алгебре (часто называемый псевдоскаляром). Рассмотрим теперь свойства этого бивектора. Первое, на что следует обратить внимание

\mathbf{e_1e_2} = \mathbf{e_1} \cdot \mathbf{e_2} + \mathbf{e_1} \wedge \mathbf{e_2} = \mathbf{e_1} \wedge \mathbf{e_2} = - \mathbf{e_2} \wedge \mathbf{e_1} = -\mathbf{e_2e_1}

то есть геометрическое произведение является чистым бивектором, потому что перпендикулярность векторов гарантирует, что e e обращается в нуль. Теперь давайте разберем этот бивектор:

( \mathbf{e_1e_2} )^2 = \mathbf{e_1e_2e_1e_2} = -\mathbf{e_1e_1e_2e_2} = \mathbf{(e_1)^2 (e_2)^2} = -1

Обратите внимание, что у нас есть реальная геометрическая величина, которая в квадрате равна -1! Поэтому возникает соблазн связать эту величину с единицей мнимой комплексной системы счисления (комплексное число принимает форму x + iy, где i известна как мнимая единица и обладает свойством i = -1). Таким образом, в двух измерениях геометрическая алгебра воспроизводит свойства комплексных чисел, но использует только геометрические объекты. На самом деле, переходя к геометрическим алгебрам более высоких измерений, мы начинаем видеть, что есть много объектов, которые квадратичны к -1, и что мы можем использовать их все в их правильной геометрической постановке.

Давайте теперь посмотрим, что происходит, когда бивектор ee умножается на векторы слева и справа. Умножение e и e слева дает

 (\mathbf{e_1 e_2}) \mathbf{e_1} = - \mathbf{e_2 e_1 e_1} = - \mathbf{e_2} \\ (\mathbf{e_1e_2}) \mathbf{e_2} = \mathbf{e_1 e_2 e_2} = \mathbf{e_1}

Легко заметить, что умножение слева на бивектор вращает векторы на 90 по часовой стрелке. Точно так же, если мы умножаем справа, мы вращаемся на 90 против часовой стрелки

 \mathbf{e_1(e_1e_2)} = \mathbf{e_2} \\ \mathbf{e_2(e_1e_2)} = -\mathbf{e_1}

Вращения

Из свойств бивектора ee очень легко показать, что поворот вектора a на угол к вектору a' достигается уравнением

\mathbf{a^\prime} = R\mathbf{a}P

где R величина, которую мы будем называть ротором и которая состоит из суммы скаляра и бивектора

R = \cos\frac \theta 2 - \mathbf{e_1e_2}\sin\frac \theta 2

а P это то же самое выражение, но с "+". На первый взгляд это может показаться довольно громоздким выражением для выполнения простого двумерного вращения; однако оказывается, что оно обобщается на более высокие измерения и поэтому обладает огромной силой.

Ротор R, переводящий вектор a в вектор a'. Обратите внимание, что понятие перпендикулярного вектора больше не требуется; важен бивектор или плоскость вращения.Ротор R, переводящий вектор a в вектор a'. Обратите внимание, что понятие перпендикулярного вектора больше не требуется; важен бивектор или плоскость вращения.

Приведенное выше уравнение фактически является формулой, которая используется для вращения вектора в любом измерении; если мы перейдем к трем измерениям, ротор R будет вращаться на угол в плоскости, описываемой бивектором. Поэтому все, что нам нужно сделать, это заменить бивектор ee на бивектор, который определяет плоскость вращения. И все; используя это очень простое выражение, мы обнаружим, что можем вращать не только векторы, но и бивекторы и более высокоуровневые величины. Осуществить вращение в трех измерениях таким образом, чтобы расширить понятия, которые мы понимали в двух измерениях, было проблемой, с которой Гамильтон боролся в течение многих лет, прежде чем, наконец, получить в качестве своего решения кватернионы. На самом деле элементы кватернионной алгебры Гамильтона это не что иное, как элементарные бивекторы (плоскости). Вооружившись очень простой идеей ротора, который совершает вращения, мы можем дать удивительно простые геометрические интерпретации многих других сложных объектов.

Специальная теория относительности

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

Проблема того, как два наблюдателя воспринимают различные события, относительно проста, когда скорость |v| мала. Но когда |v| приближается к скорости света, c, и мы добавляем тот факт, что она должна быть постоянной в любой системе, и математика становится уже не такой простой. Условно можно получить преобразование координат между системами отсчета обоих наблюдателей, и для перемещения между этими двумя системами мы применяем матричное преобразование, известное как преобразование Лоренца. Геометрическая алгебра дает нам прекрасно простой способ работы со специальными релятивистскими преобразованиями, используя не что иное, как формулу для вращений, рассмотренную выше, а именно a' = RaP. Наше пространство теперь имеет четыре измерения, и наши базисные векторы это три пространственных направления и одно временное направление; назовем эти базисные векторы , , и . Для четырех измерений, у нас будет шесть бивекторов (три пространственных бивектора плюс бивекторы, состоящие из пространственно-временных "плоскостей").

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

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

\mathbf {E^\prime} + I\mathbf {B^\prime} = R(\mathbf {E} + I\mathbf {B} )P

где I = псевдоскаляр четырехмерного пространства (4-объем), а штрихами обозначаем преобразованные величины.

Квантовая механика

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

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

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

  1. такое не обсуждается, поскольку время не является эрмитовой наблюдаемой;

  2. время тождественно нулю;

  3. время является мнимым.

Почему квантовая механика делает такие странные предсказания? Основная причина неспособности иметь дело с траекторией частицы/пакета внутри барьера заключается в использовании i, неинтерпретированного мнимого скаляра (i = -1); обычно импульс частицы внутри барьера принимается кратным i, и это приводит ко всяким довольно бесполезным представлениям о мнимом времени.

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

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

Гравитация

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

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

Стержни, оболочки и прогибающиеся балки

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

Математически мы можем описать деформацию, разделив балку на очень маленькие сегменты и прикрепив системы координат (три взаимно перпендикулярные оси) к центру масс каждого сегмента. Первоначально, при отсутствии нагрузки и кручения, мы ожидаем, что начало координат каждого набора осей будет находиться вдоль осевой линии балки и что каждая система отсчета будет выровнена так, что ось x будет направлена вдоль длины балки, а ось z вертикально вверх. Теперь, когда луч деформируется, мы можем описать его положение в данный момент времени, указав положение начала координат и ориентацию рамки для каждого сегмента.

Предположим, что у нас есть неподвижная система отсчета на одном конце балки. Тогда система координат на сегменте i будет связана с ней некоторым ротором, R. Таким образом, при движении вдоль балки ориентации описываются ротором, изменяющимся с расстоянием x. Для заданной нагрузки и заданных граничных условий можно было бы решить задачу для роторов, чтобы получить информацию о свойствах изгиба балки. Условно эта задача была выполнена с использованием различных средств кодирования вращений: углов Эйлера, параметров вращения, направляющих косинусов, матриц вращения и т. д. Преимущество использования роторов двоякое: во-первых, они автоматически имеют правильное число степеней свободы (три), в отличие, например, от направляющих косинусов (где у нас девять параметров, только три из которых независимы), а во-вторых, мы можем эффективно решать полные уравнения (без аппроксимаций).

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

Компьютерное зрение и анализ движения

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

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

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

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

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

Выводы

Мы попытались дать краткое введение в математическую систему, которую мы называем геометрической алгеброй, и проиллюстрировать ее полезность в различных областях. Хотя мы обсуждали целый ряд тем от квантовой механики до изгибающихся балок, есть много убедительных примеров использования ГА в физике и технике, которые мы не обсуждали. К ним относятся электромагнетизм, поляризация, геометрическое моделирование и линейная алгебра. Современные инструменты математики, с которыми большинство из нас знакомо, разнообразны и сложны. За одну жизнь исследований мы можем надеяться овладеть лишь очень немногими областями. Однако, если бы большинство физиков и математиков использовали один и тот же язык, ситуация, возможно, была бы иной. Мы надеемся, что в этой статье мы показали, что геометрическая алгебра является кандидатом на такой единый язык.

P.S.

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

  1. Для начала следует уяснить отличия от алгебраической геометрии. Там тоже есть замахи на универсальность. В качестве примера можно посоветовать наработки Джона Баэза. Да и вообще, его блог стоит отдельного внимания.

  2. Про сравнение с векторной алгеброй смотрим в Википедии.

  3. Видео-лекция от одного из авторов статьи (спасибо, @sergehog).

  4. Поднимаем планку: более современное введение в ГА.

  5. Свежая книжка с приложениями.

  6. Более-200-страничный опус от одного из авторов.

  7. Grassmann.jl пакет для языка Julia

  8. + еще множество источников на одном сайте.

Подробнее..

Корреляция между временными рядами что может быть проще?

16.02.2021 12:20:24 | Автор: admin

Предварительные замечания

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

Сказ о том, почему я не справился с оформлением

Для начала, я внимательно прочитал все советы для новичков о том, как оформить статью. Я честно старался им следовать. Подготовив статью в гуглдоках, я проверил текст, расставил ссылки и примечания, добавил формулы и картинки, предварительно сохраненные в habrastorage. После чего воспользовался рекомендованным хабраконвертером.

Я был готов, что при конвертации все сноски исчезнут, и что спойлеры придется заново расставить вручную. Меня не смущало, что все форматирование надо будет проверить, ссылки на рисунки - поправить, а формулы - набрать еще раз. Единственное, к чему я не был готов - что при копировании текста из хабраконвертора в окно редактирования статьи исчезнут АБСОЛЮТНО ВСЕ теги. Причем, буфер обмена у меня работает правильно - в Notepad конвертированный текст вставляется без ошибок.

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

Ошеломленный, но не сломленный до конца, я честно взялся за редактирование статьи. Сначала я попытался расставить заголовки. Как это делают нормальные люди в большинстве нормальных редакторов? Выделяют будущий заголовок и нажимают кнопку "Heading N". Но как оказалось, в окне редактирования Хабра сделать это нельзя! Выделяю текст, появляется контекстное меню... но такой опции там просто нет (см. скриншоты)! Как нет и соответствующей кнопки рядом с окном редактора. А по нажатию рекомендованной клавиши "/" выделенный текст просто заменяется на "/" (самое прикольное, что меню, - видимо, относящееся к уже уничтоженному тексту, - при этом все же всплывает!) Если же просто нажать слэш, ничего не выделяя, то контекстное меню позволяет вставить только формулу или изображение. Но не заголовок (см. скриншоты).

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

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

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

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

Вы знаете, это все-таки слишком.

Конечно, любое сообщество вправе ставить входные барьеры и отсеивать тех, кто заведомо профнепригоден. Но я же пишу статью про статобработку, а не собеседуюсь на оформителя публикаций в стеке технологий ушедшего века. Хотя, даже в редакторах MS DOS я все-таки мог перемещаться по тексту клавишами "вправо" и "влево", прыгать на соседнее слово с помощью "Ctrl+вправо" и "Ctrl+влево", а также выделять текст, добавляя к этим клавишам Shift. Поэтому мне трудно понять, почему в 2021г, работая в одном из самых популярных браузеров Google Chrome (версия 87.0.4280.141-64), на сайте Хабра я лишен этих возможностей. Или почему невозможно вставить слово, скопированное в буфер обмена из начала строки, в конец той же самой строки (оно почему-то обрамляется двумя пустыми строчками сверху и снизу). Или почему при копировании фрагмента, содержащего только что оформленную гиперссылку, в соседний абзац, эта гиперссылка таинственно исчезает. Нет, я не критикую редактор Хабра - но как человек, генерирующий и набирающий сотни страниц оригинального текста в год, хочу все-таки высказать сомнение в том, что такое поведение редактора, хмм, удобно для всех. Впрочем, я совсем не профессионал IT, а всего лишь научный сотрудник и по совместительству программист. Возможно, я и правда просто не дорос до нужного уровня.

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

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

P.S. И - да, я несколько раз пытался задать эти вопросы редакторам, писал на почту neo@habr.team, прежде чем высказать все это здесь. Даже пробовал задавать такие вопросы авторам статей, посвященных оформлению хабр-публикаций (хотя это с моей стороны уже почти спам). Но ответов не получил. Поэтому и решил обернуть свою просьбу о помощи вот в такой вот немного странный формат..

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

А теперь обращаюсь к читателям:

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

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

Содержание:

Дополнительное замечание про распределения: нормально ли, что анализируя данные геофизического мониторинга, мы никогда не встретимся с нормальным распределением?


Часть 1 необходимая тривиальщина

Если вы еще не совсем забыли прочитанное в учебниках по статистике, можете смело этот раздел пропустить, и переходить сразу к части 2-ой.

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

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

Например, чтобы оценить наличие связи между двумя случайными величинами X и Y, мы можем вычислить коэффициент Rxy корреляции между ними.

Для независимых случайных величин с не слишком экзотическими свойствами значение Rxy будет обычно приближаться к нулю по мере роста объема той выборки, по которой мы оцениваем Rxy. Прелесть и мощь математики проявляется в том, что, имея самую минимальную информацию об исходных случайных величинах (достаточно знать их функцию распределения), мы можем точно сказать, как именно (по какому закону) будет приближаться к нулю Rxy, если X и Y действительно независимы. Например, если X и Y имеют нормальное распределение, то 95%-ный доверительный уровень z95 можно приблизительно оценить по формуле:

z95=2/sqrt(N)

где N это количество пар измерений в выборке (будем считать, что их достаточно много). Говоря простыми словами, если мы оценим коэффициент корреляции Rxy между X и Y по выборке, содержащей 100 пар значений, то для независимых X и Y лишь в одном случае из 20 модуль Rxy окажется больше 0.2. А значениеz99=3/sqrt(N) =0.3) и вовсе будет превышено лишь в 1% случаев. Поэтому, получив в такой ситуации Rxy=0.4 (то есть, намного выше, чем z), мы говорим, что произошло очень редкое и маловероятное, в рамках выдвинутой гипотезы, событие. Настолько редкое, что гипотеза о независимости X и Y (иногда ее называют "нулевая гипотеза"), скорее всего, неверна, и ее надо отвергнуть. Именно так обычно доказывают, что X и Y статистически связаны.

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

Первый (и очень важный) подводный камень состоит в том, что наши расчеты (которые только что привели к противоречию) на самом деле опирались не только на предположение о независимости случайных величин X и Y, но также еще и на предположение о нормальности их распределения. Аномальное (в рамках нашей модели) значение Rxy действительно говорит, что модель, по всей видимости, неверна. Однако ошибка может быть в любом месте. Вполне возможно, что в X и Y действительно независимы, просто они имеют другое (не гауссовское) распределение. При котором значение Rxy=0.4 при объеме выборки N=100 вполне обыденно и типично.

В частности, наши формулы для оценки z будут бесстыдно врать, если окажется, что дисперсия X и Y бесконечна. Простейший пример такой ситуации это так называемое "пушечное" распределение. Давайте поставиморудие на вращающийся лафет, повернем его в случайное положение (все углы от 0 до 180 равновероятны) и пальнем в прямую бесконечную стену. (Не забываем, что это модель, и снаряд летит по прямой). Теперь, чтобы ввести случайную величину L с бесконечным матожиданием и бесконечной дисперсией, достаточно взять линейку и измерить то расстояние, которое пролетит ядро

до попадания в стенку

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

К счастью для большинства аналитиков, столь экзотические распределения в обычной практической жизни встречаются редко. Бывает, что распределение может оказаться, например, равномерным, однако это не очень сильно повлияет на уровни значимости z статистики Rxy . Они лишь немного изменятся по сравнению со значениями, рассчитанными для гауссовых X и Y. Конечно, есть еще проблема "тяжелых хвостов", или выбросов, но она сравнительно просто может быть решена выбраковкой таких значений перед началом анализа.

Так все-таки, нужно ли проверять функцию распределения исходных случайных величин на нормальность? Формально, конечно, да... Но могу вас заверить, что для достаточно длинного экспериментального ряда (если, конечно, это не выходной сигнал гауссовского генератора белого шума) такая проверка всегда покажет, что распределение достоверно отличается от нормального. Поэтому общепринятый метод заключается в том, что в такой ситуации уровни значимости все равно вычисляются по стандартным формулам для случайных величин с гауссовым распределением. А затем оговаривается, что поскольку условия применимости этих формул немного нарушены, реальная значимость вместо 99%-ной может оказаться, например, 97%-ной. Считается, что такие различия не играют особой роли, если рассчитанный уровень значимости превышается многократно. Например, если при объеме выборки 10000 корреляция Rxy=0.25 (а оценка 3/sqrt(N) дает значение z99=0.03), то исходную гипотезу о независимости X и Y все равно можно смело отвергнуть. Ведь значение z превышено на порядок!

Буквоеды, конечно, скажут, что подобный вывод не является математически строгим. Но реальный мир всегда отличается от абстрактной модели. При обработке результатов любого эксперимента мы неизбежно должны принимать какие-то допущения, доказать которые невозможно. Вот и в описанном выше примере, несмотря на отсутствие строгости, этот вывод будет верным по существу, так как для действительно независимых случайных величин X и Y такое событие (Rxy=0.25 при объеме выборки 10000) практически невероятно ни при каком разумном распределении X и Y.

Ну что, переходим к расчетам?

Часть 2. Критерий истины практика

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

Факт первый: при числе измерений порядка 10000 для любых независимых случайных величин с "адекватным" распределением вероятность получения |Rxy| > 0.1 исчезающе мала. Во всяком случае, она существенно меньше, чем 0.01.

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

Не будем зацикливаться на геофизике. Посчитаем, к примеру, коэффициент корреляции между уровнем воды в скважине на Камчатке и активностью тараканов в аквариуме в подвале лаборатории на Памире (активность измерялась автоматически, непрерывно в течение 5 лет, в рамках эксперимента по прогнозу землетрясений биологическим способом): Внезапно, корреляция равна Rxy= 0.35 при числе измерений около 20 000 (рисунок с графиками сигналов).

А вот для уровня активности сомиков в соседнем аквариуме расчеты дают значение Rxy= +0.16 (рисунок корреляционного поля). Неужели животные как-то чувствуют происходящее в скважине за тысячи километров?!

Дальше еще интереснее. Возьмем ряды чисел микроземлетрясений, произошедших в 1975-1985 годах в нескольких сейсмоактивных районах, и формально их сдвинем по времени лет на 20 (просто добавим поправку к календарю). Теперь прокоррелируем эти ряды, например, с изменениями солнечного радиоизлучения на волне 2800 МГц (10.7 см) в 1955-1965гг. Здравый смысл говорит, что после такого сдвига всякая корреляция должна исчезать. А вот и неправда! Сами значения Rxy при сдвиге, разумеется, поменяются. Но они все равно на порядки выше формальных 99%-ных уровней значимости. Хотя ни о какой причинно-следственной связи при подобном временном сдвиге

и речи не может быть

Например, для сейсмических станций NN 1-6 Гармского полигона корреляция получилась равной +0.04, +0.12, -0.01, +0.28, +0.45 и +0.17при количестве наблюдений около 3800 шт на каждой станции, что соответствует значению z=0.05. А всего из 15 станций значимая на 99%-ном уровне корреляция наблюдается в 9 случаях...

Те же зашкаливающие корреляции наблюдаются и практически для любых социальных процессов, а также в эконометрике. Правда, тут длина временных рядов по объективным причинам намного меньше десятки, в лучшем случае сотни точек. Зато можно коррелировать практически что угодно! Например, успеваемость школьников в Нижневартовске с урожаем кокосов на Филиппинах. А среднегодовую заболеваемость легочными инфекциями в Санкт-Петербурге (возьмем наблюдения за последние 30 лет) с индексом Доу-Джонса. Впрочем, вместо индекса Доу-Джонса с тем же успехом можно подставить в формулы урожайность пшеницы во Франции в двадцатом веке (только добавьте +100 к номеру года), или поголовье овец в Австралии в девятнадцатом (тут уже придется добавить две сотни). Можно даже проделать небольшой трюк, и интерпретировать число 1899 (и другие номера лет), как номер суток, считая с определенной даты. Если подобрать начальную дату так, чтобы этот ряд хронологически совместился с количеством вызовов скорой помощи в сутки в среднем российском городе (для которого вам повезет найти эти данные), итоговый вывод от этого не изменится! То есть, пробуя коррелировать разные случайно выбранные пары достаточно длинных экспериментальных рядов, мы будем лишь изредка получать Rxy, близкий к нулю. Гораздо чаще коэффициент корреляции будет намного выше любых формальных

уровней значимости

Необходимое уточнение: "гораздо чаще" получится, только если наблюдений достаточно много десятки и сотни тысяч отсчетов. Чем короче ряды, чем меньше значение N и чем выше значение z. Поэтому для коротких рядов вероятность, что коэффициент корреляции случайно попадет в интервал [-z, +z], возрастает.

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

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

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

Так вот, НЕДЕЛАЙТЕЭТОГО!

Прочтите сначала третью часть этого опуса. Я очень старался написать ее так, чтобы предотвратить ненужные жертвы!

Часть 3. А вот и ответы

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

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

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

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

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

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

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

Ну а теперь пришло время поставить финальную точку.

На самом деле, все упомянутые в этой статье временные ряды (как, впрочем, и подавляющее большинство других подобных сигналов) вовсе не являются эргодическими. И если доказать эргодичность процесса достаточно сложно (я бы сказал, практически нереально), то вот опровергнуть ее часто можно без особых усилий. Достаточно просто вспомнить, что практически все экспериментальные временные ряды существенно нестационарны. Огромный массив накопленных экспериментальных данных однозначно свидетельствует, что априорная "базовая модель" почти любого природного процесса это вовсе не белый шум (для которого действительно можно заигрывать с эргодичностью). Нет, спектры большинства реальных сигналов имеют степенной вид. А именно, спектральная мощность W пропорциональна периоду T в некоторой положительной степени: WT . В электронике, геофизике и во многих других прикладных областях показатель степени чаще всего лежит где-то между 0.5 и 2.0. В предельном случае (когда показатель степени =2), мы имеем процесс с независимыми случайными приращениями. Для такого процесса каждое следующее значение (в момент времени t+1) состоит из значения в момент времени t и случайной добавки. Про такой процесс говорят, что он имеет бесконечную память. Но если текущие значения ряда зависят от предыдущих, то такой процесс нельзя считать стационарным.

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

Да, конечно, мы можем формально подставить измеренные значения в формулы, и даже посчитать что-то внешне напоминающее Rxy. Однако каким будет теоретическое распределение этой статистики, никому не известно. (Кстати говоря: если Вы можете аккуратно посчитать это распределение для рядов со степенным спектром, то, пожалуйста, напишите это в комментариях или мне в личку. Я сам, к сожалению, не умею - но думаю, что такой результат был бы достаточно интересен для геофизиков, занимающихся обработкой экспериментальных рядов). Ясно только, что классические доверительные границы в этом случае считать бесполезно. Они просто не имеют никакого отношения к делу, так как мы имеем все основания отвергнуть "нулевую модель" вне зависимости от того, получится ли у нас |Rxy| >> z, или же будет Rxy = 0. Ведь занявшись анализом временных рядов, мы уже вышли за пределы этой модели, сформулированной для работы со случайными величинами. А это значит, что полная (правильная) формулировка модели теперь должна включать не два, а три постулата. А именно,

Если выполнены три условия

У1) X и Y статистически независимыУ2) что-нибудь про функции распределения X и Y У3) X и Y это случайные величины (то есть анализируемая выборка составлена из пар (Xi, Yi), извлеченных из одной и той же генеральной совокупности)

ТО значение Rxy почти никогда, по модулю, не будет превышать z.

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

Часть 4. И еще раз про доказательство от противного

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

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

  2. На втором шаге мы берем экспериментальные данные и вычисляем некоторую совместную статистику X и Y. В данном случае это статистика Rxy.

  3. Третий шаг состоит в вычислении функции распределения Rxy при условии, что все сформулированные ранее допущения например, условия У1, У2 и У3 истинны.

  4. На четвертом шаге мы сравниваем фактически полученное значение Rxy с теоретическим распределением этой величины. Если оказывается, что вероятность случайно наблюдать именно такое значение Rxy пренебрежимо мала, то отсюда делается вывод, что не все исходные допущения истинны. Проще говоря, что хотя бы одно из условий У1, У2 и У3 ложно.

  5. Наконец, если у нас нет абсолютно никаких сомнений в истинности всех прочих предположений, кроме допущения о статистической независимости X и Y, то мы делаем вывод об ошибочности именно этого допущения. То есть, если мы уверены в истинности У2 и У3, то ложным должно быть условие У1. Что, собственно и означает: связь есть!

Теперь понятно, почему эта схема "сбоит" при работе с нестационарными временными рядами. Сравнивая вычисленный коэффициент корреляции с теоретическими уровнями значимости z, мы не учитываем, что теоретическое распределение z рассчитано для одной модели, а коэффициент корреляции Rxy вычислен совсем для другой. Если упустить из вида этот нюанс, можно получать "значимые корреляции" через раз. Что порою и наблюдается даже в статьях, напечатанных в рецензируемых научных журналах.

Если у вас остается еще хоть капля сомнений, или вы просто не любите абстрактные рассуждения, проведите простой

численный эксперимент

со случайными, независимыми, но не эргодическими рядами. Возьмите полсотни реализаций белого шума S(t) длиной по миллиону значений (t=0,1,... 1000000). Проинтегрируйте каждую такую реализацию по правилу:P(0)=0, P(t+1)=P(t)+S(t).И потом посчитайте значение парного коэффициента корреляции для случайно взятых рядов P(t). Или для их фрагментов (только не слишком коротких). Просто по построению, все эти ряды и фрагменты абсолютно независимы друг от друга. Можно даже не вычислять, чему равен уровень значимости z для коэффициента корреляции Rxy при подобном объеме выборки. Так как первый же тест покажет разницу на порядки. Надеюсь, мне не нужно дополнительно пояснять, что полученный результат совершенно не связан с возможной неидеальностью генератора случайных чисел?Похожий, но чуть менее впечатляющий результат можно получить и для рядов с другими значениями степенного параметра спектра в пределах указанного диапазона. Все дело в том, что такие ряды, в простонародном названии фликкер-шум, страдают так называемой низкочастотной расходимостью спектра. Это значит, что на любом интервале времени максимальную амплитуду имеют те вариации, чья характерная длительность сопоставима с длиной ряда. Если мы рассматриваем ограниченную во времени серию наблюдений, это очень похоже на линейный тренд. А корреляция между двумя линейными трендами, как известно, всегда равна 1. Точнее, оценивать корреляцию для линейно спадающих или растущих функций бессмысленно. Чтобы построить линейную функцию, нужно ровно две точки, которые и определяют число степеней свободы процесса. Можно до бесконечности увеличивать частоту дискретизации такого сигнала, количество информации (= число независимых значений данных) от этого не изменится. Поэтому в формулу для оценки уровня значимости z коэффициента корреляции Rxy в этом случае надо подставлять значение N=2. Ну и чему равно z в таком случае?

Как говорится, вот то-то же и оно.

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

В сухом остатке

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

  2. Для оценки статистик случайного процесса одной реализации, вообще говоря, недостаточно! Это почти то же самое, как оценивать дисперсию случайной величины по единственному ее измерению. Чтобы использовать методы матстатистики, нужен целый пакет рядов (ансамбль реализаций случайного процесса). Если речь идет о парной статистике (корреляция между X и Y), нужен ансамбль из пар временных рядов. Располагая таким набором, мы можем оценивать коэффициент Rxy корреляции между случайными процессами X и Y, как функцию времени t. А вот говорить о корреляции случайных процессов безотносительно момента времени t, в общем случае, беспредметно. Так как значения Rxy в разные моменты времени t, вообще говоря, будут разные.

  3. Увы, но на практике у нас обычно имеется только одна Вселенная и только одна реализация каждого временного ряда, . Чтобы использовать статистические методы при работе с такими данными, приходится опираться на гипотезу эргодичности. Она предполагает, что вместо вычисления какой-то статистики (например, среднего) по ансамблю реализаций, мы можем взять один ряд, усреднить по времени, и получить то же самое. Если ряд эргодический, этот подход реально работает!

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

  5. Если так, то как же тогда анализировать подобные временные ряды, спросите вы?Нестационарные, с трендами, сезонными и суточными циклами, и т.д.? Как искать связь между ними и оценивать ее значимость? Хороший вопрос. Я постараюсь написать об этом в следующей статье. Если, конечно, такая тематика будет интересна читателям Хабра.

P.S. Автор благодарит за полезные замечания и советы И.Цуркиса. При оформлении коллажа использована картинка с вот этого сайта.


Дополнительное замечание про распределения: нормально ли, что анализируя данные геофизического мониторинга, мы никогда не встречаемся с нормальным распределением?

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

идеальных моделей

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

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

Подробнее..

Перевод Решение уравнения тетраэдра доказано спустя десятки лет после компьютерного поиска

21.02.2021 00:06:08 | Автор: admin
Как четыре математика решили вопрос о базовых геометрических фигурах, создав полный список тетраэдров с рациональными углами при помощи методов теории чисел.


Все 59 тетраэдров с рациональными двугранными углами можно рассмотреть с разных сторон по ссылке.

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

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

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

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

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

Они были найдены еще в 1990-х годах, но только в 2020 году мы смогли доказать, что список исчерпывающий, сказал Киран Кедлая, математик из Калифорнийского университета в Сан-Диего. Кедлая является соавтором доказательства вместе с Александром Колпаковым из Университета Невшателя в Швейцарии, Бьорном Пуненом из Массачусетского технологического института и Майклом Рубинштейном из Университета Ватерлоо.


Сэмюэл Веласко / Quanta Magazine

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

Невозможно получить такой результат, просто играя с ручкой и бумагой. Они разработали очень сложные методы , считает Марджори Сенешал из Колледжа Смит.

В 30-страничном доказательстве почти нет рисунков. Вместо этого логика строится на решении полиномиального уравнения, в котором коэффициенты и переменные возведены в степень, например y = 3x2 + 6. Конечно, уравнение, рассматриваемое в доказательстве, намного сложнее.

Большая часть работы основана на теории чисел, но на ее поверхности лежит геометрия, говорит Кедлая.

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

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

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

Тестирование тетраэдров


Вопрос об определении всех тетраэдров с рациональными двугранными углами (рациональные тетраэдры) впервые был официально сформулирован Джоном Конвеем и Антонией Джонс в статье 1976 года.

Они хотели найти тетраэдры, которые можно можно было бы разрезать и собрать в куб того же объема, свойство, известное как равносоставленность. В своей работе они развивали рассуждения, восходящие к 1900 году, когда Давид Гильберт предложил 23 проблемы, которыми руководствовались математические исследования в 20 веке. Его третья проблема связана со следующим вопросом: являются ли пары трехмерных фигур равного объема равносоставленными. Вскоре было доказано, что это не так, но оказалось, что все рациональные тетраэдры конгруэнтны кубу.

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

Это идеализированные математические объекты, которые будут с нами всегда.

Мартин Вайсман, Калифорнийский университет, Санта-Круз.

Они смогли составить набросок метода поиска этих тетраэдров: решение конкретного полиномиального уравнения. Их уравнение содержит шесть переменных, соответствующих шести двугранным углам тетраэдра, и имеет 105 членов, отражающих сложную связь двугранных углов тетраэдра друг с другом. Для сравнения представьте треугольник, три его внутренних угла связаны в рамках простого многочлена, состоящего всего из трех членов: a + b + c = 180 градусов.

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

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

Более чем 40 лет спустя четыре математика подтвердили их предположение.

Корни единства


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

Большинство корней единства не появляются на обычной числовой прямой. Вместо этого они находятся среди комплексных чисел, таких как 3 + 4i, которые имеют действительную часть (3) и мнимую часть (4). Корни единства служат решениями полиномиальных уравнений и обладают особым алгебраическим свойством: при возведении их в определенную степень получается 1. К тому же, у них изящное геометрическое представление: все они лежат на единичной окружности в комплексной плоскости.

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

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


Сэмюэл Веласко / Quanta Magazine

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

В 1995 году два автора новой работы, Пунен и Рубинштейн, фактически нашли все тетраэдры с рациональными двугранными углами, как оказалось в итоге. По сути, они угадали способ их поиска, подставив в уравнение комбинации из шести рациональных чисел.

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

Поиск каждого решения


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

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

Бьорна очень заинтересовала моя работа, сказал Кедлая. Он сказал: 'Подождите, это именно то, что мне было нужно в 1990-е'.

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


В 2020 году Киран Кедлая, Майкл Рубинштейн, Бьорн Пунен и Александр Колпаков изобрели новый способ решения уравнений и при этом нашли все рациональные тетраэдры.

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

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

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

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

Четыре математика сделали уравнение решаемым благодаря двум основным нововведениям.

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

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

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

Невозможно получить такой результат, просто играя с ручкой и бумагой.

Марджори Сенешал, Колледж Смит

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

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

Оказывается, нам пришлось немного модернизировать стратегию [Конвея и Джонса], при помощи 40 лет дополнительных знаний и более мощных компьютеров, сказал Кедлая.

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

В этом исследовании каждый найдет что-то для себя.

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

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

А для тех математиков и всех остальных, кому нравится завершенность, статья дает новый и совершенный ответ: здесь находятся все тетраэдры, о которых только можно мечтать.

Это прекрасное достижение, отметил Сарнак.
Подробнее..

Перевод Извилистая геометрия путешествий вокруг света

22.02.2021 12:20:43 | Автор: admin

Представьте, что мы живём на кубической планете. Как бы вы искали кратчайший путь для кругосветного путешествия?




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

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

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

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

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



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

Если бы это был бумажный куб, мы могли бы разрезать его по рёбрам, и сделать подобную развёртку:



В таком плоском мире кратчайший путь из А в В найти легко нужно просто провести через них прямую.



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



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

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

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

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

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



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

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

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



На следующей диаграмме кантования мы можем отслеживать наш путь так же, как мы делали это на развёртке куба:



Этот путь обозначает путь по поверхности тетраэдра.



Пять поворотов тетраэдра соответствуют пяти пройденным нами граням.

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

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



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



Путь продолжается, и тетраэдр вновь кантуется. Он может перевернуться в двух направлениях, но в любом случае А вновь окажется на земле.



Позволяя тетраэдру кантоваться в любом направлении, мы получим примерно такое пространство кантования:



У нас получается периодическая решётка именно так смыкаются вместе равносторонние грани тетраэдра.



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

Во-вторых, посмотрите, в каких узлах оказывается А:



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

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

Даже в нашей корявой координатной системе работает стандартная формула для середины отрезка мы можем найти её координаты, взяв среднее от координат начала и конца. Поскольку координаты начальной точки нулевые, а конечной чётные, координаты середины целые. Получается, что середина должна лежать на узловой точке то есть, соответствовать вершине треугольника в КП.

К примеру, середина пути из точки (0,0) в точку (4,2) попадает на точку (2,1), узловую точку нашей решётки.



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

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

Это упрощённая версия строгого доказательства 2015 года, созданного математиками Дианой Дэвис, Виктором Додсом, Синтией Трауб и Джедом Янгом. Они использовали похожий, только гораздо более сложный подход, чтобы доказать подобное утверждение для куба. В следующем году Дмитрий Фачс доказал это же утверждение для октаэдра и икосаэдра. Благодаря им мы знаем, что на тетраэдре, кубе, октаэдре и икосаэдре не существует прямых путей, начинающихся и заканчивающихся в некоей вершине, и не проходящих через какую-либо другую вершину.

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

Вот один из таких путей по додекаэдру, прятавшийся на самом видном месте:



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

Упражнения


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

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



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



4. Вот допустимый путь кантования для пути по поверхности куба:



Нарисуйте этот же путь, начинающийся в точке А, на поверхности изображения куба:



Ответы


Задача 1
Путь это гипотенуза прямоугольного треугольника с катетами 1 и 2.

image

По теореме Пифагора, длина пути АВ составит 5.


Задача 2
Если путь заставляет куб повернуться вокруг ребра два раза вправо, тогда наклон этого пути будет не большим, чем 1 ребро вверх на 2 ребра вправо. После первого переворота куба вверх вверх путь не может оказаться выше, чем половина ребра, поэтому второй поворот должен быть сделан вправо.



Становится понятнее, почему пространство кантования для куба строить сложнее, чем для тетраэдра.


Задача 3
Для решения задачи проще использовать кубик Рубика или игральную кость.





Также обратите внимание, что синий путь не может быть кантующимся путём по кубу.


Задача 4

Подробнее..

ОТО. Геометрическое представление кривизны пространства в метрике Шварцшильда. Часть 2

23.02.2021 10:12:21 | Автор: admin
или один плюс три снова четыре.

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

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


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

$ds^2 = - \left(1- 2 \frac{GM}{c^2 r}\right) \cdot c^2 dt^2 + \left(1- 2 \frac{GM}{c^2 r}\right)^{-1} \cdot dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2$


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

Через объём 3-сферы


Произведём замену:

$M=\frac{E}{c^2}$


Тогда метрика станет такой:

$$display$$ds^2 = - \left(1- 2 \frac{GE}{c^\color{red}{4} r}\right) c^2 dt^2 + \left(1- 2 \frac{GE}{c^\color{red}{4} r}\right)^{-1} dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2$$display$$


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

$r_s = 2 \cdot \frac{GE}{c^4}$


потому что метрика имеет особенность в этой точке. Здесь время, буквально, останавливается.
Вот так, в таком случае, выглядит вся метрика:

$ds^2 = - \left(1- \frac{r_s}{ r}\right) c^2 dt^2 + \left(1- \frac{r_s}{r}\right)^{-1} dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2$


Но в продолжение рассуждений о физической сути явлений эта двойка:

$r_s = \color{red}{2} \cdot \frac{GE}{c^4}$


тоже должна быть осмыслена. Поэтому представим так:

$u = \frac{GE}{c^4}$


Это просто половина гравитационного радиуса $r_s$, и размерность у него такая же. Получим:

$ 1 - 2\frac{GE}{c^4r} = 1 - 2\frac{u}{r} $


Напрашивается:

$= \left( 1 - 2\frac{u}{r} + \frac{u^2}{r^2} \right) - \frac{u^2}{r^2} = \left( 1 - \frac{u}{r} \right)^2 - \frac{u^2}{r^2} = \left( \frac{r - u}{r} \right)^2 - \frac{u^2}{r^2} = $


$= \frac{(r-u)^2 - u^2}{r^2} \qquad \qquad (1)$


Уже неплохо. Зарисуем. Представим $r = OB$ конечным отрезком, $u = OA$ его частью, как показано на рисунке ниже. Очевидно, что $(r-u) = AB$.
image
Любопытно, кстати, что из $r_s = 2u$ следует, что точка $A$ находится за (под) горизонтом событий объекта энергии $E$. Вот так легко она находится, а мы не можем.
Теперь покажем, что отношение вида $(1)$ будет выполняться для всех точек, имеющих геометрическое место на перпендикуляре к $OB$ в точке $A$:

$\frac{(r-u)^2 - u^2}{r^2} = \frac{((r-u)^2 + a^2) - (u^2 + a^2)}{r^2} = \frac{b^2 - d^2}{r^2} \qquad \qquad (2) $


image
для любых $b = CB$ и $d = OC$.
Говоря проще, разность квадратов $(r-u)^2 - u^2$ эквивалентна разности любых величин, проекциями которых на $OB$ являются $AB$ и $OA$ соответственно, при условии, что точка $C$ у них общая.
Дальше предположим, что $u = u(E)$ и $(r-u)$, наоборот, проекции $r = OB$ на какие-то оси, то есть пифагорова сумма двух величин, в исходном виде перпендикулярных друг другу. Переводя это в требование, рассмотрим случай $\angle{OCB} = \pi/2$, для которого верно:

$b^2 = r^2 - d^2 \rightarrow (2) \rightarrow \frac{b^2 - d^2}{r^2} = 1 - 2\frac{d^2}{r^2} \qquad \qquad (3)$


image
Доработаем $(3)$ аналогично начальной итерации:

$1 - 2\frac{d^2}{r^2} = \left( 1 - 2\frac{d^2}{r^2} + \frac{d^4}{r^4} \right) - \frac{d^4}{r^4} = \frac{(r^2-d^2)^2 - d^4}{r^4} =$


$= \frac{b^4 - d^4}{\sqrt{b^2 + d^2}^4} = \frac{b^4 - d^4}{r^4}\qquad \qquad (4)$


Вот и четвёртая степень. Формула объёма 3-сферы:

$V = \frac{\pi^2 \cdot R^4}{2}$


Это я к тому, что если домножить и разделить $(4)$ на $\pi^2/2$:

$\frac{b^4 - d^4}{r^4} = \frac{\pi^2}{2} \cdot \frac{2}{\pi^2} \cdot \frac{b^4 - d^4}{r^4} = \frac{V_b - V_d}{V_r} \qquad \qquad (5)$


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

Через угол


Очевидно, что можно выразить значимость поля в точке через плоский угол, выражающий отклонение траектории движения от плоского пространства (в отсутствие гравитационных полей).
Выразим величины $b$ и $d$ через угол $\alpha = \angle{OBC}$: $b = r \cdot \cos\alpha; \ d = r \cdot \sin\alpha$. Назовём его угол кривизны траектории. Тогда множитель можно выразить очень по-разному:

$1 - 2\frac{GE}{c^4r} = \cos^2\alpha - \sin^2\alpha = \cos^4\alpha - \sin^4\alpha = 1 - 2 \sin^2\alpha = $


$= \frac{1-\tan^2\alpha}{1 + \tan^2\alpha} = \cos2\alpha \qquad \qquad (6) $


Особенно мне нравится вариант с тангенсами.
image
Подставим в исходный интервал:

$ ds^2 = -\cos 2\alpha \cdot c^2dt^2 + \cos^{-1} 2\alpha \cdot dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2 $


Всё, как и должно, превращается в плоскую метрику Минковского при $\alpha = 0$.
Здесь точно должен быть пятый
Продолжение следует.

Если коротко, то мы представляем метрику Шварцшильда:

$ds^2 = - \left(1- 2 \frac{GM}{c^2 r}\right) \cdot c^2 dt^2 + \left(1- 2 \frac{GM}{c^2 r}\right)^{-1} \cdot dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2$


где $M$ масса тела, $s$ интервал, $t$ время, $r, \theta, \phi$ сферические координаты, $G, c$ вселенские константы, так:

$ ds^2 = - \frac{V_b - V_d}{V_r} \cdot c^2 dt^2 + \frac{V_r}{V_b - V_d} \cdot dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2 \qquad (1) $


где $V_b, V_d, V_r - $ объёмы 3-сфер, заданных радиусами: $b$ в псевдоевклидовом пространстве, энергорадиусом $d$ массы гравитирующего тела и их суммой $r = \sqrt{b^2 + d^2}$;
и так:

$ ds^2 = -\cos 2\alpha \cdot c^2dt^2 + \cos^{-1} 2\alpha \cdot dr^2 + r^2 \cdot d\theta^2 + r^2 \cdot \sin^2\theta \cdot d\phi^2 \qquad (2) $


где $\alpha$ угол кривизны угол отклонения траектории объекта от нормальной (от её проекции на плоское трёхмерное пространство).
Физически интерпретировать смысл формулы $(1)$ можно было бы так: объект, движущийся в бесконечном вечном асимптотически плоском пространстве Шварцшильда, приближаясь к массивному объекту, будет испытывать дефицит пространства в направлении центра масс гравтела, словно там из ткани космоса вынули часть 4-объёма, пропорциональную массе гравтела и обратно пропорциональную расстоянию до его центра масс. Важным аспектом при этом является то, что изменение кривизны происходит линейно изменению четырёхмерного объёма 3-сферы, а не трёхмерного, потому оно и выглядит таким одутловатым в стандартной метрике.
Это достаточно образная трактовка, которая возможно поможет взглянуть на метрику другими глазами. А формулу $(2)$ я пока трактовать не буду, потому что по ходу данной статьи она ещё получит свою интерпретацию.
Далее я сперва объясню выводы предыдущей статьи, а затем перейду к развитию темы с представлением метрики через дополнительное измерение.

Часть 1. Выводы предыдущей статьи и пояснения к ним



Выводы предыдущей статьи с пояснениями

Выводы


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

Ограничение видимой зоны пятимерного пространства


Чтобы наглядно объяснить первый вывод предыдущей статьи, представим множитель кривизны траектории объекта так:
image
где $OB$ полное расстояние $r$ до массивного объекта, $b$ величина координаты, не связанной с энергией массивного тела, $d$ величина координаты, связанной с энергией массивного тела, энергетическая глубина.
Единственное отличие от представления в предыдущей статье в том, что для наглядности картинка перевёрнута: переставлены местами величины $ u = AB $ и $ (r-u) = OA $, то есть энергетическая глубина как бы отнесена к движущейся точке, вместо самого объекта. На итоговый результат это не влияет, но позволяет наглядно представить множитель $ \cos 2\alpha = \cos^2\alpha - \sin^2\alpha $, потому что обратные проекции $b$ и $d$ на гипотенузу $r = OB$ являются квадратами косинуса и синуса угла $\angle BOC = \alpha$ соответственно. Иначе говоря:

$ \cos 2\alpha = \cos^2 \alpha - \sin^2 \alpha = \frac{OA^2 - AB^2}{OB^2} $


Таким образом, кривизна движения объекта, находящегося в точке $B$ относительно массивного объекта в точке $O$ определяется как отношение разности площадей кругов радиусов $OA$ (синего) и $AB$ (красного) в отношении к кругу радиуса $r = OB$.
Движение по осям рекурсивно влияет на обе координаты измерения неразрывно связаны, и в зависимости от показателя массы движущегося объекта траектория кривой будет изменяться, принимая крайнее положение при $ m=0, \ ds^2 = 0 $, то есть для фотона. При этом область возможных траекторий движущихся объектов, обладающих массой, будет находится с одной стороны от траектории фотона $ (ds^2 > 0) $ (в стандартном представлении интервала, для $(2)$ наоборот $ (ds^2 < 0) $ ), будучи ею предельно ограничена.
Таким образом, в обстоятельствах описываемых интервалом, заданным через угол кривизны, пространство всегда можно условно разделить на две области: дофотонную внутреннюю (ниже обозначена красным: при той же кривизне проходимые расстояния меньше, чем у света), и постфотонную внешнюю (ниже синим).
image
Из изложенного логически вытекает отрицательность интервала $( ds^2 < 0 )$ привычного вида для объектов в синей части, и как следствие его пространственно-подобность. Однако, это следствие ограниченной применимости интервала четырёхмерного пространства-времени для описания континуума большей размерности.
Если мысленно увязать ось $ w $ с явлением энергии, то синюю область можно попробовать трактовать как часть плоского пространства, которая однако вследствие гравитации имеет такую энергетическую плотность, что электромагнитные волны её обтекают, и делают тем самым ненаблюдаемой.
Совсем утрировано: все объекты с более кривыми траекториями, чем у света, будут видимы, а менее кривые нет. При этом для того, чтобы оказаться скрытыми, им совершенно необязательно двигаться быстрее света проходить большее пространство за то же время находится правее прямой, соответствующей $ ds^2 = 0 $ в точке. Им достаточно находится ниже этой прямой, и они останутся скрыты гравитационным искривлением, взаимодействуя с гравитирующим объектом легче, чем свет.
Завершу эту главу фантазией, предположив, что в тёмное пространство под синим подолом гравитационного поля можно было бы спрятать, например, пару гораздо более энергоёмких поколений частиц (II и III), таких неустойчивых в нашем 4-континууме.
Если большое количество такого рода частиц разместить компактно, то такое скопление при наблюдении проявляло бы свойства тёмной материи само создавало гравитационное поле, оставаясь при этом вне фотонного пространства невидимым.
Естественно, это всего лишь недоказанные наброски большими мазками. Догадки, которые должны быть высказаны уже только затем, чтобы выявить противоречивость подхода в целом на раннем этапе. А также, вопреки своей возможной ложности в деталях, они могут, наоборот, подстегнуть чей-то интерес к подходу.

Ненулевое время в особенной точке метрики


Здесь предлагаю для начала взглянуть на изменение угла кривизны в динамике:
image
Если условно представить движение объекта в гравитационном поле поворотом относительно плоского трёхмерного пространства наблюдателя, то исходное количество движения останется прежним, изменится только его конфигурация.
Я хочу сказать, что гравитационное поле можно представить пожирателем движения фундаментальных частиц, словно оно является воронкой в никуда, поворачивая их перемещение из наблюдаемого пространства в невидимом направлении, определённо связанном с наблюдаемым нами явлением энергии.
Причём, говоря поворачивая, я, естественно, не подразумеваю поворот в обычном, наблюдаемом пространстве. Гравитационное поле забирает часть движения частиц, как если бы те вращались и могли быть охарактеризованы частотой вращения комплексной составляющей, а гравитационное поле было берегом, который поджимает заходящие на него волны меняет количество движения вдоль, переводя его в движение поперёк. Увеличивает мнимую составляющую, уменьшая вещественную.
Таким образом, в предлагаемой парадигме континуума расширенной мерности движение не исчезает и не растягивается/сжимается. Оно перетекает из плоского наблюдаемого пространства $(x,y,z)$ в перпендикулярном направлении совокупно определённом ранее как единая ось $w$, хоть полноценной осью, изоморфной остальным, судя по всему, не является. Однако ставка на аналогичное представление времени сто лет назад сыграла, хоть ось времени также не совсем обычна, поэтому продолжим пилить в этом месте.
Изменение относительного положения движущегося объекта в пространстве рекурсивно влияет на характеристику его дальнейшего движения так, как если бы на каждый тик $dt^2$ часть движения переходила из наблюдаемого плоского пространства в перпендикулярном ему направлении или наоборот в зависимости от направления.
Соответственно, точка $ r_{s} = 2 GE / c^4 $ (угол кривизны $\alpha = \pi / 4 $) является граничным условием для безмассового объекта, при котором количество наблюдаемого движения объекта становится равно количеству движения изымаемого полем, что реконфигурирует собственное движение объекта в нечто иное, но прекращения движения последнего в пространстве $(w,x,y,z)$ при этом всё же не происходит. Движение остаётся, мы его просто не видим.
Время объекта не останавливается, а энергия количество движения не становится бесконечной.


Решение уравнений ОТО для пятимерного пространства


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

Дополнительная ось комплексного пространства


Невидимое окно, в которое вытекает движение, выраженное объёмом $ V_d $ в объёмном представлении кривизны, возникает на горизонте объекта и зовёт в себя провалиться, тем неотвратимее, чем выше его относительная важность (масса к массе) против объекта и расстояние, читай, пространство, которое их разделяет.
Если объект склоняется к этому окну не только в видимом пространстве, но и незримо начинает участвовать в некотором дополнительном движении, по мере приближения соотносясь с мерой внутреннего движения объекта собственной участвуя в потоке, и отдавая на это часть собственного движения из видимого пространства, то из другого среза видимого пространства такой процесс выглядел бы как искривление времени, хотя в самом деле являлся его перераспределением.
Скажу проще. Кусок четырёхмерного объёма $V_d$, чьё возникновение в объёмном представлении кривизны в метрике Шварцшильда:

$ \frac{V_b - V_d}{V_r} = | V_d = 0 | = 1 $


обуславливает её отклонение от псевдоевклидовой метрики, то есть, собственно, и отвечает за возникновение этой самой кривизны континуума, в четырёхмерной (3-пространство и время) версии последнего вырезается на каждый тик $ dt^2 $, и разжиженные остатки пространства-времени стягиваются в центр, склеиваясь краями, чтобы не было видно дыры.
Я же просто предлагаю попробовать дать этой катаракте собственное измерение, чтобы уже перестать натягивать четырёхмерную сову на пятимерный, как минимум, глобус.
В дополнение к трём осям $(\rho, \theta, \phi)$ (для удобства сразу представим его в сферических координатах) введём ось $ w $.
В предыдущей статье мы увидели, что радиальное смещение объекта в гравитационном поле в любой момент времени может быть представлено пифагоровой суммой двух величин:

$ r^2 = b^2 + d^2 $


одна из которых $ b $ не связана с энергией массивного тела (в отсутствие $ d $ оставляет пространство-время плоским), а другая $ d $ связана.
Теперь, чтобы двигаться дальше, представим составляющую $ d $ частью мнимой оси $ w $, а $ b $ частью вещественной оси $ \rho $:

$ r^2 = \rho^2 + \imath^2 w^2 $


где $ \rho $ радиальная координата псевдоевклидова пространства, а $ w $ дополнительная ось энергетического характера.
Как минимум, чтобы не получать $ dd $ при дифференцировании последнего.

Двухмерная радиальная координата


Дальше в комплексном представлении радиальной координаты используется только соответствующая координата плоского пространства $ \rho $. Ось $ \rho $ будет вещественной, её единичным вектором будет $\hat{h}$.
Мнимой осью будет количество требуемого (изымаемого из наблюдаемого пространства) гравитацией движения объекта (как своего рода эвфемизм для $ E = mc^2 $, ведь именно наличие энергии массы создаёт поле) элементарной частицы или их совокупности $ w $. Для обозначения единичного вектора этой оси мы введём несколько необычное для мнимой единицы обозначение $\hat{v} = \sqrt{-1} $, чтобы далее не путать со стандартным набором $ \imath, \jmath, k $ мнимых единиц в кватернионе, с которым столкнёмся в третьей статье цикла.
Тогда состояние поля, создаваемого некоторым массивным объектом, в любой точке расширенного таким образом пространства можно представить как разность квадратов расстояния до центра объекта в плоском 3-пространстве и некоторой энергетической глубины, которую требует поле в виде своего рода контрибуции движения, изымаемого из плоского наблюдаемого пространства, объекта, перемещающегося с наличием радиальной компоненты:

$ \vec{r}^2 = \vec{\rho}^2 + \vec{w}^2 = \hat{h}^2 \cdot \rho^2 + \hat{v}^2 \cdot w^2 $


В представленном таким двухмерным образом пространстве $ ( \rho, w ) $, мы можем описать произвольный вектор $ \vec{r}$ через векторную сумму действительного и мнимого векторов:

$ \vec{r} = \vec{\rho} + \vec{w} = \hat{h} \cdot \rho + \hat{v} \cdot w $


Кроме того, ввиду псевдоевклидовости комплексной плоскости верным будут также:

$ d\vec{r}^2 = \hat{h}^2 \cdot d\rho^2 + \hat{v}^2 \cdot dw^2 = d\rho^2 - dw^2 $


Также нам пригодится такой результат дифференцирования первой формулы в этой главе:

$ \vec{r} \cdot d\vec{r} = \hat{h}^2 \cdot \rho \cdot d\rho + \hat{v}^2 \cdot w \cdot dw $


Эта замечательная форма даст нам далее некоторые удобные инструменты.

Комплексное представление расширенного пространства


Теперь не поленимся, и проверим как изменится выражение множителя метрики Шварцшильда в комплексном представлении:

$\begin{array}{rlcl} ] & \Xi & = & 1- 2 \cdot \frac{GE}{c^4 r}; \\ ] & \vec{u} & = & \frac{GE}{c^4} = e^{z_1} = e^{x_1 + \imath \alpha}, \ \vec{u}, z_1 \in \mathbb{C}; \\ ] & \vec{r} & = & e^{z_2} = e^{x_2 + \imath \alpha} = |r| \cdot e^{\imath \alpha}, \ \vec{r}, z_2 \in \mathbb{C}: \quad \Xi = 1 - 2 \cdot \frac{\vec{u}}{\vec{r}}; \\ & \Xi & = & 1 - 2 \cdot \frac{\vec{u}}{\vec{r}} + \frac{\vec{u}^2}{\vec{r}^2} - \frac{\vec{u}^2}{\vec{r}^2} = \left( \frac{\vec{r} - \vec{u}}{\vec{r}} \right)^2 - \frac{\vec{u}^2}{\vec{r}^2} = \\ & & = & \left( \frac{\vec{r} - \vec{u}}{\vec{r}} \right)^2 + \frac{\vec{a}^2}{\vec{r}^2} - \frac{\vec{u}^2}{\vec{r}^2} - \frac{\vec{a}^2}{\vec{r}^2}, \quad \vec{a} \in \mathbb{C} : \\ ] & \Re(r) & = & ( \vec{r} - \vec{u} ) + \vec{a}; \\ ] & \Im(r) & = & (\vec{u} - \vec{a}) / \imath = - (\vec{u} - \vec{a}) \cdot \imath: \\ & \vec{r} & = & \Re(r) + \Im(r) \cdot \imath \\ \exists & e^{\imath \alpha}, \quad \vec{a} & \perp & \vec{r}: \\ & \Re^2(r) & = & ( \vec{r} - \vec{u} )^2 + \vec{a}^2; \\ & \Im^2(r) & = & - \vec{u}^2 - \vec{a}^2 : \\ & \Xi & = & \frac{\Re^2(r)}{\vec{r}^2} + \frac{\Im^2(r) }{ \vec{r}^2}; \\ ] & \vec{\rho} & = & \Re(r); \\ ] & \vec{w} & = & \Im(r): \\ & \Xi & = & (\vec{\rho}^2 + \vec{w}^2 ) / \vec{r}^2 = \\ & & = & |\vec{r}|^2 / \vec{r}^2 = \\ & & = & e^{-2 \alpha \imath} \end{array}$


Любую пару скалярных чисел $ ( r; u ) $ можно представить парой таких коллинеарных векторов $ ( \vec{r}; \vec{u} ) \in \mathbb{C} $ в комплексной плоскости, что угол поворота (кривизны) $ \alpha = \mathtt{ Arg(\vec{r}) } $ задавал его действительную и мнимую части как обратные проекции векторов $ (\vec{r} - \vec{u}) $ и $ \vec{u} $ на оси, соответственно.
Наглядно (показано в первом квадранте, для четвёртого отрицательного угла $ \alpha $ естественно, тоже работает):
image
Переворот дополнительной оси $ w $ из действительного во мнимое пространство позволил нам выразить радиальную компоненту метрики Шварцшильда гораздо элегантнее:

$ \frac { dr^2 }{ 1 - 2 \cdot \frac{ GE }{ c^4 \cdot r}} = e^{ 2 \alpha \imath } \cdot d\vec{r}^2 \rightarrow (1) $


Это, как минимум, красиво.

Время


Множитель темпоральной компоненты при переносе вектора $ \vec{r} $ на комплексную плоскость перевернулся, но для компоненты в целом это ничего не меняет хоть аргумент стал отрицательным, $ \cos $ чётная функция.

$ \begin{array}{ccl} e^{-2 \hat{v} \alpha } \cdot dt^2 & = & \left[ \hat{h} \cdot \cos (-\alpha) + \hat{v} \cdot \sin (-\alpha) \right]^2 \cdot dt^2 = \\ & = & \left[ \cos^2 \alpha + \hat{ v }^2 \cdot \sin^2 \alpha \right] \cdot dt^2 \end{array} $


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

Радиальная компонента


Очевидно, что $ e^{ 2 \alpha \imath } $ часть самого вектора $ \vec{r} = |r| \cdot e^{ \alpha \imath } $, тогда нам остаётся только дополнить её модулем $ |r|^2 $, чтобы сломать окончательно:

$ (1) \rightarrow e^{ 2 \alpha \imath } \cdot d\vec{r}^2 = \frac{ |r|^2 \cdot e^{ 2 \alpha \imath } \cdot d\vec{r}^2 }{ |r|^2 } = \left( \frac{ \vec{r} \cdot d\vec{r} }{ |r| } \right)^2 \rightarrow (2) $


Как было показано выше, $ \vec{r} \cdot d\vec{r} = \hat{h}^2 \cdot \rho \cdot d\rho + \hat{v}^2 \cdot w \cdot dw $, подставим:

$ (2) \rightarrow \left( \frac{ \vec{r} \cdot d\vec{r} }{ |r| } \right)^2 = \left( \frac{ \hat{h}^2 \cdot \rho \cdot d\rho + \hat{v}^2 \cdot w \cdot dw }{ |r| } \right)^2 = \hat{h}^4 \cdot \cos^2 \alpha \cdot d\rho^2 + \hat{v}^4 \cdot \sin^2 \alpha \cdot dw^2 $


И вот энергоглубина, выделенная в отдельную координату $ w $, изящно отвалилась по шву от плоского пространства.

Угловые координаты


Чтобы преобразовать угловые координаты, выразим квадрат вектора $ \vec{r} $ с учётом поворота на угол кривизны:

$ \begin{array}{ccl} \vec{r}^2 & = & \hat{h}^2 \cdot |r|^2 \cdot\cos^2 \alpha + \hat{v}^2 \cdot |r|^2 \cdot \sin^2 \alpha = \\ & = & ( \rho^2 + w^2 ) \cdot (\cos^2 \alpha - \sin^2 \alpha) = \\ & = & \rho^2 \cdot \cos^2 \alpha - w^2 \cdot \sin^2 \alpha - \rho^2 \cdot \sin^2 \alpha + w^2 \cdot \cos^2 \alpha = \\ & = & \rho^2 \cdot \cos^2 \alpha - w^2 \cdot \sin^2 \alpha - \frac{ \rho^2 \cdot w^2 }{ |r|^2 } + \frac{ w^2 \cdot \rho^2 }{ |r|^2 } = \\ & = & \rho^2 \cdot \cos^2 \alpha - w^2 \cdot \sin^2 \alpha = \\ & = & \rho^2 \cdot \cos^2 \alpha + \hat{v}^2 \cdot w^2 \cdot \sin^2 \alpha \end{array} $



Преобразование интервала


Теперь мы можем разделить координаты во всём интервале полностью:

$ \begin{array}{ccl} ds^2 & = & \left( 1 - \frac{ GE }{ \mathtt{ c }^4 r } \right) \cdot dt^2 - \left( 1 - \frac{ GE }{ \mathtt{ c }^4 r } \right)^{-1} \cdot dr^2 - r^2 \cdot d\theta^2 - r^2 \cdot \sin^2 \theta \cdot d\phi^2 = \\ & = & \color{red}{ \cos^2 \alpha \cdot dt^2 - \sin^2 \alpha \cdot dt^2 } - \\ & - & \color{green} { \cos^2 \alpha \cdot d\rho^2 - \cos^2 \alpha \cdot \rho^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] } - \\ & - & \color{blue}{ \sin^2 \alpha \cdot dw^2 + \sin^2 \alpha \cdot w^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] } = \\ & = & \color{red}{ \cos^2 \alpha \cdot dt^2 } - \color{green} { \cos^2 \alpha \cdot \left[ d\rho^2 + \rho^2 \cdot d\theta^2 + \rho^2 \cdot \sin^2 \theta \cdot d\phi^2 \right] } - \\ & - & \color{red}{ \sin^2 \alpha \cdot dt^2 } + \color{blue}{ \sin^2 \alpha \cdot \left[ - dw^2 + w^2 \cdot d\theta^2 + w^2 \cdot \sin^2 \theta \cdot d\phi^2 \right] } = \\ & = & \cos^2 \alpha \cdot \left[ \color{red}{ dt^2 } - \color{green} { d\rho^2 - \rho^2 \cdot d\theta^2 - \rho^2 \cdot \sin^2 \theta \cdot d\phi^2 } \right] - \\ & - & \sin^2\alpha \cdot \left[ \color{red}{ dt^2 } - \color{magenta}{ \hat{?}^2 } \color{blue}{ \cdot dw^2 - w^2 \cdot d\theta^2 - w^2 \cdot \sin^2 \theta \cdot d\phi^2 } \right] \rightarrow ? \\ & \rightarrow & \cos^2 \alpha \cdot \color{green}{ ds_\rho^2 } - \sin^2 \alpha \cdot \color{blue}{ ds_w^2 } \end{array} $


Вот так поворот. Был бы, если бы не перевёрнутый знак перед $ dw^2 $ (маджента). Именно такая возможность представления формы метрики Шварцшильда не давала мне покоя, но почему возникает ошибка?
Как бы по-идиотски это не звучало, она возникает, потому что мы выносим не тот минус один, который, будучи вынесенным, даст положительное значение при $ dw^2 $, а тот, который оставит $ dw^2 $ отрицательным, как и оба других слагаемых угловых координат.
Для того, чтобы разобраться в этой математике, нам потребуется ввести дополнительный вектор $ \hat{ u }^2 = -1, \ \hat{ u } \in \Im $ мнимой оси комплексного пространства, который задаёт 3-пространство относительно времени в стандартном интервале, например, в метрике Минковского:

$ ds^2 = dx_0^2 + \hat{ u }^2 \cdot \left[ dx_1^2 + dx_2^2 + dx_3^2 \right] $


Тогда введённый ранее вектор $ \hat{ v }^2 = -1, \hat{ v } \in \Im $ будет ему всегда перпендикулярен $ \hat{ u } \perp \hat{ v } $ по определению.
Но, как известно, математики для двух мнимых осей нет, только для трёх, поэтому введём сразу ещё один базовый мнимый вектор $ \hat{ w }^2 = -1, \hat{ w } \in \Im $, и определим результаты взаимных операций над ними аналогично кватернионам:

$ \hat{ u }^2 = \hat{ v }^2 = \hat{ w }^2 = \hat{ u } \cdot \hat{ v } \cdot \hat{ w } = -1, \\ \hat{ u } \cdot \hat{ v } = \hat{ w }, \ \hat{ v } \cdot \hat{ w } = \hat{ u }, \ \hat{ w } \cdot \hat{ u } = \hat{ v }, \\ \hat{ v } \cdot \hat{ u } = - \hat{ w }, \ \hat{ w } \cdot \hat{ v } = - \hat{ u }, \ \hat{ u } \cdot \hat{ w } = - \hat{ v }$


Тогда интервал метрики Шварцшильда с мнимыми векторами в явном виде будет:

$ \begin{array}{ccl} ds^2 & = & \color{red}{ (\cos^2 \alpha + \hat{v}^2 \cdot \sin^2 \alpha ) \cdot dt^2 } + \\ & + & \color{green}{ \hat{u}^2 \cdot \cos^2 \alpha \cdot \left( d\rho^2 + \rho^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] \right) } + \\ & + & \color{blue}{\hat{u}^2 \cdot \sin^2 \alpha \cdot \left( \hat{v}^4 \cdot dw^2 + \hat{ v }^2 \cdot w^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] \right) } = \\ & = & \color{red}{ \cos^2 \alpha \cdot dt^2 } + \color{green}{ \hat{u}^2 \cdot \cos^2 \alpha \cdot \left( d\rho^2 + \rho^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] \right) } + \\ & + & \color{red}{ \hat{v}^2 \cdot \sin^2 \alpha \cdot dt^2 } + \color{blue}{ \hat{u}^2 \cdot \sin^2 \alpha \cdot \left( \hat{v}^4 \cdot dw^2 + \hat{ v }^2 \cdot w^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] \right) } = \\ & = & \cos^2 \alpha \cdot \color{green}{ ds_\rho^2 } + \\ & + & \sin^2 \alpha \cdot \color{magenta}{ \hat{ v }^2 } \cdot \left( \color{red}{ dt^2 } + \color{blue}{ (-\hat{ w })^2 \cdot dw^2 + (- \hat{ u })^2 \cdot w^2 \cdot \left[ d\theta^2 + \sin^2 \theta \cdot d\phi^2 \right] } \right) \end{array} $


Можно менять направление тройки $ \hat{ u } \cdot \hat{ v } \cdot \hat{ w } = -1 \rightarrow \hat{ w } \cdot \hat{ v } \cdot \hat{ u } = -1 $ с левого на правое, можно выносить $ \hat{ v }^2 $ (маджента) направо операции некоммутативны. Как ни крути, на языке кватернионов перед всеми пространственными слагаемыми в последней строке будет квадрат мнимого вектора.
Тогда, приняв, что $ ds_\rho^2 = \hat{h}^2 \cdot dt^2 + \hat{u}^2 \cdot \left( d\rho^2 + \rho^2 \cdot d\theta^2 + \rho^2 \cdot \sin^2\theta \cdot d\phi^2 \right)^2 $ квадрат проекции вектора $ d\vec{ s } \in \psi $, принадлежащего расширенному комплексному пространству $ \psi ( \hat{h}, \vec{r} (\hat{u}, \hat{v}, \hat{w}), \hat{\theta}, \hat{\phi} ) = \mathbb{R}^6 \ \dagger $ ), на условно плоское пространство наблюдателя $ \psi_\rho ( \hat{h}, \hat{u}, \hat{\theta}, \hat{\phi} ) = \mathbb{R}^4 $, а $ ds_w^2 $ по аналогии, квадрат проекции этого же вектора внутрь подпространства $ \psi_w ( \hat{h}, \hat{v}, \hat{w}, \hat{\theta}, \hat{\phi} ) = \mathbb{R}^5 $, то движение объекта в гравитационном поле может быть представлено как чистый поворот:

$ ds'^2 = \cos^2 \alpha \cdot ds_\rho^2 + \hat{v}^2 \cdot \sin^2 \alpha \cdot ds_w^2 = \left( e^{\hat{v} \alpha} \cdot d\vec{s} \right)^2 = \left( \mathbf{v} \cdot d\vec{s} \right)^2 \quad \quad (3) $


где $ \mathbf{v} = e^{ \hat{v} \alpha } = \cos \alpha + \hat{v} \cdot \sin \alpha $ ротор, нормализованный вектор поворота. Пока только как индуктивный эскиз от частного к общему.
В третьей статье цикла я постараюсь обобщить модель интервала из тех черт, которые проступили по ходу проведённого изыскания, и других известных свойств явлений природы. Так, чтобы поворотами приводить интервал к известным частным случаям.
$ \dagger $ минимальное количество осей для формализации шесть: время $ \hat{h} $, трёхсоставная радиальная ось $ \vec{r} ( \hat{ u }, \hat{ v }, \hat{ w } ) $, две угловые оси $ \hat{ \theta }, \hat{ \phi } $.
Простыми словами геометрия траектории объекта в сферически симметричном гравитационном поле может быть представлена как поворот четырёхмерного плоского (псевдоевклидова) пространства-времени относительно дополнительных, пятой и шестой мнимых осей.

Заключение


Сначала я подумал, что, возможно, если детально разобраться с единицами измерения угла кривизны $ \alpha $, расчёт относительных траекторий массивных тел через $ (3) $ стал бы гораздо проще и точнее. И к этому несомненно стоит вернуться.
Но, ввиду просматривающейся тенденции, я решил уделить время гораздо более интересному направлению развития теории:
1. Специальная теория относительности. Взаимное движение объектов разных кинетических энергий может быть представлено как движение в континуумах, повёрнутых друг относительно друга (буст).
2. Общая теория относительности. Решение Фридмана. Масштабный фактор расширения Вселенной может быть представлен как угол поворота относительно дополнительной, ненаблюдаемой оси.
3. Общая теория относительности. Решение Шварцшильда. Изменение интервала, соответствующее движению объекта в гравитационном поле, можно представить как поворот относительно дополнительных ненаблюдаемых осей.
Я подумал, что неплохо было бы составить мат. модель, которая обобщала бы все эти повороты. Подобная генерализация, впрессованная в контуры известных вакуумных решений и СТО, могла бы случайно наследовать ряд свойств необходимых, чтобы соответствовать и другим наблюдаемым физическим эффектам. Возможно, она позволила бы взглянуть под другим углом на многие известные явления природы, и дать им интерпретацию. Это, кроме того, что она позволила бы легко обсчитывать комбинированные движения как сумму поворотов. Да много чего ещё там вкусного может быть дух захватывает от этой перспективы.
А с Геометрическим представлением кривизны в метрике Шварцшильда локально я вроде закончил.
Читателей очень прошу, кому не лень, проверить математику. Я её люблю, она взаимна, но она царица, а я всего лишь человек могу ошибаться.
Подробнее..

Возникновение времени и пространства в математических вселенных

24.02.2021 02:21:58 | Автор: admin

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

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

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

  1. У Сережи моментально менялись тон и выражение лица

  2. У Сережи моментально менялся тон и выражение лица

  3. У Сережи моментально менялось тон и выражение лица

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

Что будет, если применить такой способ к физике? Этим мы и займемся. На базе элементарных математических уравнений мы создадим "вселенные", и для каждой из таких "вселенных" мы ответим на несколько вопросов:

  • Существует ли в данной вселенной пространство?

  • Существует ли в данной вселенной время?

  • Существует ли в данной вселенной гравитация?

  • Существует ли в данной вселенной масса?

Мы заметим на каких именно этапах усложнения наших вселенных появляется пространство, а на каких время.

Вселенная 1

Давайте зададим простейшую математическую вселенную: существует точка А.

Существует ли в данной вселенной пространство? Давайте подумаем. Для существования пространства необходимы две вещи: возможность найти точку отсчета и рассчитать расстояние до нее. Если мы возьмем точку А за точку отсчета, то мы не сможем найти объект, расстояние до которого мы могли бы измерить. Если же мы захотим измерить расстояние до точки А, то мы не сможем найти в этой вселенной ни одной точки отсчета. Следовательно, пространства в этой вселенной не существует.

Существует ли в данной вселенной время? Давайте подумаем. Точка А никуда не движется в пространстве, потому что этого самого пространства даже не существует. Вселенная абсолютно неподвижна и неизменна. А раз нет движения, то и времени в этой вселенной не существует.

Вселенная 2

Давайте зададим математическую вселенную посложнее: существуют точки А и В.

Существует ли в данной вселенной пространство? Мы можем взять точку А за точку отсчета и рассчитать расстояние R до точки В. Или же наоборот взять точку В и рассчитать расстояние R до точки А. Следовательно, пространство в этой вселенной существует. Кроме того, мы можем точно сказать, что это пространство одномерно, так как единственное измерение в этой вселенной - это прямая проведенная через точки А и В.

Существует ли в данной вселенной время? Как и предыдущая вселенная, эта вселенная неподвижна, а следовательно, время в ней не существует.

Вселенная 3

Давайте немного усложним предыдущую вселенную. Мы зададим новую вселенную так: существуют точки А и В, расстояние между которыми R вычисляется по нижеуказанной рекурсивной формуле:

R_{n+1}=0.99*R_{n}R_{0}=100

Существует ли в данной вселенной пространство? Точно также, как и в предыдущей, в данной вселенной существует одномерное пространство.

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

Вселенная 4

Зададим чуть более сложную вселенную: существуют точки А, B, C, так что расстояние R1 между A и В, расстояние R2 между B и C и расстояние R3 между A и C вычисляются по нижеуказанным рекурсивным формулам:

R1_{n+1}=0.99*R1_{n}R2_{n+1}=0.87*R2_{n}R3_{n+1}=0.66*R3_{n}R1_{0}=100, R2_{0}=120, R3_{0}=60

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

Заключение

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

Кроме того, рекурсивная природа времени проявляется в свойствах его направленности, иногда называемых "осями времени":

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

  • Термодинамическая ось времени - энтропия со временем только растет. Ведь информационная энтропия при расчете каждой следующей итерации рекурсивной функции тоже только растет.

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

Такие дела!

Подробнее..

Перевод Математики воскресили 13-ю проблему Гильберта

25.02.2021 22:19:22 | Автор: admin

Вопрос Давида Гильберта о многочленах седьмой степени, долгое время считавшийся решённым, открыл исследователям новую сеть математических связей




Успех в математике достигается редко. Спросите хотя бы Бенсона Фарба.

Проблема математики в том, что в 90% случаев вас ждёт неудача, и вам нужно быть человеком, умеющим это принимать, сказал однажды Фарб за ужином с друзьями. Когда один из гостей, также математик, удивился тому, что Фарбу удаётся достигать успеха в целых 10% случаев, Фарб признал: Нет, нет, я сильно преувеличил процент своих успехов.

Фарб, тополог из Чикагского университета, с радостью встретил последнюю свою неудачу хотя, честно говоря, это не только его заслуга. Вопрос связан с задачей, парадоксальным образом одновременно решённой и нерешённой, открытой и закрытой.

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

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

image
В 1900 году Дэвид Гильберт составил список из 23 важнейших открытых проблем.

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

Эта проблема затянула его и математика Джесси Вольфсона из Калифорнийского университета в Ирвине в математическую кроличью нору, ходы которой они изучают до сих пор. Она также привлекла к их раскопкам Марка Кисина, специалиста по теории чисел из Гарварда и старого друга Фарба.

Фарб признал, что они пока не решили 13-ю проблему Гильберта, и даже не приблизились к решению. Однако они раскопали почти исчезнувшие математические стратегии, и изучили связи проблемы с различными областями знаний, включая комплексный анализ, топологию, теорию чисел, теорию представлений и алгебраическую геометрию. Они применили собственные подходы, в частности, объединив полиномы с геометрией и сузив диапазон возможных ответов на вопрос Гильберта. Также их работа предлагает способ классификации полиномов по метрикам сложности аналог классов сложности, имеющих отношение к нерешённой задаче равенства классов P и NP.

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

Открыли, закрыли и снова открыли


Многие математики уже считали проблему решённой. В конце 1950-х гениальный советский учёный Владимир Игоревич Арнольд и его наставник Андрей Николаевич Колмогоров опубликовали свои доказательства. Для большинства математиков работа Арнольда-Колмогорова закрыла этот вопрос. Даже в Википедии не истине в последней инстанции, но довольно разумном посреднике в поисках знаний до последнего времени задача была отмечена как решённая.


Владимир Арнольд и его наставник Андрей Колмогоров в 1950-х доказали один из вариантов 13-й проблемы Гильберта но, возможно, Гильберта интересовал другой её вариант.

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

Существуют научные работы, где просто повторяется тезис о решённости проблемы. Они явно не понимают самой проблемы, сказал Фарб. В то время он работал вместе с Вольфсоном, бывшим тогда постдоком, над проектом в области топологии. Когда он поделился найденными в работе Арнольда сведениями, Вольфсон подключился к проекту. В 2017 году во время семинара, посвящённого 50-летию Фарба, Кисин услышал доклад Вольсфона и с удивлением понял, что их идеи, касающиеся полиномов, связаны с вопросами его работы по теории чисел. Он присоединился к их команде.

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

Однако не все исследователи согласны с тем, что Гильберта интересовали именно они. Многие математики считают, что Гильберт имел в виду алгебраические, а не непрерывные функции, сказал Зиновий Рейхштейн, математик из университета Британской Колумбии. Фарб и Вольфсон работают над проблемой, которую, как они считают, и хотел изучить Гильберт.

Фарб сказал, что 13-я проблема это калейдоскоп. Раскрываешь эту штуку и чем больше изучаешь, тем больше направлений и идей она открывает, сказал он. Она приоткрывает дверь к целому массиву задач, показывает всю прекрасную паутину математики.

Корни проблемы


Математики игрались с полиномами с момента изобретения самой математики. На каменных табличках 3000-летней давности видно, как вавилонские математики использовали формулу для решения полиномов второго порядка. Это был клинописный предшественник той самой квадратичной формулы, которую сегодня учат на уроках математики. Формула $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$ показывает, как найти корни полинома то есть, значения x, при которых выражение ax2+bx+c, полином второй степени, становится равным нулю.

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

Чем выше степень полинома, тем более громоздкими они становятся. В книге 1545 года Ars Magna [Великое искусство] итальянский эрудит Джероламо Кардано опубликовал формулы для поиска корней полиномов третьей и четвёртой степеней.

Корни кубического полинома ax3+bx2+cx+d=0 можно найти по следующей формуле:



Формула для полинома четвёртой степени выглядит ещё хуже.

С ростом степени растёт и сложность, вырисовывается гора сложностей, сказал Курт Макмаллен из Гарварда. Как нам покорить эту гору?.

Итальянский математик Паоло Руффини в 1799 году утверждал, что полиномы 5-й и больших степеней нельзя решить при помощи арифметических операций и извлечения корней. В 1824 году это доказал норвежский математик Нильс Хенрик Абель. Иначе говоря, подобной формулы для полинома пятой степени не существует. К счастью, появились другие идеи, предлагавшие способы изучать полиномы высших степеней, которые можно упростить через подстановку. К примеру, в 1786 году шведский юрист Эрланд Бринг показал, что любое уравнение вида ax5+bx4+cx3+dx2+ex+f=0 можно переписать в виде px5+qx+1=0, где p и q комплексные числа, величину которых определяют a, b, c, d, e и f. Этот факт открыл новые подходы к скрытым свойствам полиномов.

В XIX веке Уильям Роуэн Гамильтон продолжил работы Бринга и других. В числе прочего он показал, что для поиска корней полинома шестой степени понадобятся лишь обычные арифметические операции, квадратные и кубические корни и алгебраическая формула, зависящая только от двух переменных.

В 1975 году американский алгебраист Ричарт Брауэр из Гарварда ввёл идею степени резольвенты, описывающую минимальное количество членов, необходимых для описания полинома некоторой степени. Менее чем через год после этого Арнольд и японский специалист по теории чисел Горо Шимура в другой работе ввели почти такое же определение.

В модели Брауэра, первой попытке систематизации правил таких подстановок, 13-я проблема Гильберта это вопрос о том, возможно ли, чтобы у полиномов седьмой степени степень резольвенты была меньше 3. Позднее он выдвинул сходные гипотезы по поводу полиномов шестой и восьмой степеней.

Однако в основе всех этих вопросов лежит более общий: каково наименьшее количество параметров, необходимое для поиска корней любого полинома? До какого нижнего предела можно дойти?

Визуальное мышление


Естественный подход к этому вопросу представить себе, как выглядят полиномы. Полином можно записать как функцию к примеру, f(x)=x23x+1, и построить её график. Тогда поиски корней сводятся к тому, что функция становится равной нулю там, где её кривая пересекает ось х.

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

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

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

Гильберт уже знал, что на каждой гладкой кубической поверхности замысловатой фигуре, описываемой полиномом третьей степени содержится ровно 27 прямых, вне зависимости от того, насколько перекрученной она выглядит. Эти прямые сдвигаются с изменением коэффициентов полиномов. Он понял, что зная положение одной из них, можно упростить полином девятой степени и найти его корни. Формуле требовалось всего четыре параметра в современных терминах это значило, что степень резольвенты не превышает 4.

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

Движение к паутине связей


Когда Кисин помогал Фарбу и Вольфсону разбираться в задаче, они поняли, что общепринятое мнение о решённости 13-й проблемы Гильберта убило весь интерес в геометрическом подходе к степени резольвенты. В январе 2020 года Вольфсон опубликовал работу, оживившую этот подход. Она расширила геометрическое обращение Гильберта с полиномами девятой степени до более общей теории.

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


На любой гладкой кубической поверхности, неважно, насколько она перекручена или свёрнута, можно найти ровно 27 прямых линий. Гильберт использовал этот геометрический факт для создания формулы корней полинома девятой степени. Джесси Вольфсон развил эту идею далее, используя прямые на гиперповерхностях высших степеней для создания формул для более сложных полиномов.

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

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

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

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

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

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

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

Но троица не отступается. Я не собираюсь сдаваться, сказал Фарб. Эта задача определённо стала моим белым китом. Она заставляет меня не останавливаться в этой паутине связей, и окружающей её математике.
Подробнее..

Программный генератор статистически безупречных случайных чисел

11.02.2021 14:07:02 | Автор: admin

Программный генератор статистически безупречных случайных чисел


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


Мне удалось создать программу, генерирующую последовательность символов '0' и '1', имеющую безупречно хорошие статистические свойства.
Конструкция программы проста и легко доступна для понимания.
Случайная последовательность нулей и единиц должна обладать следующими свойствами:


  • количество нулей и единиц во всех фрагментах этой последовательности примерно одинаково;
  • количество вхождений фрагментов 00, 01, 10 и 11 всегда примерно одинаково;
  • то же касается всевозможных фрагментов длины 3, 4, 5 и так далее.
    Ясно, что программа может подсчитывать количество вхождений таких фрагментов в уже сформированную последовательность и генерировать очередной символ так, чтобы поддерживать перечисленные равенства.
    Если анализировать эти равенства в порядке возрастания длины фрагмента, то программа быстро зацикливается.
    Однако, если их анализировать в обратном порядке, то всё получается замечательно хорошо.

Что же в итоге получилось?
Задаётся некоторая начальная последовательность символов '0' и '1' (начальный отрезок), которую программа будет достраивать до заранее заданной предельной длины, после чего остановится.
Такая организация программы целесообразна в связи с тем, что по мере роста длины сформированной последовательности скорость формирования очередного символа уменьшается.
Для формирования очередного символа программа организует цикл, по различным длинам маски (идентификатор lenmask).
Маска в этом цикле задаётся как фрагмент сформированной последовательности, состоящий из lenmask её последних символов.
Такая маска циклически передвигается вдоль сформированной последовательности.
В ходе этого вложенного цикла передвижений подсчитываются суммы s0 и s1, это количество появлений нуля или соответственно единицы в сформированной последовательности непосредственно после обнаруженного совпадения маски с ней.
Если по окончании подсчёта при очередной заданной длине маски значения s0 и s1 оказываются различными, то при s0>s1 очередной символ формируется как 1, иначе как 0 и цикл по длинам масок прерывается.
Если же при всех длинах маски значения сумм s0 и s1 окажутся одинаковыми, то очередной символ сформируется по значению резервной переменной, принимающей одно из двух значений 0 или 1 и меняющей значение после каждого использования.
Эта ситуация, конечно, маловероятна.
Математически строгое доказательство того, что сформированная описанной программой последовательность нулей и единиц обладает необходимыми статистическими свойствами, остаётся нерешённой трудной задачей, однако непосредственный контроль пробных запусков этой программы принёс очень хорошие результаты.


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


Приложение


Текст программы на языке JAVA


//gerase = generator random sequence//генератор статистически безупречной //случайной последовательности нулей и единицpackage ikojar;public class gerase {public static void main(String[] args) {//управляющие параметры программы//число, кодирующее начальный отрезок формируемой последовательности//двоичное представление числа beg станет //началом формируемой последовательностиint beg=5,//длина формируемой последовательностиlenrez=2048,//maxpower это максимальная длина контрольной маски //в процессе статистического контроля сформированной последовательности//контрольная маска скользящим образом //накладывается на сформированную последовательность//подсчитывается количество вхождений //различных вариантов наполнения маски//для разных вариантов наполнения маски //количество её вхождений в сформированную последовательность //должно быть приблизительно одинаковымmaxpower=10;//декларация рабочих переменных программы//rs это random symbol, может быть использован, //если очередной символ не был определён алгоритмом формирования//алгоритм не сможет сформировать очередной символ, если //в результате расчёта окажется, что и нуль и единица одинаково допустимыbyte rs=0;//массив result будет содержать сформированную последовательность //нулей и единицbyte[] result=new byte[lenrez];//массив mask будет вместилищем контрольной маски, используемой //как при формировании последовательности, //так и при её статистическом контроле//длина маски будет изменяться внутри программы, //здесь просто резервируется максимально необходимое место для неёbyte[] mask=new byte[lenrez];//собственно формирование псевдослучайной последовательности//распаковка управляющего числа beg//двоичное представление управляющего числа beg будет помещено //в начало формируемой псевдослучайной последовательности resultint p=beg,bp=0;for(;;){//cir raspakresult[bp]=(byte)(p%2);bp++;if(p<2)break;p/=2;}//cir raspak//печать начального отрезкаString so="начальный фрагмент ";for(int i=0;i<bp;i++)so+=String.valueOf(result[i]);System.out.println(so);//подготовка печати результатаSystem.out.println("сформирована последовательность");//цикл формирования выходной последовательностиfor(int pos=bp;pos<lenrez;pos++){//circlepos//признак hs(hard symbol) это //признак того, что очередной символ формируемой выходной //последовательности определился в результате расчёта//если расчёт не сможет определить очередной символ, //то он будет задан из переменной rsint hs=0;//цикл по убывающему размеру маски//lenmask это длина маскиfor(int lenmask=pos-2;lenmask>=0;lenmask--){//lenmask//заполнение маски последними символами //ранее сформированной последовательностиfor(int i=0;i<lenmask;i++)mask[i]=result[pos+i-lenmask];//s0 и s1 станут результатами подсчёта //количества вхождений нулей и единиц соответственно//непосредственно после очередного вхождения образа маски //в уже сформированную последовательность//при скользящем наложении маски на эту последовательностьint s0=0,s1=0;//цикл скользящего продвижения маски вдоль //сформированной последовательности псевдослучайных символовfor(int i=lenmask;i<pos;i++){//calcS01//eqm это признак совпадения фрагмента //сформированной последовательности с наложенной маскойint eqm=1;//вычисление eqmfor(int i1=0;i1<lenmask;i1++)if(mask[i1]!=result[i+i1-lenmask]){eqm=0;break;}//собственно акт подсчёта количества нулей или единиц, следующих //непосредственно после вхождения образа маскиif(eqm==1)if(result[i]==0)s0++;else s1++;}//calcS01//формирование очередного символа выходной последовательности //в зависимости от соотношения между s0 и s1//признак hs станет равным 1, если //таким образом будет сформирован очередной символif(s0<s1){result[pos]=0;hs=1;break;}if(s1<s0){result[pos]=1;hs=1;break;}}//lenmaskif(hs==1)continue;//если расчёт не определил очередной символ, //то он формируется из переменной rsresult[pos]=rs;rs=(byte)(1-rs);}//circlepos//выходная последовательность готова//осталось выдать её на печатьso="";for(int i=0,c=0;i<lenrez;i++){//out rezso+=String.valueOf(result[i]);c++;if(c==64){c=0;System.out.println(so);so="";}}//out rezSystem.out.println(so);//а теперь статистический анализ сформированной последовательностиSystem.out.println("статистический анализ сформированной последовательности");//цикл по различным размерам контрольных масок//pw это длина контрольной маски, //накладываемой на сформированную последовательностьfor(int pw=1;pw<maxpower;pw++){//pw//контрольные маски будут наполняться //всевозможными комбинациями нулей и единиц//эти комбинации можно интерпретировать как двоичные представления //того или иного неотрицательного целого числа//будут перебираться все //такие представляющие числа в пределах от 0 до pm-1//верхняя граница pm для такого перебора сейчас будет определенаint pm=1;for(int i=0;i<pw;i++)pm*=2;//печатаем заголовок серии чисел, равных количеству вхождений //очередной маски в сформированную последовательностьSystem.out.println("для маски длиной "+String.valueOf(pw));int mincount=lenrez,maxcount=0;//цикл последовательного перебора целых чисел от 0 до pm-1, //двоичное представление которых станет содержимым очередной маскиfor(int im=0;im<pm;im++){//im//заполнение маски двоичным представлением числа imp=im;for(int i=pw-1;i>=0;i--){mask[i]=(byte)(p%2);p/=2;}//цикл скользящего наложения контрольной маски //на сформированную последовательность //переменная s станет равной количеству совпадений //контрольной маски с сформированной последовательностьюint s=0;for(int i0=pw;i0<=lenrez;i0++){//i0//проверка совпадения маски с содержимым под маскойint eqm=1;for(int i1=0;i1<pw;i1++)if(result[i0+i1-pw]!=mask[i1]){eqm=0;break;}if(eqm==1)s++;}//i0//печатаем очередное число вхождений //маски в сформированную последовательность//этот громоздкий вариант печати здесь дезактивирован//System.out.println(String.valueOf(s));//подготовка укороченных оценок качества результатаif(s<mincount)mincount=s;if(s>maxcount)maxcount=s;}//imSystem.out.println("минимум вхождений="+String.valueOf(mincount));System.out.println("максимум вхождений="+String.valueOf(maxcount));}//pwreturn;}//main}//class
Подробнее..

3. Частотные характеристики звеньев и систем автоматического управления. ч. 3.4 Апериодическое звено 2го порядка

24.02.2021 02:21:58 | Автор: admin

Предыдущая часть Апереодическое звено первого порядка.

3.4 Апереодическое звено второго порядка

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

У нас есть модель механического демпфера. Это поршень на пружине, он движется внутри цилиндра, может перемещается вверх-вниз. Его положение это интересующая нас функция Y(t), сверху на него воздействует возмущающая сила (U(t)), на стенках поршня действует сила вязкого трения. (См. рис. 3.4.1)

Рисунок 3.4.1. Расчетная схема амортизатора. Рисунок 3.4.1. Расчетная схема амортизатора.

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

m \cdot \frac{d^2Y(t)}{dt} = \sum F_j = P+ U(t) +F_{пр}+F_{тр}
  • где:

    m - масса поршня;

    Y(t)- положение поршня (выходная переменная);

    U(t) = X(t)- приложенная сила (входное воздействие);

    P = m \cdot g- сила тяжести;

    F_{пр} = k \cdot Y(t) сила сопротивления пружины;

    F_{тр} = с \cdot \frac{dY}{dt} сила вязкого трения (пропорциональная скорости движения поршня).

Считаем, что в нулевой момент времени поршень находится в равновесии. Тогда начальное положение поршня y0в равновесии, где скорость и ускорения равны 0, можно посчитать из уравнения 2.

0 = m \cdot g + u_0-k \cdot y_0 \Rightarrow y_0= \frac{1}{k} [m\cdot g+u_0]

Перепишем уравнение равновесия в отклонениях от нулевого состояния:

Y(t) =y_0+y(t); \ \ \ U(t) = u_0+u(t);

m \cdot \frac{d^2 y(t)}{dt^2} = \underbrace { m \cdot g+ u_0}+u(t)-\underbrace {k \cdot y_0} -k\cdot y(t) - c \cdot\frac{dy(t)}{dt}

Поскольку мы приняли, что в начальный момент у нас состояние равновесия, а сумма трех сил в состоянии равновесия равна нулю, их можно убрать из уравнения, и в итоге получим:

m \cdot y''(t)+c \cdot y'(t)+k \cdot y(t) = u(t) = x(t)

Приведем данное уравнение к классическому виду:

 \underbrace{\frac{m}{k}}_{T_2^2}\cdot y''(t)+\underbrace{\frac{c}{k}}_{T_1}\cdot y'(t)+y(t)=\underbrace{\frac{1}{k}}_K \cdot x(t)

Уравнение динамики апериодического звена 2го порядка имеет следующий вид:

T_2^2 \cdot y''(t)+T_1 \cdot y'(t)+y(t)=K \cdot x(t) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.1)}

при этом:

D = T_1^2-4 \cdot T_2^2 \ge 0 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.2)}

ЕслиD<0, то звено становится колебательным (см. раздел 3.5)

Переходя к изображениямx(t) \rightarrow X(s); \ \ \ y(t) \rightarrow Y(s)получаем уравнение динамики звена в изображениях:

(T_2^2\cdot s^2+ T_1 \cdot s+1) \cdot Y(s) = K \cdot X(s) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.3)}

Передаточная функция звена может быть представлена в двух видах:

W(s) = \frac{Y(s)}{X(s)}= \frac{K}{T_2^2 \cdot s^2+T_1 \cdot s+1} \iff \frac{K}{(T_3 \cdot s+1)(T_4 \cdot s+1)}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.4)}

где:

T_3 = \frac{T_1-\sqrt{D} }{2} ;\ \ T_4 = \frac{T_1+\sqrt{D}}{2}Рисунок 3.4.2 Апериодическое звено 2-го порядка (два варианта) Рисунок 3.4.2 Апериодическое звено 2-го порядка (два варианта)

Амплитудно-фазовая частотная характеристика (АФЧХ):

W(i \cdot \omega) = W(s)|_{s =i \cdot \omega} =\frac{K}{(1+i \cdot T_3 \cdot \omega)(1+ i \cdot T_4 \cdot \omega)} \Leftrightarrow \frac{K}{(1-T_2^2 \cdot \omega^2)+i \cdot T_1 \cdot \omega} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.5)}

Домножив числитель и знаменатель формулы (3.4.5) на комплексно-сопряженные скобки (1-i \cdot T_3 \cdot \omega) и (1-i \cdot T_4 \cdot \omega) , получаем:

W(i\cdot\omega) = \frac{K(1- i \cdot T_3 \cdot \omega)(1- i \cdot T_4 \cdot \omega)}{(1 + T_3^2 \cdot \omega^2)(1+T_4^2\cdot \omega^2)} == \underbrace {\frac{K (1 -T_4\cdot T_3 \cdot \omega^2)}{(1+T^2_3 \cdot \omega^2)(1+T_4^2 \cdot \omega^2)}}_{u(\omega)}- i \cdot \underbrace {\frac{K(T_4+T_3)\omega}{(1+T_3^2\cdot \omega^2)(1+ T_4^2\cdot \omega^2)}}_{v(\omega)}

Диствительная и мнимая части передаточной функции:

u(\omega) = \frac{K(1- T_3 \cdot T_4 \cdot \omega^2)}{(1+T_3^2 \cdot \omega^2)(1+ T_4^2 \cdot \omega^2)}; \ \ \ \ \ v(\omega) = -\frac{K(T_4+ T_3)\omega}{(1+T_3^2 \cdot \omega^2)(1+T_4^2 \cdot \omega^2)} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.6)}

Анализируя поведениеu()иv()при\omega \rightarrow 0 и при\omega \rightarrow \infty , получаем:

\lim_{\omega \to 0} u(\omega) = K; \ \ \ \ \ \lim_{\omega \to \infty}u(\omega) = 0\omega \rightarrow 0 \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow K; \\ v(\omega) \rightarrow 0; \end{gathered} \right. \ \ \ \ \ \ \ \omega \rightarrow \infty \Rightarrow \left \{ \begin{gathered} u(\omega) \rightarrow 0; \\ v(\omega) \rightarrow 0; \end{gathered} \right.

Модуль АФЧХ (амплитуда), то естьmod(W(i)) = |W(i)| из формулы 3.4.5:

A(\omega) = |W(i\cdot \omega) | = \left | \frac{K}{(1+i\cdot T_3 \cdot \omega)(1+i \cdot T_4\cdot \omega)} \right | = \frac{K}{\sqrt{1+ T_3^2 \cdot \omega^2}\cdot \sqrt{1+ T_4^2\cdot \omega^2}}\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.7)}

Подставляя в формулы (3.4.6) или в формулу (3.4.5) различные значения можно построить векторы, соответствующие различным значениям :

Рисунок 3.4.3 Годограф АФЧХ апериодического звена 2-го порядкаРисунок 3.4.3 Годограф АФЧХ апериодического звена 2-го порядка

Из формул 3.4.6 очевидно, что на рисунке годографа 3.4.3 :

1) \ \omega_6>\omega_5>\omega_4>\omega_3>\omega_2>\omega_1>0\\ 2) \ \ 0 >\varphi_1>\varphi_2>\varphi_3>\varphi_4>\varphi_5>\varphi_6

Используя формулу 3.4.6 можно показать что u(w_3)=0 при \omega_3 = \frac{1}{\sqrt{T_3\cdot T_4}}

Из рисунка видно, что \varphi(\omega) \in [-\pi;0] .

Формула фазового сдвига:

\varphi(\omega) = - \pi \cdot j+ arctg \frac{v(\omega)}{u(\omega)} \omega\leq \omega_3 \Rightarrow j = 0;\\ \omega>\omega_3 \Rightarrow j=1.

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

 \varphi(\omega)=\varphi_1(\omega)+\varphi_2(\omega) = -arctg (T_3\cdot \omega)-arctg(T_4 \cdot \omega)\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.8)}

Логарифмическая амплитудная характеристика (ЛАХ)

Lm(\omega) = 20 \cdot lg \ A(\omega) = 20\cdot lg \ K - 20 \cdot lg \sqrt{1+T_3^2 \cdot \omega^2} - 20 \cdot lg \sqrt{1+T_4^2\cdot \omega^2}\ \ \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.9)}

Графики А(), (),Lm() имеют вид:

Рисунок 3.4.4 АЧХ и ФЧХ апериодического звена 2-го порядкаРисунок 3.4.4 АЧХ и ФЧХ апериодического звена 2-го порядкаРисунок 3.4.5 ЛАХ и ЛФЧХ апериодического звена 2-го порядкаРисунок 3.4.5 ЛАХ и ЛФЧХ апериодического звена 2-го порядка

В инженерных расчетах часто графикLm() представляют виде отрезков ломаных, тогда:

при \omega < 1 /T_4 - звено близко к идеальному усилительному звену  W(s) \approx K

при  1/T_4 < \omega < 1/T_3 - звено близко к идеальному интегрирующему звену W(s) \approx K/(T\cdot s)

при \omega>1/T_3 - звено близко к дважды интегрирующему звену W(s)\approx K/(T^2 \cdot \omega^2)

В граничном случае (D=0 или T_1 = 2 \cdot T_2) \Rightarrow T_3 = T_4 отмеченные на графикеLm() (см. рис. 3.4.5 выше) точки излома совпадают:

Рисунок 3.4.6 ЛАХ и ЛФЧХ апериодического звена 2-го порядка в граничном случаеРисунок 3.4.6 ЛАХ и ЛФЧХ апериодического звена 2-го порядка в граничном случае

ЕслиD<0 \ (T_1 = 2T_2)звено переходит в разряд колебательных звеньев. Поэтому постоянная Т1в уравнении динамики (3.4.1) играет роль демпфирующего фактора, увеличение Т1(в колебательном звене) приводит к уменьшению или к полному исчезновению колебаний.

Найдем переходную функцию звена  h(t) - реакцию на воздействие единичное воздействие 1(t).

h(t) = L^{-1}[H(s)]=L^{-1} \left[ \frac{W(s)}{s} \right] =L^{-1} \left[ \frac{K}{s(T_3 \cdot s +1)(T_4 \cdot s+1)} \right]

Для нахождения функции по формуле Хэвисайда (см. раздел 2.8 Некоторые способы нахождения оригинала по известному изображению), запишем корни полюса изображения, т.е. те значения s при которых D_0(s) = s(T_3 \cdot s +1)(T_4 \cdot s +1) обращается в ноль:

s_1 = 0; \ \ s_2 =-\frac{1}{T_3}; \ \ s_3 = -\frac{1}{T_4}

Тогда по формуле Хэвисайда:

h(t) = \lim_{s \to 0} \left[ (s + 0) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s+1)} \cdot e^{st}\right] \\+ \lim_{s \to -\frac{1}{T_3}} \left[ (s+\frac{1}{T_3}) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s +1)}\cdot e^{st} \right] +\\+ \lim_{s \to -\frac{1}{T_4}} \left[ (s+\frac{1}{T_4}) \frac{K}{s(T_3 \cdot s+1)(T_4 \cdot s +1)}\cdot e^{st} \right]

Вычисляя пределы получим формулу для переходной функции звена:

h(t) = K \left[1+ \frac{T_3}{T_4-T3} \cdot e^{- \frac{t}{T_3}}-\frac{T_4}{T_4 -T_3} \cdot e^{-\frac{t}{T_4}} \right] \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.10)}

Весовая функция получается дифференцированием w(t) =h'(t) :

w(t) = \frac{K}{T_4 - T_3} \cdot \left[ e^{-\frac{t}{T_4}} - e^{- \frac{t}{T_3}} \right] \ \ \ \ \ \ \ \ \ \ \mathbf{(3.4.11)}Рисунок 3.4.7 Переходная функция апериодического звена 2-го порядкаРисунок 3.4.7 Переходная функция апериодического звена 2-го порядка

Примерами апериодического звена 2-го порядка являются:

1) двигатель постоянного тока при учете инерционности самого якоря (механической) и цепи якоря (электрической);

2) электрический усилитель с учетом инерционности (механической и электрической) ротора;

3) двойныеRCилиRLцепочки

Рисунок 3.4.9 Пример апериодического звена 2-го порядкаРисунок 3.4.9 Пример апериодического звена 2-го порядка

Если звено представлено в переменных состояния в матричной форме таким образом:

x' = A \cdot x + B \cdot u; \ \ \ A = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ \end{pmatrix} \Rightarrow \left \{ \begin{gathered} x_1' = a_{11} \cdot x_1+a_{12}\cdot x_2+ B \cdot u \\x_2'= a_{21} \cdot x_1+a_{22}\cdot x_2+ B \cdot u \end{gathered} \right.

то звено будет апериодическим 2-го порядка, если:

 D = (a_{11}+ a_{22})^2 - 4(a_{11}\cdot a_{22} -a_{12}\cdot a_{21}) \ge 0

Пример

В качестве примера возьмём модель демпфера, которую мы уже использовали в лекциях. (см. Рисунок 3.4.10) Структурная схема модели описывает уравнения динамики, описанные в начале статьи. Свойства системы заданы в списке общих сигналов проекта (см. рис. 3.4.11). Для получения из демпфера апериодического звена 2-го порядка необходимо увеличить силу трения таким образом, чтобы (как показано выше) коэффициентT1 был больше, чем 2 хT2. В этом случае D>0 и из колебательного звена мы получим апериодическое 2-го порядка.

Рисунок 3.4.10 Структурная схема модели демпфера.Рисунок 3.4.10 Структурная схема модели демпфера.Рисунок 3.4.11 Параметры моделиРисунок 3.4.11 Параметры модели

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

Рисунок 3.4.12. Параметры для модели демпфера в виде звенаРисунок 3.4.12. Параметры для модели демпфера в виде звена

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

Рисунок 3.4.13 Переходные процессы в двух моделях.Рисунок 3.4.13 Переходные процессы в двух моделях.

График частотных характеристик звена (ЛАХ и ФЧХ) представлен на рисунке 3.4.14На графике видно две точки излома характеристики ЛАХ в которых наклон последовательно меняетсяс 0, до 20дБ/дек и с 20дБ/дек до 40 дБ/дек.

Рисунок 3.4.14 Частотные характеристика ЛАХ и ФЧХРисунок 3.4.14 Частотные характеристика ЛАХ и ФЧХ

Для демонстрации влияния изменения Т1 на свойства звена выполним моделирование, в котором структурная схема является эталонной, а в модели звена будем уменьшать коэффициент силы трения (коэффициентT1).

Источником воздействия будет меандр, с периодом 3 секунды.

Для изменения свойств звена создадим блок на языке программирования. Данный блок, в процессе моделирования, постепенно уменьшает коэффициент Т1 для модели в виде звена. Этот же блокготовит данные для отображения на 3Dграфике переходного процесса.

Общая схема модели приведена на рисунке 3.4.15.

Рисунок 3.4.15 Схема демпфера с изменения свойств блокаРисунок 3.4.15 Схема демпфера с изменения свойств блока

Меандр задает изменение приложенной силы 0 30 Н (входного воздействия) с полупериодом 1.5 сек. График изменения положения приведен на рисунке 3.4.16 Видно, что на первом изменении графики совпадают, но потом по мере накопления отличий в параметрах динамика изменения положения начинает меняться.

Рисунок 3.4.16 Графики положения демпферов.Рисунок 3.4.16 Графики положения демпферов.

Первая часть процесса изображена на рисунке 3.4.17 Видно, что снижение силы трения обеспечивает более быстрое изменении положения демпфера.

Рисунок 3.4.17 Начальная часть графикаРисунок 3.4.17 Начальная часть графика

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

Рисунок 3.4.18 Конечная часть моделированиРисунок 3.4.18 Конечная часть моделировани

ЗDповерхность отображает переходный процесс при ступенчатом увеличении воздействия в блоке меандр.По осиZ отражается положение демпфера, по осиY время после увеличения входного воздействия в блоки меандр, по осиX измененийT1 (уменьшение силы трения).

Рисунок 3.4.19 Поверхность переходного процесса при снижении тренияРисунок 3.4.19 Поверхность переходного процесса при снижении трения

В заключение, сравним переходные процессы для разных параметровT1 (разных коэффициентов трения). Поскольку все основные блоки вSimInTechявляются векторными, создадим модели 7-ми демпферов из одного звена. Для этого в главном окне программы подготовим 7 векторов значений с разными коэффициентами трения. Скрипт приведен на рисунке 3.4.20.

Рисунок 3.4.20 Скрипт модели для задания параметров 7 демпферовРисунок 3.4.20 Скрипт модели для задания параметров 7 демпферов

Четвертый вектор содержит переходное значение T1. Как было показано выше, переходное значениеT1, при котором апереодическое звено второго порядка превращается в колебательное расчитывается по формуле T1 = 2хT2.

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

Рисунок 3.4.21 Настройка параметров блока для векторного расчетаРисунок 3.4.21 Настройка параметров блока для векторного расчета

Общая схема модели в этом случае будет выглядеть как показано на рисунке 3.4.22 Ступенчатое изменение силы передается в блок Размножитель, где преобразуется в вектор из 7 воздействий. Данный вектор передается в блок, где и происходит расчёт семи вариантов демпфера.

Рисунок 3.4.22 Схема модели 7-и демпферовРисунок 3.4.22 Схема модели 7-и демпферов

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

Рисунок 3.4.23 Перемещение 7 демпферов при ступенчатом воздействииРисунок 3.4.23 Перемещение 7 демпферов при ступенчатом воздействии

Характеристики ЛАХ и ФХЧ представлены на рисунке 3.4.24. Наглядно видно, как постепенно, при снижении коэффициента трения исчезают два излома на графике ЛАХ, и звено превращается в колебательное, о котором будем говорить в следующей части.

Рисунок 3.4.25 Частотные характеристики 7-и демпферовРисунок 3.4.25 Частотные характеристики 7-и демпферов

Модели с примерами для самостоятельного изучения можно взять по ссылке.

Предыдущая лекция Апереодическое звено первого порядка.

Подробнее..

Соглашение Эйнштейна и einsum

27.02.2021 14:17:14 | Автор: admin

Удивительное дело, но в русскоязычном сегменте интернета почти нет материала, разъясняющего понятным языком соглашение Эйнштейна о суммировании. Не менее удивительно то, что материалов, позволяющих понять принцип работы функции einsum в русскоязычном интернете ещё меньше. На английском есть довольно развёрнутый ответ о работе einsum на stack overflow, а на русском только некоторое число сайтов, предоставляющих кривой перевод этого самого ответа. Хочу исправить эту проблему с недостатком материалов, и всех, кому интересно приглашаю к прочтению!


Обсуждаем соглашение Эйнштейна

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

Соглашение: далее в статье объекты вида a_ix_i илиa_ix^i я буду называть термами.

О чём вообще соглашение Эйнштейна?

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

Правило 1: Суммирование ведётся по всем индексам, повторяющимся дважды в одном терме.

Пример: рассмотрим выражение следующего вида:

\sum_{i = 1}^3 a_ix_i = a_1x_1 + a_2x_2 + a_3x_3

С использованием соглашения Эйнштейна это выражение может быть переписано так:

a_ix_i \text{ или } a_ix^i

Таким образом мы избавляемся от знака суммы, и просто пишем единственный терм. Обратим внимание, что в этом терме индекс i повторяется дважды, а значит, в соответствие с первым правилом мы понимаем, что суммирование ведётся по индексу i, а точнее, по всем возможным значениям, которые принимает этот индекс.


Рассмотрим ещё один пример: пусть нам нужно умножить матрицу A \in \mathbb{R}^{m\times n} на вектор v \in \mathbb{R}^{n} . Результатом будет являться вектор b \in \mathbb{R}^{m} . По определению:

b_i = \sum\limits_{j = 1}^n A_{ij} v_j, ~ i = 1, \ldots, m

Соглашение Эйнштейна позволяет избавиться от знака суммы:

b_i = A_{ij}v_{j} = A_{ij}v^{j}

Заметим, что в терм индекс i входит один раз, а индекс j входит два раза, а значит, суммирование ведётся по индексу j.

Определение 1. Индекс, который входит в терм дважды, называется фиктивным индексом.

Определение 2. Свободным индексом назовём все индексы в терме, не являющие фиктивными.

Отметим, что каждый фиктивный индекс может быть заменён любым другим фиктивным индексом, при условии, что

  1. Новый фиктивный индекс не входит в множество свободных индексов терма.

  2. Новый фиктивный индекс принимает то же множество значений, что и старый фиктивный индекс.

Чтобы объяснить проще, рассмотрим следующий код на языке Python:

for i in range(M):    for j in range(N):        b[i, j] = A[i, j] * v[j]

Этот код кратко описывает процесс умножения матрицы на вектор, а точнее, этот пример. Здесь индекс j является фиктивным, а индекс i свободным. Суммирование в соглашении Эйнштейна ведётся по фиктивным индексам. Имя переменной j мы можем заменить на любое другое.

Правило 2. В каждом терме не может встречаться более двух одинаковых индексов.

Второе правило говорит нам, что мы можем написать a_{ij}b_{ij} , но не можем написать a_{ii}b_{ij} или a_{ij}b_{jj} , несмотря на то, что на практике такие выражения всё же имеют смысл.
Больше примеров:

a_i^i здесь i является фиктивным индексом, т.к. повторяется дважды;

a_i^{jj} здесь i является свободным индексом, а j фиктивным;

a_{ii}^{jj} здесь и i, и j являются фиктивными индексами;

a_{ij}^{ij} здесь и i, и j являются фиктивными индексами;

a_{ii}^{ij} не правильно по второму правилу (индекс i входит в терм трижды);

Из примеров выше можно заключить, что когда мы считаем число вхождений индексов в терм, мы не делаем разницы между верхними и нижними индексами, и считаем их вместе. Ещё один важный пример: когда мы видим выражение следующего вида

a_{ij}b_{i} + a_{ji}b_{j}

Мы должны понимать, что это выражение записано верно, и не противоречит второму правилу. Действительно, если посчитать все вхождения индексов, то получится, что индекс i входит 3 раза, как и индекс j, но в выражении записано два терма, а не один, и если посчитать вхождение индексов в каждый терм отдельно (как того и требует второе правило), то мы увидим, что ничего не нарушается.

Правило 3. В уравнениях, записанных с использованием соглашения Эйнштейна свободные индексы слева и свободные индексы справа должны совпадать.

Рассмотрим несколько примеров для закрепления этого правила:

b_i = A_{ij}v_{j} этот пример мы уже рассматривали выше, здесь i является свободным индексом левой части уравнения, и свободным индексом правой части уравнения;

a_i = A_{ki}B_{kj}x_{j} + C_{ik}u_{k} пример посложнее. Посчитаем вхождения индексов для каждого терма: в первый терм правой части k и j входят дважды, значит, они являются фиктивными индексами, i входит один раз, значит, является свободным. Во второй терм правой части k входит два раза, i один, значит, k фиктивный, i свободный. В левой части индекс i входит один раз, а значит, является свободным. Итог: индекс i является свободным для обеих частей уравнения, а значит, правило 3 выполнено.

Рассмотрим так же несколько примеров, в которых третье правило не выполняется:

x_i = A_{ij} слева i является свободным индексом, но справа свободны индексы i и j;

x_j=A_{ik}u_k слева свободен индекс j, но справа свободен индекс i. Свободные индексы не совпадают;

x_i = A_{ik}u_k + c_j здесь слева свободен индекс i, а справа свободны индексы i, j;

Пример упрощения сложного выражения с помощью соглашения Эйнштейна: тензорный поезд

Пусть A пятимерный тензор. Тогда утверждается, что он может быть представлен в следующем виде:

A_{i_1i_2i_3i_4i_5} = \sum_{j_4=1}^{R_4}\sum_{j_3=1}^{R_3}\sum_{j_2=1}^{R_2}\sum_{j_1=1}^{R_1}G^{(1)}_{i_1j_1}G^{(2)}_{j_1i_2j_2}G^{(3)}_{j_2i_3j_3}G^{(4)}_{j_3i_4j_4}G^{(5)}_{j_4i_5}

Там сейчас не очень важно, что из себя представляется каждая G^{(k)} , и что такое R_i . Наша задача сейчас исключительно синтаксическая игра. Нужно упростить выражение, особо не вникая в смысл происходящего.
Прежде всего видно, что свободными индексами являются i_1, i_2, i_3, i_4, i_5 , а фиктивными, соответственно индексы j_1, j_2, j_3, j_4 . Расположим индексы в соседних множителях так, чтобы в первом множителе индекс, по которому идёт суммирование, стоял снизу, а во втором тот же самый индекс стоял сверху. Так же заметим, что множителями являются тензоры G^{(k)} , и у них в верхнем регистре уже стоит (k) . Чтобы повысить читаемость, будем оборачивать множители в скобки, и только потом ставить индексы. Само же упрощённое выражение переписывается из исходного почти дословно:

A_{i_1i_2i_3i_4i_5}=\left(G^{(1)}\right)_{i_1j_1}\left(G^{(2)}\right)_{i_2j_2}^{j_1}\left(G^{(3)}\right)_{i_3j_3}^{j_2}\left(G^{(4)}\right)_{i_4j_4}^{j_3}\left(G^{(5)}\right)_{i_5}^{j_4}

Ура, мы научились упрощать сложные выражения с помощью соглашения Эйнштейна!

Обсуждаем einsum

einsum это функция, присутствующая в нескольких популярных библиотеках для Python (NumPy, TensorFlow, PyTorch). Во всех библиотеках, в которых эта функция реализована, она работает одинаково (с точностью до функционала структур, определённых в конкретной библиотеке), поэтому нет смысла рассматривать один и тот же пример в разных библиотеках, достаточно рассказать про einsum в одной конкретной библиотеке. Далее в статье я буду использовать NumPy. einsum применяет соглашение Эйнштейна о суммировании к переданным массивам. Функция принимает множество опционально аргументов, про них лучше почитать в документации, мы же сейчас разберём, как передавать шаблон, по которому функция будет применять соглашение Эйнштейна.

Рассмотрим сразу такой пример: пусть A \in \mathbb{R}^{3\times5} , B \in \mathbb{R}^{5\times2} две матрицы, и мы хотим их перемножить. Результатом будет матрица M \in \mathbb{R}^{3\times2} , которую мы можем записать следующим образом, используя определение матричного умножения и соглашение Эйнштейна:

M_{ij}=\sum_{k=1}^{5}A_{ik}B_{kj} = A_{ik}B_{kj}

Теперь пусть мы хотим перемножить их программно. Ну, это можно довольно просто сделать с помощью трёх вложенных циклов:

M = np.zeros((3, 2))for i in range(3):    for j in range(2):        for k in range(5):            M[i, j] = A[i, k] * B[k, j]

Либо, используя функцию einsum можно написать это произведение в одну строчку:

M = np.einsum("ik,kj->ij", A, B)

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

"{индексы, определяющие размерность первого массива},{индексы, определяющие размерность второго массива}->{индексы, определяющие размерность результирующего массива}"

Поведение шаблона einsum определяется следующими правилами:

  • Если один и тот же индекс встречается слева и справа от запятой (до стрелочки), то суммирование будет вестись по этому индексу;

  • Если после стрелочки ничего не написано, то суммирование произойдёт по всем встреченным осям;

  • Никакой индекс не должен встречаться 3 и более раз;

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

Рассмотрим теперь некоторое количество примеров разной степени сложности, чтобы закрепить понимание einsum:

Одна einsum, чтобы править всеми

Пример 1. Сумма всех значений вектора:

vector = np.array([1, 2, 3, 4, 5])result = np.einsum("i->", vector)print(result)
Output

15

Пример 2. Сумма всех значений матрицы:

matrix = np.array([[1, 2], [3, 4], [5, 6]])result = np.einsum("ij->", matrix)print(result)
Output

21

Пример 3. Сумма значений по столбцам:

matrix = np.array([[1, 2], [3, 4], [5, 6]])result = np.einsum("ij->j", matrix)print(result)
Output

[9, 12]

Пример 4. Сумма значений по строкам:

matrix = np.array([[1, 2], [3, 4], [5, 6]])result = np.einsum("ij->i", matrix)print(result)
Output

[3, 7, 11]

Пример 5. Транспонирование (я об этом не написал, но оси, по которым суммирования не произошло, мы можем возвращать в любом порядке):

matrix = np.array([[1, 2], [3, 4], [5, 6]])result = np.einsum("ij->ji", matrix)print(result)
Output

[[1, 3, 5], [2, 4, 6]]

Пример 6. Умножение матрицы на вектор:

matrix = np.array([[1, 2], [3, 4], [5, 6]])vector = np.array([[1, 2]])result = np.einsum("ij,kj->ik", matrix, vector)print(result)

Заметим, что вектор имеет форму 1 \times 2 , и чтобы умножить матрицу на него по правилам, его нужно было бы транспонировать. Однако с помощью einsum мы можем задать ось, по которой будет вестись суммирование, и немного выиграть по памяти, не создавая копию уже существующего вектора.

Output

[[5], [11], [17]]

Пример 7. Умножение матрицы на матрицу:

matrix1 = np.array([[1, 2], [3, 4], [5, 6]])matrix2 = np.array([[1, 0], [0, 1]])result = np.einsum("ik,kj->ij", matrix1, matrix2)print(result)
Output

[[1, 2], [3, 4], [5, 6]]

Пример 8. Скалярное произведение векторов:

vector1 = np.array([[1, 2, 3]])vector2 = np.array([[1, 1, 1]])result = np.einsum("ik,jk->", vector1, vector2)print(result)
Output

6

Пример 9. След матрицы:

matrix1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])result = np.einsum("ii->", matrix1)print(result)
Output

15

Пример 10. Адамарово (покомпонентное) произведение:

matrix1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])matrix2 = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])result = np.einsum("ij,ij->ij", matrix1, matrix2)print(result)

Это может показаться контринтутивно, но, как написано выше: если не понятно, что делает einsum запиши через циклы:

result = np.zeros(matrix1.shape, dtype="int32")for i in range(result.shape[0]):    for j in range(result.shape[1]):        result[i, j] += matrix1[i, j] * matrix2[i, j]print(result)
Output

[[1, 0, 0], [0, 5, 0], [0, 0, 9]]

Пример 11. Кронекерово (внешнее) произведение векторов:

vector1 = np.array([1, 2, 3])vector2 = np.array([1, 0, 0])result = np.einsum("i,j->ij", vector1, vector2)print(result)
Output

[[1, 0, 0], [2, 0, 0], [3, 0, 0]]

Пример 12. Транспонирование тензора:

A = np.array([[[0, 1], [1, 2], [2, 3]], [[1, 2], [2, 3], [3, 4]], [[2, 3], [3, 4], [4, 5]]])result = np.einsum("ijk->jki", A)print(result)
Output

[[[0, 1, 2], [1, 2, 3]], [[1, 2, 3], [2, 3, 4]], [[2, 3, 4], [3, 4, 5]]]

Пример 13. Произведение тензора на матрицу по третьей моде:

A = np.array([[[0, 1], [1, 2], [2, 3]], [[1, 2], [2, 3], [3, 4]], [[2, 3], [3, 4], [4, 5]]])U = np.array([[1, 2], [2, 3]])result = np.einsum("ijk,nk->ijn", A, U)print(result)
Output

[[[2, 3], [5, 8], [8, 13]], [[5, 8], [8, 13], [11. 18]], [[8, 13], [11, 18], [14, 23]]]

Итоги

Конечно, einsum поставляет только дополнительный синтаксический сахар. Всегда можно использовать цепочки вложенных циклов, множество библиотечных функций (np.dot, np.outer, np.tensordot, np.transpose, np.cumsum и т.д.), и вообще не использовать einsum. Но если потратить время и понять, как она работает, то можно научиться писать гораздо более сжатый, и, не побоюсь этого слова, эффективный код.

Ссылки

Ролик с примерами einsum (ещё больше примеров).

Соглашение Эйнштейна (база)

Соглашение Эйнштейна (продвинутая часть)

Подробнее..

Машина опорных векторов в 30 строчек

27.02.2021 16:15:57 | Автор: admin
В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть вам полезна.



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



Узнав, что на Хабре есть возможность вставлять медиаэлементы, я создал небольшое демо (если вдруг не сработает можно ещё попытать счастья с версией на гитхабе [1]). Поместите на плоскость (пространство двух фич $X$ и $Y$) несколько красных и синих точек (это наш датасет) и машина произведёт классификацию (каждая точка фона закрашивается в зависимости от того, куда был бы классифицирован соответствующий запрос). Подвигайте точки, поменяйте ядро (советую попробовать Radial Basis Functions) и твёрдость границы (константа $C$). Мои извинения за ужасный код на JS писал на нём всего несколько раз в жизни, чтобы разобраться в алгоритме используйте код на Python далее в статье.

Содержание



  • В следующем разделе я бегло опишу математическую постановку задачи обучения машины опорных векторов, к какой задаче оптимизации она сводится, а также некоторые гиперпараметры, позволяющие регулировать работу алгоритма. Этот материал лишь подводящий к нашей конечной цели и нужен чтобы вспомнить ключевые факты, если такое напоминание не требуется можете его пропустить без ущерба для понимания дальнейших частей. Если же вы ранее не сталкивались с машинами опорных векторов, то понадобиться куда более полное изложение обратите внимание на соответствующую лекцию уже ставшего классикой курса Воронцова [2] или на десятую лекцию курса [3], в которую, кстати, входит представленный ниже метод.
  • В разделе Алгоритм SMO я подробно расскажу как решить поставленную задачу минимизации упрощенным методом SMO и в чём, собственно, состоит упрощение. Будут выкладки, но их объём гораздо меньше, чем в тех подходах к SMO, что доводилось видеть мне.
  • Наконец, в разделе Реализация будет представлен код классификатора на Python и схема обучения в псевдокоде.
  • Узнать насколько алгоритм удался можно в разделе Сравнение с sklearn.svc.svm там приведено визуальное сравнение для небольших датасетов в 2D и confusion matrix для двух классов из MNIST.
  • А в Заключении что-нибудь да заключим.



Машина опорных векторов



Машина опорных векторов метод машинного обучения (обучение с учителем) для решения задач классификации, регрессии, детектирования аномалий и т.д. Мы рассмотрим ее на примере задачи бинарной классификации. Наша обучающая выборка набор векторов фич $\boldsymbol{x}_i$, отнесенных к одному из двух классов $y_i = \pm 1$. Запрос на классификацию вектор $\boldsymbol{x}$, которому мы должны приписать класс $+1$ или $-1$.

В простейшем случае классы обучающей выборки можно разделить проведя всего одну прямую как на рисунке (для большего числа фич это была бы гиперплоскость). Теперь, когда придёт запрос на классификацию некоторой точки $\boldsymbol{x}$, разумно отнести её к тому классу, на чьей стороне она окажется.

Как выбрать лучшую прямую? Интуитивно хочется, чтобы прямая проходила посередине между классами. Для этого записывают уравнение прямой как $\boldsymbol{x} \cdot \boldsymbol{w} + b = 0$ и масштабируют параметры так, чтобы ближайшие к прямой точки датасета удовлетворяли $\boldsymbol{x} \cdot \boldsymbol{w} + b = \pm 1$ (плюс или минус в зависимости от класса) эти точки и называют опорными векторами.

В таком случае расстояние между граничными точками классов равно $2/|\boldsymbol{w}|$. Очевидно, мы хотим максимизировать эту величину, чтобы как можно более качественно отделить классы. Последнее эквивалентно минимизации $\frac{1}{2} |\boldsymbol{w}|^2$, полностью задача оптимизации записывается

$ \begin{aligned} &\min \frac{1}{2} |\boldsymbol{w}|^2 \\ \text{subject to: } &y_i \left(\boldsymbol{x}_i \cdot \boldsymbol{w} + b\right) - 1 \geq 0. \end{aligned} $

Если её решить, то классификация по запросу $\boldsymbol{x}$ производится так

$ \text{class}(\boldsymbol{x}) = \text{sign}\left(\boldsymbol{x} \cdot \boldsymbol{w} + b\right). $

Это и есть простейшая машина опорных векторов.

А что делать в случае когда точки разных классов взаимно проникают как на рисунке?

Мы уже не можем решить предыдущую задачу оптимизации не существует параметров удовлетворяющих тем условиям. Тогда можно разрешить точкам нарушать границу на величину $\xi_i \geq 0$, но также желательно, чтобы таких нарушителей было как можно меньше. Этого можно достичь с помощью модификации целевой функции дополнительным слагаемым (регуляризация $L_1$):

$ \begin{aligned} &\min\left( \frac{1}{2} |\boldsymbol{w}|^2 + C \sum_i \xi_i \right)\\ \text{subject to: }&\xi_i + y_i \left(\boldsymbol{x}_i \cdot \boldsymbol{w} + b\right) - 1 \geq 0,\\ &\xi_i \geq 0, \end{aligned} $

а процедура классификации будет производиться как прежде. Здесь гиперпараметр $C$ отвечает за силу регуляризации, то есть определяет, насколько строго мы требуем от точек соблюдать границу: чем больше $C$ тем больше $\xi_i$ будет обращаться в ноль и тем меньше точек будут нарушать границу. Опорными векторами в таком случае называют точки, для которых $\xi_i > 0$.

А что если обучающая выборка напоминает логотип группы The Who и точки ни за что нельзя разделить прямой?

Здесь нам поможет остроумная техника трюк с ядром [4]. Однако, чтобы ее применить, нужно перейти к так называемой двойственной (или дуальной) задаче Лагранжа. Детальное ее описание можно посмотреть в Википедии [5] или в шестой лекции курса [3]. Переменные, в которых решается новая задача, называют дуальными или множителями Лагранжа. Дуальная задача часто проще изначальной и обладает хорошими дополнительными свойствами, например, она вогнута даже если изначальная задача невыпуклая. Хотя ее решение не всегда совпадает с решением изначальной задачи (разрыв двойственности), но есть ряд теорем, которые при определённых условиях гарантируют такое совпадение (сильная двойственность). И это как раз наш случай, так что можно смело перейти к двойственной задаче

$ \begin{aligned} &\max_{\lambda} \sum_{i=1}^n \lambda_i - \frac12 \sum_{i=1}^n \sum_{j=1}^n y_i y_j (\boldsymbol{x}_i \cdot \boldsymbol{x}_j) \lambda_i \lambda_j,\\ \text{subject to: } &0 \leq \lambda_i \leq C, \quad \mbox{ for } i=1, 2, \ldots, n,\\ &\sum_{i=1}^n y_i \lambda_i = 0, \end{aligned} $

где $\lambda_i$ дуальные переменные. После решения задачи максимизации требуется ещё посчитать параметр $b$, который не вошёл в двойственную задачу, но нужен для классификатора

$ b = \mathbb{E}_{k,\xi_k \neq 0}\left[y_k - \sum_i \lambda_i y_i (\boldsymbol{x}_i \cdot \boldsymbol{x}_k)\right]. $

Классификатор можно (и нужно) переписать в терминах дуальных переменных

$ \text{class}(\boldsymbol{x}) = \text{sign}(f(\boldsymbol{x})),\quad f(\boldsymbol{x}) = \sum_i \lambda_i y_i (\boldsymbol{x}_i \cdot \boldsymbol{x}) + b. $

В чём преимущество этой записи? Обратите внимание, что все векторы из обучающей выборки входят сюда исключительно в виде скалярных произведений $(\boldsymbol{x}_i \cdot \boldsymbol{x}_j)$. Можно сначала отобразить точки на поверхность в пространстве большей размерности, и только затем вычислить скалярное произведение образов в новом пространстве. Зачем это делать видно из рисунка.

При удачном отображении образы точек разделяются гиперплоскостью! На самом деле, всё ещё лучше: отображать-то и не нужно, ведь нас интересует только скалярное произведение, а не конкретные координаты точек. Так что всю процедуру можно эмулировать, заменив скалярное произведение функцией $K(\boldsymbol{x}_i; \boldsymbol{x}_j)$, которую называют ядром. Конечно, быть ядром может не любая функция должно хотя бы гипотетически существовать отображение $\varphi$, такое что $K(\boldsymbol{x}_i; \boldsymbol{x}_j)=(\varphi(\boldsymbol{x}_i) \cdot \varphi(\boldsymbol{x}_j))$. Необходимые условия определяет теорема Мерсера [6]. В реализации на Python будут представлены линейное ($K(\boldsymbol{x}_i; \boldsymbol{x}_j) = \boldsymbol{x}_i^T \boldsymbol{x}_j$), полиномиальное ($K(\boldsymbol{x}_i; \boldsymbol{x}_j) = (\boldsymbol{x}_i^T \boldsymbol{x}_j)^d$) ядра и ядро радиальных базисных функций ($K(\boldsymbol{x}_i; \boldsymbol{x}_j) = e^{-\gamma |\boldsymbol{x}_i - \boldsymbol{x}_j|^2}$). Как видно из примеров, ядра могут привносить свои специфические гиперпараметры в алгоритм, что тоже будет влиять на его работу.

Возможно, вы видели видео, где действие гравитации поясняют на примере натянутой резиновой пленки в форме воронки [7]. Это работает, так как движение точки по искривленной поверхности в пространстве большой размерности эквивалентно движению её образа в пространстве меньшей размерности, если снабдить его нетривиальной метрикой. Фактически, ядро искривляет пространство.


Алгоритм SMO



Итак, мы у цели, осталось решить дуальную задачу, поставленную в предыдущем разделе

$ \def\M{{\color{red}M}} \def\L{{\color{blue}L}} \begin{aligned} &\max_{\lambda} \sum_{i=1}^n \lambda_i - \frac12 \sum_{i=1}^n \sum_{j=1}^n y_i y_j K(\boldsymbol{x}_i; \boldsymbol{x}_j) \lambda_i \lambda_j,\\ \text{subject to: } &0 \leq \lambda_i \leq C, \quad \mbox{ for } i=1, 2, \ldots, n,\\ &\sum_{i=1}^n y_i \lambda_i = 0, \end{aligned} $

после чего найти параметр

$ b = \mathbb{E}_{k,\xi_k \neq 0}[y_k - \sum_i \lambda_i y_i K(\boldsymbol{x}_i; \boldsymbol{x}_k)], \tag{1} $

а классификатор примет следующий вид

$ \text{class}(\boldsymbol{x}) = \text{sign}(f(\boldsymbol{x})),\quad f(\boldsymbol{x}) = \sum_i \lambda_i y_i K(\boldsymbol{x}_i; \boldsymbol{x}) + b. \tag{2} $

Алгоритм SMO (Sequential minimal optimization, [8]) решения дуальной задачи заключается в следующем. В цикле при помощи сложной эвристики ([9]) выбирается пара дуальных переменных $\lambda_\M$ и $\lambda_\L$, а затем по ним минимизируется целевая функция, с условием постоянства суммы $inline$y_\M\lambda_\M + y_\L\lambda_\L$inline$ и ограничений $0 \leq \lambda_\M \leq C$, $0 \leq \lambda_\L \leq C$ (настройка жёсткости границы). Условие на сумму сохраняет сумму всех $y_i\lambda_i$ неизменной (ведь остальные лямбды мы не трогали). Алгоритм останавливается, когда обнаруживает достаточно хорошее соблюдение так называемых условий ККТ (Каруша-Куна-Такера [10]).

Я собираюсь сделать несколько упрощений.
  • Откажусь от сложной эвристики выбора индексов (так сделано в курсе Стэнфордского университета [11]) и буду итерировать по одному индексу, а второй выбирать случайным образом.
  • Откажусь от проверки ККТ и буду выполнять наперёд заданное число итераций.
  • В самой процедуре оптимизации, в отличии от классической работы [9] или стэнфордского подхода [11], воспользуюсь векторным уравнением прямой. Это существенно упростит выкладки (сравните объём [12] и [13]).

Теперь к деталям. Информацию из обучающей выборки можно записать в виде матрицы

$ \boldsymbol{K} = \begin{pmatrix} y_1 y_1 K(\boldsymbol{x}_1; \boldsymbol{x}_1) & y_1 y_2 K(\boldsymbol{x}_1; \boldsymbol{x}_2) & \dots & y_1 y_N K(\boldsymbol{x}_1; \boldsymbol{x}_N) \\ y_2 y_1 K(\boldsymbol{x}_2; \boldsymbol{x}_1) & y_2 y_2 K(\boldsymbol{x}_2; \boldsymbol{x}_2) & \dots & y_2 y_N K(\boldsymbol{x}_2; \boldsymbol{x}_N) \\ \cdots & \cdots & \cdots & \cdots \\ y_N y_1 K(\boldsymbol{x}_N; \boldsymbol{x}_1) & y_N y_2 K(\boldsymbol{x}_N; \boldsymbol{x}_2) & \dots & y_N y_N K(\boldsymbol{x}_N; \boldsymbol{x}_N) \\ \end{pmatrix}. \tag{3} $

В дальнейшем я буду использовать обозначение с двумя индексами ($\boldsymbol{K}_{i,j}$), чтобы обратиться к элементу матрицы и с одним индексом ($\boldsymbol{K}_{k}$) для обозначения вектора-столбца матрицы. Дуальные переменные соберём в вектор-столбец $\boldsymbol{\lambda}$. Нас интересует

$ \max_{\boldsymbol{\lambda}} \underbrace{ \sum_{i=1}^n \lambda_i - \frac12 \boldsymbol{\lambda}^T \boldsymbol{K} \boldsymbol{\lambda} }_{\mathscr{L}}. $

Допустим, на текущей итерации мы хотим максимизировать целевую функцию по индексам $\L$ и $\M$. Мы будем брать производные, поэтому удобно выделить слагаемые, содержащие индексы $\L$ и $\M$. Это просто сделать в части с суммой $\lambda_i$, а вот квадратичная форма потребует несколько преобразований.

При расчёте $\boldsymbol{\lambda}^T \boldsymbol{K} \boldsymbol{\lambda}$ суммирование производится по двум индексам, пускай $i$ и $j$. Выделим цветом пары индексов, содержащие $\L$ или $\M$.



Перепишем задачу, объединив всё, что не содержит $\lambda_\L$ или $\lambda_\M$. Чтобы было легче следить за индексами, обратите внимание на $\boldsymbol{K}$ на изображении.

$$display$$ \begin{aligned} \mathscr{L} &= \lambda_\M + \lambda_\L - \sum_{j} \lambda_\M \lambda_j K_{\M,j} - \sum_{i} \lambda_\L \lambda_i K_{\L,i} + \text{const} + \\ {\text{компенсация}\atop\text{двойного подсчета}} \rightarrow\qquad &+ \frac{1}{2}\lambda_\M^2 K_{\M,\M} + \lambda_\M \lambda_\L K_{\M,\L} + \frac{1}{2}\lambda_\L^2 K_{\L,\L} = \\ &= \lambda_\M \left(1-\sum_{j} \lambda_j K_{\M,j}\right) + \lambda_\L \left(1-\sum_{i} \lambda_i K_{\L,i}\right)+\\ &+\frac{1}{2}\left(\lambda_\M^2 K_{\M,\M} + 2 \lambda_\M \lambda_\L K_{\M,\L}+\lambda_\L^2 K_{\L,\L} \right) + \text{const} = \\ &=\boldsymbol{k}^T_0 \boldsymbol{v}_0 + \frac{1}{2}\boldsymbol{v}^{\,T}_0 \, \boldsymbol{Q} \, \boldsymbol{v}_0 + \text{const}, \end{aligned} $$display$$

где $\text{const}$ обозначает слагаемые, не зависящие от $\lambda_\L$ или $\lambda_\M$. В последней строке я использовал обозначения

$$display$$ \begin{align} \boldsymbol{v}_0 &= (\lambda_\M, \lambda_\L)^T, \tag{4a}\\ \boldsymbol{k}_0 &= \left(1 - \boldsymbol{\lambda}^T\boldsymbol{K}_{\M}, 1 - \boldsymbol{\lambda}^T\boldsymbol{K}_{\L}\right)^T, \tag{4b}\\ \boldsymbol{Q} &= \begin{pmatrix} K_{\M,\M} & K_{\M,\L} \\ K_{\L,\M} & K_{\L,\L} \\ \end{pmatrix},\tag{4c}\\ \boldsymbol{u} &= (-y_\L, y_\M)^T. \tag{4d} \end{align} $$display$$

Обратите внимание, что $\boldsymbol{k}_0 + \boldsymbol{Q} \boldsymbol{v}_0$ не зависит ни от $\lambda_\L$, ни от $\lambda_\M$

$$display$$ \boldsymbol{k}_0 = \begin{pmatrix} 1 - \lambda_\M K_{\M,\M} - \lambda_\L K_{\M,\L} - \sum_{i \neq \M,\L} \lambda_i K_{\M,i}\\ 1 - \lambda_\M K_{\L,\M} - \lambda_\L K_{\L,\L} - \sum_{i \neq \M,\L} \lambda_i K_{\L,i}\\ \end{pmatrix} = \begin{pmatrix} 1 - \sum_{i \neq \M,\L} \lambda_i K_{\M,i}\\ 1 - \sum_{i \neq \M,\L} \lambda_i K_{\L,i}\\ \end{pmatrix} - \boldsymbol{Q} \boldsymbol{v}_0. $$display$$

Ядро симметрично, поэтому $\boldsymbol{Q}^T = \boldsymbol{Q}$ и можно записать

$ \mathscr{L} = (\boldsymbol{k}_0 + \boldsymbol{Q} \boldsymbol{v}_0 - \boldsymbol{Q} \boldsymbol{v}_0)^T \boldsymbol{v}_0 + \frac{1}{2}\boldsymbol{v}^{\,T}_0 \, \boldsymbol{Q} \, \boldsymbol{v}_0 + \text{const} = (\boldsymbol{k}_0 + \boldsymbol{Q} \boldsymbol{v}_0)^T \boldsymbol{v}_0 - \frac{1}{2} \boldsymbol{v}^{\,T}_0 \, \boldsymbol{Q} \, \boldsymbol{v}_0 + \text{const} $

Мы хотим выполнить максимизацию так, чтобы $inline$y_\L\lambda_\L + y_\M\lambda_\M$inline$ осталось постоянным. Для этого новые значения должны лежать на прямой

$$display$$ (\lambda_\M^\text{new}, \lambda_\L^\text{new})^T = \boldsymbol{v}(t) = \boldsymbol{v}_0 + t \boldsymbol{u}. $$display$$

Несложно убедиться, что для любого $t$

$$display$$ y_\M\lambda_\M^\text{new} + y_\L\lambda_\L^\text{new} = y_\M \lambda_\M + y_\L \lambda_\L + t (-y_\M y_\L + y_\L y_\M) = y_\M\lambda_\M + y_\L\lambda_\L. $$display$$

В таком случае мы должны максимизировать

$ \mathscr{L}(t) = (\boldsymbol{k}_0 + \boldsymbol{Q} \boldsymbol{v}_0)^T \boldsymbol{v}(t) - \frac12 \boldsymbol{v}^{\,T}(t) \, \boldsymbol{Q} \, \boldsymbol{v}(t) + \text{const}, $

что легко сделать взяв производную

$ \begin{align} \frac{d \mathscr{L}(t)}{d t} = (\boldsymbol{k}_0 + \boldsymbol{Q} \boldsymbol{v}_0)^T \frac{d \boldsymbol{v}}{dt} &- \frac12 \left(\frac{d(\boldsymbol{v}^{\,T} \, \boldsymbol{Q} \, \boldsymbol{v})}{d \boldsymbol{v}}\right)^T \frac{d\boldsymbol{v}}{d t} =\\ &= \boldsymbol{k}_0^T \boldsymbol{u} + \underbrace{\boldsymbol{v}_0^T \boldsymbol{Q}^T \boldsymbol{u} - \boldsymbol{v}^T \boldsymbol{Q}^T \boldsymbol{u}}_{(\boldsymbol{v}_0^T - \boldsymbol{v}^T)\boldsymbol{Q} \boldsymbol{u}} = \boldsymbol{k}_0^T \boldsymbol{u} - t \boldsymbol{u}^T \boldsymbol{Q} \boldsymbol{u}. \end{align} $

Приравнивая производную к нулю, получим

$ t_* = \frac{\boldsymbol{k}^T_0 \boldsymbol{u}}{\boldsymbol{u}^{\,T} \boldsymbol{Q} \boldsymbol{u}}. \tag{5} $

И ещё одно: возможно мы заберёмся дальше чем нужно и окажемся вне квадрата как на картинке. Тогда нужно сделать шаг назад и вернуться на его границу

$$display$$ (\lambda_\M^\text{new}, \lambda_\L^\text{new}) = \boldsymbol{v}_0 + t_*^{\text{restr}} \boldsymbol{u}. $$display$$

На этом итерация завершается и выбираются новые индексы.


Реализация



Принципиальную схему обучения упрощённой машины опорных векторов можно записать как



Давайте посмотрим на код на реальном языке программирования. Если вы не любите код в статьях, можете изучить его на гитхабе [14].

Исходный код упрощённой машины опорных векторов
import numpy as npclass SVM:  def __init__(self, kernel='linear', C=10000.0, max_iter=100000, degree=3, gamma=1):    self.kernel = {'poly'  : lambda x,y: np.dot(x, y.T)**degree,         'rbf': lambda x,y: np.exp(-gamma*np.sum((y-x[:,np.newaxis])**2,axis=-1)),         'linear': lambda x,y: np.dot(x, y.T)}[kernel]    self.C = C    self.max_iter = max_iter  # ограничение параметра t, чтобы новые лямбды не покидали границ квадрата  def restrict_to_square(self, t, v0, u):     t = (np.clip(v0 + t*u, 0, self.C) - v0)[1]/u[1]    return (np.clip(v0 + t*u, 0, self.C) - v0)[0]/u[0]  def fit(self, X, y):    self.X = X.copy()    # преобразование классов 0,1 в -1,+1; для лучшей совместимости с sklearn    self.y = y * 2 - 1     self.lambdas = np.zeros_like(self.y, dtype=float)    # формула (3)    self.K = self.kernel(self.X, self.X) * self.y[:,np.newaxis] * self.y        # выполняем self.max_iter итераций    for _ in range(self.max_iter):      # проходим по всем лямбда       for idxM in range(len(self.lambdas)):                                            # idxL выбираем случайно        idxL = np.random.randint(0, len(self.lambdas))                                 # формула (4с)        Q = self.K[[[idxM, idxM], [idxL, idxL]], [[idxM, idxL], [idxM, idxL]]]         # формула (4a)        v0 = self.lambdas[[idxM, idxL]]                                                # формула (4b)        k0 = 1 - np.sum(self.lambdas * self.K[[idxM, idxL]], axis=1)                   # формула (4d)        u = np.array([-self.y[idxL], self.y[idxM]])                                    # регуляризированная формула (5), регуляризация только для idxM = idxL        t_max = np.dot(k0, u) / (np.dot(np.dot(Q, u), u) + 1E-15)         self.lambdas[[idxM, idxL]] = v0 + u * self.restrict_to_square(t_max, v0, u)        # найти индексы опорных векторов    idx, = np.nonzero(self.lambdas > 1E-15)     # формула (1)    self.b = np.mean((1.0-np.sum(self.K[idx]*self.lambdas, axis=1))*self.y[idx])     def decision_function(self, X):    return np.sum(self.kernel(X, self.X) * self.y * self.lambdas, axis=1) + self.b  def predict(self, X):     # преобразование классов -1,+1 в 0,1; для лучшей совместимости с sklearn    return (np.sign(self.decision_function(X)) + 1) // 2



При создании объекта класса SVM можно указать гиперпараметры. Обучение производится вызовом функции fit, классы должны быть указаны как $0$ и $1$ (внутри конвертируются в $-1$ и $+1$, сделано для большей совместимости с sklearn), размерность вектора фич допускается произвольной. Для классификации используется функция predict.


Сравнение с sklearn.svm.SVC



Не то, чтобы данное сравнение имело особый смысл, ведь речь идёт о крайне упрощённом алгоритме, разработанном исключительно в целях обучения студентов, но всё же. Для тестирования (и чтобы посмотреть как этим всем пользоваться) можно выполнить следующее (этот код тоже есть на гитхаб [14])

Сравнение с sklearn.svm.SVC на простом двумерном датасете
from sklearn.svm import SVCimport matplotlib.pyplot as pltimport seaborn as sns; sns.set()from sklearn.datasets import make_blobs, make_circlesfrom matplotlib.colors import ListedColormapdef test_plot(X, y, svm_model, axes, title):  plt.axes(axes)  xlim = [np.min(X[:, 0]), np.max(X[:, 0])]  ylim = [np.min(X[:, 1]), np.max(X[:, 1])]  xx, yy = np.meshgrid(np.linspace(*xlim, num=700), np.linspace(*ylim, num=700))  rgb=np.array([[210, 0, 0], [0, 0, 150]])/255.0    svm_model.fit(X, y)  z_model = svm_model.decision_function(np.c_[xx.ravel(), yy.ravel()]).reshape(xx.shape)    plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')  plt.contour(xx, yy, z_model, colors='k', levels=[-1, 0, 1], alpha=0.5, linestyles=['--', '-', '--'])  plt.contourf(xx, yy, np.sign(z_model.reshape(xx.shape)), alpha=0.3, levels=2, cmap=ListedColormap(rgb), zorder=1)  plt.title(title)X, y = make_circles(100, factor=.1, noise=.1)fig, axs = plt.subplots(nrows=1,ncols=2,figsize=(12,4))test_plot(X, y, SVM(kernel='rbf', C=10, max_iter=60, gamma=1), axs[0], 'OUR ALGORITHM')test_plot(X, y, SVC(kernel='rbf', C=10, gamma=1), axs[1], 'sklearn.svm.SVC')X, y = make_blobs(n_samples=50, centers=2, random_state=0, cluster_std=1.4)fig, axs = plt.subplots(nrows=1,ncols=2,figsize=(12,4))test_plot(X, y, SVM(kernel='linear', C=10, max_iter=60), axs[0], 'OUR ALGORITHM')test_plot(X, y, SVC(kernel='linear', C=10), axs[1], 'sklearn.svm.SVC')fig, axs = plt.subplots(nrows=1,ncols=2,figsize=(12,4))test_plot(X, y, SVM(kernel='poly', C=5, max_iter=60, degree=3), axs[0], 'OUR ALGORITHM')test_plot(X, y, SVC(kernel='poly', C=5, degree=3), axs[1], 'sklearn.svm.SVC')



После запуска будут сгенерированы картинки, но так как алгоритм рандомизированный, то они будут слегка отличаться для каждого запуска. Вот пример работы упрощённого алгоритма (слева направо: линейное, полиномиальное и rbf ядра)

А это результат работы промышленной версии машины опорных векторов.

Если размерность $2$ кажется слишком маленькой, то можно ещё протестировать на MNIST

Сравнение с sklearn.svm.SVC на 2-х классах из MNIST
from sklearn import datasets, svmfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import confusion_matriximport matplotlib.pyplot as pltimport seaborn as snsclass_A = 3class_B = 8digits = datasets.load_digits()mask = (digits.target == class_A) | (digits.target == class_B)data = digits.images.reshape((len(digits.images), -1))[mask]target = digits.target[mask] // max([class_A, class_B]) # rescale to 0,1X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.5, shuffle=True)def plot_confusion(clf):  clf.fit(X_train, y_train)  y_fit = clf.predict(X_test)  mat = confusion_matrix(y_test, y_fit)  sns.heatmap(mat.T, square=True, annot=True, fmt='d', cbar=False, xticklabels=[class_A,class_B], yticklabels=[class_A,class_B])  plt.xlabel('true label')  plt.ylabel('predicted label');  plt.show()print('sklearn:')plot_confusion(svm.SVC(C=1.0, kernel='rbf', gamma=0.001))print('custom svm:')plot_confusion(SVM(kernel='rbf', C=1.0, max_iter=60, gamma=0.001))



Для MNIST я попробовал несколько случайных пар классов (упрощённый алгоритм поддерживает только бинарную классификацию), но разницы в работе упрощённого алгоритма и sklearn не обнаружил. Представление о качестве даёт следующая confusion matrix.




Заключение



Спасибо всем, кто дочитал до конца. В этой статье мы рассмотрели упрощённую учебную реализацию машины опорных векторов. Конечно, она не может состязаться с промышленным образцом, но благодаря крайней простоте и компактному коду на Python, а также тому, что все основные идеи SMO были сохранены, эта версия SVM вполне может занять своё место в учебной аудитории. Стоит отметить, что алгоритм проще не только весьма мудрёного алгоритма [9], но даже его упрощённой версии от Стэнфордского университета [11]. Все-таки машина опорных векторов в 30 строчках это красиво.

Список литературы



  1. https://fbeilstein.github.io/simplest_smo_ever/
  2. страница на http://www.machinelearning.ru
  3. Начала Машинного Обучения, КАУ
  4. https://en.wikipedia.org/wiki/Kernel_method
  5. https://en.wikipedia.org/wiki/Duality_(optimization)
  6. Статья на http://www.machinelearning.ru
  7. https://www.youtube.com/watch?v=MTY1Kje0yLg
  8. https://en.wikipedia.org/wiki/Sequential_minimal_optimization
  9. Platt, John. Fast Training of Support Vector Machines using Sequential Minimal Optimization, in Advances in Kernel Methods Support Vector Learning, B. Scholkopf, C. Burges, A. Smola, eds., MIT Press (1998).
  10. https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions
  11. http://cs229.stanford.edu/materials/smo.pdf
  12. https://www.researchgate.net/publication/344460740_Yet_more_simple_SMO_algorithm
  13. http://fourier.eng.hmc.edu/e176/lectures/ch9/node9.html
  14. https://github.com/fbeilstein/simplest_smo_ever
Подробнее..

Запрограммировано ли старение? Разбираем доказательства

22.02.2021 20:07:34 | Автор: admin

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

"Ничто в биологии не имеет смысла, кроме как в свете эволюции"

Добржанский Феодосий Григорьевич

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

Моделирование численности популяций нестареющих хищников и жертв.Моделирование численности популяций нестареющих хищников и жертв.

Когда старения нет минимальная и максимальная численность обоих видов разнится на два порядка и довольно долгое время численность популяции находится возле нуля: малейшая флуктуация - и оба вида исчезнут! А теперь взглянем на результаты симуляции, где присутствует старение "не-хищников" и старые особи представляют более легкую добычу:

Моделирование численности популяций хищников и стареющих жертв.Моделирование численности популяций хищников и стареющих жертв.

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

Модель Лотки-Вольтерры

"В сущности, все модели неправильны, но некоторые полезны"

Джордж Бокс

В 1925 году Лотка (и независимо от него в 1926 году Вольтерра) предложил модель взаимодействия двух видов типа хищник жертва, которая с успехом применяется и сейчас во многих задачах. Модель представляют собой простую систему дифференциальных уравнений и во многом похожа на ставшую печально известной в последнее время эпидемиологическую модель SIR (про которую можно почитать, например, тут).

\frac{dx}{dt} = \alpha x - \beta xy \frac{dy}{dt} = \delta xy - \gamma y
  • x численность жертв (травоядных);

  • y численность хищников;

  • скорость роста популяции жертв;

  • вероятность того, что жертва будет съедена хищником при контакте;

  • 1/ имеет смысл среднего времени до голодной смерти хищника;

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

Оставим пока хищников в покое и рассмотрим уравнение для жертв. Как будет выглядеть динамика их численности при условии, что все хищники куда-то внезапно исчезли (y=0)?

А вот как:

\frac{dx}{dt} = \alpha x => x(t) = Сe^{\alpha t}

То есть численность "не-хищников" по этой модели растет по экспоненте! И действительно, модель Лотки-Вольтерры предполагает что в распоряжении жертв неограниченные ресурсы (например, пища). Однако в реальности все совсем не так.

Логистическая модель роста

Вот как, например, выглядит рост численности популяции инфузорий туфелек (Paramecium):

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

Чем же обусловлено такое замедление? Существуют, как минимум, две группы факторов: механистические и адаптивные (генетические).

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

  • Ко второй группе факторов можно отнести генетические адаптации: у мышей, например, в гипоталамусе обнаружили специальные нейроны, которые "отключают" репродуктивную функцию. Скорее всего, такие нейроны есть и у людей, потому что при экстремальной потере жировой массы женщины временно теряют фертильность. Снижение фертильности при голодании наблюдается и у более простых организмов [еще].

Подробнее про логистическую функцию

Логистическая функция является решением следующего дифференциального уравнения:

\frac{dx}{dt} = \frac{(T - x) x}{T}

Давайте поймем в чем физический смысл этого уравнения. Пусть x(t) - это функция роста численности некоей популяции от времени, тогда dx/dt - это скорость роста популяции. Понятно, что скорость роста зависит от того, сколько уже особей существует (просто потому что количество детей зависит от количества родителей). Но еще она зависит от множителя (T - x), где T - это некий предел численности популяции, который может обеспечить среда. Когда x = T, то dx/dt = 0, то скорость роста популяции нулевая независимо от того сколько уже особей есть на данный момент). Когда T намного больше x, то функция похожа на экспоненту, но по мере приближения x к T функция становится все более пологой. Это, кстати, похоже на динамику эпидемий и, действительно, рост числа новых случаев COVID-19 неплохо описывается таким простым дифференциальным уравнением. А все почему? Да потому что даже без ограничительных мер вследствие иммунитета (или смерти) у вируса остается все меньше свободных переносчиков для распространения и поэтому скорость распространения падает.

Давайте попробуем решить это уравнение:

T \int \frac{dx}{(T - x)x} = \int dtT \int \frac{dx}{(T - x)x} = \int (\frac{1}{T - x} + \frac{1}{x}) = -ln|T - x| + ln|x| + C_1ln| \frac{x}{T - x}| = t + C_2 => \frac{x}{T - x} = e^{t+C_2} => x = Ce^t(T - x)

Если мы будем рассматривать только значения x(t) >= 0, то можно избавиться от модуля и после несложных алгебраических манипуляций получим:

x = Ce^t(T - x) => x(1 + Ce^t) = CTe^t => x(t) = \frac{CTe^t}{1 + Ce^t} = \frac{CT}{e^{-t}+C}

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

Итак, чтобы учитывать логистический рост популяции "не-хищников", я переписал первое уравнение Лотки-Вольтерры в следующем виде:

\frac{dx}{dt} = \alpha (1 - \frac{x}{T})x - \beta xy

И вот какую динамику популяций мне удалось получить:

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

Есть и другая точка зрения на то, почему эволюция могла привести к закреплению программы старения:

Но в итоге эти виды, когда это преимущество уже закреплялось в генах достаточно большого количества особей, вымирали из-за голода, вызванного перенаселением, от которого такой вид страдал хотя бы один раз в течение миллионов лет эволюции. А избежали вымирания только те виды, в которых групповой отбор закрепил достаточное количество дублирующих механизмов старения, и те, которые научились пережидать голодные времена в виде спор или затаившихся яиц как нестареющая гидра. http://personeltest.ru/aways/habr.com/ru/post/405101/

Но спасает ли старение от перенаселения? Давайте рассмотрим простейший пример: пусть у нас есть бактерия, которая умирает от старения через 2 деления. Похожим образом стареют пекарские дрожжи Saccharomyces cerevisiae: от материнской клетки отпочковывается дочерняя клетка, которой достаются самые хорошие органеллы, а все плохие органеллы и клеточный мусор остаются в материнской клетке, которая через несколько десятков таких делений умирает. У дрожжей есть еще хронологическое старение, но это отдельная история.

Так как же будет выглядеть рост популяции в нашей простейшей модели очень быстрого старения? А вот как (см. рисунок внизу для пояснения):

  1. 1 бактерия

  2. 2 бактерии

  3. 4 бактерии - 1 умершая от старости = 3

  4. 6 бактерий - 1 умершая от старости = 5

  5. 10 бактерий - 2 умерших от старости = 8

  6. 16 бактерий - 3 умерших от старости = 13

  7. ...

Светлые кружочки - молодые бактерии, наполовину черные - старые, полностью черные - мертвыеСветлые кружочки - молодые бактерии, наполовину черные - старые, полностью черные - мертвые

1 2 3 5 8 13... Да это же последовательность чисел Фибоначчи (каждое число равно сумме двух предыдущих)! Но это в свою очередь означает, что старение никак не ограничивает экспоненциальный рост популяции, потому что последовательность Фибоначчи растет по экспоненте. Поэтому эволюция никак не могла прийти к программе старения с этой целью, но она вполне могла прийти к механизмам ограничения размножения, что ученые и обнаружили у мышей.

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

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

Подытожим:

  1. Гипотетическая программа старения вредит индивидуальному отбору и НЕ дает никаких ощутимых преимуществ при групповом отборе (который до сих пор не является общепризнанным).

  2. Гипотеза запрограммированного старения нарушает принцип бритвы Оккама: постулируется новая сущность без надобности (см. пункт 1).

  3. До сих пор не найдено ни намека на генетическую программу старения у млекопитающих хотя другие генетические программы давно найдены (например, вышеупомянутая программа отключения фертильности)

  4. Самое главное: не существует примеров взломов "программы старения" внутри одного вида. Если есть программа, значит, чисто статистически должны быть особи, у которых она ломается со временем. Например, у каждой клеточки нашего организма есть программа самоубийства (апоптоза), но она с завидной регулярностью ломается, что служит одним из механизмов патогенеза онкологических заболеваний. Где среди 7 миллиардов людей нестареющие мутанты с отключенной программой старения!? Ведь ожидаемая продолжительность жизни таких людей должна составлять как минимум сотни лет.

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

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

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

Подробнее..

Перевод Новые квантовые алгоритмы, совершившие прорыв в нелинейных уравнениях

08.02.2021 20:16:10 | Автор: admin

Привет, Хабр. Для будущих студентов курса Математика для Data Science подготовили перевод интересного материала.

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


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

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

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

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

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

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

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

Цена хаоса

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

Мы уже пытались работать над этим раньше, говорит Берри. Но это было весьма малоэффективно.

Эндрю Чайлдс из Мэрилендского университета возглавил одну из двух попыток позволить квантовым компьютерам лучше моделировать нелинейную динамику. Алгоритм его команды превратил эти хаотические системы в массив более понятных линейных уравнений с помощью техники, называемой линеаризацией Карлемана.

Джон Т. Консоли / Мэрилендский университет

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

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

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

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

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

Алгоритм Массачусетского Технологического Института имитирует это нелинейное явление на квантовом компьютере, используя математику Бозе-Эйнштейна для соединения нелинейности и линейности. Таким образом, работая с симуляцией псевдо-конденсата Бозе-Эйнштейна, создаваемой под нелинейную задачу, этот алгоритм выводит полезную линейную аппроксимацию. Дайте мне ваше любимое нелинейное дифференциальное уравнение, и я построю вам конденсат Бозе-Эйнштейна, который будет его моделировать, говорит Тобиас Осборн, специалист по квантовой информатике из Ганноверского Университета имени Лейбница, не связанный ни с одним изисследований. Это идея, которая мне очень понравилась.

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

NIST

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

Осознание своих пределов

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

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

Исследование Чайлдса математически строго. Он дает очень четкое представление о том, когда оно сработает, а когда не сработает, говорит Осборн. Я думаю, это действительно очень интересно. Это фундаментальный вклад.

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

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

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


Узнать подробнее о курсе Математика для Data Science.

Записаться на открытый вебинар на тему Статистическая зависимость.

Подробнее..

Число Рамсея R(5,5) 43

13.02.2021 16:10:43 | Автор: admin

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

Для начала, что изображено на картинке? Однозначного математического ответа на этот вопрос нет: с геометрической точки зрения это ортогональные проекции пятиячейника на плоскости Коксетера A2 и A4, а с точки зрения теории графов диаграммы K4 и K5.

Геометрия нагляднее, интуитивнее и потому гораздо проработаннее остальной математики, поэтому своё R(5,5) в ней давно нашли: этой публикацией доказано, что существует ровно 39 компактных арифметических групп треугольников общего вида и 4 паракомпактных группы прямоугольных треугольников, что в сумме даёт искомое 43 произвольный пятиячейник не может быть однозначно определён меньшим количеством групп, а необходимости в уточнении паракомпактных групп компактными нет. Собственно, на этом доказательство можно считать оконченным, так что дальше я буду лить воду на мельницу теории графов, брюзжать и рассказывать как до всего этого докатился.

С чего всё началось

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

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

Используемые определения:

(Простой неориентированный) граф это пара множеств (V, E) (множество вершин и множество рёбер), причём E {{v1, v2} | v1, v2 V, v v2}.

Диаграмма графа наглядное изображение графа, на котором вершины графа изображаются точками, а рёбра линиями, соединяющими между собой точки.

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

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

Полный граф Kg граф имеющий g вершин, в котором каждая пара различных вершин смежна, то есть соединена ребром.

Подграф граф, содержащий некое подмножество вершин исходного графа и некое подмножество инцидентных им рёбер.

Полный подграф подграф, каждая пара вершин которого соединена ребром исходного графа.

Раскраска графа разбиение вершин или рёбер графа на множества (называемые цветами).

(Двухцветное) число Рамсея R(n,m) минимальное число вершин графа, двухцветная раскраска рёбер которого содержит либо полный подграф из n вершин одного цвета, либо полный подграф из m вершин другого цвета.

Таблица значений и оценок чисел Рамсея:

Формальное определение графа это математическая заумь и требует дополнительных разъяснений.

Понятнее всего граф с геометрической точки зрения: достаточно задать на плоскости наборы точек, например A,B,C,D и соединяющих их отрезков, например AB, AC, BC, CD это и будет граф.

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

Ход решения

Числа Рамсея были записаны треугольником и сравнены треугольником Паскаля.

Стала видна область пересечения (красный треугольник на рисунке выше), а также то, что 36 (синий квадрат) это R(3,9), из чего родилась гипотеза: R(5,5)=45, R(4,6)=36, R(4,7)=49.

Предполагаемое решение основывалось на:

  1. Хвостовой рекурсии, которая должна была съесть интервалы оценок до конкретного значения. Забегая вперёд, идея была верна. Ошибка в том, что съедать она может только в одном направлении сверху вниз.

  2. 10-регулярном гамильтоновом графе с 45 вершинами, из которого будет построен K45. Промежуточный итог его построения:

    Для рассмотрения мелких подробностей файл открывать здесь, голубые вершины графа имеют по 10 рёбер, серая 16. Для сравнения, насколько проще сделать аналогичное построение на 43 вершинах (ещё 150 рёбер должны попарно соединять фиолетовые вершины с оранжевыми, рисовать их не стал).

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

Happy end? Нет! За применение полученного 43 года назад результата награду скорее всего не дадут, значит необходимо двигаться дальше. На тот момент я понял природу чисел Рамсея настолько, что поиск алгоритма их нахождения занял всего два дня. Барабанная дробь!

Первый алгоритм нахождения чисел Рамсея

Предельно прост. Это сумма предыдущего числа, его квадрата и единицы: R(9,9)=432+43+1=1893 и так далее, что нетрудно доказать через теорию бифуркаций (делать это я конечно же не буду) или через графы (квадрат это петля).Давайте лучше ещё раз взглянем на таблицу с числами Рамсея.

R(3,3) находится в центре квадрата с длиной стороны 5 ячеек, R(5,5) находится в его правой нижней точке, при этом 43=62+6+1. Аналогично R(5,5) центр квадрата со стороной 9, R(9,9) его правая нижняя точка. Далее по индукции. К сожалению, алгоритм работает только в конкретном, описанном выше случае. К счастью, разложение R(9,9) на простые множители 631 и 3 явно указывает на то, что каждое неизвестное число Рамсея может быть вычислено алгоритмически.

Этих алгоритмов не более двенадцати, включая найденный.

Благодарю Михаила Ивановича Снегирёва за неоценимый вклад.


Использованные материалы:

TAKEUCHI, Kisao. Arithmetic triangle groups. J. Math. Soc. Japan 29 (1977), no. 1, 91--106.


Немного личного

Два года назад сэр Майкл Фрэнсис Атья, у которого заслуг и математических наград больше чем у Брежнева медалей, доказал гипотезу Римана, получив вместо заслуженной благодарности молчаливый скепсис математического сообщества и шквал оскорблений от физиков, самым мягким из которых было, пожалуй, выживший из ума старый маразматик, и ни один коллега не выступил в его защиту публично. Конечно, ведь у физики есть адронные коллайдеры, фотографии чёрных дыр и всякие другие токамаки, а у математики нет ничего. Даже цеховой солидарности и чувства собственного достоинства.

Примерно тогда же обстоятельства потребовали моего пребывания в Москве и я решил заглянуть в стекляшку с безобидным предложением: рассматривать центры чисел-близнецов как аттракторы. Дальше поста охраны меня конечно не пустили плебсу запрещено входить в храм мудрости, для этого нужен академический документ установленного образца, паспорт учёного, как любят называть его эти самые учёные. Ладно, я не гордый, подошёл к рядом стоящему телефону и начал набирать внутренние номера сотрудников кафедры теории чисел пусть санкционируют пропуск. Ни один телефон не отвечал. Может у них конференция, семинар, коллоквиум, библиотечные дни, преподавательская работа, оппонирование, заседание, обмен опытом, диссертационный совет, отпуска, выходные, больничные, научные встречи, форум или другая академическая чепуха? спросил я охранника. В ответ услышал, что все на своих рабочих местах, никто никогда не берёт трубки и ничего удивительного в этом нет. Согласен, если бы я в коротких перерывах между очередным симпозиумом и международным конгрессом писал научные работы, состоящие из заголовка Грант успешно и безрезультатно освоен, подробности ниже и стостраничного рерайта ранее изданных учебников, то тоже бы оглох и ослеп некогда, ctrl+c/ctrl+v само себя не нажмёт.

Так обстоят дела только в России? Нет, так везде. Большинство не желает видеть дальше собственного носа, все озабочены своими гомологиями, гомотетиями, самоцитированием и прочей ерундой. К примеру, кто систематически развивает идеи Джейкоба Лурье? Единицы. Остальные морщат носик: мы заслуженные специалисты, поэтому изучать что-то новое не можем займёт целый год, может пострадать карьера. Тусовка эгоистична настолько, что среди миллионов(!!!) не-англоязычных математиков до сего момента не нашлось ни одного человека, готового потратить час своего драгоценного времени на перевод статьи Википедии о центрах Морли фундаментальном результате планиметрии треугольника с английского на язык которым говорят его дети.

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

Ценный совет специалистам по теории Рамсея

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

Резко поумнев, можно браться за самостоятельное доказательство R(5.5)=43 через графы:

  1. Взять три копии K4и раскрасить их вершины, например цветами CMYK, рёбра раскрасятся естественным образом.

  2. Из 6 рёбер первой копии сделать соответственно раскрашенные вершины K6, 15 рёбер которого снова раскрасятся естественным образом, из них сделать 15 вершин.

  3. Вторую и третью копии исходного K4объединить в K8, получить раскраску 28 его рёбер, сделать из них 28 вершин.

  4. На основе 15 предварительно раскрашенных вершин из п.2 и 28 вершин из п.3 построить K43, все 903 ребра которого вновь окажутся раскрашены оттенками всего 4 исходных.

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

  6. Profit!

Спасибо дочитавшим, на этом на сегодня всё. Всегда ваш, Мальчег-Зайчег.

Зайчик (осторожно, кровь)
Подробнее..

Recovery mode Байесовская модель для принятия очень прикладного решения в американском футболе

16.02.2021 20:15:11 | Автор: admin

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

Необходимаяподготовка:базовыезнаниятеоремыБайсаиуверенныезнанияправилитерминологииамериканскогофутбола.

Термины американского футбола из статьи

Правила американского футбола (видео)

  • Попытка - базовый розыгрыш, начинается по команде квотербека, заканчивается через несколько секунд после остановки игрока с мячом.

  • Тачдаун - ситуация, когда атакующая команда донесла мяч до зачетки соперника - противоположного края поля.

  • Пант - пробитие по мячу ногой с целью отвести мяч как можно дальше от своей зачетки.

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

  • Пик-сикс - результативное действие в защите. Когда удается в защите перехватить мяч и занести тачдаун.

  • Линия скриммиджа - текущее положение мяча перед попыткой.

Задача

Выбратьбитьпантилиигратьна4-ой попыткевситуации"4иjярдов"напозицииполявiярдовотсвоейзачетки.

События

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

  • еслииграем4-уюпопытку:

    • A:нашакомандазанесеттачдаунпоитогамдвухвладений

    • B:нашакомандапропуститтачдаунпоитогамдвухвладений(включаяответныйтачдауннанашзанесенный)

  • еслибьемпант:

    • C:нашакомандапропуститтачдаунпоитогамдвухвладений

    • D:нашакомандазанесеттачдаунпоитогамдвухвладений(пик-сикс)

Решение

Общаяидея

Такимобразом,задачасводитсяксравнениючетырехвероятностей:

  • P(A):вероятностизанестипрямойтачдаунпривыборесыграть4-уюпопытку,

  • P(B):вероятностипропуститьтачдаунпривыборесыграть4-уюпопытку,

  • P(C):вероятностипропуститьтачдаунпривыборепанта,

  • P(D):вероятностизанеститачдаунпривыборепанта.

Ивыбор,играть4-уюпопыткуилинетсводитсякрешениюнеравенства:

P(A) - P(B)?P(C) - P(D)

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

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

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

Розыгрыш4-ойпопытки

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

  • P(X):статистическаявероятностьпройтиjярдовзаоднупопытку,

  • P(A|X):статистическаявероятностьзанеститачдаунсi-тогоярдаполя(изситуации1-10).

Здесьмыпренебрегаемвозможныминабраннымиярдамина4-ойпопыткеидляпростотыпринимаемiкактекущуюотметкувторогомаркера.

ПереходяктерминамтеоремыБайесамыполагаемP(A|X)апостериорнойвероятностьюприусловиисобытияXP(A)полагаемискомуюаприорнуювероятность.

ТакимобразомбазоваяформулатеоремыБайеса:

P(A|X)=(P(X|A)*P(A))/P(X)

гдеP(X|A)-этовероятностьреализовать4-уюпопыткуприусловии,чтонашакомандазанесеттачдаун,аэто,согласноздравомусмыслу,равноединице.Такимобразом,нашаискомаяаприорнаявероятность:

P(A)=P(A|X)*P(X)

ВитогеP(A)мысчитаемпростымперемножениемвероятностипройтиjярдовнавероятностьзанестисi-тогоярдаизситуации1-10.Обевероятностиберемизстатистики.

Вероятностьпропуститьтачдаунприрешениииграть4-уюпопытку,илиP(B),-этосуммадвухаприорныхвероятностей:

  • P(Y):вероятностипропуститьтачдаунпринеудачномрозыгрыше4-ойпопытки(сместаеёрозыгрыша,изситуации1-10дляатакисоперника).Причемвероятностьнеудачногорозыгрыша4-ойпопыткиравен1-X.

  • P(Z):вероятностипропуститьтачдаунвслучаеудачногорозыгрыша4-ойпопытки,например,присменевладениянаследующихдрайвахидажепосленашеготачдаунавответномвладениисвозвратаначальногоудара.

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

P(Y)=P(Y|(1-X))*P(1-X)

ивслучаеудачногорозыгрыша4-ойпопытки:

P(Z)=P(Z|X)*P(X)

Дляупрощения,примемзаP(Z|X)простуюстатистическуювероятностьпропуститьтачдаунпослепробитияначальногоудара.Ещенемногоупрощаямыможемсвестивероятностьпропуститьпосленачальногоудараквероятностипропуститьс30+kярдов,тоестьсместа,кудамывсреднемотдвигаемпантомсместапробитияначальногоудара.

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

Такимобразом,опятьжеиспользуютеоремуБайеса:

P(B)=P(Y|(1-X))*P(1-X)+P(Z|X)*P(X)

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

P(A|X)*P(X)-P(Y|(1-X))*P(1-X)-P(Z|X)*P(X)

Смыслвыражениясводитсякподсчетуразницывероятныхтачдауновзадвавладения.

Пант

Прирозыгрышепантамыфактическиотказываемсяотсвоейпопытки(издвухрассматриваемыхнами)иподсчетсводитсяквероятномуущербуприигренашейкомандывзащите.

Дляэтогонамнужнознатьоткудасоперникначнетсвоевладенияивероятностьпропуститьтачдаун.Дляупрощениявероятностьзанеститачдаунпривладениисоперника(пик-сикс)будемсчитатьравнонулю.ТакимобразомP(D)=0.

Альтернативноможновзятьэтозначениеизстатистики

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

  • k:среднееколичествоярдов,накотороенашакомандаотодвигаетсоперникапробитиемпантасучетомвозврата,

  • P(С):статистическаявероятностьпропуститьтачдаунсi+kярдаполя(изситуации1-10).

Стоитобратитьвнимание,чтоP(С)беретсядляi+kярда,тоестьдлятекущейпозициинаполеплюссреднееколичествоярдовпослепанта.

Итог

Дляпринятиярешенияотом,стоитлииграть4-уюпопыткуилипробиватьпантнадосравнитьвозможныйущерб(сучетомивозможнойпользы)отпервогорешенияивозможныйущерботвторого.Причем,вседанныемыможемвзятьизнакопленнойстатистики.Ктомужевнимательныйчитательзаметит,чтоP(Y|(1-X)),P(Z|X)иP(C)сутьодноитоже,толькоберутсядляразныхiилипозицийнаполе.

P(A|X)*P(X)-P(Y|(1-X))*P(1-X)-P(Z|X)*P(X)?P(C)

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

Для демонстрации идеи я написал скрипт в jupiter notebook, где можно поиграться с показателями и положением на поле, плюс графики, показывающие распределение шансов в случае панта или игры 4-ой попытки.

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

Копирайт на обложку

Картинка обложки взята здесь: Design вектор создан(а) freepik - ru.freepik.com

Подробнее..

Красивая математика или как представить 7-ми мерный куб

23.02.2021 14:15:47 | Автор: admin

Однажды от своих родственников я услышал такую фразу: "Люди на МехМате МГУ не могут быть нормальными, ведь они могут представить себе 7-ми мерное пространство!"

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

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

Так вот, в данной статье я хочу задуматься, ответить и рассказать, что же за простой ответ скрывается под таким странным вопросом: "Что такое 7-ми мерное пространство?"


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

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

Оглавление


Выражаю благодарность @AnnRemi за помощь в редактировании и опускании на землю моих амбиций по статье.

Начало начал, или что такое вектор

Вектор: наверняка каждый сталкивался с таким понятием в школе, это не сложно и очень понятно.

Вектором называется направленный отрезок или просто луч, имеющий конкретную длину.

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

Вектор AB в осях координатВектор AB в осях координат

Для удобства мы отмечаем на оси Х и на оси У проекции наших точек. Теперь, чтобы посчитать длину нашего вектора достаточно воспользоваться Теоремой Пифагора

\begin{equation} |\vec{AB}| = \sqrt{(x_B - x_A)^2 + (y_B - y_A)^2} \end{equation}

Направление, или угол наклона относительно оси Х легко посчитать, например, через тангенс, ведь мы знаем длины обоих катетов треугольника

\begin{equation} \tan(\alpha) = \frac{(y_B - y_A)}{(x_B - x_A)} \end{equation}

Понятие радиус-вектора

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

Смещенная ось координатСмещенная ось координат

Так теперь надо будет меньше мучаться - храним в векторе просто координаты его конца.

\vec{AB} = ( x_B - x_A, y_B - y_A)

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

Трехмерный вектор

Если мы уже разобрались, что такое вектор на плоскости - давайте перейдем к вектору в трехмерном пространстве - в объемном мире.

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

Но давайте немного формулизируем то, что мы поняли. Представим трехмерные координаты и в них наш радиус-вектор AB.

Трехмерный вектор ABТрехмерный вектор AB

Понятно, что нам теперь совсем не хватит двух координат для описания вектора AB. Так что давайте добавим третью координату, просто дописав ее в конце.

\vec{AB} = (x_B, y_B, z_B)

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

Базис в пространстве

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

Линейная комбинация это сумма некоторого набора элементов множества с допустимыми коэффициентами.

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

Что значит расширить базис? Добавить еще один вектор, тем самым расширяя наше пространство еще в одном направлении.

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

И, как не сложно заметить, время линейно независимо от объема, то есть наше расширение базиса вполне корректно.

7ми мерное пространство и почему только 7ми?

Как нам представить 5ти мерное пространство? Но мы же уже сказали, что на самом деле пространство - это то, что его задает - базис. То есть давайте теперь мыслить о пространстве, как о наборе параметров каждой его точки. Например для трехмерного объекта мы помним 3 координаты в пространстве - по x, y, z. И у нас это не вызывает диссонанса.

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

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

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

  1. Сплав метала гайки

  2. Внутреннее сечение гайки

  3. Внешняя форма гайки

  4. Направление резьбы гайки

  5. Максимальная нагрузка на гайку

  6. Самозажимающаяся ли гайка?

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

  8. ...

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

То есть только что мы создали свой, очень странный базис, где элементами нашего пространства выступают гайки, и мы их можем удобно расфасовать. Это и есть элементарное представление нашего 7ми и не только 7ми, но и большего, пространства.

Пространство - не куб!

В заголовке статьи я обещал куб, но пока говорил только о пространстве. Давайте определим, что же такое куб.

Например, в 2х мерном пространстве куб, очевидно,- это квадрат. То есть объект с точками вершинами:

(0, 0);(0, a);(a, 0);(a,a)

В трехмерном пространстве куб - есть куб. С координатами:

(0,0,0);(0,0,a);(0,a,0);(0,a,a);...(a,a,a)

Как мы заметили, в двумерном пространстве у куба 4 = 2^2 вершин, в трехмерном 8 = 2^3. Совпадение? Маловероятно. Ну и правильно, ведь из простейшей комбинаторики мы помним, что количество вершин равно 2^n для n-мерного куба. Ведь мы либо берем каждый из базисных n векторов, либо нет.

Тогда для построение 7ми или n-мерного куба нам достаточно взять точки с фиксированными координатами (0 или a) по каждой из осей.

Интересный факт

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

Послесловие

Как Вы, наверное, заметили, я привожу совсем иное понимание многомерного куба, в отличие от общепринятого.

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

4х мерный куб Тессеракт4х мерный куб Тессеракт

На самом деле я просто не имею настолько развитого пространственного воображения: я не понимаю, как можно визуализировать 4х, 5ти и более мерный куб на 2D картинке.

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

Подробнее..

Внешняя алгебра, которую мы заслужили. Часть 1 симплексы и границы

26.02.2021 18:20:16 | Автор: admin

Мотивация

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

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

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

Внешнее произведение

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

Обычно внешнее произведение математики обозначают клином (wedge)\wedge. Но этот знак неудобен. Во-первых, его нет на клавиатуре. Во-вторых, никакого другого умножения, кроме внешнего, для произвольных объектов не существует. Поэтому будем обозначать внешнее произведение звездочкой. Вот оно, умножение элементаa на элементb: a*b .

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

a*b=-b*a

Это важное свойство, которое является ключевым для внешней алгебры. Из него в частности следует, что внешнее произведение элемента на самого себя может быть только нулем - объектом без знака: a*a = 0 .

Какой смысл несет в себе "внешнее произведение". По простому - это ничто иное, как объединение объектов в список. Поэтому, когда элементов много, то их удобно обозначить списком. Такой упорядоченный список выделим квадратными скобками:a*b*c*d = [abcd]. При этом надо помнить про наличие знака у списка - при перестановке соседних элементов знак списка меняется на противоположный: [abcd] = -[acbd] . Ну и как следствие - в таком списке не может быть одинаковых элементов.

Список с такими свойствами будем называть симплексом. Симплекс из двух элементов - отрезок, из трех - треугольник, и т. д. (Только надо иметь ввиду, что это топологические отрезки и треугольники. У них нет длин, углов и прочих метрических параметров.). Количество элементов симплекса задает его порядок (грейд). Математики чаще используют понятие мерности. Размерность симплекса на 1 меньше его порядка. То есть отрезок является одномерным.

Симплексы можно умножать друг на друга - это будет эквивалентно объединению двух списков: [ab]*[cd] =[abcd] . Но при наличии в множителях одинаковых элементов результатом объединения будет пустой список - нуль: [ab]*[ac]=0 .

Ну и еще одно полезное правило. При перестановке перемножаемых симплексов местами знак меняется на противоположный, если произведение порядков симплексов нечетное:

S_s * P_p = (-1)^{sp} P_p*S_s

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

Обратные элементы

В нашей алгебре не обойтись без понятия единицы. Единица - это такой элемент, при умножении на который с любой стороны симплекс остается без изменений: 1*[ab]=[ab]*1=[ab] . В свою очередь наличие единицы позволяет расширить множество элементов, введя понятие обратных. Кратко обратные элементы именуют коэлементами. При умножении на обратный элемент обращается в единицу. Поскольку у нас не обычное умножение, а внешнее, то важно относительное положение множителей - при перемене мест элемента и обратного ему единица становится отрицательной. Для удобства (связанного с понятием граничного оператора) постулируем, что если обратный элемент расположен слева, то результатом произведения будет 1, а если справа, то -1. Это выглядит поначалу немного непривычно, но в целом окупается:

/a*a=1, \quad a*/a =a/a = -1

Здесь перед коэлементами стоит префикс в виде косой черты /. Если обратный элемент умножается на другой элемент, то результатом будет пустой симплекс - ноль: /a*b=0 .

Коэлемент можно трактовать как отсутствие элемента. Это дырка в множестве. Но интересно, что с коэлементами можно обращаться так же как с обычными. Произведение коэлементов образует обратный симплекс (косимплекс). Для заданного симплекса можно определить обратный. Постулируем, что при умножении обратного слева на исходный должны получить 1 независимо от порядка симплекса: /S*S=1 . Отсюда следует правило расположения элементов в обратном симплексе - в нем порядок элементов меняется на обратный. Таким образом еслиS = [abcd], то/S = /[abcd] = [/d/c/b/a].

Если симплекс умножить на обратный справа, то результат зависит от четности порядка симплекса:

S_p/S^p=(-1)^p

Если симплекс умножается на косимплекс, то взаимно обратные элементы должны сокращаться. Для того, чтобы правильно учесть знак необходимо элемент и обратный ему поставить рядом и выполнить сокращение с учетом их положения. Например: [ab]*[/a] = [ab/a] = -[a/ab]=b .

Если перемножаемые симплекс и косимплекс содержат элементы, которых нет в другом, то результатом произведения будет ноль: [abc]*[/a/b/d] = [abc/a/b/d] = -[c/d] = 0 .

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

Линейные комбинации и цепи

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

B=[ab]-[ac]+[bc].

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

a*(b+c)=a*b+a*c

Но надо помнить, что умножение здесь внешнее (антикоммутативное). Поэтому некоторые привычные формулы выглядят иначе. Например, внезапно(a + b)*(a-b) =2 b*a.

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

Линейную комбинацию можно рассматривать как разложение некоего объекта того же порядка по базисным. Например, если у нас есть два объектаaиb, то можно определить объектx как их линейную комбинацию:

x=x_a a + x_b b

Полученный объект является зависимым, или производным. Отметим, что умножение производного объекта на симплекс его базиса, дает ноль:[ab]*x=0. То есть зависимые объекты не создают нового пространства. Ну или по другому - размерность пространства определяется количеством независимых элементов.

Коэффициенты разложения элемента по базисным могут быть определены через умножение на коэлементы базиса:

x_a = /a*x, x_b = /b*x

Получается, что внешнее произведение элементов и коэлементов является скалярным (в том смысле, что результат является скаляром). Но между самими элементами скалярное произведение не определено.

Аннулятор и граница

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

Вначале нам понадобится еще одно фундаментальное понятие, которое имеет разные названия, в зависимости от контекста в котором употребляется. Здесь для него используем абстрактный термин - аннулятор, хотя пока и непонятно, чего он там обнуляет. Пусть имеется некое конечное множество элементов, например, a, b, c, d . Тогда аннулятором для данного множества является сумма обратных элементов данного множества:

/z_{abcd} = /a+/b+/c+/d

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

Аннулятор позволяет определить граничный оператор над симплексом как внешнее умножение аннулятора на симплекс. Результатом действия является граница. Вот она, граница симплекса[abcd]:

B[abcd] = /z_{abcd}*[abcd] = [bcd] - [acd] + [abd] - [abc]

Границы настолько важны, что не пожалеем для их обозначения отдельных скобок:

(abcd) == B[abcd]

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

(abc)= /z_{abc}*[abc] == /z_{abcd}*[abc]

Граница (симплекса) есть цепь - линейная комбинация симплексов. Порядок границы на 1 меньше порядка образующего ее симплекса. В частности, вектор - это граница 1-порядка, образованная отрезком (симплексом 2-го порядка):

(ab) = /z_{ab}*[ab] = b - a

Вектор 2-го порядка называют бивектором, 3-го - тривектором и т.д. Граница произвольного порядка может быть названа мульти- или поливектором.

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

g_{abcd} = (a+b+c+d)/4

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

g_{abcd}*(abcd) = (a+b+c+d)*([bcd] - [acd] + [abd] - [abc])/4 = [abcd]

Умножение границы на центроид собирает несколько слагаемых в одно.

Основное свойство границ

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

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

/z_{abcd} * (abcd) = /z_{abcd} * /z_{abcd} * [abcd] = 0

Данная формула раскрывает смысл термина "аннулятор" - при действии на границу аннулятор ее обнуляет. Раскрывая границу как линейную комбинацию симплексов и умножая каждый симплекс на аннулятор, получаем тождества границ:

/z_{abcd} * (abcd) = /z_{abcd} * ([bcd] - [acd] + [abd] - [abc]) = (bcd) - (acd) + (abd) - (abc) = 0

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

(ab) = (ax)-(bx),\\ (abc) = (abx)-(acx)+(bcx),\\ (abcd) = (abcx) - (abdx)+(acdx)-(bcdx).

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

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

Произведение границ

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

(abc)(abd)=([bc]-[ac]+[ab])*([bd]-[ad]+[ab]) = -[bcad]-[acbd] = [acbd]-[acbd] = 0

Если границы имеют один общий элемент, то при умножении они сливаются в одну (компоненту) - это правило слияния границ. Пример слияния двух векторов в 2-границу (бивектор):

(ab)(bc) = (b - a)*(c - b) = b*c - a*c + a*b = (abc)

Если же перемножаемые границы не имеют общих элементов, то границы не сливаются. Получаем границу, состоящую из нескольких компонент связности. Пример такой границы, содержащей 4 элемента:(ab)(cd). Поскольку под поливектором обычно понимают границу с одной компонентой связности, то строго говоря границы и поливекторы - это не одно и то же. Под поливектором будем понимать всегда границу из одной компоненты.

Итак, порядок границы p(B) зависит не только от количества образующих ее элементов n , но и от количества ее компонент m . Порядок границы (ab)(cd) равен 2, несмотря на то, что она содержит 4 элемента. Для получения порядка границы надо из количества элементов вычесть количество компонент: p(B) = n(B) - m(B) .

Кроме того, одна и та же граница может быть образована произведением разных границ меньшего порядка. Например, граница (abc) может быть образована тремя разными парами векторов: (abc) == (ab)(bc)==(ab)(ac)==(ac)(bc) . То есть произведение границ с общим элементом уничтожает информацию о том, какие именно границы умножались - границы сливаются в одну.

Для тех, кому интересны подробности, откуда все это следует

укажем, что в основе доказательства свойств произведения границ лежит правило Лейбница (цепочки), которое применительно к оператору границы можно записать в следующем виде:

\partial (X^p*Y) = \partial(X)*Y+(-1)^p X*\partial(Y)

Здесь граничный оператор (умножение на аннулятор слева /z* обозначен как частная производная\partial - это общепринятое обозначение. Используя данное тождество, можно показать, что\partial[Xv]*\partial[vY] = \partial[XvY]. Проще всего это сделать раскрытием левой и правой частей по правилу Лейбница.

Немного линейной алгебры...

Пространство элементов, с которым мы тут возимся, принято называть аффинным. Это пространство, в котором есть элементы и их линейные комбинации, но нет метрики.

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

Рассмотрим пространство, образованное тремя элементами, среди которых выделим центр - общий элементO. Границей пространства будет бивектор базиса(Oxy). Пусть теперь в данном пространстве есть три элементаa,b,cс известными координатами относительно базисных элементов. Задача состоит в том, чтобы выразить бивектор(abc)через базисный.

Вначале выпишем координаты элементов. Учтем, что сумма коэффициентов разложения элемента по базисным должна быть равна единице - это следствие того, что граница любого элемента пространства должна быть равна 1: z*a=1 . Такие координаты называются барицентрическими. Тогда для базиса из 3-х элементов две координаты являются независимыми, а третья - выражается через них:

a = a_x x + a_y y + (1 - a_x - a_y) \ O = O + a_x (Ox) + a_y (Oy)

Данная формула может быть представлена как координаты вектора (Oa) = a - O :

(Oa) = a_x (Ox) + a_y (Oy)

Аналогичным образом можно найти координаты векторов(Ob)и(Oc). Перемножая векторы, можно выразить координаты бивекторов через базисный бивектор:

(Oab)=(Oa)*(Ob)=(a_x b_y - a_y b_x) (Oxy)

Для нахождения искомого бивектора(abc)воспользуемся тождеством границ из предыдущего раздела: (abc) = (Oab) - (Oac) + (Obc) . Подставляя в него координаты бивекторов, получаем итоговый ответ:

(abc) = abc_{xy} (Oxy) = ((a_x b_y - a_y b_x) - (a_x c_y - a_y c_x) + (b_x c_y - b_y c_x)) (Oxy)

Значение скалярного коэффициента abc_{xy} здесь как раз и будет отношением площадей искомого и базового бивекторов. Отметим, что коэффициент может быть и отрицательным, поскольку у бивекторов есть ориентация.

Аффинные координаты и площадиАффинные координаты и площади

Коэффициент может быть также выражен как детерминант матрицы: abc_{xy} = det(ABC) . Значения матрицы координатABCравны произведению элементов и базисных коэлементов (за исключением центра координат):

ABC=(a,b,c)*(/z,/x,/y) =\matrix{1 && 1 && 1 \\ a_x && b_x && c_x \\ a_y && b_y && c_y}

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

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

... и топологии

Про топологию говорят, что это геометрия без измерений. В том смысле, что конкретные координаты элементов топологам неинтересны. Поэтому коэффициенты топологических цепей всегда равны +-1. Алгебраические выражения границ симплекса можно интерпретировать топологически. В качестве примера приведем разрезание (топологического) квадрата с вершинами a, b, c, d на два треугольника. Треугольники в данном случае должны быть ориентированы, то есть иметь знак. Тогда квадрат можно представить как сумму (склейку) треугольников:Square = [abc]+[acd]. Применив к данной цепи граничный оператор, получим цепь из 4-х 2-симплексов - это граница квадрата:

/z*Square = (abc)+(acd)=[ab]+[bc]+[cd]+[da]

Склейка симплексовСклейка симплексов

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

Мы определили границу симплексаBкак результат действия граничного оператора (умножение аннулятора) на некий симплекс. Повторное взятие границы, как уже отмечалось дает ноль:

/z*B = 0

Но вообще говоря, возможны и другие цепи (линейные комбинации симплексов), граница которых нулевая. Цепи с нулевой границей называют цикламиC. Инвариант циклов:

/z*C=0

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

H=C/B

Говоря про циклы, снова оговоримся - это топологические циклы. Так же как в топологическом треугольнике нет величины сторон и углов, так и в топологическом цикле нет величины связи между элементами цикла.

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

Коцепи и дуальность

Для заданного конечного множества независимых элементов существует симплекс предельного порядка, определяемый как произведение всех элементов. Граница данного симплекса называется предельной границей пространства - она имеет максимальный порядок из всех возможных границ на данном множестве. Предельная граница для множества 4-х элементов a, b, c, d : I_3=(abcd) .

Предельная граница множества всегда связна (имеет только одну компоненту). Умножение предельной границы на коэлементы понижает ее порядок, но оставляет границу связной: (abcd) /a = (bcd) . Умножение предельной границы на сумму коэлементов порождает границы, состоящие из компонент. Например,

(/a+/b)(abcd)==(abcd)(/c+/d) = (acd)-(bcd) = (ab)(cd)

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

(ab)(ij)(xy) = -(/a+/b)(/x+/y)I_5=(/i+/j)(/x+/y)I_5=(/a+/b)(/i+/j)I_5

ЗдесьI_5 = (abijxy)- предельная граница 6 элементов. Коцепь 2-го порядка:

(/a+/b)(/i+/j) == /a/i+/a/j+/b/i+/b/j

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

B = /B*I

Преобразование коцепей в границы называется дуальным преобразованием.

Дуальное преобразование и звездочка Ходжа - это не одно и тоже!

Для тех, кто вообще в курсе про оператор Ходжа. Оператор Ходжа преобразует одни (поли)векторы пространства в другие векторы того же пространства. Дуальное преобразование преобразует коцепи в границы.

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

Можно определить и обратное дуальное преобразование - от границ (цепей) к коцепям. Пусть дана некая граница (в общем случае произвольная цепь)B. Надо построить дуальную ей коцепь/B для заданного пространства (симплекса) с предельной границей I .

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

/B = /S*(g*B)

В данной формуле круглые скобки обозначают порядок операций.

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

Подробнее..

Категории

Последние комментарии

© 2006-2021, personeltest.ru