Всем привет! С недавних пор я увлекаюсь железом, и, в частности, робототехникой. И вот в какой-то момент решил исполнить свою давнюю мечту и собрать кибернетический протез. Перечитав немало статей по этой теме и ознакомившись с актуальными вопросами, мне захотелось попробовать решить один из них, и в данной статье я хочу поделиться своими наработками и результатами.
Математика *
Царица всех наук
Новости
Математическая продлёнка. Это же элементарно, Ватсон?
Какие функции принято называть элементарными и почему? И при чём тут Ватсон? Разберёмся со всем по порядку. Обещаю, будет понятно и интересно, хоть и не совсем элементарно.
Когда я был школьником, то моим хобби была охота за функциями, для того чтобы рисовать на миллиметровке их графики, собирая своеобразную коллекцию. Тогда я был вооружён мощным оружием: калькулятором МК-52. До компьютера с графическим, а не текстовым дисплеем (ZX-Spectrum + домашний телевизор), нам всем ещё надо было дорасти, и мне, и доступным мне компьютерам.
Лексикографический симплекс-метод
Лексикографический симлекс-метод.
Решение задачи линейного программирование симлекс-методом и лексикографическим симлекс-методом на Python!
Какова вероятность найти слово fuck в случайной последовательности из 20 букв?
Однажды на работе возник вопрос — насколько вероятно, что в случайно сгенерированном идентификаторе (отдаваемом пользователю, к примеру) вдруг обнаружится плохое слово. Приблизительная оценка была дана достаточно быстро, а вот точное решение — уже не так тривиально.
Я решил всерьёз выяснить, чему равна эта вероятность в зависимости от длины случайной строки? Можно ли получить явную математическую формулу для ответа? Что, если взять другое слово? Что, если взять другой алфавит?
Обо всём по порядку.
Истории
Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag)
На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс).
Это настолько специфический случай, что я решил накропать про это заметку.
Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98357A. Это по сути DAC у которого на входе I2S на выходе PWM.
В этой заметке я расскажу о своём опыте работы с усилителем MAX98357A и о том как его тестировать.
Бардак в идеальном мире. Часть 3
В этой серии статей мы делаем видимыми и ощутимыми некоторые элементы теории хаоса. В предыдущих частях мы увидели каким образом рождается странный аттрактор в предельно простой гамильтоновой системе — шарике, прыгающем на подпружиненном столике. Эта система способна порождать и красивые картинки и не менее красивые объяснения этим картинкам. Сейчас мы внимательнее рассмотрим некоторые качественные и количественные характеристики странных аттракторов — показатели Ляпунова, спектральные характеристики, и корреляционную размерность.
Математика: полезные книги
What”s up guys?
Математика — как говорили в школе — царица наук, а ещё очень важный и полезный скилл для программиста.
В этой статье мы поговорим о книгах и ресурсах по изучению математики, которые на мой достаточно полезны.
Факир математики: Золотое сечение
Привет, хабр! На дворе 2023 год. Теперь более чем когда‑либо всё в нашем мире основано на числах. Некоторые из них, как вы уже знаете, имеют собственные имена. Число π (пи), число e. Математика везде. Карма и рейтинги в хабре, количество ваших денег, сегодняшняя дата (22.11.2023). Даже есть вид эзотерики, веры — нумерология, вера в том, что числа связаны с судьбой. И ведь все это появилось не на пустом месте.
Мы, будто факиры заклинают своих змей, будем познавать математический мир. Красивый, бездонный и невероятно интересный. Добро пожаловать в серию статей «Факир математики», и тема первой нашей статьи — золотое сечение!
Среди всех замечательных и не очень чисел, цифр есть одно особенно интересное число...
Не радиус важен, а плотность! Часть 1: Глубокий взгляд на precision и recall
Нет, нет, я совсем не про геометрию или физику, я про множества!
Точнее про множество того, что вы знаете.
К сожалению, множество знаний у ML разработчиков всех уровней часто представляет из себя именно такое. Хотелось бы попробовать озвучить некоторый, как кажется, более глубокий взгляд на привычные уже нам в ML вещи, вероятно, написать даже целую серию статей и попробовать в них посмотреть на многие классические аспекты машинного обучения с сильным погружением в теорию вероятности, математический анализ и линейную алгебру, или обратить внимание на просто некоторые неочевидные вещи.
В дебютной статье речь пойдет про всем нам уже привычные метрики классификации: accuracy, precision, recall и f1-score
Рассеяние вокруг нас: что это такое и какое место оно занимает в компьютерной томографии?
Мы в компании Smart Engines разрабатываем томографическое программное обеспечение и стараемся делать это как можно качественнее, без появления на изображении реконструкции визуальных искажений, так называемых артефактов. Одной из причин возникновения артефактов является несоответствие модели формирования изображения в измерениях и модели описания данных для алгоритмов томографической реконструкции.
В классической постановке КТ описанием внутренней структуры образца служит пространственное распределение коэффициента ослабления рентгеновского излучения, причем зондирующее излучение считается монохроматическим. Однако в реальных установках это не так, существенное влияние на изменение модели формирования изображений оказывают эффекты второго порядка. Одним из которых является рассеянное излучение. Что такое рассеяние, каким оно бывает и как выглядят артефакты рассеяния в томографии, - расскажем в сегодняшней нашей статье.
Мой первый софт и астрономия
Расскажу о своём небольшом опыте работы в проекте, который был посвящён астрономии, и о математике, с которой пришлось повозиться. Я написал программу которая при помощи метода Монте-Карло моделирует рассеивание света звёздной пылью. Скажу сразу что я не математик и не астроном, просто написал пару программ которые относятся к этой области.
Из фото в 3D, ч.2: калибровка камеры
Фото до (слева) и после (справа) калибровки камеры
В первой части статьи мы немного поупражнялись на яблоках, чтобы понять, как 3D-объекты проецируются на 2D-плоскость фотографии. Заодно мы описали математическую модель камеры и ее параметры.
Знаешь параметры — живешь в Сочи можешь восстановить 3D-сцену или ее характеристики: высоту здания, расстояние до пешехода, загруженность самосвала. Словом, сплошная польза для целого ряда отраслей.
А вот как именно определить эти заветные параметры, так и осталось за кадром. К тому же мы рассматривали простейшую модель pinhole, но в реальной жизни все сложнее. У большинства камер есть линзы, которые искажают изображения (вспомните эффект fisheye). Все эти «рыбьи глаза» и другие отклонения нужно как-то корректировать.
О том, как восстанавливать параметры камеры (калибровать ее) и нивелировать искажения (дисторсию), читайте в этой публикации.
Также из нее вы узнаете:
• как выглядит математическая модель калибровки и дисторсии;
• как собрать датасет для калибровки;
• какие есть методы калибровки;
• детали одного из этих методов.
Алгебра совокупностей Брусенцова и не только
Все, кто когда-либо интересовались трёхзначной логикой, троичной системой счисления или архитектурой троичных компьютеров, рано или поздно натыкались на труды Брусенцова Николая Петровича, в особенности 3 его самые известные книги:
1) Брусенцов Н.П. Начала информатики, 1994.
2) Брусенцов Н.П. Искусство достоверного рассуждения. Неформальная реконструкция аристотелевой силогистики и булевой математики мысли, 1998.
3) Брусенцов Н.П. Блуждание в трёх соснах (Приключения диалектики в информатике), 2000.
Для тех, кто не в курсе, Брусенцов Николай Петрович - главный конструктор первой в мире и Советском Союзе троичной ЭВМ "Сетунь". Об этом хорошем человеке можно найти достаточно много информации в открытых источниках. Но сейчас речь не о нём, а о разработанной им алгебре совокупностей (алгебре дизъюнктов), которая фигурирует в качестве фундамента во всех 3-х упомянутых выше книгах. К слову сказать, сами книги не являются учебниками по чистой математике или информатике. Они освещают проблемы злоупотребления формализмом в современной математической логике, а также содержат пути к возрождению и развитию аристотелевой силогистики. Мотивацией к написанию данной статьи послужило то, что каждую книгу пришлось прочитать раза по три, прежде чем в голове сложилась более или менее цельная картина. Этому также поспособствовало обилие терминологии, более присущей философским трактатам, нежели учебникам по математике. Поэтому цель данной статьи - получить представление об этой алгебре и облегчить чтение вышеуказанных книг. Статья носит обзорный характер, знакомит читателя с некоторыми понятиями (акценты расставлены жирным шрифтом) и пытается ответить на вопросы, неосвещённые в книгах явно.
Ближайшие события
Почему правило «если мне 20 раз выпал орёл, то в 21-ый точно выпадет решка», в действительности, не работает
Сразу предупрежу, что это статья не про программирование. Она про некоторые аспекты комбинаторики и теории вероятностей.
Разберёмся в том, является ли монетка git-ом, влияет ли на неё память вселенной, а так же -- стоит ли ходить в казино, и как правильно оценивать вероятность провала.
Обучение с блэкджеком и подкреплением. Ищем оптимальную стратегию игры
Предположим у нас благородная цель - мы хотим разорить казино, чтобы оно не разоряло других, а попутно заработать самим. В качестве цели выберем игру блэкджек. Эта игра довольно сильно зависит от случайности, но понятно, что в перспективе, если придерживаться одной стратегии, то мы всегда придем к одному конкретному выигрышу или проигрышу. Если одна стратегию лучше другой, то она даст на лучше результат. В этой статье я расскажу, как, используя обучение с подкреплением, найти лучшую, оптимальную стратегию на примере игры блэкджек.
Ускоряем программу для 50-летнего процессора на 180000%
В прошлом году я написал программу, вычисляющую 255 цифр числа π на самом первом микропроцессоре от Intel - 4004. В той статье я упоминал рекорд ENIAC'a - 2035 цифр [^1], но побить его не смог. Настало время закрыть гештальт. В этот раз возьмём одного из преемников от Intel - 4040.
Что вы знаете о символьном программировании?
Кликбейтный заголовок, риторический вопрос и обещание раскрыть тайну! Не самый лучший набор, но нормального названия для статьи мне в голову не пришло. Что же здесь все таки будет? Речь пойдет о реализации символьного программирования в Wolfram Language (WL). Я не буду рассказывать про отличия от других парадигм. А также здесь точно не будет общих определений. Вместо этого я попытаюсь ответить на несколько вопросов исходя из своего личного опыта и наблюдений.
Внимание! Я не математик и не знаю haskell и lisp! И буду рад если меня поправят настоящие математики, которые с ними знакомы.
Трюк из линейной алгебры для быстрого нахождения чисел Фибоначчи
Я участвовал в онлайн-группе чтения книги Thirty-three Miniatures: Mathematical and Algorithmic Applications of Linear Algebra математика Иржи Матушека. Это самая нетрадиционная книга о математике, с которой мне приходилось сталкиваться. Первые две главы посвящены способам быстрого нахождения чисел Фибоначчи. Традиционный, или итеративный метод нахождения чисел Фибоначчи (основанный на хранении промежуточных значений в памяти), который мы изучали на курсах программирования, линеен по времени. Но в книге представлена методика их вычисления приблизительно с логарифмической временной сложностью. Возможно, кто-то из вас знает эту методику, но для меня она была новой, и я решил, что ею стоит поделиться.
Игровая экономика Premium игр на примере PC 4х стратегии
Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической системы - жанр игры. В этой статье мы рассмотрим кейс проектирования игровой экономики B2P (premium) игры, не предполагающей заработка с микротранзакций.
Обработка результатов статистических наблюдений с помощью толерантных интервалов
Здравствуйте, уважаемые читатели!
В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, кому-то данный подход окажется полезным. В любом случае, буду рад вашему мнению и замечаниям. Если вы решили продолжить - приятного чтения.
Вклад авторов
-
alizar 1779.0 -
andreybrylb 1536.0 -
samsergey 1459.0 -
haqreu 1373.0 -
varagian 1161.0 -
Sirion 1085.0 -
Tzimie 1079.0 -
Dmytro_Kikot 1031.0 -
mkot 980.0