
Алгоритмы *
Все об алгоритмах
Динамическая онтология. Как инженеры Palantir объясняют это ЦРУ, АНБ и военным

ИТишники додумались как эффективно «монетизировать математику и алгоритмы» (Сегалович, Бакунов), PayPal Mafia додумалась как монетизировать
В десятиминутной лекции сотрудник компании Palantir расскажет про центральную концепцию их системы — динамическую онтологию.

0:00 Привет, я Ашер Синенски, инженер по развертыванию технологий Palantir. Я поговорю о динамической онтологии.
0:08 Очевидно, сейчас, эти два слова выглядят для вас довольно туманно, надеюсь, что к концу разговора вы поймете, какой смысл мы в них вкладываем.
0:17 Перед тем как переходить к делу, поясню: у многих людей проблемы со словом онтология. Что мы подразумеваем под этим словом?
0:24 Если вы посмотрите на корни этого слова, то оно образовано от греческих «онтос» (бытие) и «логия» (изучение чего-либо). По сути, онтология – это категоризация мира.
0:34 Есть много терминов, которые люди используют для описания этого: таксономия, схематизатор модели данных. Но мы используем это, в более широком смысле, как идею, что мы действительно категоризируем мир каким-то образом.
0:43 Идея о построении онтологии для изучения мира не нова. Первым, кто утвердил эту идею, был мужик по имени Платон. Идея Платоновского реализма, в основном, о том, что есть реальные вещи, а есть наше представление о вещах.
Задача про обезьян и бесконечность
Всем известно, что если посадить обезьяну за печатную машинку и заставить ее вечно случайно стучать по клавишам, то, рано или поздно, она напечатает «Войну и мир», собрание трудов Пифагора и даже статью, которую вы сейчас читаете.

Потрясающий факт, но еще интереснее попытаться понять, сколько же времени ей понадобится для набора конкретного текста. Чтобы не водить лишний параметр — скорость набора обезьяной — будем искать ответ на вопрос: сколько нажатий на клавиши ей потребуется в среднем. А вам очевидно, что строку «abc» набирать гораздо легче чем «aaa»? Решению этой задачи и посвящен этот пост. Попутно объясняется префикс функция и ее свойства.
Как определить наилучшее время для сделки на фондовом рынке: Алгоритмы следования тренду

На протяжение многих лет участники фондового рынка пытаются разрабатывать способы прогнозирования будущего движения цен. Для этого используются специальные алгоритмы и софт, машинное обучение или даже внешние сервисы вроде Google Trends. К настоящему моменту не существует техники создания прогнозов, которая была бы эффективна на 100%.
Исследователи из университета Макао несколько лет назад опубликовали работу, посвященную анализу эффективности алгоритмов следования тренду, которые не пытаются предсказать изменения цены, а точно реагируют на ее изменения в реальном времени. Мы представляем вашему внимани главные мысли этого исследования.
Что такое грамматическая эволюция + легкая реализация
Если кому-то интересны эволюционные методы и задача символьной регрессии(и не только), то прошу к прочтению.
Символьная регрессия и еще один подход
Символьная регрессия считается очень интересной. "Найди мне функцию, которая будет лучше всего подходить для решения поставленной задачи". И на Хабре я уже встречал пост, в котором автор рассматривал один из эволюционных алгоритмов в применении к этой проблеме (вот он).
Генетическое программирование действительно является мощным методом. Но в этой статье я хочу рассмотреть другой (не менее интересный) метод — грамматическая эволюция. Рассказывать о нем долго не буду. Скажу лишь то, что метод использует свободную грамматику в форме Бакуса-Наура, а также любой эволюционный алгоритм в качестве "движка" (я выбрал генетический алгоритм). И метод очень крутой!
PHP и Temporal Coupling
Генетическое программирование. ELTRUT-проблема
Таким образом, самые достойные существа продолжают свое дело и дают потомков, а самые слабые — отсеиваются в процессе отбора. Несколько экспериментов и их результаты — под катом.

Метрика рекомендательной системы imhonet.ru

Создание экспертной системы в Wi!Mi 1.1
К сожалению, адекватного туториала по данной программе я не нашел, не считая видеоурока на youtube. Поэтому решил написать его самостоятельно.
Эксперимент: Что гипотеза случайного блуждания говорит о прогнозировании финансовых рынков

В блоге на Хабре и аналитическом разделе нашего сайта мы много пишем об алгоритмах и инструментах прогнозирования движения на финансовы рынках. При этом многие наблюдатели считают, что подобные занятия сродни игре в казино — на бирже все случайно, а значит ничего нельзя спрогнозировать. Количественный аналитик хедж-фонда NMRQL Стюарт Рид опубликовал на сайте Turing Finance результаты исследования, в ходе которого использовал гипотезу случайного блуждания, пытаясь подтвердить или опровергнуть тезис о случайности финансовых рынков. Мы представляем вашему вниманию основные мысли этого материала.
Рекурсия на PHP — алгоритм, применение
Итак, тестовая иерархия, с которой нам предстоит работать:
В базе данных имеется самая простая таблица на самом простом MSSQL сервере, тонкости подключения опустим, наша цель — разобраться с иерархией и рекурсией.
Создадим таблицу:
CREATE TABLE [dbo].[Test](
[uid] [int] IDENTITY(1,1) NOT NULL, -- уникальное поле, автоинкрементное
[pid] [int] NULL, -- это поле указывает на элемент уровнем выше, содержит uid родителя
[name] [varchar](255) NULL,
[access] [varchar](50) NULL, -- права доступа
) ON [PRIMARY]
Обзор дескрипторов изображения Local Binary Patterns (LBP) и их вариаций
Ближайшие события
Конкурс GraphHPC-2016 на самую быструю реализацию параллельного алгоритма Community Detection: Итоги

В рамках конференции GraphHPC-2016, прошедшей 3 марта 2016 года в МГУ им. М.В. Ломоносова на факультете ВМК, проводился конкурс на самую быструю реализацию задачи Community Detection — поиска сообществ в неориентированном графе с весами.
Метод сортировки FlashSort
У меня есть одно хобби – я очень люблю изобретать велосипеды.
Об изобретении одного такого велосипеда хочу вам сегодня рассказать.
Сортировка массива данных – задача, которой далеко уже не первый год. Она преследует нас с первых курсов технических вузов, а кому особенно повезло, то и со школьной скамьи. Обычно это методы сортировки “пузырьком”, “делением”, “быстрая”, “вставками” и прочие.

Вот, к примеру, подобной реализации метода сортировки “пузырьком” меня учили в одной крупной IT-компании. Этот метод использовался матёрыми программистами там повсеместно.
Так вот, мне всегда было интересно, почему уделяется так мало внимания методам сортировки без сравнения (поразрядная, блочная и т.п.). Ведь подобные методы относятся к классу быстрых алгоритмов, выполняются за О(N) количество чтений и перестановок и при удачно подобранных данных могут выполняться за линейное время.
RING буфер — 2D cлучай
!NEW полнофункциональный модуль с гайдом, ссылка на на github в конце статьи!
Давно собирался написать на Хабр несколько алгоритмических трюков, почерпнутых из увлечений демосценой, из экспериментов с алгоритмами. Надеюсь, получится в олдскульном духе необычного использования интересных алгоритмов потому, что для меня Хабр являет интерес именно такими статьями.
Структура данных RING буфер (кольцевой буфер) чаще всего встречается в реализации сетевых протоколов, и в Concurrency структурах (синхронизация данных между потоками).
В этой статье я хотел бы разобрать ее реализацию на клиентском JavaScript. Этот язык очень популярен, и я имею большую практику работы с ним. Как пример это может применяться для работ с картами местности, реальными или игровыми.
Начнем с того, что же такое кольцевой буфер, и что он дает как абстрактный алгоритм:
Разрушители мифов: Автоматическое решение Google Recaptcha

Google Recaptcha 2.0 представляет собой набор изображений (9 или 16 квадратных картинок под одной инструкцией), среди которых пользователю, для подтверждения своей разумности, нужно выбрать все изображения одной категории. Речь пойдет НЕ о построении системы машинного обучения — распознавать мы будем именно капчи!
Байесовская нейронная сеть — теперь апельсиновая (часть 2)

Предлагаю, если есть возможность, пойти на кухню, взять апельсин, очистить и проверить. Если лень или нет под рукой — воспользуемся скучной математикой: объем шара мы помним из школы. Пусть, скажем, толщина кожуры равна
Как насчет апельсина в тысячемерном пространстве?
Пойти на кухню на этот раз не получится; подозреваю, что формулу наизусть тоже не все знают, но Википедия нам в помощь. Повторяем аналогичные вычисления, и с интересом обнаруживаем, что:
- во-первых, в тысячемерном гиперапельсине кожуры больше, чем мякоти
- а во-вторых, ее больше примерно в 246993291800602563115535632700000000000000 раз
То есть, каким бы странным и противоречивым это ни казалось, но почти весь объем гиперапельсина содержится в ничтожно тонком слое прямо под его поверхностью.
Начнем с этого, пожалуй.
Эффект кофты на шейдерах для мобильных устройств
Пролог
Доброго времени суток! После опубликовании статьи о визуализации квадратичного дерева(Quad-tree), меня попросили написать статью, показывающую работу шейдера, переводящего изображение в «кофту».
Так что, давай рассмотрим данную методику.
Математика на пальцах: ардуино головного мозга или линейно-квадратичный регулятор для управления электродвигателем
Постановка задачи: как со школьными знаниями дойти до выводов университетского уровня
Эта статья предполагает, что вы прочли мои статьи (ну или и без того знаете) про методы наименьших квадратов и про линейно-квадратичный регулятор.
Как я уже говорил в предыдущих статьях, мои знакомые студенты хотят построить обратный маятник, но умаялись подбирать коэффициенты ПИД-регулятора, поэтому я неспешно смотрю, что такое линейно-квадратичный регулятор, ну а заодно и вам пересказываю то, что прочитал. Задача для этой статьи — показать, как воплотить в железе одномерный пример из статьи про линейно-квадратичный регулятор. Грубо говоря, я хочу написать написать управление для сервомотора: у меня есть текущее положение оси привода и текущая скорость её вращения, я хочу её остановить в заданном положении. Я попытался было прочитать схожую статью на эту тему, но, признаться, ничего в ней не понял, поэтому сел разбираться самостоятельно, предпочтительно на пальцах и без страшных слов типа дифференциальных уравнений Лагранжа-Эйлера.
Продолжая рабочий эксгибиционизм, знакомлю вас с Bubble Bobble, который живёт у нас с коллегой в кабинете. Он рецензирует статьи для конференции SIGGRAPH.

Вклад авторов
alizar 2996.5ZlodeiBaal 1564.0Fil 1460.0agorkov 1345.0haqreu 1265.0Leono 1086.0YUVladimir 1037.0valemak 1014.0mephistopheies 996.0Zalina 922.0