Рубрика «Алгоритмы» - 101

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

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

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

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

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

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

В предыдущих статьях (I, II, III) я подробно рассказывал о разработке сервиса для поиска выгодных б/у автомобилей в РФ.
Поездив продолжительное время на различных б/у машинах, я задумался о приобретении нового авто и решил этот вопрос подробно изучить. В крупных городах существует огромное количество официальных дилеров, по крайней мере для популярных брендов. Дилеры отличаются друг от друга перечнем автомобилей в наличии и размером предоставляемых скидок на различные модели. В поисках интересующих меня автомобилей мне не хотелось обзванивать и посещать всех дилеров подряд. На мой взгляд, разумно было предварительно отобрать по априорной информации только тех дилеров, которые предоставляют самые низкие цены на интересующие меня модели и комплектации. Тот факт, что при личном общении, если уметь торговаться, размер скидки может существенно возрасти никак не противоречит цели в первую очередь посетить дилеров, предоставляющих наиболее выгодные цены на рынке.
Я собрал данные о новых автомобилях, проанализировал, оформил в виде сервиса, и под конец года, когда скидки у дилеров максимальны, решил поделиться им с вами.

Как программист новую машину подбирал - 1

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

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

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

Методы наименьших квадратов без слёз и боли - 1

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

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

В рамках реализации большой задачи по Sentiment Analysis (анализ отзывов) я решил уделить некоторое время дополнительному изучению её отдельного элемента — использованию VotingClassifier из модуля sklearn.ensemble как инструмента для построения ансамбля моделей классификации и повышению итогового качества предсказаний. Почему это важно и какие есть нюансы?
Читать полностью »

Оптимизируем торгового робота: генетический алгоритм - 1

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

тизер

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

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

Повышение качества склейки панорамы с помощью согласования графа проективных преобразований - 1

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

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

Как мы заменили спортивного скаута нейронной сетью - 1
Да, действительно, мы смогли заменить нейронной сетью спортивного скаута и стали автоматически собирать данные об игре. И теперь знаем о спортивном состязании больше присутствующего на нем зрителя, а иногда и судьи.
Читать полностью »

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

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

Так устроен поиск заимствований в Антиплагиате - 1
Читать полностью »


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