Pull to refresh
45
0
Роман Совалов @rlepricon

User

Send message

Раскрываем секреты роя: оптимизация на Python с помощью PSO

Level of difficultyMedium
Reading time13 min
Views6.6K

Начну с небольшой шутки:

"Знаете ли вы, что до изобретения часов людям приходилось активно ходить повсюду и спрашивать время?"

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

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

Индивидуально оптимальная позиция: то, что особь считает наилучшим для себя.

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

В связи с этим возникает естественный вопрос: что считать "оптимальным" в природе? Что является наилучшим для отдельной особи и для всей группы? Не будучи биологом, я не могу дать ответы на эти вопросы. Однако, наблюдая за подобным поведением в природе, мы можем разработать эффективный алгоритм оптимизации. Другими словами, определив критерии "оптимальности", мы можем применить этот эволюционный подход для оптимизации заданной функции.

Данный алгоритм известен как оптимизация роем частиц (Particle Swarm Optimization, PSO). Возможно, это звучит несколько сложно. Что подразумевается под "оптимизацией"? Какова роль математики в этом процессе? Что именно оптимизируется? В статье я постараюсь подробно разъяснить все эти моменты. Более того, мы применим ООП на Python для создания собственного класса ParticleSwarmOptimizer(). И таким образом, мы пройдем путь от теоретических основ PSO до их практической реализации.

Итак, приступим! Желаю приятного чтения.

Читать далее
Total votes 21: ↑20 and ↓1+21
Comments12

ESPspectrum прошивка

Level of difficultyEasy
Reading time10 min
Views11K

ESPspectrum - проект на основе компьютера ZX spectrum, с собственной простой операционной системой.

Это вторая статья проекта ESPspectrum. В данной статье описывается программный код OC. Есть возможность открывать, редактировать, создавать и удалять файлы. Есть калькулятор с историей запросов, также я сделал режим свободной печати, как для определения адреса клавиш, так и для теста клавиатуры. В последней версии добавлены игры.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments64

Python, CryptoAPI и российские криптопровайдеры

Level of difficultyMedium
Reading time9 min
Views5.5K

В статье описывается работа в Python с криптопровайдерами, прежде всего российскими, через CryptoAPI. Особое внимание уделено получению штампа времени - рассмотрено взаимодействие между клиентом и Time-Stamp сервером и формирование запроса в соответствии с Time-Stamp протоколом.

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments5

Подборка игр с низкоуровневым программированием

Level of difficultyEasy
Reading time5 min
Views34K

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Total votes 67: ↑66 and ↓1+79
Comments26

Игра в танграм и её алгоритмический потенциал

Reading time9 min
Views2.6K

Некоторое время назад я задумывался о том, возможно ли мышление без языка, только на уровне визуальных образов. В отличие от естественного языка, пиктографическая или геометрическая знаковая система в гораздо меньшей степени подвержена полисемии и ошибкам, связанным с неверной интерпретацией последовательности или контекста. Может ли быть, что визуальный язык окажется для некоторых машин/роботов более понятным, чем лингвистический? Размышляя об этом, я нашёл на Хабре статью уважаемого @FirstJohn в блоге компании FirstVDS «Семь дощечек мастерства на службе ML» от февраля 2023 года, рассказывающую об алгоритмическом применении танграма. Ниже я подробнее расскажу об этой игре, а также о том, как её сегодня пытаются применять в распознавании образов и при решении других задач, связанных с комбинаторикой. 

Читать далее
Total votes 19: ↑17 and ↓2+23
Comments4

Как мы спасаем жизни с помощью геймификации

Reading time9 min
Views7.1K

Привет, Хабр! Меня зовут Илья Ульянов, я архитектор информационных систем и руководитель проекта «Охота на риски» в ЕВРАЗе. Расскажу вам, что необычного в дизайне этого проекта. 

Концепция — совместить геймдев и металлургию. Звучит уже непривычно: с каждой из этих сфер я работал, но не с обеими сразу. Тем интереснее была задача.

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

Реальность, как это нередко бывает, оказалась куда неожиданнее самых смелых предположений. Идея совместить две, казалось бы, слабо совместимые вещи принесла хорошие результаты. О том, как мы запустили мобильное приложение “Охота на риски”, рассказываем в этой статье.

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments7

Как зарегистрировать аккаунт разработчика в Google Play в 2024 году: пошаговая инструкция

Level of difficultyEasy
Reading time4 min
Views12K

Мы часто помогаем клиентам не только с модерацией приложений, но и с регистрацией аккаунта разработчика в Google Play. Казалось бы — что такого? Вводишь данные и готово. Но лицензия платная, а на пользователях РФ санкции. Как в таких реалиях создать аккаунт, чтобы опубликовать мобильное приложение — рассказываем в статье.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments14

Как передать информацию в ICMP-пакетах и не привлечь внимания санитаров

Reading time8 min
Views27K

Источник: polymerh.

На Хабре достаточно статей про передачу данных через протокол ICMP. Чего говорить, шесть лет назад я сам писал про стеганографию в IP-пакетах и «пингах». Но кажется, самое время вернуться к этой теме и предложить неочевидные методы.

Если вам кажется, что тема передачи данных в ICMP уже исчерпана и я не смогу вас удивить, то предлагаю извлечь данные из дампа сетевого трафика до прочтения статьи. То, что будет дальше, может ввести в недоумение.
Читать дальше →
Total votes 98: ↑97 and ↓1+126
Comments28

Изучаем WebRTC на практике: Лучшие инструменты и демо

Level of difficultyEasy
Reading time9 min
Views6.8K

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

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments8

Технология единого входа: как работает SSO

Level of difficultyEasy
Reading time15 min
Views21K

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

Казалось бы, что может быть проще, чем один вход для всех сервисов? Но за этой кажущейся простотой скрываются сложные технические детали.

Концепция SSO не появилась вчера, она развивалась на протяжении многих лет. Эта идея начала набирать обороты в эпоху, когда интернет-сервисы стали частью нашей повседневной жизни, и задача управления множеством учетных записей стала более острой.

Первые идеи SSO зародились в конце 1990-х, когда корпоративные сети стали более сложными, и потребность в централизованном управлении доступом стала очевидной. Это был период, когда организации начали искать способы упростить управление учетными записями для своих сотрудников.
В начале 2000-х было активное развитие технологий SSO. Организации начали внедрять SSO для упрощения доступа к корпоративным приложениям и ресурсам. Это также был период появления стандартов, таких как Kerberos, который лег в основу многих ранних реализаций SSO.
С развитием облачных технологий и мобильных устройств SSO начало получать ещё большее распространение. Возникли такие стандарты, как OAuth и OpenID, которые позволили SSO выйти за пределы корпоративных сетей и обеспечить интеграцию с обширным спектром внешних онлайн-сервисов и приложений.

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

Читать далее
Total votes 20: ↑15 and ↓5+13
Comments7

Диспетчер Задач для Микроконтроллера

Level of difficultyEasy
Reading time7 min
Views12K

В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RTOS или TI-RTOS. Поэтому надо держать наготове какой-нибудь простенький NoRTOS планировщик.

В этот тексте я представил основные идеи алгоритма такого кооперативного планировщика.

Читать далее
Total votes 21: ↑19 and ↓2+22
Comments26

Как написать Telegram бота на C#?

Level of difficultyEasy
Reading time13 min
Views46K

Приветствую, товарищи-программисты!

Материалы по разработке Telegram ботов на C# начинают потихоньку устаревать, новой информации я не нашел, поэтому решил написать свою статью.

В своей статье я написал простенького Telegram бота для обучения и использования его основы в ваших будущих проектах. А как я сделал, смотрите в моей статье!

Хочу своего бота!
Total votes 19: ↑10 and ↓9+4
Comments111

Как зародилась компьютерная графика

Level of difficultyEasy
Reading time5 min
Views9.4K

В 1960-х и 70-х годах пионеры компьютерных наук Дэвид Эванс и пожизненный член IEEE Иван Е. Сазерленд возглавили разработку технологий, которые аниматоры используют и сегодня. Новаторские исследования, которые они проводили в Университете штата Юта в Солт-Лейк-Сити и в собственной компании Evans and Sutherland, помогли запустить индустрию компьютерной графики.

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments4

My4TH — домашний компьютер без процессора

Level of difficultyMedium
Reading time14 min
Views18K

Этот обзор посвящен открытому проекту компьютера My4TH по информации от разработчика: Авторский сайт проекта:

My4TH (произносится как "мой четвертый") - это четвертый домашний компьютер без процессора после MyCPU, MyNOR и TraNOR. Автор хотел и построил максимально простой компьютер с дискретным процессором, использующим как можно меньше элементов и компонентов, под управлением операционной системы Forth.

Смотреть обзор
Total votes 53: ↑52 and ↓1+66
Comments21

C#. Электронная подпись и библиотека BouncyCastle

Level of difficultyMedium
Reading time12 min
Views7.7K

Приветствую всех. В этой статье я бы хотел рассказать о работе с электронной подписью средствами библиотеки BouncyCastle на C#.

Весь код указанный здесь находится в репозитории github и доступен в виде nuget пакета.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments3

Реализация алгоритма SHA-256

Level of difficultyEasy
Reading time8 min
Views41K

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

Читать далее
Total votes 25: ↑24 and ↓1+25
Comments14

Proxmox-репликация

Reading time7 min
Views15K

Автор — Султан Усманов, специалист отдела DevOps компании Hostkey 

Как быстро и просто настроить Proxmox-репликацию и что нужно учитывать в процессе развертывания.

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

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments16

Обзор топ-5 полезных утилит для Docker

Reading time5 min
Views37K

Проект Docker, запущенный в 2013 году, стал одним из самых популярных инструментов в области контейнеризации. Спустя почти 10 лет Docker активно развивается, однако, не только сама компания Docker Inc привносит улучшения в свой продукт – обычные пользователи тоже вносят свой вклад, создавая различные инструменты, которые совершенствуют взаимодействие с системой Docker.

В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.

Читать далее
Total votes 20: ↑17 and ↓3+17
Comments11

Новинки КОМПАС-3D v21 Home

Reading time22 min
Views18K

В начале сентября мы выпустили новую версию системы КОМПАС-3D Home для любительского 3D-моделирования и домашнего использования. Мейкерам, 3D-печатникам, домашним мастерам и блогерам доступны все возможности профессиональной САПР.

Что же нового появилось в КОМПАС-3D v21 Home?

Большая подробная статья
Total votes 10: ↑10 and ↓0+10
Comments23

Полная предаутентификация для Exchange с помощью Netscaler

Reading time18 min
Views5.6K

Однажды в службе информационной безопасности решили, что не только лишь все должны иметь доступ к электронной почте снаружи периметра. Начали искать способы и поняли, что нам нужен продукт класса ADC. Решили попробовать реализовать с помощью имеющего у нас Citrix Netscaler, который берёт на себя функцию аутентификации и проверят, можно ли данному сотруднику разрешить доступ в почтовую систему. Получилось. Не зря система такая дорогая. Будет длинная статья-инструкция.

длинная статья-инструкция
Total votes 3: ↑2 and ↓1+3
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity