Как стать автором
Обновить
146.41
Рейтинг

Алгоритмы *

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

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

Кто круче rsync? Интересные алгоритмы для синхронизации данных

Блог компании FirstVDS Системное администрирование *Алгоритмы *Резервное копирование *Сжатие данных *

Тридж, автор rsync

Что может быть приятнее, чем минимизировать объём бэкапа или апдейта? Это не просто экономия ресурсов, а чистая победа интеллекта над энтропией Вселенной. Исключительно силой разума мы уменьшаем размер файла, сохраняя прежний объём информации в нём, тем самым уменьшая поток фотонов в оптоволокне и снижая температуру CPU. Реальное изменение физического мира силой мысли.

Если без шуток, то все знают rsync — инструмент для быстрой синхронизации файлов и каталогов с минимальным трафиком, который пришёл на замену rcp и scp. В нём используется алгоритм со скользящим хешем, разработанный австралийским учёным, программистом и хакером Эндрю Триджеллом по кличке Тридж (на фото).

Алгоритм эффективный, но не оптимальный.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2K
Комментарии 2

Новости

Покоряем высоты для велонавигатора 2ГИС

Блог компании 2ГИС Алгоритмы *Геоинформационные сервисы *Машинное обучение *

Привет, я Артём, ML-инженер. 26 мая 2ГИС зарелизил навигатор для велосипедов и самокатов, одна из его фич — график высот для построенного маршрута. Эта статья о том, как мы получаем этот график.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 1.6K
Комментарии 8

Java. Решение практических задач

Java *Алгоритмы *Профессиональная литература

Книга Анджела Леонарда позиционируется как каталог типовых решений для Java разработчиков младшего и среднего уровней. Заявляется, что представленные решения производительны, корректны и поддерживаемы.

В книге все разбито на "задачи". Они тут нескольких типов:

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

Ищем аномалии: доход, отношения и 10х-программисты

Блог компании Wunder Fund Программирование *Алгоритмы *Статистика в IT
Перевод

Вскоре после того как я, в сентябре 2013, начал вести блог (мне, студенту, тогда больше нечем было заняться), я поставил перед собой цель — писать по статье в неделю. В результате — со дня рождения моего блога и до того момента, когда я начал работать в Wave (тогда мне уже было чем заняться, в результате посты я выкладывал гораздо реже), я опубликовал примерно 150 материалов.

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

— Два поста оказались крайне успешными, добрались до главной страницы Hacker News (первый — о том, что произошло со всеми непрограммистами, второй — о читабельности, хакабельности и абстрагировании кода).

Дэн Луу, после того, как увидел второй из вышеупомянутых постов, подписался на мой блог и начал слать на Hacker News многие мои материалы. В результате ещё штук 5 статей стали довольно-таки популярными. Это привело к приходу в мой блог первой волны подписчиков, с которыми я не знаком лично. Плюс — это дало мне серьёзную мотивацию писать дальше. Я и Дэн, в итоге, стали хорошими друзьями.

— Примерно 95% оставшихся постов получились совершенно непримечательными.

Это — очень типичный разброс результатов публикаций, на который могут рассчитывать блогеры: несколько «хитов» и куча «хлама». Через восемь лет я развил достаточно хорошее чутьё на то, какой пост найдёт отклик у читателей. В результате я смог почти полностью уйти от написания совершенного «хлама». Но, даже учитывая это, несколько моих лучших недавних постов (этот и этот) оказались гораздо успешнее других. Речь идёт о том, что многие делились с другими ссылками на них, и о комментариях к ним, вроде «то, что я узнал, сильно на меня повлияло».

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 4.4K
Комментарии 0

Теория эволюции и работы мозга

Семантика *Алгоритмы *Машинное обучение *Разработка робототехники *Natural Language Processing *
Recovery mode

Эволюция мозга (базовые предпосылки).

Существует тест Роршаха — надо назвать, что ты видишь в кляксе, в которой в принципе и увидеть ничего реального нельзя. Но то, что человек видит определяется необъяснимыми внутренними процессами в его мозге. Интерпретации ответов подобраны опытным путем и никак, и нигде не объяснены.

Из описания вариантов ответа к одной из картинок теста Роршаха для англоязычного пациента: «Медведь может символизировать агрессию, конкуренцию, независимость, восстановление, а также — чувство уязвимости, незащищенность или открытость и честность (игра слов по-английски: bear — медведь, bare — обнажать, обнаруживать, разоблачать).» Здесь прямым текстом сказано, что в мозге слова содержатся в виде текста, почему так вышло, будет объяснено в описании эволюции мозга. Мы можем запоминать и понимать текст без картинки (правила, определения, анекдоты — мы их не представляем, но понимаем).

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

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

Читать далее
Всего голосов 7: ↑2 и ↓5 -3
Просмотры 1.8K
Комментарии 8

Раз-два и в дамки: минимакс с альфа-бета отсечением

.NET *Алгоритмы *C# *Разработка под Windows *
Из песочницы

Дисклеймер: это моя первая статья на Хабре и я не программист.

Всем привет! Под катом небольшая история о том, как я делал свой первый, большой, самостоятельный (если его так можно назвать) "проект" – курсовую работу на тему "Игра в поддавки с компьютером". Если вам интересны алгоритмы для антагонистичесих игр, С# и особенности студенческой жизни – welcome!

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

Как написать средство проверки орфографии кхмерского языка

Блог компании SkillFactory Python *Программирование *Алгоритмы *
Перевод

Материалом с подробностями о реализации средства проверки и исправления орфографии кхмерского языка, основного в Камбодже, делимся к старту флагманского курса по Data Science.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2K
Комментарии 0

Подсчёт слов

C++ *Алгоритмы *

В статье рассказывается о решении задачки с собеса в одну российскую IT-контору.

В первые месяцы ковидной эры так случилось, что на моей текущей на тот момент работе всем уполовинили зарплату и я, недолго думая, пошёл на рынок труда. На собесе в одну известную российскую IT-компанию я получил эту задачу. Задачку нужно было просто решить: решить корректно, не "убив" при этом скорость "так, чтобы совсем ужас был".

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

Читать далее
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 7.3K
Комментарии 17

Открытые алгоритмы Твиттер, к чему это приведет?

Блог компании Инфосистемы Джет Алгоритмы *Twitter API *Машинное обучение *Социальные сети и сообщества

Илон Маск заявил, что намерен открыть алгоритмы Twitter и превратить соц. сеть в модель с открытым исходным кодом. Если это произойдет, любой желающий сможет их изучать или использовать в своих целях. Мы (дата-сайнтисты из центра машинного обучения «Инфосистемы Джет») решили пофантазировать, какие возможности дает открытие алгоритмов. А у вас есть мнение на этот счет? Давайте попробуем предсказывать будущее! Присоединяйтесь к обсуждению в комментариях.

Интересно? Жми!
Всего голосов 14: ↑10 и ↓4 +6
Просмотры 2.8K
Комментарии 4

Алгоритмы на кристалле. Глава 1 (продолжение). Схемы простейших устройств

Алгоритмы *Математика *Производство и разработка электроники *
Tutorial


Перед вами четвертая статья-черновик будущей книги «Алгоритмы на кристалле».
В действительности по своему содержанию и стилю изложения ей следовало бы быть первой статьей, не считая оглавление книги и небольшой вводной части. Однако придумать сразу простой подход к изложению удается не всегда. По этой причине лежащий перед вами текст является во много самостоятельным, его можно читать почти независимо от предыдущих двух статей, обращаясь к ним только как к справочнику. Буду благодарен за любого рода отзывы, как со стороны новичков в этой области так и тех, кто работает в ней давно — обратная связь поможет сделать финальную редакцию книги лучше.

Предыдущие черновики:
… Примерное оглавление.
… Вычислительная модель.
… Быстродействие логических схем.

Возможно, в вашем браузере с первого раза не будут правильно отображаться формулы. Если так, попробуйте перезагрузит страницу — на моем компьютере этот фокус работает.
Желаю приятного чтения.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 3.7K
Комментарии 30

Распределенные Workflow на PHP. Часть 2

Блог компании Конференции Олега Бунина (Онтико) PHP *Программирование *Алгоритмы *Go *

В первой, теоретической, части статьи мы разобрали зачем нужны Workflow, где они применяются и какие способы их реализации существуют. Наша компания занимается разработкой энтерпрайз-софта — для нас это больная тема. Поэтому мы давно искали инструмент, который позволит легко вписывать новые шаги в любую схему, не ломая существующую бизнес-логику. Нашли и на его основе сделали свою новую разработку. Теперь давайте перейдём к более практической части и разберем, на что способен Temporal PHP SDK.

Меня зовут Антон Титов. Я более 15 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang.

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 2.7K
Комментарии 7

Реализация очереди на C

*nix *Алгоритмы *C *
Recovery mode
Tutorial

Привет, сегодня я покажу как сделать очередь на C. Ко мне пришла идея сделать зацикленную работу в очереди. То есть добавляются данные от конца в начало и если указатель дошел до начала, то начинать добавлять с конца. Статья маленькая, но может кому будет полезно. Кстати, я решил посмотреть как у других сделано и решил, что мой пример тоже не помешает.

Сама очередь состоит из такой структуры.

Читать далее
Всего голосов 22: ↑5 и ↓17 -12
Просмотры 3.3K
Комментарии 16

Обучение с подкреплением: неформальное знакомство

Блог компании Wunder Fund Программирование *Алгоритмы *Машинное обучение *Искусственный интеллект
Перевод

Обучение с подкреплением (Reinforcement learning, RL) сыграло ключевую роль в стремительном развитии технологий искусственного интеллекта, которое можно было наблюдать в последнее десятилетие. В этом материале мы простыми словами расскажем о том, что такое обучение с подкреплением, поговорим о том, почему оно важно не только как объект исследований, но и как инструмент, который находит множество самых разных вариантов практического применения.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 2K
Комментарии 0

Общего между фракталами и голографией

Ненормальное программирование *JavaScript *Алгоритмы *Canvas *Математика *
Продолжим тему бильярдных фракталов.



В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Просмотры 4.8K
Комментарии 15

Коллективное распознавание смысла

Поисковые технологии *Семантика *Алгоритмы *Natural Language Processing *

Предлагаемый материал является приложением в книге [1].

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

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

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

Искусственный интеллект и безопасность

Информационная безопасность *Алгоритмы *Математика *Научно-популярное Мозг

В России 30 мая 2019 года на совещании по развитию цифровой экономики под председательством В. В. Путина было принято решение о подготовке национальной стратегии по искусственному интеллекту. В её рамках разрабатывается федеральная программа с выделением 90 млрд рублей. В октябре 2021 года в РФ подписан Кодекс этики искусственного интеллекта, разработанный с учетом требований Национальной стратегии развития искусственного интеллекта на период до 2030 года.

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Просмотры 1.3K
Комментарии 8

Алгебра текста без формул

Поисковые технологии *Семантика *Алгоритмы *Natural Language Processing *

Статья является рефератом Книги [1], основанной на представленных ранее публикациях [2], [3], [4] и [5].

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.9K
Комментарии 5

Генерация лабиринтов: алгоритм Эллера

C++ *Алгоритмы *
Из песочницы

Привет, Хабр!

Сегодня я хотел бы рассказать о генерации идеального лабиринта - алгоритмом Эллера. Статья подойдёт всем любителям алгоритмов.

Читать далее
Всего голосов 51: ↑51 и ↓0 +51
Просмотры 12K
Комментарии 10

GPT-4 уже на за горами. Что мы о нём знаем

Блог компании Cloud4Y Алгоритмы *Машинное обучение *Искусственный интеллект
Перевод

Возможно, вы помните, что о появлении GPT-3 объявили в мае 2020 года. Его запустили через год после GPT-2, который также появился спустя год после первой версии GPT. Если бы эта тенденция сохранялась, то GPT-4 уже был бы доступен. Увы, четвёртой версии мы пока не дождались. Но генеральный директор OpenAI Сэм Альтман недавно заявил, что GPT-4 на подходе. Некоторые эксперты полагают, что релиз состоится где-то в июле-августе 2022 года.

Удивительно то, что информации о GPT-4 очень мало. На что он будет похож, какие у этой модели особенности и возможности. Точно известно, что у GPT-4 не будет 100 триллионов параметров (т.е. в 500 раз больше, чем заложено в GPT-3). Для создания такой большой модели нужно больше времени.

Давайте попробуем разобраться, что ещё известно о четвёртом поколении алгоритма обработки естественного языка от OpenAI.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 4.7K
Комментарии 5

Социальные сети: безопасность и моделирование

Информационная безопасность *Криптография *Алгоритмы *Математика *Научно-популярное

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

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

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

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