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

ИИ сам научился собирать кубик Рубика - 1

Компьютерные программы уже давно умеют играть в шахматы, относительно недавно специализированную платформу от Deep Mind даже обучили профессионально играть в го. Настолько профессионально, что игроков среди людей, равных компьютеру, сейчас нет, и скорее всего, не будет.

На днях стало известно, что машина самостоятельно научилась решать еще одну сложную головоломку — кубик Рубика. Причем при обучении ей не демонстрировали, как правильно собирать кубик, программная платформа, созданная учеными из США, всему научилась самостоятельно. Некоторые специалисты считают, что перед машинами пал еще один «бастион, считавшийся владением человека».
Читать полностью »

80+ алгоритмов сортировки

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

IGNG — инкрементальный алгоритм растущего нейронного газа - 1

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

Итак, что же такое — алгоритм инкрементального растущего нейронного газа?

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

Мы рады сообщить, что при лаборатории им. Чебышева СПбГУ открывается магистратура по теоретической информатике, которая реализуется при тесном сотрудничестве с Computer Science клубом и при поддержке компаний JetBrains и Яндекс.

Магистратура по теоретической информатике в СПбГУ - 1

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

Kaggle: Amazon from Space — трюки и хаки при обучении нейросетей - 1

Летом прошлого года закончилось соревнование на площадке kaggle, которое было посвящено классификации спутниковых снимков лесов Амазонки. Наша команда заняла 7 место из 900+ участников. Не смотря на то, что соревнование закончилось давно, почти все приемы нашего решения применимы до сих пор, причём не только для соревнований, но и для обучения нейросетей для прода. За подробностями под кат.
Читать полностью »

Конкурентная сосиска

Аннотация

Обработка данных в реальном времени ровно один раз (exactly-once) — задача крайне нетривиальная и требующая серьезного и вдумчивого подхода на всей цепочке вычислений. Некоторые даже считают, что такая задача невыполнима. В реальности хочется иметь подход, обеспечивающий отказоустойчивую обработку вообще без каких-либо задержек и использование различных хранилищ данных, что выдвигает новые еще более жесткие требования, предъявляемые к системе: concurrent exactly-once и гетерогенность персистентного слоя. На сегодняшний день такое требование не поддерживает ни одна из существующих систем.

Предложенный подход последовательно раскроет секретные ингредиенты и необходимые понятия, позволяющие относительно просто реализовать гетерогенную обработку concurrent exactly-once буквально из двух компонент.

Введение

Разработчик распределенных систем проходит несколько стадий:

Стадия 1: Алгоритмы. Здесь происходит изучение основных алгоритмов, структур данных, подходов к программированию типа ООП и т.д. Код исключительно однопоточный. Начальная фаза вхождения в профессию. Тем не менее, достаточно непростая и может длиться годами.

Стадия 2: Многопоточность. Далее возникают вопросы извлечения максимальной эффективности из железа, возникает многопоточность, асинхронность, гонки, дебагинг, strace, бессонные ночи… Многие застревают на этом этапе и даже начинают с какого-то момента ловить ничем не объяснимый кайф. Но лишь единицы доходят до понимания архитектуры виртуальной памяти и моделей памяти, lock-free/wait-free алгоритмах, различных асинхронных моделях. И почти никто и никогда — верификации многопоточного кода.

Стадия 3: Распределенность. Тут такой треш творится, что ни в сказке сказать, ни пером описать.

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

Введение

Для определения баллистико-временных характеристик движения центра масс парашютиста приходится выбирать упрощенную математическую модель, вполне доступную для аналитического исследования и в то же время сохраняющую наиболее характерные черты исходного объекта.

Для построения упрощённых математических моделей движения парашютиста проводится анализ, определение, систематизация постоянных и временных параметров.

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

tl;dr: Контур во второй раз организует оффлайновые площадки для онлайн-соревнования по программированию игровых ботов на CodinGame. Площадки будут в 7 городах: Екатеринбурге, Ижевске, Иннополисе, Новосибирске, Перми, Ростове-на-Дону и Санкт-Петербурге.

Всё пройдёт 16 июня, в субботу (в Иннополисе — 18 июня, в понедельник). Приходите, если хотите отвлечься от рабочих задач и запрограммировать что-нибудь необычное. Ссылка для регистрации — в конце поста.

Всем привет! Я люблю участвовать в соревнованиях по программированию. Например, занимаюсь спортивным программированием — недавно в составе команды Ural FU: Kek стал бронзовым призёром ACM ICPC World Finals.

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

[Анонс] Хабы для соревнования на CodinGame.com в семи городах России - 1
Мой профиль на CodinGame.

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

Здравствуйте, коллеги. Сегодня хотели поинтересоваться, насколько востребованной вам кажется слегка устаревшая книга "Bayesian Methods for Hackers", опубликованная в оригинале в 2015 году, но пока не переведенная на русский язык.

Вероятностное программирование и байесовский метод для хакеров - 1

Книга позиционируется как прикладная, максимально избавленная от математики и неустаревающая.

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

Нечеткая логика для управления

Текст подготовлен на основе материалов книги Гостева В.В. «Нечеткие регуляторы в системах автоматического моделирования». Как все серьезные публикации по теме, данная книга перегружена математическими выкладками и тяжела для неподготовленного читателя. Между тем, сами по себе принципы создания и использования нечеткой логики достаточно просты и наглядны. Данный текст – попытка перевести пример из книги с математического языка на инженерный.
Показана возможную последовательность проектирования регулятора на базе нечеткой логики, путем последовательного усложнения логических правил и подбором параметров методами оптимизации.

Постановка задачи

Рассмотрим синтез цифрового ПИД-регулятора и нечеткого регулятора для системы управления ракетой по углу атаки. Методом математического моделирования определим процессы в системе и дадим сравнительную оценку качества системы при использовании синтезированных регуляторов.
Читать полностью »