#графы — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #графы, aggregated by home.social.
-
Мне надоело искать ошибки глазами — я создал бесплатный аудитор для 1С
Графы функций одним кликом, поиск уязвимостей в сотнях тысяч строк, транзакции в циклах и мёртвые блокировки — всё это можно найти за минуты. История создания бесплатного визуализатора и аудитора кода 1С с открытым исходным кодом.
https://habr.com/ru/articles/1034000/
#1С #MetaVision #статический_анализ #аудит_кода #визуализация_кода #безопасность_1С #open_source #оптимизация_производительности #графы #SQLite
-
[Перевод] Структуры данных на практике. Глава 15: Графы и их обход с эффективным использованием кэша
«Задача абстракции — не быть расплывчатой, а создать новый семантический уровень, на котором можно достичь абсолютной точности», — Эдсгер Дейкстра Взрывной рост количества промахов кэша При определении топологии сети для обхода 500 коммутаторов нашей системе требовалось 37,5 миллисекунды. Вроде бы это не так медленно, если не учитывать количество промахов кэша: 8,5 миллиона. При 500 узлах это 17 тысяч промахов на узел. Структура данных была фундаментально неподходящей для этой задачи. Работа инструмента была простой: определение топологии сети при помощи обхода графа соединённых устройств. У каждого коммутатора было до 48 портов, а нам нужно было при помощи поиска в ширину найти все доступные устройства из начальной точки. Реализация была как по учебнику — список смежности со стандартным BFS. В случае сети из 500 коммутаторов (в среднем по 12 соединений у каждого) статистика была такой: 8,5 миллиона промахов кэша на 500 узлов. Это 17 тысяч промахов кэша на узел ! Я переписал этот код, реализовав графовое представление, учитывающее кэш. Результаты: код стал в 3,75 раз быстрее , а количество промахов кэша уменьшилось в 7 раз. В этой главе мы поговорим об эффективном описании и обходе графов.
-
Семь раз посчитай — один раз урони: моделируем инциденты до деплоя
Ракету не отправляют в космос только потому, что её двигатель и насос успешно прошли стендовые испытания по отдельности. Перед стартом инженеры рассчитывают траекторию, моделируют режимы работы и анализируют сценарии отказов. Расчёт не заменяет реальные тесты, но задаёт для них осмысленную рамку. В софте всё обычно иначе. Распределённый пользовательский путь — например, оформление заказа — собирается из десятков микросервисов, баз и очередей. Разработчики добавляют новую зависимость, видят зелёные тесты, проверяют локальные метрики и выкатывают релиз. Считается, что если при сбое что-то пойдёт не так, настроенная система наблюдаемости обязательно это покажет. Она, конечно, покажет. Но почему при проектировании микросервисов мы так спокойно относимся к тому, что узнаём о хрупкости архитектуры в основном по факту инцидента? Эта статья о том, как получить грубый расчёт деградации системы ещё до релиза. Без отказа от хаос-инжиниринга или мониторинга, а как шаг перед ними. Я расскажу о двух экспериментах, в которых топологическая модель автоматически извлекалась из распределённых трейсов, после чего на ней просчитывались сценарии отказов методом Монте-Карло. Результаты моделирования я затем сравнивал с реальными инъекциями отказов на стендах DeathStarBench и OpenTelemetry Demo. Два эксперимента, результаты и код
-
Семь раз посчитай — один раз урони: моделируем инциденты до деплоя
Ракету не отправляют в космос только потому, что её двигатель и насос успешно прошли стендовые испытания по отдельности. Перед стартом инженеры рассчитывают траекторию, моделируют режимы работы и анализируют сценарии отказов. Расчёт не заменяет реальные тесты, но задаёт для них осмысленную рамку. В софте всё обычно иначе. Распределённый пользовательский путь — например, оформление заказа — собирается из десятков микросервисов, баз и очередей. Разработчики добавляют новую зависимость, видят зелёные тесты, проверяют локальные метрики и выкатывают релиз. Считается, что если при сбое что-то пойдёт не так, настроенная система наблюдаемости обязательно это покажет. Она, конечно, покажет. Но почему при проектировании микросервисов мы так спокойно относимся к тому, что узнаём о хрупкости архитектуры в основном по факту инцидента? Эта статья о том, как получить грубый расчёт деградации системы ещё до релиза. Без отказа от хаос-инжиниринга или мониторинга, а как шаг перед ними. Я расскажу о двух экспериментах, в которых топологическая модель автоматически извлекалась из распределённых трейсов, после чего на ней просчитывались сценарии отказов методом Монте-Карло. Результаты моделирования я затем сравнивал с реальными инъекциями отказов на стендах DeathStarBench и OpenTelemetry Demo. Два эксперимента, результаты и код
-
Семь раз посчитай — один раз урони: моделируем инциденты до деплоя
Ракету не отправляют в космос только потому, что её двигатель и насос успешно прошли стендовые испытания по отдельности. Перед стартом инженеры рассчитывают траекторию, моделируют режимы работы и анализируют сценарии отказов. Расчёт не заменяет реальные тесты, но задаёт для них осмысленную рамку. В софте всё обычно иначе. Распределённый пользовательский путь — например, оформление заказа — собирается из десятков микросервисов, баз и очередей. Разработчики добавляют новую зависимость, видят зелёные тесты, проверяют локальные метрики и выкатывают релиз. Считается, что если при сбое что-то пойдёт не так, настроенная система наблюдаемости обязательно это покажет. Она, конечно, покажет. Но почему при проектировании микросервисов мы так спокойно относимся к тому, что узнаём о хрупкости архитектуры в основном по факту инцидента? Эта статья о том, как получить грубый расчёт деградации системы ещё до релиза. Без отказа от хаос-инжиниринга или мониторинга, а как шаг перед ними. Я расскажу о двух экспериментах, в которых топологическая модель автоматически извлекалась из распределённых трейсов, после чего на ней просчитывались сценарии отказов методом Монте-Карло. Результаты моделирования я затем сравнивал с реальными инъекциями отказов на стендах DeathStarBench и OpenTelemetry Demo. Два эксперимента, результаты и код
-
Семь раз посчитай — один раз урони: моделируем инциденты до деплоя
Ракету не отправляют в космос только потому, что её двигатель и насос успешно прошли стендовые испытания по отдельности. Перед стартом инженеры рассчитывают траекторию, моделируют режимы работы и анализируют сценарии отказов. Расчёт не заменяет реальные тесты, но задаёт для них осмысленную рамку. В софте всё обычно иначе. Распределённый пользовательский путь — например, оформление заказа — собирается из десятков микросервисов, баз и очередей. Разработчики добавляют новую зависимость, видят зелёные тесты, проверяют локальные метрики и выкатывают релиз. Считается, что если при сбое что-то пойдёт не так, настроенная система наблюдаемости обязательно это покажет. Она, конечно, покажет. Но почему при проектировании микросервисов мы так спокойно относимся к тому, что узнаём о хрупкости архитектуры в основном по факту инцидента? Эта статья о том, как получить грубый расчёт деградации системы ещё до релиза. Без отказа от хаос-инжиниринга или мониторинга, а как шаг перед ними. Я расскажу о двух экспериментах, в которых топологическая модель автоматически извлекалась из распределённых трейсов, после чего на ней просчитывались сценарии отказов методом Монте-Карло. Результаты моделирования я затем сравнивал с реальными инъекциями отказов на стендах DeathStarBench и OpenTelemetry Demo. Два эксперимента, результаты и код
-
Оптимизация параметров языковой модели на основе графа со-встречаемости слов: когда больше — не значит лучше
В последние годы мы привыкли, что прогресс в NLP измеряется гига- и терабайтами параметров. Кажется, единственный путь к улучшению качества модели — увеличение ее размера. Но так ли это для специализированных задач? Мы решили пойти от обратного: можно ли заранее, еще до обучения, понять, насколько большой должна быть модель, чтобы эффективно решать конкретную задачу классификации? Эксперимент строится на простой, но мощной гипотезе: структура текстов предметной области, отраженная в графе со-встречаемости слов, диктует минимально необходимую архитектуру трансформера. Мы прошли полный цикл — от анализа текстов студенческих запросов до обучения трех моделей разного размера — и подтвердили, что минимальная модель, спроектированная на основе графовых метрик, не уступает «стандартной» по качеству, превосходя ее по ресурсоэффективности в десятки раз.
-
Как контролировать токены: поиск ошибок, версионирование и графы в едином дашборде
Как только дизайн-система разрастается больше, чем на 10-20 кнопок, а брендов у вас становится несколько — JSON-файлы с токенами превращаются в кошмар. Дизайнеры экспортируют токены из Figma, разработчики получают пулл-реквест на 5000 строк измененного кода, и никто в здравом уме не может сказать: "А что именно поменялось и ничего ли мы не сломали?" А если вместо английской буквы "c" в коде будет русская? А что если токен зациклился сам на себя? А если у одних токенов более 3-х уровней вложенности, то как поведет себя система? А если нужного токена нет в одном из модов? Да и вообще, как узнать, какие токены можно вынести в примитивы, а какие в семантику и отдельные файлы для брендов? Чтобы решить эти проблемы, я написал веб-интерфейс Tokens Dashboard — ты кидаешь в него JSON (архив, папку, файл, несколько файлов — не важно), а он выдает красивую и понятную аналитику. И сегодня мы разберемся, как это работает. Программа полностью бесплатная и доступна как для пользователей Mac OS, так и Linux / Windows. Она портативна и не мусорит в системе — вы просто удаляете папку, если она вам больше не нужна. Посмотреть кейс
https://habr.com/ru/articles/1025146/
#дизайнсистема #дизайнтокены #figma #фронтенд #архитектура #кодревью #аудит_кода #json #графы #open_source
-
Глухой телефон для ИИ: мы замерили физику LLM-графов и поняли, почему добавление агентов всё ломает
Индустрия ИИ переживает бум мультиагентных систем . Кажется, рецепт AGI найден: просто соедините 10 умных нейросетей в команду, дайте им роли, и они свернут горы. Но на практике мы часто сталкиваемся с магией «черного ящика». Иногда агенты действительно решают сложнейшие задачи. А иногда - скатываются в бесконечные галлюцинации, теряют контекст и выдают результат хуже, чем базовая модель соло. Индустрия решает эту проблему в стиле средневековых алхимиков: «просто добавьте еще агентов» или «дайте им больше токенов на болтовню». Никто не измеряет физику процесса. Мы решили, что с нас хватит алхимии. Нам понадобился измерительный прибор - эдакий МРТ-аппарат для мультиагентных сетей, который покажет механику общения LLM изнутри. Так появился опенсорсный проект llm-coordination-harness - строгий измерительный стенд (measurement rig), который доказывает, что у общения нейросетей есть своя физика, которую можно и нужно измерять. Под катом рассказываем и показываем на графиках. Никаких заявлений про AGI - только честный хардкорный ресёрч, физика графов и отрицательные результаты, которые оказались важнее положительных. Заглянуть в черный ящик
https://habr.com/ru/articles/1019490/
#llm #ииагенты #multiagent_systems #машинное_обучение #графы #топология_сети #data_science #безопасность_ии #openrouter #бенчмарки
-
Использование алгоритма Hunt&Kill для создания клеточного лабиринта
Статья про то, как создавать клеточные лабиринты с помощью алгоритма Hunt&Kill + реализация на языке python.
-
Забыть про Backprop: Как я собрал «Термодинамический Мозг» с фазой сна и митозом, который влезет в Arduino
Мы (человечество) очень хотим создать разум. Инопланетян мы пока не нашли, поэтому пытаемся собрать его сами из кремния и электричества. Но то, куда свернула индустрия сегодня, вызывает вопросы. Мы греем планету мегаваттами энергии, перемножая гигантские матрицы в дата-центрах, чтобы обучить LLM. Backpropagation и современный инференс - это непозволительно дорого и энергозатратно. А что если вернуться к истокам? Что если интеллект — это не градиентный спуск, а кристаллизация связей под давлением информации? В этой статье я расскажу о концепте Термодинамического Мозга . Это самоорганизующийся граф, который обучается в один проход O(1), непрерывно адаптируется к новым данным, спит по ночам, чтобы не сойти с ума, и настолько нетребователен к ресурсам, что его можно запустить хоть во вкладке браузера, хоть на Arduino. Запустить митоз
https://habr.com/ru/articles/1003270/
#искусственный_интеллект #термодинамический_мозг #алгоритмы #митоз #самоорганизация #графы #DOD #javascript #символьный_ИИ
-
[Перевод] Бесконечность, графы и Wi-Fi: неожиданный мост между теорией множеств и информатикой
Специалисты по дескриптивной теории множеств изучают узкоспециализированные аспекты математики бесконечности. Теперь они показали, что их проблемы можно переформулировать на языке алгоритмов. В 2023 году математик Антон Бернштейн опубликовал статью о глубокой и удивительной связи между дескриптивной теорией множеств и современной информатикой. Его результат показал, что язык алгоритмов может описывать даже те бесконечные структуры, которые десятилетиями считались чисто абстрактными. И если это правда, то граница между теорией множеств и информатикой проходит совсем не там, где мы привыкли её проводить.
-
[Перевод] Охота за недостающим типом данных: история о графах
(Ориентированный) граф — это набор узлов, соединённых стрелками ( рёбрами ). В узлах и рёбрах могут содержаться данные. Вот примеры графов:
https://habr.com/ru/articles/979220/
#алгоритмы #графы #базы_данных #программирование #структуры_данных
-
Почему вайб-кодинг не работает
С появлением AI-агентов разработка программного обеспечения изменилась кардинально. Я, как и многие разработчики, начал активно использовать Claude, Cursor и другие инструменты для автоматизации написания кода. Результаты поначалу впечатляли: за один вечер, занимаясь системным анализом, проектированием архитектуры и промпт-инжинирингом, я мог сгенерировать до 100 000 строк кода. Процесс был увлекательным. Не нужно было вручную писать реализацию - достаточно было описать требования, обсудить с AI архитектурное видение, уточнить детали, и код появлялся сам. Я мог работать по вечерам над своими pet-проектами, общаясь с искусственным интеллектом как с коллегой. Это был настоящий вайб-кодинг - приятный, творческий процесс, не отягощённый рутиной. Проблемы начались не сразу. Первые несколько дней работа шла гладко: AI быстро генерировал код, тесты проходили, функциональность работала. Но затем, примерно через неделю-две активной разработки, я стал замечать тревожные симптомы.
-
[Перевод] Узоры оригами помогли решить важную физическую проблему
Амплитуэдр — это геометрическая фигура, обладающая почти мистическими свойствами : вычислив её объём, вы получите ответ на ключевой вопрос физики о том, как взаимодействуют частицы. Молодой математик из Корнеллского университета Павел (Паша) Галашин обнаружил, что амплитуэдр связан с оригами — искусством складывания бумаги. В доказательстве (октябрь 2024) он показал: узоры оригами можно перевести в набор точек, образующих амплитуэдр. Иными словами: способ складывания бумаги и способ столкновения частиц приводят к одной и той же геометрической форме. «Паша уже проделал блестящую работу, связанную с амплитуэдром», — сказал Нима Аркани-Хамед, один из авторов идеи амплитуэдра, изобретённого в 2013 году . «Но это для меня совершенно новый уровень». Опираясь на связь с оригами, Галашин решил открытую гипотезу: импульсный амплитуэдр можно разрезать на простые части, соответствующие физическим расчётам. Проще говоря, части амплитуэдра действительно соединяются так, как и должно быть. Результат не только связывает две разные области — математики уже исследуют, какие ещё идеи можно перенести по этому мосту. Они используют его, чтобы лучше понять амплитуэдр — и ответить на другие вопросы в гораздо более широком диапазоне контекстов.
https://habr.com/ru/companies/first/articles/965550/
#физика #оригами #графы #геометрия #амплитудэр #матрицы #векторы #изгиб
-
Как работает навигация между городами без интернета
2ГИС с самой первой версии навигатора умеет строить разные виды маршрутов — автомобильные, пешеходные, маршруты на общественном транспорте — на мобильных устройствах без доступа к интернету, но только внутри городов. С 2019 года 2ГИС также умеет строить маршруты между городами, но только при наличии интернета. Уже давно наши пользователи просили дать возможность строить междугородние маршруты без доступа к сети. И вот, мы наконец сделали это.
-
Rise of RAG: от плоских векторов к темпоральным графам в юридическом домене
Привет, Хабр! Меня зовут Екатерина, я практикующий инхаус-юрист с фокусом на IT, IP и рекламе. Недавно я начала экспериментировать с технологией Retrieval-Augmented Generation и векторным поиском в юридических задачах, а также исследовать архитектурные подходы к построению баз знаний в юриспруденции. Этот материал — обзор трёх публикаций о способах построения таких баз, а также моя попытка начать формулировать методологию структурирования юридического знания для RAG. Буду признательна за любой инпут со стороны ML-специалистов.
-
[Перевод] Кому нужен Graphviz, если можно написать его самому?
Недавно мы переделали наши внутренние инструменты, визуализирующие компиляцию JavaScript и WebAssembly. При работе оптимизирующего компилятора Ion мы теперь можем генерировать интерактивные графы, демонстрирующие, как конкретно обрабатываются и оптимизируются функции. Вы можете сами поэкспериментировать с этими графами в оригинале статьи . Просто введите какой-нибудь код на JavaScript в функцию test , и наблюдайте за созданием графа. Также там можно щёлкать и перетаскивать граф, менять масштаб при помощи колеса мыши с зажатым Ctrl и перетаскивать ползунок вниз, чтобы изучить процесс оптимизации. В процессе экспериментов обратите внимание на то, насколько стабильна схема графа даже при изменении размеров блоков и добавлении новых структур. Попробуйте нажать на заголовок блока, чтобы выделить его, а затем перетащить ползунок, и наблюдайте за тем, как меняется граф, а блок остаётся на месте. Или нажмите на номер команды, чтобы подсветить её и следить за ней между проходами. Разумеется, мы не первые, кто начал визуализировать внутренние графы компиляторов, и не первые, кто сделал их интерактивными. Но меня не устраивали результаты работы популярных инструментов наподобие Graphviz и Mermaid , поэтому я решил создать алгоритм специально под наши потребности. Получившийся алгоритм прост, быстр, создаёт на удивление высококачественный вывод и его можно реализовать в менее чем тысяче строк кода. В этой статье я объясню алгоритм и конструкторские решения, лежащие в его основе.
-
Строим полный граф импортов python на основе статического анализа
Эта статья о разработке средства визуализации импортов внутри проекта на python, основное назначение которого построить полный граф связи скриптов между собой и с внешними библиотеками, основываясь только на статическом анализе AST дерева. Код не будет выполняться, а доступность библиотек — проверятся. Цель показать, что было задумано, а не как это будет работать в текущем окружении.
-
Альтернативные подходы к решению «Парадокса двух детей»
Как‑то раз, просматривая новостную ленту перед работой, я наткнулся на почти ничем не примечательную статью на нашем любимом Хабре. Статья эта очень близко пересказывает страницу из Википедии, которая называется «Парадокс мальчика и девочки». Примечательна эта статья на Хабре лишь тем, что под стандартным и общепринятым решением этой несложной задачи разразился почти что холивар на тему правильности решения/формулировки задачи и адекватности автора. В этой статье я хотел бы вставить свои пять копеек и выразить несколько своих мыслей по этому поводу, которые накопились на небольшую статью. Основная их цель — найти способ объяснить решение этой задачи человеку, который знает тервер на самом базовом школьном уровне, и который не имеет никакой теоретико‑вероятностной интуиции (такие люди, в основном, и рождали споры в комментариях). Конечно, без базовых знаний в других областях математики не обойтись, но на мой взгляд, если такое объяснение существует, то это неплохая альтернатива классическому решению. Ибо истинное решение задачи из теорвера зачастую противоречит человеческой интуиции.
-
Простые числа и многозначные логики
Интересным является вопрос о погружении арифметики в n+1 -значные логики Лукасевича Ł n+1 . Какая часть арифметики может быть погружена в Ł n+1 ? Для функции φ( х ) = m рассматривается обратная к ней, определяемая соотношением φ –1 ( m ) = { n , φ( n ) = m }, где φ( х ) – функция Эйлера. Пример , если φ( n ) = 4 , то это уравнение имеет ровно четыре решения φ –1 ( 4 ) = { 5, 8, 10, 12 }. Гольдбахом (1690 –1764) поставлена проблема о разложении четных чисел ≥ 4 на сумму двух простых. Если это верно, то для каждого числа m найдутся простые числа р и q такие, что φ( р ) + φ( q ) = 2m. Эдмунд Ландау в 1912 г. на международном конгрессе математиков в Кембридже заявил, что проблема Гольдбаха недоступна для современного состояния науки. Недоступна она и сейчас. Верифицируемость предположения Гольдбаха установлена до 4∙10 14 . Делались попытки найти формулу, с помощью которой вычислялись бы (или порождались) все простые числа. Наилучший результат принадлежит Ю.В. Матиясевичу (1977), который нашел полином из 10 переменных. Асимптотическое распределение простых чисел в НРЧ, доказываемое аналитическими методами, приводится в книге К. Прахара (1967). О первых 50 млн простых чисел статья Д. Цагера (1984). Можно считать, что впервые на проблему решения подобных уравнений обратил внимание Э. Люка (1842 – 1891). Об этом сказано в книге И.В. Арнольда (1939) «… следуя Люка, сгруппированы числа n с одним и тем же значением функции φ( n ) в пределах от 1 до 100 , т.е. дана таблица функции обратной по отношению φ( n )» В книге Серпинского (1968) задача №245 «Найти все натуральные числа n≤ 30 , для которых φ( n ) = d ( n ), где φ( n ) – функция Эйлера, а число d ( n ) – число натуральных делителей числа n ». Рассмотрим только случай n = 30 . Делителями числа 30 являются числа 1, 2, 3, 5, 6, 10, 15 и 30 , т.е. d ( n = 30 ) = 8 . Значит надо решить уравнение φ( 30 ) = 8 , где n≤ 30. Или, по-другому, найти значения для обратной функции Эйлера φ –1 ( 8 ), т.е. определить множество { n , φ ( n ) = 8 } для n≤ 30. Это множество образовано числами { 15, 16, 20, 24, 30 }. Более того, ни для каких других n >30 φ ( n ) ≠ 8 . Множество значений φ –1 ( m ) = Ø пусто для всех нечетных значений и многих четных значений m > 1 . В первой сотне числа 14, 26, 34, 38, 50, 62, 68, 74, 76, 86, 90, 94 и 98 не являются значениями φ ( n ).
https://habr.com/ru/articles/943892/
#Логика #математическая_логика #простые_числа #натуральный_ряд_чисел #графы #функция_Эйлера #эквивалентность #классы_эквивалентности #нормальные_формы #штрих_Шеффера
-
Как рёбра графа 3D-сцены помогают LLM отвечать на вопросы?
Привет, Хабр! Меня зовут Татьяна Земскова, я аспирантка МФТИ и младший научный сотрудник команды Embodied Agents лаборатории Cognitive AI Systems AIRI. Областью моих научных интересов является компьютерное зрение для робототехники. Я изучаю, в частности, то, каким образом робот может использовать различные модальности (текст, 3D‑облака точек) для лучшего понимания 3D‑сцены. Сегодня мы поговорим о понимании 3D‑сцены в контексте задач, где требуется одновременно и трёхмерное компьютерное зрение, и обработка естественного языка, а также о том, как представление 3D‑сцены в виде графа с рёбрами помогает в их решении. Главной особенностью графового представления 3D‑сцены является его компактность, поэтому граф можно использовать для сжатого описания 3D‑сцены, подающегося на вход в LLM. Это позволяет получать качественные ответы на вопросы о 3D‑сцене до 5 раз быстрее по сравнению с методами, использующими последовательности изображений для LVLM. Это мы показали вместе с моим научным руководителем Дмитрием Юдиным в недавней работе 3DGraphLLM: Сombining Semantic Graphs and Large Language Models for 3D Scene Understanding , принятой на ведущую конференцию по компьютерному зрению ICCV 2025. Мы предоставляем открытый исходный код метода 3DGraphLLM с инструкциями по запуску, а также публикуем предварительно обученные веса модели на Hugging Face . Это позволяет каждому желающему легко воспроизвести результаты и опробовать все описанные методы на собственных данных. Здесь же хочется подробнее рассказать о новом методе и пути, по которому мы к нему пришли.
https://habr.com/ru/companies/airi/articles/926076/
#графы #llmмодели #scene_understanding #graphs #question_answering #detection #captioning #детекция_объектов
-
Кому нужна математика?
Недавно я прочёл книгу «Кому нужна математика?» Нелли Литвак и Андрея Райгородского — и она меня по-настоящему зацепила. Это короткие, живые рассказы о том, как математика помогает решать важные и неожиданные задачи: от составления расписаний до защиты интернет-трафика. В этом посте я перескажу три истории из книги, которые особенно меня удивили
https://habr.com/ru/articles/933332/
#математика #прикладная_математика #алгоритмы #научпоп #графы #линейное_программирование #криптография #диффихеллмана #оптимизация #книги
-
Важнейшая модель теории вероятностей
Что объединяет частицу в воде, биржевой курс и кота Барсика, бродящего по району в поисках ларька с рыбой? Всё это — примеры случайного блуждания. Эта простая модель из теории вероятностей помогает описывать самые разные явления: от диффузии молекул до принятия решений и работы алгоритмов. Она кажется интуитивной — но за ней скрывается множество нетривиальных и красивых свойств. Мы начнём с истории открытия броуновского движения — от наблюдений Роберта Броуна до формулы Альберта Эйнштейна, которая связала наблюдаемое явление с атомной гипотезой. Покажем, как идея случайного движения превратилась из гипотезы в надёжный инструмент научного анализа. Затем перейдём к математической модели случайных блужданий, разберём, как она устроена и где используется. Научимся с ней работать: найдём среднюю скорость удаления, обсудим задачу о разорении игрока и вернёмся к нашему коту Барсику. В завершение мы коснёмся неожиданной связи случайных блужданий с электрическими цепями, мыльными плёнками и графами — и покажем, как одна и та же задача может быть решена разными способами. В финале — красивая задача для самостоятельного решения: её можно решить математически или запрограммировать симуляцию. Выбирайте способ по вкусу.
https://habr.com/ru/articles/914146/
#математика #теория_вероятностей #случайность #модель #броуновское_движение #монтекарло #графы #электрические_цепи #дисперсия
-
Видеть инфраструктуру как хакер. От графа моделирования угроз к алгоритмам, которые находят маршруты атак на нем
Эта статья — логическое продолжение статьи Антона и Кости про управление маршрутами атак хакера ). Здесь мы расскажем о построении графа моделирования угроз и методах расчета путей атакующего на нем. Одна из задач проактивного анализа и повышения защищенности инфраструктуры – это поиск потенциальных маршрутов кибератак.. При этом, как показано в статье Даниила Неймана Методы моделирования атак на графах , для решения этой задачи наиболее эффективный подход - это использование графового представления инфраструктуры. В этой статье мы обсудим, какие проблемы при этом возникают и почему хорошо изученные алгоритмы поиска путей на графах плохо применимы к расчету путей атакующего. Посмотрим, какие способы решения задачи существуют, как мы их решаем при разработке MaxPatrol Carbon, поговорим об их проблемах и ограничениях, наметив пути решения некоторых из них. Итак, пристегнем ремни, поехали!
https://habr.com/ru/companies/pt/articles/913386/
#maxpatrol_carbon #max_patrol #маршрут_хакера #кибератаки #моделирование_угроз_иб #графы #муравьиный_алгоритм #цепь_маркова #недопустимое_событие #графовые_алгоритмы
-
Видеть инфраструктуру как хакер. От графа моделирования угроз к алгоритмам, которые находят маршруты атак на нем
Эта статья — логическое продолжение статьи Антона и Кости про управление маршрутами атак хакера ). Здесь мы расскажем о построении графа моделирования угроз и методах расчета путей атакующего на нем. Одна из задач проактивного анализа и повышения защищенности инфраструктуры – это поиск потенциальных маршрутов кибератак.. При этом, как показано в статье Даниила Неймана Методы моделирования атак на графах , для решения этой задачи наиболее эффективный подход - это использование графового представления инфраструктуры. В этой статье мы обсудим, какие проблемы при этом возникают и почему хорошо изученные алгоритмы поиска путей на графах плохо применимы к расчету путей атакующего. Посмотрим, какие способы решения задачи существуют, как мы их решаем при разработке MaxPatrol Carbon, поговорим об их проблемах и ограничениях, наметив пути решения некоторых из них. Итак, пристегнем ремни, поехали!
https://habr.com/ru/companies/pt/articles/913386/
#maxpatrol_carbon #max_patrol #маршрут_хакера #кибератаки #моделирование_угроз_иб #графы #муравьиный_алгоритм #цепь_маркова #недопустимое_событие #графовые_алгоритмы
-
Видеть инфраструктуру как хакер. От графа моделирования угроз к алгоритмам, которые находят маршруты атак на нем
Эта статья — логическое продолжение статьи Антона и Кости про управление маршрутами атак хакера ). Здесь мы расскажем о построении графа моделирования угроз и методах расчета путей атакующего на нем. Одна из задач проактивного анализа и повышения защищенности инфраструктуры – это поиск потенциальных маршрутов кибератак.. При этом, как показано в статье Даниила Неймана Методы моделирования атак на графах , для решения этой задачи наиболее эффективный подход - это использование графового представления инфраструктуры. В этой статье мы обсудим, какие проблемы при этом возникают и почему хорошо изученные алгоритмы поиска путей на графах плохо применимы к расчету путей атакующего. Посмотрим, какие способы решения задачи существуют, как мы их решаем при разработке MaxPatrol Carbon, поговорим об их проблемах и ограничениях, наметив пути решения некоторых из них. Итак, пристегнем ремни, поехали!
https://habr.com/ru/companies/pt/articles/913386/
#maxpatrol_carbon #max_patrol #маршрут_хакера #кибератаки #моделирование_угроз_иб #графы #муравьиный_алгоритм #цепь_маркова #недопустимое_событие #графовые_алгоритмы
-
Видеть инфраструктуру как хакер. От графа моделирования угроз к алгоритмам, которые находят маршруты атак на нем
Эта статья — логическое продолжение статьи Антона и Кости про управление маршрутами атак хакера ). Здесь мы расскажем о построении графа моделирования угроз и методах расчета путей атакующего на нем. Одна из задач проактивного анализа и повышения защищенности инфраструктуры – это поиск потенциальных маршрутов кибератак.. При этом, как показано в статье Даниила Неймана Методы моделирования атак на графах , для решения этой задачи наиболее эффективный подход - это использование графового представления инфраструктуры. В этой статье мы обсудим, какие проблемы при этом возникают и почему хорошо изученные алгоритмы поиска путей на графах плохо применимы к расчету путей атакующего. Посмотрим, какие способы решения задачи существуют, как мы их решаем при разработке MaxPatrol Carbon, поговорим об их проблемах и ограничениях, наметив пути решения некоторых из них. Итак, пристегнем ремни, поехали!
https://habr.com/ru/companies/pt/articles/913386/
#maxpatrol_carbon #max_patrol #маршрут_хакера #кибератаки #моделирование_угроз_иб #графы #муравьиный_алгоритм #цепь_маркова #недопустимое_событие #графовые_алгоритмы
-
[Перевод] Математическое решение царской игры Ура
Мы потратили семь лет на эксперименты с ИИ для царской игры Ура, и, наконец, пришли к сильному решению по правилам Финкеля, Блица и Мастерса! В конечном итоге, для этого понадобилась пара красивых уравнений, которые я объясню в статье. На самом деле, мы не «просто» нашли сильное решение игры. Для сильного решения необходимо находить наилучший ход из каждой позиции. Мы сделали это, плюс вычислили точную вероятность победы каждого игрока при оптимальной игре из каждой позиции. Для этого мы воспользовались нашей опенсорсной библиотекой RoyalUr-Java . Ниже мы опишем, как это работает. Также мы написали технический отчёт .
https://habr.com/ru/articles/907912/
#игра_ура #царская_игра_ура #royal_game_of_ur #графы #искусственный_интеллект
-
[Перевод] Патоген с дуба рухнул? Спорный препринт биоинформатического исследования, который не будет официально опубликован
Мы нашли некоторые биоинформатические свидетельства того, что фермент липоксигеназа и оксилипиновая сигнализация позволяют бактериям «перепрыгивать» между растениями и человеком. Чтобы подтвердить нашу гипотезу, я провел дата-исследование. Здесь я объясняю, почему я решил оставить эту статью официально неопубликованным препринтом. В 2020 году мы с соавторами опубликовали биоинформатическое исследование [1], целью которого было подтверждение статистической и филогенетической связи между липоксигеназами и возникновением многоклеточности. Мы не только нашли такую связь, но и обнаружили еще одну подгруппу видов - носителей липоксигеназ. Они отличались необычной экологической универсальностью, широким спектром хозяев, статусом «новых патогенов» и устойчивостью к противомикробным препаратам. Было очевидно, что эти бактерии заслуживают приоритета в дальнейшем анализе. Я рассказал о них в статье в журнале "Природа" [2] и начал вести «черный список патогенов», состоящий из липоксигеназо-положительных возбудителей заболеваний человека.
https://habr.com/ru/articles/876184/
#бактерии #оксилипины #растения #патогены #биоинформатика #графы #филогенетика #статистика #биохимия #медицина
-
Создание интерактивных карт с D3.js и Leaflet: Визуализация объектов и графов
Комбинация библиотек D3.js и Leaflet предоставляет мощный инструментарий для создания интерактивных географических визуализаций. Leaflet отвечает за отображение карт и управление слоями, а D3.js позволяет добавлять кастомные элементы, такие как маркеры, линии или сложные графы.
https://habr.com/ru/articles/906414/
#javascript #leaflet #d3js #карта #графы #frontendразработка
-
Обобщенный алгоритм Дейкстры
Хочу поделиться знанием, которое не является секретом, в каких-то курсах по алгоритмам оно наверняка дается, но нагуглить его совсем не просто. Поэтому пусть будет. Алгоритм Дейкстры можно обобщить на произовльную функцию длины пути, если только она удовлетворяет трем условиям: Монотонность . При добавлении ребра к пути, его длина не уменьшается. Консистентность . При добавлении одинакового ребра к путям одинаковой длины, получившиеся новые пути имеют одинаковую длину. Оптимальность префикса . Если к двум путям приписать одинаковое ребро, то кратчайший путь останется кратчайшим. Под катом я привожу доказательство корректности обобщенного алгоритма и показываю, как его применить в задаче на литкоде: Trapping rain water II .
-
Дедушка, а что ты делал в Росатоме? Или почему атомная отрасль — это не только про АЭС
Где-то писали, что одну треть жизни мы проводим на работе. Если отмести время на сон, то это очень много. И мы с коллегами задались вопросом: какое наследие мы оставим после себя и чем будем гордиться, будет ли нам что рассказать нашим внукам? Мы представили себе будущее, где эти самые внуки пришли к нам, чтобы расспросить о работе. Какой-нибудь далёкий 2065 год, где все летают на космолётах и строят зелёные города, а дети стали настолько акселератами, что ML они проходят на утренниках. В детском саду нашим внукам дали задание рассказать о том, чем занимались их дедушки и бабушки. Они пришли к нам, и мы начали свой рассказ о том, как «мы-то в те времена у-у-у-у!». Вот пять наших историй о том, что мы делали в Росатоме, рассказанные нашим внукам.
https://habr.com/ru/specials/890000/
#rosatom #росатом #атомная_энергетика #карьера #аэс #северный_морской_путь #мрт #графы #цифровые_двойники #гринатом
-
[Перевод] Учёные нашли оптимальный способ обхода графа
Алгоритм Дейкстры долгое время считался самым эффективным способом обхода графа. Теперь исследователи доказали, что он «универсально оптимален». Если вы долгое время ездите по одному и тому же маршруту, вы, вероятно, считаете его лучшим. Но «лучший» — это относительное понятие. Возможно, однажды произойдёт авария или дорога будет перекрыта, и ваш самый быстрый маршрут станет самым медленным. Подобные сценарии также являются вызовом для исследователей, которые разрабатывают алгоритмы, пошаговые процедуры, которые компьютеры используют для решения проблем. Множество различных алгоритмов могут решить любую заданную проблему, и вопрос, какой из них лучше, может быть удручающе неоднозначным.
https://habr.com/ru/companies/first/articles/873206/
#алгоритмы #графы #оптимальный_путь #алгоритм_дейкстры #обход_графа
-
Методы моделирования атак на графах
Привет! С вами снова Даниил Нейман из отдела развития инициатив ИБ-сообществ. Это продолжение цикла статей о проблеме, с которой сталкивается специалист при анализе кибератак, — о сложности анализа без использования стандартизированных методов моделирования , используемых для разбиения и визуального представления этапов кибератаки. Ранее были рассмотрены методы моделирования атак на основе сценариев использования и темпоральные методы моделирования . А завершим цикл статей мы рассмотрением методов, основанных на графах . Отличительная черта этих методов — использование графов, где сущностями являются вершины графа, а связями между ними — ребра.
https://habr.com/ru/companies/pt/articles/861072/
#моделирование_данных #кибератаки #cybersecurity #графы #attack_graph #сеть_петри #petri_net #дерево_событий #дерево_решений #граф_атаки
-
ML-тренды рекомендательных технологий: шесть приёмов, которые помогают угадывать желания пользователя
Главная задача рекомендательной системы — предоставить пользователю контент, фильм, трек, книгу, товар или информацию, которые могут заинтересовать его в данный момент. Сложность в том, что у нас нет явного запроса пользователя, как в поиске, есть только история его взаимодействий с объектами и наша надежда на то, что мы верно распознали его скрытые желания. Раньше для такой задачи нужно было строить сложные алгоритмы со множеством написанных вручную эвристик. Теперь с этим помогают ML‑технологии. Меня зовут Кирилл Хрыльченко, я руковожу командой R&D рекомендательных технологий в Яндексе. Наша команда исследует и разрабатывает новые технологии, а также активно следит за тем, что появляется нового в индустрии. Сегодня я поделюсь трендами развития рекомендательных систем и расскажу, как нейросети продолжают улучшать качество рекомендаций: какие есть нюансы в работе с LLM, чем полезно обучение с подкреплением, что изменилось в плане анализа истории пользователя, а также на что обратить внимание при масштабировании.
https://habr.com/ru/companies/yandex/articles/857068/
#recsys #машинное_обучение #нейросети #рекомендательные_системы #llm #ранжирование #графы #reinforcement_learning
-
Как мы в МТС создали библиотеку для работы с графовыми нейронными сетями
Привет, Хабр! Меня зовут Диана Павликова, я работаю ML-инженером. Часто к нам приходят задачи, когда нужно повысить качество работы модели там, где обычными способами это сделать уже не получается. Мы решили применить что-то новое, поэтому обратились к теории графов и написали CoolGraph — open source библиотеку для работы с графовыми нейронными сетями. В этой статье я расскажу, как мы пришли к идее ее создания, как графы помогают улучшить результат, какую архитектуру мы выбрали и для каких задач подойдет этот инструмент. Все подробности — под катом.
https://habr.com/ru/companies/ru_mts/articles/851076/
#coolgraph #gnn #графы #pytorch_geometric #NNConv #GraphConv
-
Муравьиный алгоритм. Решение задачи коммивояжера
В данной статье я бы хотел объяснить работу алгоритма муравьиного алгоритма и решить с его помощью задачу коммивояжера. Решение задачи сводиться к выходу из какой-либо вершины графа, прохождению по всем вершинам по одному разу самым коротким путем и возврату к начальной точке. В конце статьи вас ожидает реализация алгоритма на языке Go.
https://habr.com/ru/articles/848590/
#алгоритмы #задача_коммивояжера #муравьиный_алгоритм #графы #golang #комбинаторная_оптимизация #эвристические_алгоритмы #алгоритмы_на_графах #транспортные_задачи #go
-
Онтология и семантика
Хайп? Философия? Повседневность? Будущее? Давайте разбираться. TL;DR: Онтология в IT - это способ структурировать знания о мире в виде связанных категорий и их свойств. Например, в онтологии "Игры престолов" есть категории "дома", "персонажи" и связи между ними. Когда мы наполняем онтологию реальными данными, получается граф знаний. Семантический слой - это более абстрактное понятие, включающее все способы придания смысла данным. Вместе они помогают ИИ-системам лучше понимать контекст и давать более точные ответы. Динамические онтологии используются для выявления скрытых связей в больших объемах данных, что помогает принимать более обоснованные бизнес-решения.
-
Графы в Swift: Поиск в Глубину и Поиск в Ширину
Графы — это не просто абстрактная теория. Они лежат в основе большинства технологий, которые мы используем каждый день: от социальных сетей и рекомендаций до маршрутизации и анализа данных. Понимание графов — ключ к раскрытию сложных связей и зависимостей между объектами. Ориентированные или неориентированные, простые или сложные — научитесь использовать графы для решения реальных задач и откройте для себя новый уровень работы с данными!
-
Графы в Swift: Поиск в Глубину и Поиск в Ширину
Графы — это не просто абстрактная теория. Они лежат в основе большинства технологий, которые мы используем каждый день: от социальных сетей и рекомендаций до маршрутизации и анализа данных. Понимание графов — ключ к раскрытию сложных связей и зависимостей между объектами. Ориентированные или неориентированные, простые или сложные — научитесь использовать графы для решения реальных задач и откройте для себя новый уровень работы с данными!
-
Графы в Swift: Поиск в Глубину и Поиск в Ширину
Графы — это не просто абстрактная теория. Они лежат в основе большинства технологий, которые мы используем каждый день: от социальных сетей и рекомендаций до маршрутизации и анализа данных. Понимание графов — ключ к раскрытию сложных связей и зависимостей между объектами. Ориентированные или неориентированные, простые или сложные — научитесь использовать графы для решения реальных задач и откройте для себя новый уровень работы с данными!
-
Поиск всех последовательностей чисел от 1 до n, где сумма соседних чисел является квадратом
В этой статье рассмотрено решение задачи по нахождению всех возможных цепочек чисел в матрице, где каждое число соединяется с другим числом, если их сумма является квадратом. Изначально данная задача была предложена в рамках собеседования, что делает её потенциально интересной для тех, кто готовится к техническим интервью. Хотя предложенный метод и демонстрирует способ решения задачи, важно отметить, что это решение не претендует на звание оптимального. Оно служит лишь одним из возможных подходов, и оптимальные решения могут варьироваться в зависимости от конкретных условий и требований задачи. Статья также включает примеры кода на Scala, комментарии к методам и обсуждение возможных улучшений для более эффективного решения аналогичных задач.
-
Эмпатичные аватары: измеряем эмпатию в диалогах людей и воплощенных чат-ботов
Если в автомобильной пробке голосовой помощник пожалуется, что он эти пробки тоже терпеть не может, то водителю и пассажирам станет легче, что не они одни мучаются. В психологии это называется раппортом и обычно ведет к доверительным отношениям между людьми. Если представить, что чат-боты тоже способны сопереживать, а главное, что люди это ценят, то чем это не сильный эмоциональный ИИ? На примере диалогов между людьми и чат-ботами попробуем разобраться, насколько эмпатичны аватары сегодня и какие фичи им можно еще добавить.
https://habr.com/ru/articles/838152/
#чатботы #эмоции #диалоги #внешний_вид #аватары #зловещая_долина #replika #characterai #графы #llm
-
Случайные блуждания: связь с резистивным расстоянием (часть 3)
Вот мы и добрались до написания программ. В этой статье напишем скрипты для расчётов резистивного расстояния и для моделирования случайных блужданий. В качестве ЯП был выбран Octave (всё-таки математикой занимаемся).
https://habr.com/ru/articles/831490/
#octave #графы #теория_графов #алгоритмы #случайные_блуждания #сопротивление
-
Случайные блуждания: связь с резистивным расстоянием (часть 2)
Представляем читателям вторую часть работы по теории графов. В этой статье рассмотрим теоретические основы случайных блужданий.
-
Случайные блуждания: связь с резистивным расстоянием (часть 1)
Эта первая статья из цикла работ, посвящённых связи сопротивления и случайных блужданий. Сперва мы пройдёмся по теоретическим аспектам изучаемых предметов, далее напишем скрипты для расчётов и проведём анализ полученных результатов.
-
Его величество Граф
Графы для меня особенная тема, в них есть нечто таинственное и мощное. В университете и в школе мы не проходили теорию графов. На работе никогда не произносили это слово. Но графы везде. И можно значительно упростить себе жизнь, если научиться видеть их и использовать многочисленные наработки по визуализации и алгоритмам. Я не буду рассказывать основы графов, они есть в Википедии . Цель статьи - поделиться с вами некоторыми случаями из моей практики, когда графы становились естественной частью какой-то задачи. Иногда без них задачу решить было невозможно. Иногда через них решение получалось более изящное. А иногда просто тяга к перфикционизму, графы это круто же) Ну что, поехали, будет интересно!
https://habr.com/ru/articles/828770/
#Графы #иерархии #деревья #networkx #igraph #графовые_алгоритмы
-
Применение нейронных сетей для анализа графов со свойствами гомофилии и гетерофилии
Авторы: Пойкалайнен А.М., Кочкаров Р.А. Графовые нейронные сети (GNN) стали важным инструментом для анализа структурированных данных в таких областях, как рекомендательные системы, биоинформатика и обнаружение аномалий. Традиционные GNN предполагают гомофилию, что означает, что связанные узлы имеют схожие характеристики и метки. Однако это ограничивает их применение в условиях гетерофилии, где связанные узлы различны (рис.1). Мы анализируем метод AMUD‑ADPA, который позволяет повысить производительность GNN в условиях гомофилии и гетерофилии, используя данные о действиях пользователей на платформе массовых открытых онлайн‑курсов (MOOC). Метод AMUD‑ADPA, разработанный для улучшения производительности графовых нейронных сетей в условиях гомофилии и гетерофилии, показал свою эффективность на наборе данных MOOC, превзойдя показатели базовых моделей GNN в среднем на 3,6%. Применение метода AMUD‑ADPA может привести к созданию более точных и адаптивных моделей для обработки сложных графовых структур.
-
Графы в рекомендательных системах [часть 1]
Привет, ХАБР! Недавно я писал научную статью с AIRI по графовым рекомендательным системам. Это был мой первый практический опыт работы с этой технологией, поэтому пришлось углубиться в исследования и изучение доступных материалов. Я решил, что пока я разбираюсь в этой теме, было бы полезно поделиться своими находками с вами. Эта статья будет частью серии, состоящей из двух или трех частей. В первой части мы рассмотрим базовые понятия, концепции и простые модели, а также выделим их ключевые особенности. Вторую часть напишут мои знакомые из WildRecSys , где они расскажут о lightGCN и поделятся своим опытом использования этой модели. Все остальные части можно будет найти в моем телеграм канале , поэтому приглашаю подписаться что бы не пропустить, а вам приятного чтения. 📖 Идем разбираться!
https://habr.com/ru/articles/825896/
#графовые_нейросети #рекомендательные_системы #графы #случайное_блуждание