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

Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донести до пользователя тот самый интерфейс, каким его задумал дизайнер.

Функциональные практики и frontend: монады и функторы - 1

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

Итак, начнем с обработки состояний. Заодно расскажу, причем тут вообще монады и функторы.
Читать полностью »

Само умножение нехитрое, элементы строк умножаются на столбцы поэлементно и складываются. Как корректно умножать можно посмотреть здесь Языковая часть написана на Delphi, а для оптимизации код выполнен с применением встроенного 64-х битного ассемблера. Рассматриваются 4 практических способа умножения.

Описание типа TMatrix4:

type TVec4 = array[0..3] of Single;
type TMatrix4 = array[0..3] of TVec4;

Получается матрица расположенная строками (ROW-major) и линейная в памяти — от 0-го элемента до 15-го. Из-за такой типизации выборка из массива на языке выглядит как Матрица[Ряд, столбец], т.е. первым стоит Y (ряд), а вторым X (столбец). Тип TVec4 применяется автором для извлечения отдельных строк (например, позиция = Матрица[3]) и не требует обязательного применения.

Скорость работы функций и процедур указаны в сводной таблице в конце.

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

Вариант A

function MulMatrixA(A, B: TMatrix4): TMatrix4;
var
  i, j: Integer;

begin
  for j := 0 to 3 do //Столбцы
  for i := 0 to 3 do //Строки
  begin
    Result[j, i] := A[j, 0] * B[0, i] +
                    A[j, 1] * B[1, i] +
                    A[j, 2] * B[2, i] +
                    A[j, 3] * B[3, i];
  end;
end;

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

Вместо введения

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

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

30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама - 1
Оригинал перевода в моём блоге

Прямая трансляция Стивена Вольфрама о конкурсе (на английском)

Поясним для читателей, что означает «Правило 30» — это элементарный клеточный автомат (см. Wiki), состояние которого (правило построения нового уровня ячеек на основе старого) в двоичной системе счисления задается как 0-0-0-1-1-1-1-0, что можно интерпретировать как 30 в десятичной системе счисления.

Итак, с чего все началось? — «Правило 30»

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

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

Итак, сегодня я предлагаю соискателям 30000 долларов США в качестве общей суммы призов за ответы на три основных вопроса о Правиле 30.

Правило 30 чрезвычайно просто:

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

30.000$ за решение задач о Правиле 30 для клеточных автоматов — конкурс от Стивена Вольфрама - 2

Код

RulePlot[CellularAutomaton[30]]

[Посмотрите ролик, в котором за пару минут рассказывается суть клеточных автоматов и Правила 30 — примечание переводчика]

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

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

Математика раскрывает секреты обратной связи живых клеток - 1

Небольшой Lego-робот Мустафы Хаммаша увлечён игрой в гляделки с книгой, которую держат в 30 см перед ним. Хаммаш сдвигает книгу вперёд, и робот сразу же начинает жужжать своими четырьмя колёсами, чтобы следовать за ней; он придвигает книгу поближе, и робот отскакивает назад, оставаясь на расстоянии в 30 см от книги. Хаммаш прижимает машину очёшником, наклоняет стол под углом, заменяет колёса на другие, на 30% больше – и каждый раз робот восстанавливает буферную зону в 30 см между книгой, и вновь начинает смотреть на неё.

Странная способность робота подстраивать своё местоположение даёт ему то, что биологи называют устойчивой идеальной адаптацией. «Когда движение заканчивается, никаких ошибок не наблюдается, — сказал Хаммаш, специалист по теории управления из шведского государственного технологического института в Цюрихе. — Это идеальная адаптация; она идеально поддерживает расстояние».
Читать полностью »

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

Уравнение Навье-Стокса и симуляция жидкостей на CUDA - 1
Читать полностью »

Введение

Когда я объяснял своему ребёнку в 4-м классе, как решать текстовую задачку по математике, то неожиданно понял две вещи. Во-первых, процесс объяснения решения можно автоматизировать. А во-вторых, для большинства школьных вычислительных задач подходит универсальный метод через систему уравнений, который почему-то пока не изучается в младших классах школы. Причём освоение этого метода вполне по силам среднему школьнику и позволит справляться с ранее недоступными ему задачами. Результатом этого понимания явился сайт RESHI.RU с объясняющим задачи роботом.
Читать полностью »

Всем привет, сегодня хотим поговорить о запуске нового курса «Математика для Data Science», а точнее целой серии курсов, подробнее об этом в нашей публикации.

Математика для Data Science. Новый курс от OTUS - 1

Не все, учась в школе, понимают, как в жизни им пригодится математика. Самый распространенный ответ – считать деньги, но не все рождаются крутыми финансистами. Это понимают и учителя математики, поэтому часто преподают через пень-колоду. И вот человек школу закончил, зачем нужна математика, так и не понял, но деньги считать (и свои, и чужие) научился, посчитал и захотел работать в IT, например, в сфере машинного обучения, чтобы зарабатывать немало. Тут-то и стало ясно, для чего нужна математика! Но школа, как и институт, уже давно прошли...Читать полностью »

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

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


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