• Задачка про парные числа
    0
    оставю тут. сложность O(n). память O(1). guildalfa.ru/alsha/node/29
  • Ещё одна аппроксимация полиномом функции нескольких переменных
    0
    Интерполяционные многочлены применяют, например, для вычисления интегралов. Кратко можно почитать тут для одномерного случая ru.m.wikipedia.org/wiki/Интерполяционный_многочлен_Лагранжа
  • Ещё одна аппроксимация полиномом функции нескольких переменных
    +3
    Было бы неплохо указать авторство рассматриваемых объектов. Обидно, когда забывают такие фамилии, как Лагранж, Ньютон. Было бы замечательно, если автор добавит пару параграфов про выбор узлов интерполяции, упомянув фамилию нашего математика Чебышева. На самом деле тема очень востребованная. В технических вузах обычно ее дают примерно на 2 курсе.
  • Метод Санделиуса для получения случайных перестановок
    0
    В статье сделано моделирование (ака Монте-Карло), распределение перестановок получено равномерное.
    В конце статьи есть ссылка на оригинальную статью, там есть доказательства.
  • Что нам стоит полином Жегалкина построить…
    0
    Я таких аналогий не встречал.
  • Что нам стоит полином Жегалкина построить…
    0
    Да.
    Именно поэтому существуют различные методы минимизации булевых функций. Но Они по большей части для ДНФ и КНФ.
    Пример.
    image
    image
    Это одна и та же функция. В одном и том же базисе.
  • Что нам стоит полином Жегалкина построить…
    0
    заданная разработчиком логическая схема приводится к единому базису (И-НЕ, ИЛИ-НЕ)

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

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

    Я правильно понимаю, FPGA — это ПЛИС по нашему?
  • Метод Санделиуса для получения случайных перестановок
    0
    Может я что-то путаю… Есть несколько вариантов тасования Кнута, в том числе и с сортировкой.
  • Метод Санделиуса для получения случайных перестановок
    +1
    1) Генерируем равномерно распределенные случайные числа (например, в диапазоне 0..1) для каждого элемента последовательности, для которой мы хотим получить случайную перестановку.

    В вашем случае, числами 0 и 1 не обойдешся. Rand должен давать случайные числа из диапазона шириной существенно большей числа элементов перестановки.

    Предложенный метод, сильно напоминает тасование Кнута (вариант с сортировкой). У оригинального алгоритма Кнута (Фишера–Йетса) асимптотика O(n).
    Асимптотическая оценка скорости сортировки в лучшем случае равна O(n log n), что несравнимо с оценкой O(n) скорости работы оригинального тасования Кнута. Cортирующий метод дает несмещенные перестановки, но он менее чувствителен к возможным проблемам генератора случайных чисел. Однако следует уделить особое внимание генерации случайных чисел, чтобы избежать повторения, поскольку алгоритм с сортировкой, в общем случае, не сортирует элементы случайно.

    1. Если rand генерирует равномерно распределенные числа, то перестановки, полученные им, также будут иметь равномерное распределение. Думаю, если сделать проверку аналогичную той, что делал я в статье, то перестановки сгенерируются с равномерным распределением.
    Про гарантированное распределение, тут все определяется качеством чисел, которые выдает rand.
    2. Возможно, предложенный Санделиусом алгоритм и не самый быстрый, но не такой требовательный к качеству входной последовательности (смотрите в табличке третью строку там вероятность появления нулей 0,9, но перестановки все равно получаются равномерно распределенными).
  • Метод Санделиуса для получения случайных перестановок
    0
    С ростом n для вам будут нужны все более длинные числа с равномерным распределением в заданном диапазоне…
    n=256 около 1700 бит
    n=512 около 3900 бит
    n=1024 около 8800 бит
    n=2048 около 19600 бит
    В каждом случае вам потребуется гарантировать (доказывать) независимость и равномерность распределения. этих чисел.
    И если мне не изменяет память, чтобы номер преобразовать в подстановку вам потребуется делить длинные числа и находить остатки от деления длинных чисел.
    А так, наверное, проблем больше не будет…
  • Метод Санделиуса для получения случайных перестановок
    +1
    Вы немного не поняли. Сопоставить элементам массива биты, не означает записать их в этот массив. Массив Р содержит элементы, которые нужно переставить. В вашем случае будет так:
    P=[1,2,3,4,5,6,7]; g=[0,1,0,1,1,0,1];
    Тогда массивы Р0 и Р1:
    P0=[1,3,6]; P1=[2,4,5,7];
    Нужен ли в статье модельный пример? Мне казалось все достаточно понятным.
  • Что нам стоит полином Жегалкина построить…
    +2
    есть ли примеры практической пользы от представления логических

    Плиномы Жегалкина или АНФ — удобное представление булевых функций. Их использование можно увидеть во многих работах. С полиномами работать проще и удобнее, чем с ДНФ или КНФ.
    Можно сказать, что это одно из базовых понятий в дискретной математике. Например, понятие линейных функций (см. замкнутые классы, теорема о полноте) вводится с их использованием.
    Еще одной особенностью является отсутствие фиктивных переменных в представлнии функции через АНФ.
    для задач вроде проектирования микросхем операция «исключающее ИЛИ» является невыгодной: на ее реализацию требуется больше логических элементов, чем для базиса вроде «И-НЕ»

    В вопросах схемотехники я, конечно, профан. Буду рад если меня поправят. Элементы типа и-не и или-не эффективно реализуются при помощи транзисторов. Более того, других вариантов нет, и ничего не остается, кроме как реализовать все остальные функции (или, и, не, xor) через и-не или или-не, чтобы использовать изученный математический аппарат.
    Если найти представление какой-нибудь логической функции в виде полинома Жегалкина — есть ли польза от рассмотрения этого полинома на поле действительных чисел? Имеет ли такой полином какое-нибудь отношение к рассматриваемой логической функции, дает ли он пользу для ее анализа?

    Понятие «поля» предпологает наличие двух операций сложения и умножения над элементами. «xor» и «и» вводятся над множеством {0,1}, а не над действительными числами. Может быть я неверно понимаю ваш вопрос?
  • Генераторы дискретно распределенных случайных величин
    0
    Если что-либо может произойти, то оно обязательно произойдет наихудшим из возможных вариантов. ru.m.wikipedia.org/wiki/Закон_Мерфи
  • Метод Монте-Карло и его точность
    0
    > и построить свой генератор

    Да, не удачно выразился. Не о велосипеде речь. Хотел сказать, что-то типа «найти подходящий генератор (проверенный, с нужными свойствами), отличный от стандартного, и реализовать его в своей программе», а получилось, как всегда.
    Зачем изобретать велосипед, когда есть PCG32?

    Я не хотел совсем касаться темы конкретных генераторов ПСЧ, хотелось только обратить внимание на важность их выбора.
    Что касается конкретного генератора.
    Тут выбор богатый, и PCG32 — это всего лишь один из многих. Если бы в решении этой задачи (генерации ПСЧ) все было бы так просто, то было бы ровно одно решение.
    Каждый выбирает, то что ему подходит лучше для решения конкретной задачи. Это мое мнение, возможно оно ошибочно, но пока такая концепция меня не подводила.
  • Метод Монте-Карло и его точность
    0
    Указанные алгоритмы несколько выходят за рамки данной заметки.
    Vegas — алгоритм или лучше сказать, конкретное решение, приближающее распределение используемой случайной величины к |g(x)| / I. Иными словами выбирает плотность распределения пропорционально |g(x)| на сколько это возможно. О необходимости этого я говорил.
    MISER — алгоритм, разбивает область интегрирования на две части рекурсивно до некоторой глубины. К каждой полученной области, применяется метод Монте-Карло. А количество итераций алгоритма в каждой области выбирается так, чтобы суммарная дисперсия получаемой оценки была минимальной.
    Но, возможно, ссылка на библиотеку кому-то пригодится.
  • Метод Монте-Карло и его точность
    0
    Спасибо, за комментарий. Полностью с вами согласен. Последние замечания в статье направлены больше на студенческую аудиторию. Например, я в студенческие годы (лет 13 назад) был удивлен результатом моделирования (при N>10^10).
    Добавлю, что вариаций на тему генераторов случайных чисел очень много. Например, я часто использую для таких целей хорошо изученные криптографические алгоритмы (например, наши ГОСТы).
  • Sitemap.xml или «Делать было нечего...»
    –1
    Если я говорю, что у вас ошибка, то указываю в чем. А так и я могу вашу реализацию какашкой обозвать.
  • Sitemap.xml или «Делать было нечего...»
    –1
    Вы считаете, что компосер должны использовать все? Это именно та вещь, которую просто необходимо использовать каждому php-программисту?
  • Sitemap.xml или «Делать было нечего...»
    –2
    да вы правы Limb. Скажу больше test_runner это обвертка для PHPUnit.
  • Sitemap.xml или «Делать было нечего...»
    –1
    Вы видимо мой код посмотрели… Подскажите, где кушает память. Вы то вот написали код, который сгенерирует файлы sitemap.xml, которые не будут приняты поисковыми системами (часто сайтмапы не добираются до ограничения в 50000 ссылок, 10Мб достигается раньше).
  • Sitemap.xml или «Делать было нечего...»
    –4
    Ни чего не имею против всякого рода новомодных приблуд… Но это не значит, что все должны ими пользоваться.
    Особенно не люблю, когда мне пытаются навязывать, что и куда положить, как программировать и т.п. Предпочитаю знать, что включаю в проект, и как оно рабатает.
  • Ещё раз о шифровании ГОСТ 28147-89
    0
    Ради интереса… Не хотите попробовать алгоритм «кузнечик»? Данный ГОСТ доживает последние дни, т.к. был теоретически взломан…
  • Статистическая проверка случайности двоичных последовательностей методами NIST
    0
    Использую данные тесты для тестирования большого объема данных в качестве дополнительной методики.
    Для тех кто, решит использовать этот пакет:
    1. Программные коды представленные на сайте NIST далеко не оптимальны по скорости и памяти. Лучше реализовать самостоятельно.
    В моем случае ускорение измеряется десятками раз. Для меня это критично, ибо объемы данных у меня таковы, что их реализацией будет считаться около двух лет, а мой оптимизированный вариант считает 1-2 недели. Думаю разница очевидна.
    Причем ускорение достигается элементарными оптимизациями кода.
    2. некоторые тесты содержат ошибки (в реализации на сайте ниста). То есть если ваши последовательности не проходят тест, не спешите с выводами — проверьте реализацию.
    3. Там для вычисления вероятностей значимости в некоторых тестах используется функция igamc. Сравнивал полученные значения с данными Maple — погрешность составляла до 0,1. Последний факт сильно искажает результаты тестирования, распределение вероятностей значимости не проходит проверку на равномерность.
    4. Поищите дополнительные публикации. Например, тест преобразования Фурье с ростом длины последовательностей начинает давать ошибку (так как реальное распределение статистик начинает отличаться от используемого приближения)

  • Когда больше нечего пить
    0
    Перестал читать после второй задачи
    Убил ответ «нельзя. несложно придумать пример». Пример-то не сложно, а по задаче надо доказать, что любой пример не подходит.
    Интересно автор понимает разницу между квантором существования и квантором общности?
  • Дюжина логических задач с собеседований
    +4
    Да. За 3. Думаю решение полезно знать. Решается методом теории инфонмации.
    b — эксперимент, определить монету. Его энтропия H(b)=log(12). одно взвешивание дает не более log(3) информации. k — взвешиваний дают не более I<= klog(3) информации. Так как информация I позволяет определить монету, то I>=H(b). Имеем k>=log(12)/log(3). То есть k>=2.26… Так как k — целое, то требуемое равно 3.
  • Минпромторг заказывает разработку отечественного процессора
    0
    Может я и ошибаюсь поправьте. Почему все считают что в нашей стране одни дубы живут.
    На самом деле всю схемную часть, топологию и тп. в нашей стране умеют делать прекрасно. Загвоздка лишь в том, что камни могут делать техпроцессом что-то около 90 нм.
    Может смысл-то и заключается разработать техпроцесс 28 нм, не пожизненно же все в Корее и Китае заказывать. Технологиями между прочим другие страны с нами не спешат делиться.

    И второе мое мнение, почти вся электроника изготавливается за границей. Даже для некоторых военных изделий. А вдруг война?.. А вдруг в произведенном «не у нас» есть закладки, которые могут вывести из строя всю электронику? Поэтому такая технология важна, и для ее получения можно и нужно закачивать деньги.
  • Инструмент для подсветки активного пункта простого HTML меню
    –1
    Я тож так думаю. Любая задача такого рода легко решается на клиенте, например так
  • Ubuntu 14.04 LTS (Trusty Tahr) доступна для скачивания!
    0
    Может кто в курсе? Что решилось с треем в Unity? Ведь в 13.10 он не работает…
  • ГОСТ 34.11-2012 Стрибог на flat assembler (x86)
    –1
    Я не понимаю ассемблер… Поэтому хотелось бы услышать перечень оптимизаций примененных при реализации промежуточных вычислений, чтобы оценить качество реализации.
    Например, таких как табулирование умножения многочленов и тд.
  • Криптоанализ хэш-функции ГОСТ Р 34.11-2012
    0
    А по вашей ссылке не для старого госта код?
  • Криптоанализ хэш-функции ГОСТ Р 34.11-2012
    0
    В госте написано все очень качественно. Я прошлой зимой реализовал примерно за день + день на тесты. И настоятельно советую начинать с тестов. Код не дам, оно не от меня зависит.
  • Криптоанализ хэш-функции ГОСТ Р 34.11-2012
    +1
    Я более чем уверен, что со статистикой там все в порядке. Хэш равновероятен. Проверьте сами.
  • Криптоанализ хэш-функции ГОСТ Р 34.11-2012
    0
    Ну кроме ключей есть еще различные параметры алгоритма, которые могут различаться для «для своих» и «для чужих». То есть «для своих» алгоритм строиться немного по-другому.
  • MathML или Latex – как мы реализовывали меняющийся оклад в расчете ЗП с помощью MathJax
    +1
    Вот, на мой взгляд, самая адекватная LaTeXMathML.js
  • Генерация случайных чисел большой разрядности
    0
    В в реализации NIST, выложенной на их сайте, есть ошибки. Кроме того, их реализация не оптимальна и медлительна. Спектральнный тест основан на эмпирической статистике, при увеличении длины выборки это приводит к ошибкам.
  • В США лампы накаливания на 40 и 60 Вт выводят из оборота с 1 января 2014 года
    0
    Что касается экономии электроэнергии: Ну запретили мощные лампы. Ну если мне нужен свет — я и 15 галогенок по 20 ватт воткну. А горят они 2-3 в месяц. И в чем экономия будет? На электричестве? На лампочках?
    Всякого рода энергосберегающие лампы (мерцающие), светодиодные вредны для зрения. А экономический эфферт от них не велик в виду их стоимости.
  • Syncman — развертывание и синхронизация проектов на удаленном сервере
    0
    CM — это методология, и она никак не поможет выгрузить данные на сервер. Для этого потребуется некий инструмент.
  • Почему [не]нужно комментировать код
    +2
    Действительно острая тема. Мое мнение на этот счет такое:
    Отсутствие комментариев в коде не показатель его качества.
    Читаемость и понятность кода при отсутствии комментариев — свидетельствует о качественном коде.
    Код писать надо так, чтобы потребность в комментариях была минимальной. Комментарии должны пояснять совсем не очевидные вещи и способствовать ускорению понимания кода.
    Если код не читается, то он просто не читается. И это плохой код, требующий переработки.
  • Syncman — развертывание и синхронизация проектов на удаленном сервере
    0
    В настройках проекта можно указать, опцию history=true. Я ей никогда не пользовался.
    Но работает вроде бы как-то так:
    Сервер натравливается на символьную ссылку. Эта ссылка указывает на текущую версию проекта.
    Для каждой синхронизации создается папка, обозначенная датой. Из текущей копии все переписывается в эту папку. Затем символьная ссылка заменяется ссылкой на эту новую папку. И синхронизация выполняется уже в новой папке. При необходимости отката — жмете кнопку «откатить изменения», и ссылка опять указывает на старую папку. Работает, к сожалению только для файлов.

    Как правило, все происходит быстро (rsync копирует только изменившиеся файлы) и ничего показывать не надо. Но чисто технически в presync_cmd можно установить для nginx редирект на статическую страницу, а в postsync_cmd — соответственно, его убрать.
  • Syncman — развертывание и синхронизация проектов на удаленном сервере
    0
    При чем здесь Configuration management? Syncman не решает его задачи. Его цель — уже подготовленный (возможно, с использосанием CM) программный продукт отправить на сервер.