RuCode Festival
3.31K subscribers
2.04K photos
137 videos
9 files
821 links
Всероссийский чемпионат по алгоритмическому программированию и искусственному интеллекту RuCode 🏆

Бесплатные интенсивы по Data Science, NLP и ML от лучших экспертов Сбера и Яндекса 🔝 Лекции об AI от учёных с мировым именем 🎓
https://rucode.net
Download Telegram
11 мaя 1997 гoдa мнoгoкpaтный чeмпиoн миpa пo шaxмaтaм Гappи Кacпapoв пpoигpaл кoмпьютepу IBM Deep Blue. Вспоминаем этот легендарный для всего ML-сообщества матч. И конечно, разбираемся, как фантастический сюжет стал реальностью 🤖

Deep Blue оказал влияние на вычисления во многих различных отраслях, так как позволил исследователям изучить пределы массовой параллельной обработки.
7👍1🔥1
Как провел(а) майские праздники?

🤗 — как на картинке 1
😡 — как на картинке 2
🕊 — много отдыхал и стал курочкой (как на картинке 3)
👾 — превратился в зомби от недосыпа
🤓 — усиленно ботал
🧑‍💻 — целыми днями гамал в Minecraft
🌚 — свой варик
🕊15🤓10🤗8😡3🌚2👨‍💻1
🎥 Видеолекции по теорверу и матстату от профессора, заведующего кафедрой математической статистики факультета ВМК МГУ Виктора Королёва. После внимательного просмотра видео вероятность успешной сдачи экзамена стремительно приближается к 1.

🌚 Ждём 50 реакций, чтобы опубликовать вторую часть лекций.
🌚21👍8🤡2🤩1
🛁 Эврика! Увы, сегодня мы не решили гробешник, но постарались уместить в несколько карточек самое важное об эвристических алгоритмах.

Псевдокод для удобства оставим здесь:

FUNCTION A*(start,end)
closedset = the empty set // Множество вершин, которые уже были обработаны(раскрыты)
openset = {start} // Множество вершин(очередь), которые предстоит обработать(раскрыть).
// Изначально здесь присутствует только начальная вершина start.
fromset = the empty set // Карта пройденных вершин. Используется функцией RECONSTRUCT_PATH
для восстановления пути (вывода результата).

// Заполняем свойства вершины start
G(start) = COST(start,start) = 0 // Стоимость пути от начальной вершины. У start g(x) = 0.
F(start) = G(start) + H(start,end) // h(x) - эвристическая оценка расстояния до цели.

// Основной цикл алгоритма
WHILE openset IS NOT EMPTY
curr = MIN_F(openset) // Вершина из openset имеющая самую низкую оценку f(x).
IF (curr = end) RETURN RECONSTRUCT_PATH(fromset,start,end) // Выводим результат.
REMOVE curr FROM openset // Вершина curr пошла на обработку, а значит её следует удалить из очереди на обработку.
ADD curr TO closedset // И добавить в список уже обработанных.

FOREACH neighbour OF curr neighbours // Проверяем каждого соседа curr
IF neighbour IN closedset CONTINUE // Пропускаем соседей из закрытого списка (предварительный, ожидаемый)
tentative_g_score = G(curr) + COST(curr,neighbour) // Вычисляем g(x) для обрабатываемого соседа
IF neighbour NOT IN openset // Если сосед curr ещё не в открытом списке
ADD neighbour TO openset //добавим его туда
tentative_is_better = TRUE // вводим признак того, что нужно обновить свойства для соседней вершины
ELSE // Сосед был в открытом списке, а значит мы уже знаем его g(x), h(x) и f(x)
IF tentative_g_score < G(neighbour) // Вычисленная g(x) оказалась меньше, а значит нужно будет обновить значения g(x), h(x), f(x)
tentative_is_better = TRUE
ELSE // Вычисленная g(x) оказалась больше, чем имеющаяся в openset.
// Это означает, что из вершины curr путь через этого соседа дороже
// т.е. существует менее дорогой маршрут, пролегающий через этого соседа (из какой-то другой вершины, не из curr)
// Поэтому данного соседа мы игнорируем
tentative_is_better = FALSE
// Обновление свойств соседа.
IF tentative_is_better = TRUE
fromset(neighbour) = curr //Вершина с которой мы пришли. Используется для реконструкции пути.
G(neighbour) = tentative_g_score
F(neighbour) = G(neighbour) + H(neighbour, end)
// Обратите внимание, что если происходит обновление свойств - значит neighbour(сосед curr) так или иначе находится в openset.
// Т.е. при следующей итерации внешнего цикла из openset будет извлечена вершина с наименьшей оценкой f(x).
// Не исключено, что она окажется соседом нашего curr, которого мы только что добавили.
// В общем это самая важная особенность алгоритма А*.
RETURN FAILURE // управление передаётся сюда когда openset пуст,а вершина end не найдена (путь найти не удалось)

// Восстанавливаем результироующий путь.
// Путь можно проследить только от заданной вершины(чаще всего это end) к старту(каждая вершина имеет пути находится в fromset, чем мы и воспользуемся).

FUNCTION RECONSTRUCT_PATH(fromset,start,end)
pathset = the empty list // Упорядоченное множество результирующих вершин пути.
curr = end // Поиск начинается от финиша.
ADD curr TO pathset // Добавляем end в результирующий путь.

WHILE curr <> start // Добавляем в путь все вершины от end до start.
curr = fromset(curr) // Получаем вершину из которой пришли в curr.
ADD curr TO pathset // Добавить вершину в результирующий путь.
RETURN REVERSE(pathset) // Так как мы построили путь от end к start, то результирующий набор вершин необходимо перевернуть.


🥲 Но кое-что всё же не поместилось…
Накидай побольше реакций – и мы сделаем ещё пост на эту тему. В следующий раз расскажем о типах эвристических алгоритмов и в каких задачах олпроги их лучше применять.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍21
Покажешь, насколько крут твой вуз? А если на кону 1 миллион рублей и другие заманчивые призы от Яндекса? 🦖

30 заботливо упакованных наборов умных устройств (возможно, среди подарков есть новая умная колонка Яндекс.Станция Дуо Макс?) уже ждут победителей.
200 лучших участников попадут в финал на грандиозный фестиваль YOUNG CON 2025 на Live Арена ✔️

Баттл вузов уже стартовал. Стремительно врывайся! Первый этап проходит онлайн до 20 мая.
Ждём 11-классников, студентов и выпускников вузов — любого года выпуска.

💻 Регистрируйся, участвуй и побеждай!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
📆 Второй отборочный тур Ночной Лиги уже ЗАВТРА!

1️⃣7️⃣0️⃣5️⃣2️⃣0️⃣2️⃣5️⃣

Время посоревноваться в решении задач по олпроге со школьниками со всей России. Такими же талантливыми, как и ты 💓

Регистрируйся уже сейчас!

🎁 Победители пройдут в полуфинал и получат подарки от крупной IT компании-партнёра. А если доберёшься до финала, тебя ждут мега-крутые призы!

Ночная лига – это захватывающий турнир по олимпиадному программированию для школьников 9-11 классов, который проводит Высшая школа программной инженерии МФТИ совместно с партнером факультета – одной из ведущих IT компаний России.

Успей записаться и зови комрадов!

P.s На все вопросы охотно ответим здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1🔥1
🤯 — это я
🔥 — я сдам на отл
🔥20🤯13🤩31🤡1