Друзья, продолжаем разбираться в функциональном программировании. Во второй части из этой серии статей вы познакомитесь с основными принципами этой парадигмы разработки и поймёте, как этот подход отличается от объектно-ориентированного или императивного программирования.
Рубрика «математика» - 79
Функциональное мышление. Часть 2
2018-08-29 в 8:36, admin, рубрики: .net, F#, fsharp, fsharplangru, microsoft, Блог компании Microsoft, математика, Программирование, функциональное программированиеКраткое руководство по сложным вычислительным задачам
2018-08-28 в 12:00, admin, рубрики: np, p, Алгоритмы, вычислительная сложность, математикаЧто компьютеру сделать легко, а что почти невозможно? Эти вопросы лежат в основе вопроса вычислительной сложности. Представляем вам карту этого ландшафта.
Различные классы сложности сортируют задачи в иерархическом виде. Один класс может содержать все задачи другого, плюс задачи, требующие дополнительных вычислительных ресурсов.
Какова фундаментальная сложность задачи? Такова постановка базовой задачи специалистов по информатике, пытающихся рассортировать задачи по т.н. классам сложности. Это группы, содержащие все вычислительные задачи, требующие не более фиксированного количества вычислительных ресурсов – таких, как время или память. Возьмём простой пример с большим числом типа 123 456 789 001. Можно задать вопрос: является ли оно простым числом – таким, которое делится только на 1 и себя? Специалисты по информатике могут ответить на него при помощи быстрых алгоритмов – таких, что не начинают тормозить на произвольно больших числах. В нашем случае окажется, что это число не является простым. Затем мы можем задать вопрос: каковы его простые множители? А вот для ответа на него быстрого алгоритма не существует – только если использовать квантовый компьютер. Поэтому специалисты по информатике считают, что две этих задачи относятся к разным классам сложности.
Читать полностью »
Исследование статистической вероятности значения бита в нонсе bitcoin
2018-08-28 в 9:44, admin, рубрики: big data, bitcoin, nonce, python, вероятность, криптография, майнинг, математика, статистика
Считается, что функция sha256( sha256( BlockHeader ) ), которая используется в алгоритме хэширования bitcoin весьма надежна. Надежна настолько, что существует только один единственный способ подобрать голден нонсе для очередного блока в блокчейне — путем перебора в процессе майнинга.
В настоящее время в блокчейне биткоина уже более 530 тысяч блоков. Этого вполне достаточно, чтобы провести статистический анализ и ответить на вопрос: «действительно ли значения битов в ранее найденных нонсе равновероятно?».
Читать полностью »
Исследование I-Q сигнала с SDR с помощью Adobe Audition
2018-08-27 в 12:13, admin, рубрики: adobe audition, SDR, звук, математика, реверс-инжиниринг, цос (dsp)Про SDR приёмники и трансиверы я узнал от радиолюбителей ещё очень давно, когда у меня ещё даже не было Интернета. Как ни странно, в этой технике толком мало кто понимал. Плотно занимаясь на то время обработкой аудио, я уловил идею и основной принцип работы SDR. Как я понимал на то время, SDR представляет собой обычный приёмник прямого преобразования, в состав которого в основном входит смеситель и опорный гетеродин фиксированной или перестраиваемой частоты. На входы смесителя заводится антенна и выход гетеродина, а выход смесителя подаётся на звуковую карту. В связи с тем, что станции имеют узкую полосу, а звуковая карта – гораздо шире, есть возможность каким-либо образом программно перестраиваться со станции на станцию внутри фиксированной широкой полосы частот. Кроме того, существует возможность заодно обрабатывать принимаемый сигнал с помощью DSP. С отдельными программами для DSP, которые обрабатывают сигнал с НЧ выхода радиоприёмника, я уже сталкивался (подавление шума, узкополосный фильтр и т.д.). Идея мне показалась довольно заманчивой, и я стал интересоваться этим вопросом глубже.
Читать полностью »
3D-реконструкция лиц по фотографии и их анимация с помощью видео. Лекция в Яндексе
2018-08-27 в 8:00, admin, рубрики: 3d-моделирование, Алгоритмы, Блог компании Яндекс, математика, машинное обучение, Работа с 3D-графикойВ фильме «Миссия невыполнима 3» был показан процесс создания знаменитых шпионских масок, благодаря которым одни персонажи становятся неотличимы от других. По сюжету, сначала требовалось сфотографировать того, в кого герой хотел превратиться, с нескольких ракурсов. В 2018 году простую 3D-модель лица можно пусть и не напечатать, но, по крайней мере, создать в цифровом виде — причём на основе всего одной фотографии. Научный сотрудник VisionLabs подробно описал процесс на мероприятии Яндекса «Мир глазами роботов» из серии Data&Science — с детализацией до конкретных методов и формул.
— Добрый день. Меня зовут Николай, я работаю в компании VisionLabs, которая занимается компьютерным зрением. Наш основной профиль — распознавание лиц, но также у нас есть технологии, которые применимы в дополненной и виртуальной реальности. В частности, у нас есть технология построения 3D-лица по одному фото, и сегодня я буду рассказывать о ней.
Поддержка Python в Power BI
2018-08-27 в 7:00, admin, рубрики: data, data science, microsoft, Power BI, python, анализ данных, Блог компании Microsoft, визуализация, визуализация данных, математикаМы рады сообщить, что Python, язык программирования, широко используемый статистиками, учеными и аналитиками, теперь интегрирован в наш open-source Power BI Desktop. После включения функции в настройках вы cможете использовать Python для очистки, анализа и визуализации данных. Подробнее под катом!
Обнаружен универсальный метод сортировки сложной информации
2018-08-26 в 9:00, admin, рубрики: Алгоритмы, математика, поиск, поиск ближайшего соседа, сортировка, теория графов
Открывая своё кафе, вы хотели бы узнать ответ на следующий вопрос: «где находится другое, ближайшее к этой точке кафе?» Эта информация помогла бы вам лучше понять ваших конкурентов.
Это пример задачи поиска "ближайшего соседа", которую широко изучают в информатике. Дан набор сведений и новая точка, и требуется найти, к какой точке из уже существующих она окажется ближайшей? Такой вопрос возникает во множестве повседневных ситуаций в таких областях, как исследование генома, поиск картинок и рекомендации на Spotify.
Но, в отличие от примера с кафе, вопросы о ближайшем соседе часто оказываются очень сложными. За последние несколько десятилетий величайшие умы среди специалистов по информатике брались за поиски наилучших способов решения подобной задачи. В частности, они пытались справиться с усложнениями, появляющимися из-за того, что в различных наборах данных могут быть очень разные определения «близости» точек друг к другу.
Читать полностью »
Mod и остаток — не одно и то же
2018-08-24 в 5:13, admin, рубрики: mod, modulo, remainder, Занимательные задачки, математика
Приготовьтесь, вас ждёт крайне педантичная статья, которая вполне может спасти вас на собеседовании или сэкономить несколько часов при вылавливании бага в продакшне!
Я сейчас активно работаю над вторым сезоном «Руководства для самозванца» и пишу о шифре RSA для SSH, который, очевидно, является самым загружаемым фрагментом кода в истории IT.
Хочется полностью разобраться в этой истории. Кто придумал этот шифр, как он работает, почему работает и будет ли работать в будущем. Сейчас я раскопал одну чертовски интересную историю. Я не криптоманьяк и вижу, как других буквально засасывает в эту область. Но мне это тоже интересно, потому что повсюду есть маленькие норки, а меня как сороку привлекают блестящие штучки в глубоких норках. Я также очень хорош в метафорах.
Читать полностью »
Вычисление определённых интегралов: базовые алгоритмы
2018-08-23 в 23:26, admin, рубрики: python, Алгоритмы, математика, численное интегрирование, экстраполяция
В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают "под капотом", и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.
Подбираем пароль к индийскому ИНН за две секунды, или зачем брутфорсу математика
2018-08-22 в 19:10, admin, рубрики: Алгоритмы, брутфорс, Индия, информационная безопасность, математикаВ Индии есть местный аналог нашего ИНН — «адхар». К нему прикручена электронная система «еАдхар». В «еАдхаре» каждое письмо блокируется паролем. И всё бы хорошо, но пароль составляется по простому шаблону: первые четыре буквы имени капсом плюс год рождения.
Четыре заглавные буквы и четыре цифры. Из них можно составить 2 821 109 907 456 комбинаций. Если проверять тысячу комбинаций в секунду, на один пароль уйдёт лет девяносто.
Долговато. Может ускоримся в пару (миллиардов) раз?