Как стать автором
Поиск
Написать публикацию
Обновить
180.71

Математика *

Царица всех наук

Сначала показывать
Период
Уровень сложности

Численно решаем волновое уравнение разностной схемой

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.1K

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

Читать далее

Математика во спасение: почему рой пчел не рассыпается

Время на прочтение12 мин
Количество просмотров14K


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

Physically-based rendering. Ray marching (часть 2)

Время на прочтение6 мин
Количество просмотров4.5K

Привет, Хабр!

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

Читать далее

Вода и камень точит: как жидкостные капли воздействуют на твердый материал

Время на прочтение10 мин
Количество просмотров16K


Знаменитая поговорка «вода и камень точит» говорит о том, как даже самые малозаметные, но постоянные и настойчивые действия могут в последствии иметь значимый эффект. Однако это фигуральное выражение имеет под собой вполне реальный процесс, который обусловлен теми или иными физическими и/или химическими свойствами материалов. Ученые из Миннесотского университета (США) решили выяснить, что именно происходит, когда капли воды падают на твердую поверхность. Как именно вода побеждает камень, какие скрытые силы действуют в момент их взаимодействия, и как полученные из наблюдений данные можно применить в будущем? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →

Как летает космическая ракета (на примере РН Союз)?

Время на прочтение5 мин
Количество просмотров18K

Добрый день, дорогие Хабровчане!

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

Читать далее

Перплексия в языковых моделях

Время на прочтение10 мин
Количество просмотров25K

В этом материале я хочу сделать подробный обзор такого понятия, как «перплексия» («коэффициент неопределённости»), так как оно применяется в обработке текстов на естественном языке (Natural Language Processing, NLP). Я расскажу о двух подходах, которые обычно используются для определения этого понятия, и о тех идеях, которые лежат в основе этих подходов.

Читать далее

Регрессия и линейные комбинации векторов

Время на прочтение8 мин
Количество просмотров6.8K
Недавно я помогал вести курс по линейной алгебре, который организовали Тай-Даная Брэдли и Джек Хидари. Одним из вопросов, который периодически возникал у слушателей курса, был вопрос о том, почему программистов должна заботить тема линейной комбинации векторов.



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

Статистические техники криптоанализа

Время на прочтение5 мин
Количество просмотров17K

Криптоанализ — наука о том, как расшифровывать зашифрованную информацию, не имея в распоряжении ключа для расшифровки. Криптоанализом так же называется сам процесс дешифровки.

Статистический криптоанализ — это один из методов криптоанализа. Как и в любой задаче, связанной с математической статистикой, вводится понятие статистики — некоторой величины, которая вычисляется на основе выборки или, в случае криптоанализа, - на основе криптограммы.

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

Читать далее

Рубрика «Читаем статьи за вас». Июль — август 2020 года

Время на прочтение26 мин
Количество просмотров5.7K


Привет, Хабр! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!


Статьи на сегодня:


  1. High-Resolution Neural Face Swapping for Visual Effects (Disney Research Studios, ETH Zurich, 2020)
  2. Beyond Accuracy: Behavioral Testing of NLP Models with CheckList (USA, 2020)
  3. Thieves on Sesame Street! Model Extraction of BERT-based APIs (UMass & Google Research, ICLR, 2019)
  4. Time-Aware User Embeddings as a Service (Yahoo! Research, Temple University, 2020)
  5. Are Labels Necessary for Neural Architecture Search? (Johns Hopkins University, Facebook AI Research, 2020)
  6. GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding (Google, 2020)
  7. Data Shapley: Equitable Valuation of Data for Machine Learning (USA, 2019)
  8. Language-agnostic BERT Sentence Embedding (Google AI, 2020)
  9. Self-Supervised Learning for Large-Scale Unsupervised Image Clustering (Technion, Israel, 2020)
  10. Batch-Channel Normalization and Weight Standardization (2 papers, Johns HopkinsUniversity, USA, 2019)
Читать дальше →

Математики открыли новый фронт в битве с древней числовой задачей

Время на прочтение10 мин
Количество просмотров14K

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



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

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

Частично таким долгоживущим шармом она обязана простоте формулировки. Число называется совершенным, если это положительное целое, n, сумма делителей которого даёт удвоенное число, 2n. Первый и самый простой пример – это 6, делители которого, 1, 2, 3 и 6, в сумме дают 12, или 2*6. Затем идёт 28, с делителями 1, 2, 4, 7, 14 и 28, дающими в сумме 56. Следующие примеры – 496 и 8128.
Читать дальше →

Оценка качества кластеризации: свойства, метрики, код на GitHub

Время на прочтение11 мин
Количество просмотров42K

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


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


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



Читать дальше →

Рендеринг в 3D-играх: введение

Время на прочтение14 мин
Количество просмотров19K

Вы играете в свежую Call of Mario: Deathduty Battleyard на своём совершенном игровом ПК. Смотрите на прекрасный сверширокий 4K-монитор, любуясь великолепными пейзажами и замысловатыми деталями. Вас когда-нибудь интересовало, как графика попадает на экран? Задумывались, как игра заставляет компьютер всё это показать вам?

Добро пожаловать в наш тур по рендерингу в 3D-играх: путешествие для начинающих, из которого вы узнаете, как создаётся один базовый кадр на экране.
Читать дальше →

Ближайшие события

Делись, рыбка, быстро и нацело

Время на прочтение4 мин
Количество просмотров14K
image

Деление — одна из самых дорогих операций в современных процессорах. За доказательством далеко ходить не нужно: Agner Fog[1] вещает, что на процессорах Intel / AMD мы легко можем получить Latency в 25-119 clock cycles, а reciprocal throughput — 25-120. В переводе на Русский — МЕДЛЕННО! Тем не менее, возможность избежать инструкции деления в вашем коде — есть. И в этой статье, я расскажу как это работает, в частности в современных компиляторах(они то, умеют так уже лет 20 как), а также, расскажу как полученное знание можно использовать для того чтобы сделать код лучше, быстрее, мощнее.
Читать дальше →

Элементарная симуляция кастомного физического взаимодействия на python + matplotlib

Время на прочтение10 мин
Количество просмотров22K
Привет!

Тут мы опишем работу некоторого поля а затем сделаем пару красивых фичей (тут все ОЧЕНЬ просто).



Что будет в этой статье.

Общий случай:

  1. Опишем базу, а именно работу с векторами (велосипед для тех, у кого нет под рукой numpy)
  2. Опишем материальную точку и поле взаимодействия

Частный случай (на основе общего):

  1. Сделаем визуализацию векторного поля напряженности электромагнитного поля (первая и третья картинки)
  2. Сделаем визуализацию движения частиц в электромагнитном поле

Встретимся под катом!
Читать дальше →

Решето Эратосфена за O(n). Доказательство

Время на прочтение4 мин
Количество просмотров20K
В комментариях к одному из прошлых постов о решете Эратосфена был упомянут этот короткий алгоритм из Википедии:

Алгоритм 1:

1: для i := 2, 3, 4, ..., до n: 
2:  если lp[i] = 0:
3:       lp[i] := i
4:       pr[] += {i}
5:   для p из pr пока p ≤ lp[i] и p*i ≤ n:
6:       lp[p*i] := p
Результат:
 lp - минимальный простой делитель для кажого числа до n
 pr - список всех простых до n.

Алгоритм простой, но не всем он показался очевидным. Главная же проблема в том, что на Википедии нет доказательства, а ссылка на первоисточник (pdf) содержит довольно сильно отличающийся от приведенного выше алгоритм.

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

Вейвлет – анализ. Основы

Время на прочтение8 мин
Количество просмотров76K

Введение


Английское слово wavelet (от французского «ondelette») дословно переводится как «короткая (маленькая) волна». В различных переводах зарубежных статей на русский язык встречаются еще термины: «всплеск», «всплесковая функция», «маловолновая функция», «волночка» и др.

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

$\psi _{ab}(t)=\frac{1}{\sqrt{a}}\psi \left ( \frac{t-b}{a} \right ) $, (1)

сконструированных из материнского (исходного) вейвлета $\psi(t)$, обладающего определенными свойствами за счет операций сдвига во времени ( b ) и изменения временного масштаба (a).

Множитель $1/\sqrt{a}$ обеспечивает независимость нормы функций (1) от масштабирующего числа (a). Для заданных значений параметров a и b функция $\psi_{ab}(t)$ и есть вейвлет, порождаемый материнским вейвлетом $\psi(t)$.

В качестве примера приведём вейвлет «мексиканская шляпа» во временной и частотной областях:

Листинг вейвлета для временной области
from numpy import*
import matplotlib.pyplot as plt
x= arange(-4,30,0.01)
def w(a,b,t):    
    f =(1/a**0.5)*exp(-0.5*((t-b)/a)**2)* (((t-b)/a)**2-1)
    return f
plt.title("Вейвлет «Мексиканская шляпа»:\n$1/\sqrt{a}*exp(-0,5*t^{2}/a^{2})*(t^{2}-1)$")
y=[w(1,12,t) for t in x]
plt.plot(x,y,label="$\psi(t)$ a=1,b=12") 
y=[w(2,12,t) for t in x]
plt.plot(x,y,label="$\psi_{ab}(t)$ a=2 b=12")   
y=[w(4,12,t) for t in x]
plt.plot(x,y,label="$\psi_{ab}(t)$ a=4 b=12")   
plt.legend(loc='best')
plt.grid(True)
plt.show()



Читать дальше →

Логика, объяснимость и будущее понимания

Время на прочтение37 мин
Количество просмотров17K

Открытие, связанное с логикой


Логика служит основой множества вещей. Но каковы основы самой логики?

В символьной логике вводятся символы вроде p и q, обозначающие утверждения (или «пропозиции») типа «это интересное эссе». Ещё есть определённые правила логики, к примеру, для любого p и любого q выражение NOT (p AND q) аналогично (NOT p) OR (NOT q).

Но откуда берутся эти «правила логики»? Логика – система формальная. Как и евклидову геометрию, её можно построить на аксиомах. Но что такое аксиомы? Можно начать с таких утверждений, как p AND q = q AND p, или NOT NOT p = p. Но сколько аксиом требуется? Насколько они могут быть простыми?

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

Читать дальше →

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

Время на прочтение21 мин
Количество просмотров16K

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

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


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

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


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

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

Так устроен поиск заимствований в Антиплагиате

Время на прочтение11 мин
Количество просмотров48K
Мы уже рассказывали вам об интересных статистиках текстов, делали обзор статей применений автокодировщиков в анализе текстов, удивляли нашими свежими алгоритмами поиска переводных заимствований и парафраза. Я решил продолжить нашу корпоративную традицию и, во-первых, начать статью с «Т», а во-вторых, рассказать:

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


Антиплагиат в естественной среде, полетели

Вклад авторов