Как стать автором
Обновить
45
0
Роман Совалов @rlepricon

Пользователь

Отправить сообщение

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 20: ↑19 и ↓1+20
Комментарии12

ESPspectrum прошивка

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

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

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

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

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

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

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

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

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

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

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

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

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

Подробности
Всего голосов 67: ↑66 и ↓1+79
Комментарии26

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник: polymerh.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хочу своего бота!
Всего голосов 19: ↑10 и ↓9+4
Комментарии111

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

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

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

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

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

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

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

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

Смотреть обзор
Всего голосов 53: ↑52 и ↓1+66
Комментарии21

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Большая подробная статья
Всего голосов 10: ↑10 и ↓0+10
Комментарии23

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

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

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

длинная статья-инструкция
Всего голосов 3: ↑2 и ↓1+3
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность