Как стать автором
Обновить
277.06

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

Adversarial suffixes или можно ли получить ответ на любой вопрос от LLM?

Уровень сложности Средний
Время на прочтение 20 мин
Количество просмотров 1.2K

Мы уже писали про проблемы безопасности в языковых моделях и сегодня мы поговорим о состязательных суффиксах или как их ещё называют Adversarial suffixes. Такие суффиксы - это один из инструментов для получения всего, что вы хотите, добавляя их в запросы к LLM , они помогают получить ответ на любой ваш сокровенный вопрос (о религии, политике, опасных аспектах социальных медиа и многом другом).

Давайте глубже разберемся в этом...
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 14

Новости

Каскадное шифрование редуцированным алгоритмом RSA

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2.6K

Данная публикация была написана в результате применения общей идеи каскадирования, взятой из радиотехники, к широко известному теоретико-числовому алгоритму RSA, но, правда, в его облегченном (редуцированном) виде. Облегчение RSA компенсируется идеей каскадирования. Таким образом возник вариант методики улучшения криптостойкости RSA в противовес классическому удлинению ключа.

Для предварительных исследований использовались возможности встроенной Big Integer арифметики языка Python, а также функция factorint(.) библиотеки SymPy, позволяющая раскладывать числа на простые множители

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 33

Распознавание мордочек собак для борьбы с бешенством

Время на прочтение 13 мин
Количество просмотров 839


Одним из отличий человека от других животных является интеллект, благодаря которому мы научились определять, изучать и контролировать многие законы природы. Стремительное развитие технологий разительным образом повлияло не только на наш вид, но и на окружающую нас среду. Среди прочего технология распознавание лиц стала весьма полезной для многих направлений, но она ограничена человеческими лицами. Ученые из университета штата Вашингтон (Пулмен, США) разработали приложение для смартфонов, позволяющее различать отдельные особи собак. Данная разработка была использована для оценки охвата вакцинации против бешенства в сельской местности Танзании. Как именно работает приложение, и насколько оно эффективно различает собак? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 4

Разреженные структуры данных

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 7.7K

Когда-то я писал пост про различные интересные структуры данных. Среди них был т.н. sparse set. Там мы описали его в общих чертах, опустив некоторые детали (которыми позже статья была дополнена). Но кроме sparse set существуют и другие разреженные структуры данных! На них сегодня и посмотрим : )

Разредиться!
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 9

Истории

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 1)

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.7K

В последнее время мы оцениваем на удивление много проектов, так или иначе связанных с 3D-пространством и ML-моделями. По всей видимости по прошествии 2023 года люди воодушевились и начали видеть возможность реализации тех идей, которые ранее просто-напросто казались научной фантастикой - и они не ошибаются! Исследователи и разработчики последних технологий достигли сногсшибательных результатов. В связи с этим хотел бы накидать цикл обзорных статей, которых как мне лично, так и нашей рабочей группе очень сильно недоставало в процессе ресёрча. 

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 4

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 3.4K

Кто такой детектор?

Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 3

Генератор случайных чисел, который можно запустить в голове

Уровень сложности Сложный
Время на прочтение 8 мин
Количество просмотров 22K

Люди ужасно плохо справляются с придумыванием случайных чисел. Я хотел научиться быстро генерировать «достаточно случайные» числа. Мне не нужно было что-то совершенное, просто способ придумывания случайных цифр за полминуты. Поискав онлайн, я нашёл старый пост в Usenet, написанный Джорджем Марсалья:

Выберите двухразрядное число, допустим, 23. Оно будет вашим «порождающим значением» (seed).

Создайте новое двухразрядное число: количество десяток плюс шесть, умноженное на количество единиц.

Пример последовательности: 23 –> (2 + 6 * 3) = 20 –> (2 + 6 * 0) = 02 –> 12 –> 13 –> 19 –> 55 –> 35 –> …

Его период будет порядком множителя (6) в группе остатков, простых относительно модуля, 10 (в данном случае 59).

«Случайными цифрами» будет количество единиц двухразрядных чисел, то есть 3,0,2,2,3,9,5,… то есть члены последовательности mod 10.

Больше всего Марсалья известен своим набором тестов diehard-генераторов случайных чисел (RNG), так что он в этом понимает (здесь и далее под RNG я имею в виду генератор псевдослучайных чисел (PRNG)). Мне стало любопытно, почему это работает и как он выбрал 6.

Мы будем писать на Raku, языке для гремлинов. На случай, если вы тоже гремлин, под спойлерами я буду объяснять все странные особенности.
Читать дальше →
Всего голосов 62: ↑59 и ↓3 +56
Комментарии 18

Компилятор за выходные: таблицы символов

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 5.9K

Как водится воскресным вечером, снова я с моим компилятором. На этот раз я расскажу, как работают области видимости переменных и как перегружать функции. Это позволит нам скомпилировать демку про́клятого огня, а также я накидал фантазию на тему игрушки арканоид (скриншот на КПДВ, видео в конце статьи). Я на удивление сам долго залипал на эту анимацию :)

На всякий случай я даю код и на wend, и на C, поскольку понимаю, что код на моём языке вряд ли интересен кому-то помимо того, кто реально возьмётся за компилятор. А вот мелкий код с интересными эффектами всегда найдёт свою публику. Кстати, если у вас есть идеи на тему чего-то интересного, что можно запрограммировать в полста строчек кода, делитесь в комментариях, я внимательно слушаю!

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 2

Формализация WF2M сети на примере алгоритма Кофе-машина и два ученых

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 718

Предлагается WF2M сеть (From workflow to mathematic) с формализмом, обеспечивающим расчет движения маркера по сети workflow [WF2M23]. WF2M сеть основана на ЕРС (Event-Driven Process Chain) – событийная цепочка процессов: последовательность операций, управляемых событиями.

Ранее [CCSWF24] был приведен сценарий «кофе-машина и ученый» - как демонстрация формализма алгебры процессов CCS. Текущий пример формализации WF2M сети дополнен взаимодействием второго учёного, т.е. реализует более сложный сценарий: Кофе-машина и два ученых. Настоящую статью можно считать, как апробацию [WF2M23] на сценарии [CCSWF24].

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Обманчиво простой и интересный RSA

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 7.1K

Недавно, читая книгу Real-World Cryptography, я узнала об атаке Блейхенбахера, иначе называемой атакой миллионом сообщений. Этот вид атаки Даниэль Блейхенбахер продемонстрировал в 1998 году, взломав RSA через функцию шифрования PKCS #1. В книге об этой атаке было сказано немного, поэтому я решила изучить её сама и в конечном итоге реализовать.

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

Вместо этого я решила реализовать RSA сама, чтобы иметь возможность развернуть слабую схему шифрования, позволяющую осуществить атаку Блейхенбахера. Пока что у меня готова реализация RSA и PKCS (уязвимой версии). На создание основы RSA ушло около часа, плюс несколько дней на отладку. И теперь она (кажется) работает. Вскоре, если звёзды сойдутся, можно будет развернуть саму атаку.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 19

Визуализация алгоритмов поиска пути на Svelte: Практические заметки

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.4K

Привет, Хабр! В этом посте делюсь опытом разработки на Svelte, демонстрируя это на моем пет-проекте.

Код проекта: GitHub
Лайв демо: ivan-sem.com

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 11

Часть 3. Представление вероятности безотказной работы системы в виде ряда Тейлора

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.5K

В технологии логико‑вероятностного моделирования для оценки важности отказов элементов сложных технических систем (СТС) применяются показатели одно, двукратной и к‑кратной значимости. В данной статье представлена вероятность безотказной работы системы в виде ряда Тейлора на основе к‑кратных совместных значимостей.

Представление функции вероятности безотказной работы системы в виде ряда Тейлора является эффективным средством для проведения углубленных исследований надежности, безопасности и живучести сложных технических систем. Функция ВБРС представлена на основе к‑кратных совместных значи‑ мостей, учитывающих влияние ряда отказов элементов на систему в целом. На основе представления ВБРС в виде ряда Тейлора выведен ряд показателей важности («весовых коэффициентов»).

Кроме этого, еще в 1981 году И.А. Рябинин обозначил широкий класс объектов моделирования под названием структурно‑сложных систем, не ограничиваясь сложными техническими системами. Технология логико‑вероятностного моделирования применима для исследования разнообразных объектов, имеющих сложную структуру и организацию. При этом вероятность может быть не только безотказной работы, но и риска возникновения опасного состояния, а также иных показателей: степени принадлежности или предпочтений, например при оценки рисков реализации проектов, кредитования и тому подобное.

In the technology of logic‑probabilistic modeling, to assess the importance of element failures of complex technical systems (CTS), indicators of one, two‑fold and k‑fold significance are used. This article presents the probability of the system's failure‑free operation in the form of a Taylor series based on k‑fold joint significances.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Предсказать ошибку. Как методы оценки неопределенности помогают повышать качество seq2seq-моделей

Уровень сложности Сложный
Время на прочтение 8 мин
Количество просмотров 834

Всем привет! Меня зовут Артём Важенцев, я аспирант в Сколтехе и младший научный сотрудник AIRI. Наша группа занимается исследованием и разработкой новых методов оценивания неопределенности для языковых моделей. Этим летом мы опубликовали две статьи на ACL 2023

Про одну из них я уже рассказывал в одном из предыдущих текстов — там мы описали новый гибридный метод оценивания неопределенности для задачи выборочной классификации текстов. Другая же статья про то, как мы адаптировали современные методы оценивания неопределенности на основе скрытого представления модели для задачи генерации текста, а так же показали их высокое качество и скорость работы для задачи обнаружения примеров вне обучающего распределения. Ниже я хотел бы подробнее рассказать об используемых методах и результатах, которые мы получили.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Ближайшие события

Открытый урок «Behaviour Tree в Unity»
Дата 8 февраля
Время 19:00
Место
Онлайн

Алгоритмы. Определение последовательности на сырых данных, или восстановление после аварии

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.1K

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

Часть 2. Алгоритм расчета к-кратной совместной значимости в технологии логико-вероятностного моделирования

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 665

Algorithm for calculating k-fold joint significance in the logical-probabilistic modeling technology

Морозов В.И. , Morozov V.I.

В части 1 приведен вывод выражения к-кратной совместной значимости в технологии логико-вероятностного моделирования, которая находится по ссылке.

В технологии логико вероятностного моделирования для оценки важности отказов элементов сложных технических систем (СТС) применяются показатели одно, двукратной и к-кратной значимости. В данной статье приведен алгоритм расчета к-кратной совместной значимости в общем виде, который позволяет существенно сокращать объемы расчета при проведении исследований влияния некой совокупности отказов элементов на СТС.

In the technology of logic-probabilistic modeling, to assess the importance of element failures of complex technical systems, indicators of one, two-fold and k-fold significance are used. This article provides algorithm for calculating the k-fold joint significance, which allow you to significantly reduce the amount of calculation when conducting research of the influence of a certain set of element failures on the complex technical systems.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 1

Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 5.9K

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

Вероятностные структуры данных предоставляют постоянную временную и пространственную сложность за счет предоставления недетерминированного ответа. Примером вероятностной структуры данных является фильтр Блума.

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 5

Книга «Продвинутые алгоритмы и структуры данных»

Время на прочтение 7 мин
Количество просмотров 27K
image Привет, Хаброжители!

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

Вы постоянно сталкиваетесь с бесчисленными проблемами программирования, которые поначалу кажутся запутанными, трудными или нерешаемыми. Не отчаивайтесь! Многие из “новых” проблем уже имеют проверенные временем решения. Эффективные подходы к решению широкого спектра сложных задач кодирования легко адаптировать и применять в собственных приложениях, а при необходимости создавать собственные структуры данных под конкретную задачу. Сбалансированное сочетание классических, продвинутых и новых алгоритмов обновит ваш инструментарий программирования, добавив в него новые перспективы и практические методы.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 3

Алгебра музыкального текста

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3.7K

Пшеничников С.Б., Сотникова Т.В.

Нотный текст можно  представить с помощью правильной координатизации матричными единицами подобно описанию вербальных текстов и других знаковых последовательностей. В дальнейшем может стать возможным математическое распознавание и создание музыкального смысла с предметным обоснованием промежуточных вычислений (в отличие от AI).

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

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

Сложность музыкального текста для применения математики объясняется стремлением упростить чтение музыкантами нотных знаков на стане из пяти линий и минимизации использования нижних и верхних добавочных линий.

Для применения алгебры текста к музыкальным знаковым последовательностям нет необходимости использования нотоносца из пяти линий. То, что полезно и привычно для музыкантов, - для применения алгебры невыносимо вредно. Целесообразным представляется использование нотоносца-«нитка» - это нотный стан из одной линии.  В этом случае нотный текст становится похож на вербальный текст.

Для решения задачи требуется найти преобразование канонического нотного текста в «нитку». И как всегда для нового применения алгебры необходима правильная координатизация предметной области. В данной случае каждому используемому нотному знаку  и символу современной нотной нотации требуется поставить в соответствие свой порядковый номер (натуральное число).

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 5

Обратный маятник простым PID-регулятором

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 3.6K

Как-то давно для выставки делал небольшую инсталляцию. Привёрнутый маятник. Вот где пришлось настраивать ПИД-регуляторы. Маятник удерживается в верхнем положении двумя ПИД регуляторами, соединенными каскадом. Первый быстрый (настоящий ПИД, т.к. пришлось настраивать дифференциальную составляющую) реагирует на угол отклонения маятника от вертикали и подыгрывает положением точки подвеса. Но, поскольку ход точки подвеса ограничен, то второй медленный ПИ-регулятор стремит точку подвеса к центру рельсов. Выход ПИ – регулятора является уставкой угла для первого быстрого ПИД. Действительно, стандартных функциональных блоков - ПИД регуляторов часто бывает вполне достаточно для стабилизации даже очень неустойчивых систем. Но, например, в этом проекте есть больше математики: "Все, что вы хотели знать об обратном маятнике"

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 12

Сферический коммивояжёр в вакууме и в реальной жизни

Время на прочтение 5 мин
Количество просмотров 2.8K

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

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 13

Вклад авторов