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

Две недели назад мы были на Java-конференции в Питере — Joker 2017. Уже традиционно пришли туда не с пустыми руками, а с веселыми и сложными задачами, над которыми можно посмеяться и/или поломать голову. Спасибо всем, кто в эти два дня решал задачи, задавал вопросы и предлагал свои оригинальные решения. Поздравляем победителей!

Все задачи верно решили целых три человека:

— Рюрик Крылов (который к тому же сдал корешок из буклета с верными ответами самым первым)
— Евгений Крутень
— Василий Бригинец

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

Тройка, семерка, джокер — разбор решения задач из буклета GridGain на конференции Joker 2017 - 1
Читать полностью »

Когда у тебя в запасе много популярных инструментов вроде JAVA, Python, Ruby, PHP, C#, C++ и других, чувствуешь себя почти всемогущим. Стандартный подход в разработке рулит. Но только до тех пор, пока не столкнешься с определенным типом задач.

 
Подумайте, как правильно написать программу, которая оптимально…

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

image

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

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

Предыстория

Всё началось, когда в самолёте я посмотрел типичную, на первый взгляд американскую комедию – «Почему, он?» (англ. Why him? 2016). Там, у одного из ключевых персонажей в доме был установлен голосовой помощник, который нескромно позиционировал себя «как Siri, только круче». К слову бот из фильма умел не только вызывающе разговаривать с гостями, иногда ругаясь матом, но также контролировать весь дом и прилегающую территорию – от центрального отопления до смыва унитаза. После просмотра фильма, мне пришла идея реализовать что-то подобное и я начал писать код.
Читать полностью »

Расчёт цепей постоянного тока на пальцах, или давайте считать ЦАП для троичной логики

Но для начала неонки, какой же русский их не любит?

Итак, снова я со своими троичными железками, но в этой статье они выступают фоном, сегодня статья про резисторы. Запаял я было несколько платок, в которые можно воткнуть газоразрядные лампы типа ИН-12 или ИН-15, но часы делать не захотел :)

Сказ про резисторы и неонки - 1

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

Здравствуйте!

В связи с вопросами читателей моей публикации [1] касательно условий возбуждения автоколебаний в механической системе, я решил описать явление возникновения и поддержания автоколебаний подробно, выделив основные области возникновения и применения автоколебаний.

В википедии автоколебания объясняют так [2]:

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

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

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

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

image

Распределение углов в ромбах в одном 1:4, 36°:144°, в другом 2:3, 72°:108°. Углы в ромбах кратны одной десятой полного разворота, 36°.

Определим координаты углов правильного десятиугольника.
Читать полностью »

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

  1. Методы наименьших квадратов
  2. Линейно-квадратичный регулятор, вводная
  3. Линейно-квадратичный регулятор и линейные наблюдатели

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

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

image

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

Темой этой статьи как раз и будет реализация такого интегрирования.

Интегрирование уравнений движения

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

$F=ma$

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

$a=F/ma=F/m$

Ускорение — это темп изменения скорости от времени:

$dv/dt=a=F/m$

Аналогично, скорость — это темп изменения позиции от времени:

$dx/dt=v$

Это значит, что если мы знаем текущие позицию и скорость объекта, а также приложенные к нему силы, то сможем проинтегрировать, чтобы найти его позицию и скорость в определённый момент времени.
Читать полностью »

Введение

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

Если у участника рынка есть свободные деньги, то их можно отнести в банк и получать проценты или купить на них ценные бумаги и получать дополнительный доход. Но в какой банк отнести? Какие ценные бумаги купить?

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

Программные средства для анализа портфелей ценных бумах должны работать с матрицами доходности и решать задачи нелинейного программирования с ограничениями в виде строгих и нестрогих неравенств. Символьное решение на Python некоторых типов задач нелинейного программирования мною уже рассматривалось в публикации [1]. Однако, применить предложенные в указанной публикации методы для анализа портфеля ценных бумаг нельзя из-за ограничений в виде строгих неравенств.

Целью настоящей публикации является разработка методов оптимизации портфелей ценных бумаг с использованием библиотеки scipy.optimize. Пришлось исследовать и применить при программировании такие мало известные возможности указанной библиотеки, как введение дополнительных ограничений в функцию цели [2].
Читать полностью »