Рубрика «математика» - 80

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

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

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

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

Работа Александра Смита по гипотезе Голдфелда раскрыла фундаментальные свойства эллиптических кривых

Новое доказательство демонстрирует существование двух видов бесконечных кривых - 1
Две эллиптические кривые демонстрируют странности концепции ранга. Кривая слева описывается уравнением y2 = x3 + 1, проходит только через пять рациональных точек и имеет ранг 0. Кривая справа описывается уравнением y2 = x3 + 8, проходит через бесконечное число рациональных точек, и имеет ранг 1.

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

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

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

Какие точки на эллиптической кривой y2 = x3 – 4x + 1 рациональные? Чтобы их найти, нужно провести прямые через пары рациональных точек. Все точки, через которые проходят прямые, также будут рациональными.

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

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

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

Создание карт из функций шума - 1

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

Шум

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

image

Мы присваиваем каждой точке карты число от 0.0 до 1.0. В этом изображении 0.0 — это чёрный цвет, а 1.0 — белый.Читать полностью »

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

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

Исходный сигнал:

Проектирование оконных функций, суммирующихся в единицу с заданным уровнем перекрытия - 1

Разбиения:

Проектирование оконных функций, суммирующихся в единицу с заданным уровнем перекрытия - 2
Читать полностью »

Последние несколько недель я работал над реализацией алгоритма Форчуна на C++. Этот алгоритм берёт множество 2D-точек и строит из них диаграмму Вороного. Если вы не знаете, что такое диаграмма Вороного, то взгляните на рисунок:

Алгоритм Форчуна, подробности реализации - 1

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

В алгоритме Форчуна примечательно то, что он строит такие диаграммы за время $O(nlog n)$ (что оптимально для использующего сравнения алгоритма), где $n$ — это количество мест.

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

Как обычно, код выложен на github, а все использованные мной справочные материалы перечислены в конце статьи.
Читать полностью »

Как создать надёжную игровую механику в Excel. Часть 2 - 1

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

Задачи о размещении объектов

Электронные таблицы для этой части можно скачать здесь: (SuperTank) (телепорты, часть 1) (телепорты, часть 2)

SuperTank: задача решена!

В первой статье серии мы рассказали о примере задачи для игры под названием SuperTank. Во второй её части, мы познакомились с основными концепциями моделирования решений и я рассказал о решении простого примера с помощью инструмента «Поиск решений» в Excel.

Теперь мы можем применить полученные во второй части знания к задаче SuperTank, и доказать, что с их помощью можно решить эту задачу легко и быстро. Освежу вашу память: SuperTank — это игра, в которой вы можете сражаться на настраиваемом танке.Читать полностью »

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

В этой статье мы будем экспериментировать с «настоящей» моделью авиационного двигателя. Обвесив ее «реальными» моделями аппаратуры и алгоритмов управления от атомной станции.

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

Как только модель превратилась из листинга Fortran в структурную схему, с ней стало просто и удобно работать, проводя любые, самые «изощренные» эксперименты. Совершенно не случайно у меня оказались реальные алгоритмы управления АЭС. Что позволило быстро собрать модель для экспериментов, не используя при этом никаких формул, да да, только картинки.
Нечеткая логика против ПИД. Скрещиваем ежа и ужа. Авиадвигатель и алгоритмы управления АЭС - 1
Читать полностью »

Вычисление весового спектра линейного подпростанства в Wolfram Mathematica - 1

Процесс вычисления весового спектра

Первопричина

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

Читать полностью »

Chain replication: построение эффективного KV-хранилища (часть 1-2) - 1

В данной статье рассмотрим архитектуры простых и эффективных KV-хранилищ с использованием цепной репликации (chain replication), которая активно исследуется и успешно применяется в различных системах.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js