• Ричард Хэмминг: Глава 12. Коды с коррекцией ошибок

    • Перевод
    «Цель этого курса — подготовить вас к вашему техническому будущему.»

    imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 394k прочтений)?

    Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

    Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

    Мы уже перевели 26 (из 30) глав. И ведем работу над изданием «в бумаге».

    Глава 12. Коды с коррекцией ошибок


    (За перевод спасибо Mikhail Sheblaev, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

    В этой главе затронуты две темы: первая, очевидно, коды с коррекцией ошибок, а вторая — то, как иногда происходит процесс открытия. Как Вы все знаете, я официальный первооткрыватель кодов Хэмминга с коррекцией ошибок. Таким образом я, по-видимому, имею возможность описать, как они были найдены. Но вам необходимо остерегаться любых рассказов подобного типа. По правде говоря, в то время я уже очень интересовался процессом открытия, полагая во многих случаях, что метод открытия более важен, чем то, что открыто. Я знал достаточно, чтобы не думать о процессе во время исследований, так же, как спортсмены не думают о технике, когда выступают на соревнованиях, но отрабатывают её до автоматизма. Я также выработал привычку возвращаться назад после больших или малых открытий и пытаться отследить шаги, которые к ним привели. Но не обманывайтесь; в лучшем случае я могу описать сознательную часть и малую верхушку подсознательной части, но мы просто не знаем магии работы подсознания.
    Читать дальше →
  • Ричард Хэмминг: Глава 11. Теория кодирования — II

    • Перевод
    «Цель этого курса — подготовить вас к вашему техническому будущему.»

    imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 393k прочтений)?

    Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

    Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

    Мы уже перевели 25 (из 30) глав. И ведем работу над изданием «в бумаге».

    11. Теория кодирования — II


    (За перевод спасибо erosinka, которая откликнулась на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

    Две вещи должны быть ясны из предыдущей главы. Во-первых, мы хотим, чтобы средняя длина L отправленного сообщения была как можно более маленькой (чтобы сохранить ресурсы). Во-вторых, это должно быть подкреплено статистической теорией, так как мы не можем знать какое сообщение будет отправлено, но мы можем знать некоторые статистистические данные, используя предыдущие сообщения, и последующие выходные данные, возможно, будут похожи на предыдущие. Для самой простой теории, единственной, какую мы можем обсуждать здесь, нам понадобятся вероятности появления в сообщении индивидуальных символов. Вопрос их получения не является частью теории, но они могут быть получены путем исследования прошлого опыта или воображаемым гаданием об использовании в будущем системы, которую Вы проектируете.
    Читать дальше →
  • Ричард Хэмминг: Глава 17. Цифровые фильтры — IV

    • Перевод
    «Цель этого курса — подготовить вас к вашему техническому будущему.»

    imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 393k прочтений)?

    Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

    Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»

    Мы уже перевели 24 (из 30) главы. И ведем работу над изданием «в бумаге».

    Глава 17. Цифровые фильтры — IV


    (За перевод спасибо Пахомову Андрею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

    А сейчас мы обратимся к рекурсивным фильтрам, которые имеют следующий вид:

    image

    Из этой формулы видно, что мы располагаем значениями только с одной стороны от текущего n-ого значения. Мы используем предыдущие значения сигнала и его значение в текущий момент времени un а так же предыдущие значения полученные на выходе фильтра.
    Этот классический подход является результатом того, что часто мы обрабатывает сигнал в режиме реального времени и у нас нет доступа к будущим значениям сигнала.

    Вспомнив основы, мы увидим, что если бы у нас были «будущие значения», вероятно, двухстороннее прогнозирование было бы намного более точное. Тогда бы для вычисления yn мы столкнулись бы с системой, которая должна была бы моментально решать линейные уравнения — ничего страшного в век дешевых вычислений.
    Читать дальше →
    • +11
    • 2,7k
    • 1
  • Что связывает теорию чисел с траекторией света?

    • Перевод
    Мы, вслед за Гауссом, признаем «царский» статус математики, а учитывая, что в нашей компании есть центр компетенции «Алгоритмическое обеспечение», у нас частенько появляются интересные материалы на эту тему: то наши коллеги пишут свои, авторские статьи, то, изучая, что интересного происходит у зарубежных коллег, готовят краткие обзоры и переводы сторонних статей. Вероятно это будет полезно тем, кто разделяет наши интересы, поэтому мы решили этими материалами и знаниями делиться.

    Читать дальше →
  • iMaterialist Furniture Challenge или 50 оттенков стульев

      Недавно на Kaggle закончилось соревнование iMaterialist Challenge (Furniture), задачей в котором было классифицировать изображения на 128 видов мебели и предметов быта (так называемая fine-grained classification, где классы очень близки друг к другу).

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


      Читать дальше →
    • Нерегулярные тайлы на поверхности процедурно-генерируемых планет

        Здесь будет рассмотрен способ деления сферической поверхности процедурно-генерируемой планеты нерегулярными тайлами, и, как его следствие, подразделение океана и континентов на отдельные участки (сектора). Мы предполагаем, что на поверхности планеты уже задана структура участков суши с помощью какой-либо GIS и возможен экспорт векторных данных в ESRI shapefiles или непосредственно в PostgreSQL базу данных с расширением PostGIS. Сам процесс создания секторов осуществляется средствами PostGIS.
        Читать дальше →
        • +15
        • 2,6k
        • 1
      • Ой, у вас баннер убежал!

        Ну. И что?
        Реклама
      • Гуляем по городу с умом: как я делал сервис для построения интересных пешеходных маршрутов

          UPD: так как тема хорошо зашла и показала наличие спроса на такой сервис, буду развивать его дальше. Завел паблик вконтакте для сбора фидбека и публикации информации об обновлениях https://vk.com/sightsafari

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

          Ситуация еще больше осложняется, если рядом нет никаких крупных достопримечательностей, о которых все знают и которые можно было бы включить в свой маршрут после короткого поиска в интернете. Что делать если вы застряли в каком-нибудь Купчино, про которое вы только и слышали, что там лучше не застревать? Приходится идти по навигатору, надеясь, что на пути встретится что-то интересное. Однако популярные навигаторы учитывают лишь расстояние и время в пути, но не принимают во внимание интересность маршрута. Мне попадались еще проекты, пытающиеся учитывать удобство пешего маршрута (ведущие в обход шумных магистралей), но хочется же пройти не только комфортно, но и увидеть какие-нибудь красоты.



          Подумав немного, я решил взяться за эту задачу сам. Как всегда, общая идея алгоритма довольно проста, но дьявол кроется в мелочах. А в случае навигации, мелочи могут быть довольно существенны и с риском для здоровья, ведь вряд ли какой-нибудь турист обрадуется, когда навигатор в поисках достопримечательностей заведет его в дебри полузаброшенной промзоны ради маленькой мемориальной таблички (тру стори, один раз так и случилось).

          Описание алгоритма и примеры работы под катом, ссылка в конце.
          Читать дальше →
        • Конкурс по программированию: Торговля

            UPDATE: Объявления для участников.

            Компания Hola вновь объявляет конкурс по программированию! Победителей ожидают призы:

            1. Первое место: 3000 USD.
            2. Второе место: 2000 USD.
            3. Третье место: 1000 USD.
            4. Жюри может присудить по своему усмотрению специальный приз в 400 USD.
            5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

            Авторы интересных решений будут приглашены на собеседования.



            Правила


            Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.
            Читать дальше →
          • Сортировки обменами



              Если описать в паре предложений по какому принципу работают сортировки обменами, то:

              1. Попарно сравниваются элементы массива
              2. Если элемент слева* больше элемента справа, то элементы меняются местами
              3. Повторяем пункты 1-2 до тех пор, пока массив не отсортируется

              * — под элементом слева подразумевается тот элемент из сравниваемой пары, который находится ближе к левому краю массива. Соответственно, элемент справа находится ближе к правому краю.
              Траффик
              • +12
              • 4,3k
              • 8
            • Алгоритм генерирования цветовых палитр

              • Перевод
              • Tutorial


              Ищете красивую цветовую палитру для сайта? Недавно установили дома RGB-подсветку, или хотите покрасить комнату в новые цвета? Или купили клавиатуру с цветной подсветкой и хотите использовать её по полной? В какой бы ситуации вы ни оказались, наверняка постоянно настраиваете цветовые схемы.

              Будучи программистом, я быстро написал несколько строк кода для генерирования случайных цветовых палитр. Сразу почуяв, что такой подход может дать не лучшие результаты, я за пару минут реализовал кнопку «перезагрузки» палитры. Мне представлялось, что для получения прекрасной схемы просто нужно немного удачи и терпения.

              Я ошибался. Генерирование палитр из случайных цветов — отстой. Время от времени красивый цвет соседствует с уродливым, грязным оттенком коричневого или жёлтого. Подборки цветов получаются всегда либо слишком тёмные, либо слишком светлые и малоконтрастные, либо наборы состоят из очень похожих цветов. Нужно было придумать другое решение.
              Читать дальше →
            Самое читаемое