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

Мы привыкли думать о вычислениях как о битах, регистрах и арифметике. А что, если базовой единицей вычисления сделать не бит, а локальную геометрическую конфигурацию тетраэдров? В этой статье я покажу дискретный тетраэдрический движок состояний, симметрийную канонизацию, аттракторы, иерархические jump-таблицы и реальные замеры на RTX 3090 — с измеренным exact-ускорением в 554.92 раза на одной и той же задаче.

1. Зачем вообще считать не битами, а тетраэдрами

Обычная вычислительная логика устроена очень просто: есть биты 0/1, есть операции над ними, есть длинные цепочки преобразований.

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

В этой статье я расскажу о том как генерировать рандомные лабиринты, используя рекурсивный алгоритм с возвратом. Этот алгоритм также может использоваться для решения других задач, которые связанны с неявными графами: судоку, комбинаторика и другие головоломки (например, задача о n ферзях).

Описание алгоритма в общих чертах:

Алгоритм Recursive backtracker - это метод систематического перебора всех возможных вариантов решения задачи, основанный на поиске в глубину (DFS).

Поэтапно, что делает алгоритм на примере графа:

  1. Выбираем начальную вершину и делаем ее текущей.

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

Привет! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел.

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

Казалось бы — что сложного скрывает поставленная задача о нахождении максимального произведения двух чисел? Но в зависимости от подхода решение может работать за O(n^2), O(n log n) или O(n).

Когда я обучался в университете и изучал теорию автоматического управления, мой преподаватель произнёс фразу:

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

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

Прим. мод. На самом деле, статья про опыт участия в конференциях, а мы решили не мешать закрывать гештальты ;-)

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

Условия задачи

Есть бесконечная плоскость, вымощенная квадратными клетками

У каждой клетки есть две координаты в виде целых чисел

Координаты от минус бесконечности до плюс бесконечности

В клетке с координатами (0,0) находится муравей (в другой версии обезьяна)

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

Например, у клетки с координатами (758, -219) сумма цифр координат 7+5+8+2+1+9=32

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

Зеркальные равенства: красивая математическая симметрия - 1

Математика полна удивительных закономерностей. В одном из номеров журнала «Наука и жизнь» была небольшая заметка в разделе «Математические досуги». С двумя примерами на умножение из разряда математических неожиданностей.

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

Новый алгоритм может снизить разобщенность пользователей соцсетей

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

Учёные из МФТИ, ИПУ РАН и ТГУ Читать полностью »

Всем привет! Для начала давайте разберем что такое вообще Алгоритмы для работы с большими данными, основная суть алгоритмов для работы с большими данными  — это эффективная обработка огромных объёмов информации при минимальных вычислительных ресурсах (памяти, CPU, диске). Их суть — жертвовать точностью ради скорости и масштабируемости. Примеры:

  • Потоковая обработка

  • Распределённые системы (агрегация на многих узлах).

  • Реал‑тайм аналитика (быстрые ответы на лету).

Главные алгоритмы и их суть

Алгоритм

Что решает?

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


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