• Игры для программистов, часть вторая
    0
    Для меня довольно быстро процесс создания решения стал подкорково — подгоночным. Но моё мнение тут не показатель, если начинающим нравится, то это очень хорошо, я сам считаю, что ранний опыт (квази)ассемблера чрезвычайно полезен программисту.
  • Игры для программистов, часть вторая
    0
    Да претензия даже не к простоте, а к их, заданий, шаблонности. А в копилку игр вот ещё bug brain. Жаль только заброшена.
  • Игры для программистов, часть вторая
    +1
    В HRM редактор неудобный, хорошо что экспорт\импорт в текст есть. Задания на мой вкус простоваты (ага, написано от 3 до 6 лет, а я за две недели собрал). Большой плюс — арт от Kyle Gabler, саундтрек теперь у меня в фонотеке вместе с World of Goo и Little Inferno.
  • Исследование асинхронной схемы в ModelSim
    +3
    Это «только предупреждение» о том, что с данного момента ты сам по себе, все переходные процессы и гонки на твоей совести, при том что планировщик может от сборки к сборке менять взаиморасположение элементов и соответственно задержки между ними.
    Но в теории, правильно разработанная самосинхронная схема не должна от этого ломаться.
  • Книга «Теория и практика языков программирования. Учебник для вузов. 2-е изд. Стандарт 3-го поколения»
    +2
    Больше книг по функциональному программированию это отлично, но имеется пустота по продвинутой теории: скажем, по дискретной математике книг достаточно, а вот по теории категорий вообще ничего! Рассмотрите пожалуйста возможность переиздать «Категории для работающего математика» Маклейна, полагаю, будут благодарны как математики, так и программисты, изучающие Haskell, Scala и т.п.
  • Полиморфизм и указатели на функции
    +2
    Нет, в общепринятом смысле полиморфное поведение управляется типом самих данных, а не дополнительным параметром.
  • Полиморфизм и указатели на функции
    +1
    А это точно про полиморфизм? Вижу тут только функциональную переменную. Полиморфная функция должна сама переключаться на нужную реализацию в зависимости от параметра, а вы тут выбор руками делаете.
  • Что читать о нейросетях
    0
    Artificial Intelligence: A Modern Approach переведена на русский.
    Не понравилась совсем. Претендует на всеохватность, а излагаются только байесовские методы, подходам типа логического программирования и нейросетей там посвящено страниц по тридцать, с итогом «как видите, всё это полная фигня по сравнению с байесом».
  • Нейротеатр: технологии Университета ИТМО помогают создавать «искусство новых медиа»
    +2
    (Станиславский) — Не верю!
    (Умирающий лебедь) — А вот доказательство — нейроинтерфейс показывает смерть мозга!
  • Об одной задаче, которую больше не предлагают на собеседовании
    +3
    эта задача имеет единственное решение

    Вообще-то нет. Еще как минимум -1,618… =(-sqrt(5)-1)/2, и я подозреваю есть ещё много периодических последовательностей
    Х[i+1] = 1/(X[i] + 1)
    X[0] = X[N]
  • О возникновении спиралей в циклическом клеточном автомате
    0
    Так ли полезен одномерный случай?
    Допустим, рассматривая двумерный массив, мы нашли «хорошую» кольцевую последовательность ячеек, в том смысле, что кольцевой одномерный автомат стартующий с этой последовательности образует спираль. Вопрос: точно ли возникнет спираль в двумерном автомате? Не испортит ли что-то окружение?
  • О возникновении спиралей в циклическом клеточном автомате
    0
    Я так понимаю, сколько бы ни было цветов, на достаточно большом случайном поле спираль возникнет. Нельзя ли оценить функцию размера поля от количества цветов, при котором спираль возникнет с вероятностью 50\50?
  • Функторы (глава книги «Теория категорий для программистов»)
    +1
    Увы, скорее всего уже нет. Причина кроме нехватки времени в том, что я в этой серии статей, как и во всех обучающих материалах по теоркату разочаровался. Может быть дело и в моих собственных недостатках, но я надеюсь, что материал можно дать понятнее. Милевский на первый взгляд всё подробно разжёвывает, но у меня была пара моментов, когда я вдруг понимал, что я некую вещь усвоил совершенно неправильно и приходилось далеко возвращаться. Сначала вот долго думал, что категория это по сути ор-граф. Оно в чём-то и верно, но уводит от понимания. Теоркат создали математики под свои нужды, это абстракция над другими абстракциями, язык созданный на замену связке Теория множеств + Формальная логика. А абстракцию невозможно прочувствовать, не усвоив сначала все нижележащие слои. Но конечно, очень хочется открыть новый глаз, перейти на следующий уровень… Я продолжаю грызть этот кактус, но более в фоновом режиме.
  • Nvidia опубликовала отчет о разработке и оптимизации актуальных GPU и сравнила их с TPU Google
    0
    Перемножение матриц очень много где можно использовать.
    «Модуль» (я тут работаю) в 1998 выпустил первый NeuroMatrix, с говорящим названием. Тогда бум НС сдулся, но чип выбрасывать не пришлось, он и его потомки вполне востребованы в цифровой обработке сигналов.
  • Nvidia опубликовала отчет о разработке и оптимизации актуальных GPU и сравнила их с TPU Google
    +1
    Насколько я понимаю, TPU, — весьма специализированное устройство, оно умеет только перемножать большие матрицы восьмибитных целых в режиме data flow, но зато делает это эффективно. NVidia с её универсальным железом будет трудно держаться вровень с такой сырой мощью.
  • Детектирование и отслеживание множественных объектов в видеопотоке на FPGA
    0
    Сложно. FPGA само по себе развлечение не для ленивых, но переход от фильтрации к чему-то с логикой и списками сразу ещё повышает сложность скачком.
    С другой стороны, данное решение обладает сильным преимуществом в виде низкой латентности, особенно если fps камеры выкрутить на максимум. 3D манипулятор типа «совы» на основе данного проекта мог бы иметь уникальную отзывчивость.
  • SDAccel – первое знакомство
    0
    А можно ли сначала написать kernel на kernel C, а потом допилить на верилоге? Например, если я хочу туда добавить что-то экзотическое, типа восьмибитной плавающей точки.
  • Вращение изображения на FPGA
    0
    Вот как раз проходя мимо нуля ошибку и можно сбрасывать — в этот момент считаем не от предыдущего, а от нуля.
  • Вращение изображения на FPGA
    0
    Даже формула суммы углов не нужна, сам CORDIC позволяет легко доворачивать на малый угол, если использовать результат с предыдущего шага.
  • Ученые вылечили ИИ от забывчивости
    0
    Ну а работает ли накопление знаний, помогает ли предобученность осваивать новые задачи или наоборот мешает? Про распознавание картинок писали что помогает, здесь же игры, тут сложнее.
  • Руководство начинающего программиста графических шейдеров
    0
    Простой эффект «волны на воде» даёт displacement shader:
    new_pic(x,y) = old_pic( x+dx(x,y), y+dy(x,y) )
    где d — ограниченная и (почти) гладкая функция.
    Тут подробнее ответил
  • «В 100 000 раз быстрее»: ультракороткие световые импульсы в вычислительной технике
    0
    Может быть. Статье не помешала бы поясняющая схема.
  • «В 100 000 раз быстрее»: ультракороткие световые импульсы в вычислительной технике
    0
    Новая концепция предполагает, что электронами можно управлять с помощью ультрабыстрых лазерных импульсов.

    Лазер только накачивает энергией, или он модулирован какой-то информацией?
  • Вероятностное программирование на Scala
    0
    Да в том-то и дело, что надо обеспечить отсутствие повторений, реализовав слияние одинаковых слов в операции «bind» монады. List:flatMap вам этого просто так не сделает. В Haskell с этим трудности, поскольку для объединения значений типа их нужно уметь сравнивать на равенство, а такое ограничение ломает сигнатуру «bind». В репозитории из статьи я кода слияния не увидел, но я Scala не знаю.
  • Вероятностное программирование на Scala
    0
    Distribution[Topic] ??? Topic => Distribution[Words] = Distribution[Words]
    Ответ — flatMap

    Если использовать монаду «список» то слова в итоговом распределении будут повторяться:
    Distribution[ пессимистичный топик ] = { (всё, 0.5), (плохо, 0.5) }
    Distribution[ оптимистичный топик ] = { (всё, 0.5), (хорошо, 0.5) }
    ->
    Distribution[ взвешенный текст ] = { (всё, 0.25), (плохо, 0.25), (всё, 0.25), (хорошо, 0.25) }

    А с монадой «множество» не знаю как в Scala, а в Haskell до сих пор непонятно, есть она или нет.
    С другой стороны, если работать с множествами слов, комбинаторного взрыва быть не должно. Кроме того, упорядочив множество по убыванию встречаемости слов, можно использовать выгоду ленивых списков: в расчете метрик текста анализировать только начало списка, отсекая слова с малой вероятностью, или отбросив хвост, когда вес всего хвоста меньше порога.
    Интересно, нельзя ли как-нибудь красиво абстрагировать байесовские зависимости между событиями, к примеру, оценивая совместную встречаемость слов.
  • Dagaz: Архитектура
    +1
    Частным случаем этой ситуации является отказ игрока от выполнения всего составного хода (в некоторых играх, например в «Го», это допускается).

    Неудачный пример. Отказаться от хода действительно можно, но только от просто хода, составных ходов в Го нет.
    По описанию игр: вы не пробовали функциональные языки? Там хорошо описываются зависимости в моделях, для описания каскадного хода возможно подойдёт такая вещь как продолжения (continuations).
  • Исследование связности в мозге на основе электрофизиологических данных. Лекция в Яндексе
    0
    Кажется, на четвертой картинке показаны и глубинные структуры. Их активность тоже выявляется ЭЭГ?
  • Исследование связности в мозге на основе электрофизиологических данных. Лекция в Яндексе
    0
    • Сэм Кин «Дуэль нейрохирургов»
    • Девид Хьюбел «Глаз, мозг, зрение»
    • В. Рамачандран «Мозг рассказывает»
  • Собственный алгоритм поиска похожих изображений. Теория
    0
    Как известно через Х точек можно проложить Х*(Х-1)/2 отрезков, т.е. из 50 точек можно составить 50*49/2=1225 отрезков. Т.е. наша строка будет состоять из 1225 целых чисел.

    Но положения 50 точек на плоскости однозначно определяются 100 числами. Это сразу десятикратная избыточность. Может быть, попробовать формировать дескриптор из координат точек относительно центра тяжести? Тогда вы всё ещё довольно устойчивы к пропаданию части точек (если центр тяжести не уехал).
  • Книги, рекомендованные Y Combinator на зимние каникулы 2016-2017
    0
    Из этого списка что-нибудь кроме «Дона Кихота» переведено?
  • Поиграл == покодил
    0
    Human Resource Machine — начальный уровень алгоритмов, с декадентским дизайном от Kyle Gabler (World of Goo).
  • Не «Танками» едиными – скучаем с пользой в стиле DIY
    0
    Про стробешник — расположение дырок режет глаз, не сохранён центр тяжести.
    И ещё на счёт «режет глаз»: защитный кожух не помешал бы.
  • Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей
    +1
    Претензия к первоисточнику:
    На рисунках ниже схематически изображена вышеуказанная формула, а также представлен результат применения операции свертки (с двумя разными ядрами) к изображению с целью выделить контуры объекта.

    имхо, распарсить эту кривую фразу можно только заранее понимая что там нарисовано. На нижней части выделение контура с помощью фильтра (ядра) типа Собеля. Для верхней, схематичной части иллюстрации автор зачем-то взял другое ядро, хотя можно было бы взять ядро подходящее для выделения контура, например:
    1 0 1
    0-4 0
    1 0 1
  • Судоку: так сколько же их? Часть 1/2
    0
    Нет. Мой метод это «Две синхронные голые пары». «Голая пара» уточняет рассматриваемый вариант, мой метод заставляет этот вариант вообще отбросить, как если бы вы при решении пришли к противоречию. Только заключение не «решений нет», а «если решение есть, то оно не единственное».
  • Судоку: так сколько же их? Часть 1/2
    0
    Предложенного мною метода там как раз и нет.
  • Судоку: так сколько же их? Часть 1/2
    0
    Нет, вы не поняли. Описанный паттерн это не часть задачи, а часть знания, полученного игроком в процессе вывода решения. В момент создания задачи неизвестно, где именно такая ситуация возникнет.
  • Судоку: так сколько же их? Часть 1/2
    0
    Встречал мнение, что хорошая задача судоку допускает единственное решение.

    Отмечу, что знание этого можно использовать как априорную информацию при решении. Допустим, перебирая варианты, вы пришли к чему-то такому:
    ...
    ?** ?** ***
    ?** ?** ***
    ...

    Где "?" — либо 1, либо 2, а "*" — неважно. Это значит, что если решения есть, то их как минимум два, и вариант можно отбросить.
  • Теория категорий на JavaScript. Часть 1. Категория множеств
    +1
    Не совсем так. Ребро-то одно, но в данном случае морфизмы это пути, а не ребра. Из «Я» в «Я» кроме тождественного пути, будут пути «Я» -> «Иван» -> «Я», «Я» -> «Иван» -> «Я» -> «Иван» -> «Я» и т.д. Поскольку категория свободная, вы не можете их склеивать вместе.
  • Теория категорий на JavaScript. Часть 1. Категория множеств
    +1
    В разделе «Пример свободной категории» есть неочевидная двусмысленность. Вопрос: есть ли из «Я» в «Я» морфизмы помимо тождественного? Судя по тому, что пишет о свободных конструкциях Милевский, есть, причём бесконечное число. А вот для предпорядка будет только один, соответственно, предпорядок в общем случае не свободный.
    Дело в том, что в данных категориях от некоторого объекта A к некоторому объекту B может идти максимум один морфизм.

    Получается, что нет.
  • Примеры кода на 39 эзотерических языках программирования
    0
    По ссылкам, ага. Я для этого «парселтанга» железо рисовал.