Как стать автором
Обновить
2
0

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

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

Оценка сложности алгоритмов

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

Введение


Для любого программиста важно знать основы теории алгоритмов, так как именно эта наука изучает общие характеристики алгоритмов и формальные модели их представления. Ещё с уроков информатики нас учат составлять блок-схемы, что, в последствии, помогает при написании более сложных задач, чем в школе. Также не секрет, что практически всегда существует несколько способов решения той или иной задачи: одни предполагают затратить много времени, другие ресурсов, а третьи помогают лишь приближённо найти решение.

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

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

Подробности
Всего голосов 43: ↑30 и ↓13+17
Комментарии10

Откуда есть пошла аналитика и что отличает DS, DA, BA и SA

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

Каждому из нас приходится принимать решения и иметь дело с их последствиями. Если речь идёт о бизнесе, то верный выбор может принести кругленькую сумму денег, а неверный — стоить целого состояния. Неудивительно, что сейчас в моде data-driven-подход, при котором каждое бизнес-решение принимается на основе объективных данных. Преобразованием данных в решения занимаются аналитики: финансовые, инвестиционные, продуктовые, аналитики рисков — им нет числа, как и строкам в их таблицах.

Разновидностей аналитиков стало уже так много, что в них немудрено и запутаться. Под катом мы разберём, кто такие аналитики данных, системные аналитики, бизнес-аналитики и дата-сайентисты: чем они отличаются, что у них общего, какие навыки нужны, чтобы стать одним из них. А заодно — вспомним первопроходцев, выдающихся аналитиков прошлого и над какими задачами они работали.

Читать далее
Всего голосов 17: ↑15 и ↓2+21
Комментарии6

Реальный путь в data science

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

Эта статья про мой путь до первой работы в DS (data science). Путь был не маленьким и был пройден за 2,5 года. Кого-то эта цифра отпугнет, если бы я знал это в начале, то меня бы тоже отпугнула, кто-то назовет меня неспособным дурачком (и отчасти будет прав), а для кого-то (я надеюсь) эта статья поможет сократить время обучения и пройти этот путь быстрее.

Читать далее
Всего голосов 18: ↑6 и ↓12-3
Комментарии13

Что может быть проще (сложнее), чем упорядочивание чисел?

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

Предположим, вы программист и у вас есть два числа. Вы хотите узнать, какое из чисел больше. Если оба числа имеют одинаковый тип, то почти в любом языке программирования решение будет тривиальным. Для этой операции обычно даже есть специальный оператор <=. Вот пример на Python:

>>> "120" <= "1132"
False

Сравнение двух чисел на Brainfuck оставим в качестве упражнения для читателя.

Ой. Ну, строго говоря, это строки, а не числа, а строки обычно сортируются лексикографически. Но это всё-таки числа, хотя и представленные в виде строк. Это может показаться глупым, но такая проблема очень распространена в интерфейсах пользователя, например, в списках файлов. Именно поэтому нужно отбивать числовые имена файлов нулями (frame-00001.png) или использовать описания, сохраняющие лексикографический порядок, например, ISO 8601 для дат.

Впрочем, я отклонился от темы. Предположим, числа действительно представлены числовыми типами. Тогда всё просто и <= отлично работает:

>>> 120 <= 1132
True

Но так ли это?
Читать дальше →
Всего голосов 20: ↑19 и ↓1+25
Комментарии21

Какой метод генерации аудио лучший? Сравнение GAN, VAE и Diffusion

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров5.3K

В прошлой статье я затронул тему генерации звука с помощью диффузионной модели. Но какие методы существуют вообще и какой из них сейчас наиболее перспективен? Сегодня мы рассмотрим долгий путь этого направления в машинном обучении. Послушаем результаты, посмотрим метрики и просто взглянем на новые технологии, применяемые в совершенно разных нейросетях для аудиосинтеза.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии3

5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным

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

Привет, Хабр! В этой статье я продемонстрирую 5 трюков Python на понятных для новичков примерах, которые помогут вам писать более элегантный Python код в вашей повседневной работе.

Читать далее
Всего голосов 32: ↑23 и ↓9+17
Комментарии22

Cicada 3301: кого и куда должны были отобрать загадки таинственной «Цикады»? Часть 1

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

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

Однако целый ряд появлявшихся в сети феноменов, пусть и не всегда пугающих на уровне ранних крипипаст, до сих пор остаются неразгаданными. Кто и что делал с аккаунтом Webdriver Torso на YouTube, заполняя его сотнями тысяч видеороликов, и что из себя представляют найденные на том же видеохостинге аккаунты семейства «Unfavorable Semicircle»? Кто забрасывал Usenet странными сообщениями с заголовками Markovian Parallax Denigrate? Кем была записана «Самая загадочная песня в Интернете», видимо, в ФРГ начала 80-х? Кем был Чумной Доктор с видеозаписи 11B-X-1371, сочетавшей фотографии трупов с мест преступлений и фильмов ужасов с закодированными сообщениями? Была ли загадка от пользователя Publius Enigma о некоем закодированном послании в альбоме Pink Floyd «The Division Bell» 1994 года шуткой или чем-то большим?

Впрочем, самой масштабной и странной из подобных историй, на мой взгляд, стоит назвать «Цикаду 3301».
Читать дальше →
Всего голосов 72: ↑69 и ↓3+85
Комментарии19

Технологии, изменившие музыку. Часть 1: запись

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

Эта статья — первая из цикла, в котором мы рассмотрим технологии, изменившие музыкальный мир второй половины 20-го века.

В первой части мы поговорим про запись музыки. Если разобраться, отсутствие этих технологий столетия назад — подлинная трагедия человечества. Ведь мы никогда не услышим виртуозную игру четырёхлетнего Моцарта на клавире перед королём или трансляцию концерта Паганини, когда он исполнял сложнейшие каприччио на одной струне. Посмотрим, с чего всё начиналось и как развивалось.

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

Разбираем Теорию Игр с python-библиотеками nashpy и axelrod

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

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

Это перевод сразу двух статей Mythili Krishnan , аналитика с medium.com

Дочитавших до конца и желающих быстро испытать пару стратегий, ждет небольшой бонус...

+ поучаствуйте в опросе, что вы вообще думаете о теории игр?

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

Метрики в задачах машинного обучения

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

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



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


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


Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии9

Геометрия машинного обучения. Разделяющие гиперплоскости или в чём геометрический смысл линейной комбинации?

Время на прочтение13 мин
Количество просмотров47K
Во многих алгоритмах машинного обучения, в том числе в нейронных сетях, нам постоянно приходится иметь дело со взвешенной суммой или, иначе, линейной комбинацией компонент входного вектора. А в чём смысл получаемого скалярного значения?

В статье попробуем ответить на этот вопрос с примерами, формулами, а также множеством иллюстраций и кода на Python, чтобы вы могли легко всё воспроизвести и поставить свои собственные эксперименты.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии9

Прогнозирование временных рядов методом рядов Фурье

Время на прочтение10 мин
Количество просмотров25K
image
Привет, Хабр.

Эта статья посвящена методу долгосрочного прогнозирования временных рядов с помощью рядов Фурье [1-2]. Особенность подхода в том, что в отличие от классических методов прогнозирования и машинного обучения прогнозируется не сама неизвестная функция, а ее коэффициенты разложения в ряд Фурье. Далее по спрогнозированным коэффициентам Фурье восстанавливается неизвестная функция и делается прогноз ее значений на следующий период.

Внимание! Статья содержит множество формул.

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

Квантовые компьютеры: материальная база

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

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

Спойлер: россказни про «вот сейчас мы разработаем квантовые компьютеры, и нужда в микроэлектронном производстве отпадет» – неправда.

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

ChatGPT написал Android-приложение

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

Вчера чат-бот с искусственным интеллектом ChatGPT написал за меня Android-приложение! Это очень примитивное приложение, но оно компилируется, запускается и работает. Но как он это сделал? С первой попытки или пришлось долго сидеть и мучить его?

Сейчас расскажу!

Читать далее
Всего голосов 87: ↑84 и ↓3+100
Комментарии243

Применение генеративно-состязательных нейронных сетей (GAN) в клинических исследованиях

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

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

Существует 3 основных фазы клинических испытаний — фазы с 1 по 3. Испытания фазы 1 — это самые ранние фазы испытаний, а испытания фазы 3 — испытания более поздней фазы.

Некоторые испытания имеют более раннюю стадию, называемую фазой 0, а некоторые испытания фазы 4 проводятся после того, как лекарство было лицензировано.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии3

Маленькие задачи по физике

Время на прочтение12 мин
Количество просмотров33K
Приведу несколько задач, в основном из физики. Мне они нравятся. Надеюсь они понравятся и Вам.

Забудем о черных дырах, темной энергии и материи; забудем о коте Шредингера, большом взрыве и эволюции Вселенной; забудем о струнах и суперструнах; и даже о фракталах забудем. В этих темах, как и в политике, большинство считает себя возможным высказаться. И высказываются. И много говорилось и говорится дельного, а еще больше говорилось и говорится путаницы и просто нелепицы. Каюсь, к этому и я приложил руку. А давайте вернемся к простоте классической физики и к ее понятным задачам. Иногда полезно спуститься с небес на землю.

Для большинства задач я не привожу решения. Самое полезное – найти самому решение. Конечно, задачи не для профессионального физика, исключая задачу о ленте и о пушке.

Большинство задач, так или иначе, обсуждалось в Internete. Но время идет и приходят новые поколения и, может быть, для них задачи будут в новинку.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+36
Комментарии108

Самый великий физик

Время на прочтение27 мин
Количество просмотров32K
******************* Ну и кто из нас читал «Начала» Ньютона? *****************

Беру в руки журнал “Наука и жизнь” №1 2020. На обложке бросается в глаза вопрос “Почему Эйнштейн самый великий физик?”. Действительно, почему? Открываю статью Евгения Берковича “Трагедия Эйнштейна, или счастливый Сизиф”. Начинается она так: “Кто самый великий физик? Спросите об этом кого угодно, любой вам скажет: Альберт Эйнштейн. Не зря строгий академик Лев Ландау поставил его первым в иерархии физиков”.

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

“Спросите об этом кого угодно…”. Господин Беркович берет на себя смелость отвечать за всех. Ну, кого угодно, так кого угодно — мне угодно взять себя. Беру себя. И отвечаю: самый великий физик это Исаак Ньютон.
Читать дальше →
Всего голосов 44: ↑36 и ↓8+40
Комментарии68

Десять предупреждений для желающих познакомиться поближе с Julia

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

Julia – мой любимый язык программирования и основной рабочий инструмент для проведения научных исследований и подготовки научной графики. Я восхищаюсь её простотой, изящностью и производительностью. Именно благодаря Julia я вошёл во вкус и начал получать удовольствие от самого процесса программирования. Иногда могу программировать что-то с утра и до вечера несколько дней подряд, но при этом я не являюсь в полной мере ни программистом, ни работником IT-отрасли. У меня нет полноценного IT образования и я никогда не работал программистом. В некотором смысле я являюсь именно тем, для кого разрабатывался язык - я учёный, исследователь. Моя работа всегда была связана с геологией, а программирование было только способом автоматизации каких-то операций или получения результата, недостижимого с использованием существующих средств. Года три я программировал на R, потом перешёл на Julia. И вот, по прошествии двух лет, я хочу поделиться некоторыми проблемами, которые я вижу у Julia и её экосистемы. Не чтобы пожаловаться, а чтобы предупредить и подготовить тех, кто только приступает к освоению этого прекрасного языка, или только присматривается к нему. В сети много восторженных статей двух-трёхлетней давности, есть и современные разборы проблем от профессиональных программистов. А я хочу постараться передать взгляд учёного, простого пользователя, решающего с помощью Julia свои повседневные не самые сложные задачи.

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

«Чтение — всему голова!» Переводим электронные книги формата .EPUB с помощью Python

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

Разберёмся что “под капотом” формата EPUB и как перевести текст, но не переводить код в книге. Познакомимся с библиотекой Ebook Lib, а также узнаем для чего нам понадобиться библиотека Beautiful Soup.

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

Как зануды предсказывают результаты футбольных матчей

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

Завтра финал Чемпионата мира по футболу. Самое время для рассказа о футбольных прогнозах.

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

Такой день наступил и в моей жизни. И пусть я больше интересуюсь спортивным "Что? Где? Когда?", футбол - это классно. И это классно и с точки зрения прогнозов - и много данных, и много инересующихся, кому можно показать результаты. Давайте попробуем!

И раз за дело взялись зануды, будет много теорий, ещё больше таблиц и графиков.

Готовы? Вперёд!
Всего голосов 12: ↑12 и ↓0+12
Комментарии28

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность