Pull to refresh
4
0.3
Send message
Ваша статья прямо открывает глаза, и (спустя 30 лет!) сразу становится понятно, откуда появилась вся та «еггогология» — почему так долго появляется сообщение ЕГГОГ, каким образом «пустышка» ломает структуру памяти и перемешивает содержимое, куда записываются те самые три 6-значных числа. Сила «пустышки» настолько велика, что она ломает даже Тьму, возникающую при переходе на «буквенный» адрес.
Как писали в «Технике-молодёжи» — благодаря усилиям читателей, белых пятен в ПМК становится всё меньше, а когда их не останется совсем, тогда промышленность придумает для нас что-нибудь новое :)
Можно ли так симулировать механику целых молекул (т.е. не только электронов, но и атомных ядер)?
Inspired by the idea of the invisibility cloak, some interesting applications, such as field concentration [9], field rotation [10] and electromagnetic (EM) wormholes [11], have been proposed.

In this paper, we investigate the EM properties of invisibility cloaks with arbitrary shape constructed by general coordinate transformations, and we confirm their perfect invisibility. To figure out the main physical properties of invisibility cloaks, we focus only on the ideal case, without considering the practical implementation, in this paper.

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

Из всех надмножеств 12-ступенного строя, пожалуй, лучший — 72EDO. Под него был изготовлен легендарный советский синтезатор АНС. В нём удобно запоминать и играть мелодии, в этот строй хорошо укладываются многие натуральные интервалы:
квинта (3/2) в 72edo — 42 ступени — равна квинте 12edo (6*7=42);
большая терция (5/4) — 23 ступени — на 1/6 полутона меньше аналогичного интервала в 12edo;
малая терция (6/5) — 19 ступеней — на 1/6 полутона больше аналогичного интервала в 12edo;
натуральная септима (7/4) — 58 ступеней — на 1/3 полутона меньше малой септимы в 12edo;
полуувеличенная кварта (11/8) — 33 ступени — равна 4.5 полутона в 12edo;
существуют большой тон (9/8) — 12 ступеней и малый тон (10/9) — 11 ступеней;
при движении по терциям/секстам добавляется или отнимается одна ступенька (1/72 октавы), а по квинтам и квартам — нет.

Надмножества строя 12edo, конечно, удобны тем, что они делят ступени 12edo на равные части. Но всё-таки, если рассмотреть ряд 12edo, 24edo, 36edo и т.д., то с уменьшением ступени относительная погрешность только растёт, и они всё хуже выполняют свою задачу — аппроксимацию натуральных гармоник.
Тут нужен другой математический подход. Пусть x — число ступеней в октаве. Для каждого из базовых интервалов (2/1, 3/1, 5/1 и т.д.) желательно, чтобы в него умещалось целое число ступеней. Построим функцию от х, значение которой тем выше, чем лучше аппроксимируются наши интервалы:
f(x) = cos(2πx) + cos(2πx log(3)/log(2)) + cos(2πx log(5)/log(2)) + cos(2πx log(7)/log(2)) +…
Если взять последовательные максимумы данной функции, то получится множество оптимальных делений октавы.
Также можно почитать о поиске равномерных строёв на Xenharmonic Wiki: https://en.xen.wiki/w/The_Riemann_Zeta_Function_and_Tuning

Пожалуйста, сейчас я вам накидаю ссылок.
Исполнитель: Gary Garrett. Песня в натуральном строе, с наглядной визуализацией всей гармонии: Flying Dream https://youtu.be/jA1C9VFqJKo
Исполнитель: Dolores Catherino. Композиция Towards the Continuum, служащая "мостом" от стандартного строя 12edo к континууму. Клавиатура Tonal Plexus, 106 ступеней в октаве. https://youtu.be/8re6rFj7q10
Исполнитель: Brendan Byrnes. Красивая игра на 22-ступенной гитаре. https://youtu.be/qHHv3mwJTlg

Хотя, кажется, я знаю, как избавиться от "длинного хвоста".
В своём текущем виде функция g(t) как фильтр никуда не годится. При t=-1 и t=-10000 значения g(t) различаются всего в 100 раз. Например, при обработке аудиосигнала разрешением 16 бит длина фильтра составит порядка миллиарда сэмплов.
Надо проинтегрировать сигнал и продифференцировать фильтр.
g'(t) = { 1/(2sqrt(pi)(-t)^(3/2)) при t≤0; 0 при t > 0 }.
Эта функция при t=-1 и t=-10000 убывает в 1000000 раз. В том же примере со звуком, если вместо g(t) продискретизировать g'(t), длина КИХ-фильтра составит всего около 1000 сэмплов.

Вот как, оказывается всё просто, дробное интегрирование и дифференцирование можно свести к операции свёртки, правда, в обобщённом виде (там повсюду будут вырожденные функции и несобственные интегралы), что эквивалентно умножению Фурье-образа сигнала на образ фильтра:
image
Допустим, функция f(t) — гауссовский белый шум, а F(ω) — её Фурье-образ, комплексный белый шум, равномерный вдоль всей оси частот. Посмотрим, как меняется Фурье-образ при дифференцировании/интегрировании f(x).
При n = 0 («белый» шум): f(t) → F(ω)
При n = 1 («синий» шум): f'(t) → iω * F(ω). Амплитуда становится прямо пропорциональна частоте.
При n = -1 («красный» шум): ∫f(t)dt → -i/ω * F(ω). Амплитуда обратно пропорциональна частоте, при ω=0 она обращается в бесконечность. Это соответствует тому, что значения винеровского процесса (точнее, их дисперсия) бесконечно растут со временем, и при интегрировании белого шума на практике нужно подавлять низкие частоты.
При n = -0.5 («розовый» шум): f(-0.5)(t) → (iω)^(-0.5) * F(ω).
Если представить «полуинтеграл» от f(t) как свёртку (f ∗ g)(t), то преобразование Фурье даст sqrt(2π)*F(ω)*G(ω), что позволяет выразить G(ω) = 1/sqrt(2πiω), тогда функция g(t) равна 1/sqrt(-πt) при t<=0 и 0 при t>0.
Теперь понятно, почему никто не использует «полуинтегрирование». Функция 1/sqrt(-πt) имеет очень длинный хвост, т.е. очень медленно убывает при устремлении t в -∞, поэтому КИХ-фильтр получается слишком длинным и вычисление свёртки будет затратно.

если вы пользуетесь софтом от MetaQuotes, то возможно вам будут интересен пример из CodeBase: https://www.mql5.com/ru/code/20588 — и также на этом сайте есть множество статей на данную тему.

Интересно, существует ли математически точный алгоритм генерации розового шума?
Поясню. Предлагаемый алгоритм суммирования октавных полос — быстрый, удобный, но неточный. На графиках АЧХ видны неравномерности спектра, ступеньки через каждую октаву.
Белый шум получить проще простого, это последовательность независимых случайных значений, и он имеет ровный спектр. Красный шум (Броуновский, часто Brown неверно переводят как "коричневый") представляет собой интеграл белого шума. Он имеет спад 6 дБ на октаву. Все промежуточные случаи являются результатом дробного интегрирования белого шума, и именно эта тема у автора оказалась не раскрыта. Т.е., так называемый "розовый" шум со спадом АЧХ в 3 дБ на октаву представляет собой полуинтеграл белого шума. Хотелось бы задать вопрос математикам, есть ли какой-нибудь способ вычислить его с достаточной точностью за приемлемое время?

Как уже подсказали выше, можно использовать мультисэмплинг, но он бывает разный. Вдобавок, алгоритмы с проходом по пикселям и по полигонам дают разные результаты на стыках двух фигур. Но сам по себе мультисэмплинг не решает проблему АА, а отодвигает её в более высокое разрешение. Вот отличная статья о растеризации с фильтрами высших порядков: Analytic Rasterization of Curves with Polynomial Filters, особенно показательны рисунки 5 и 6.

У принтера высокое пространственное разрешение, но низкое разрешение по глубине цвета — как правило, 1 бит — есть краска или нет краски. Сглаживание и хинтинг ему не нужны, они только испортят края полигонов. Профессиональные принтеры сами интерпретируют тот же PostScript как им требуется. На бытовых принтерах задача отрисовки возлагается на софт — что приложение отправит драйверу, то и будет напечатано.

Это понятие идёт из темы цифровой обработки сигналов. "Квадрат" возникает, например, при передискретизации изображения из низкого разрешения в высокое методом ближайшего соседа. Один чёрный пиксель превращается в чёрный квадрат. При уменьшении картинки происходит обратный процесс — исходное изображение делится на квадраты, каждый из которых после вычисления среднего значения цвета превращается в один пиксель. "Квадрат" — это очень простой, но плохой фильтр, дающий заметный алиасинг. Для лучшего сглаживания мелких деталей перед уменьшением масштаба нужно пройтись по изображению фильтром нижних частот, т.е. удалить высокие частоты, чтобы избежать появления артефактов алиасинга.
Применительно к теме статьи — при рендеринге векторной графики, обладающей бесконечной чёткостью, в пиксельную, имеющую конечную чёткость, также имеет место передискретизация. Она может быть проведена без фильтра нижних частот (алгоритм Брезенхема), с простейшим фильтром — тот самый "квадрат" (алгоритм Ву), или с более сложным фильтром свёртки. На практике обычно на один пиксель редко приходится много мелких элементов векторной графики, и точности алгоритма Ву вполне хватает. Но если вы захотите, к примеру, отрендерить сетку из прямых чёрных линий, отстоящих друг от друга на 0.9 пикселя, то на каждые 9 квадратных пикселей придётся 10 линий, и вы получите артефакт алиасинга — 1 пиксель из 9 будет темнее остальных. В таком случае, чтобы получить равномерный фон, вам понадобится хороший фильтр нижних частот, а не "квадрат".

Отличная статья, и спасибо автору за то, что он коснулся проблемы гамма-коррекции в цветовых каналах sRGB и показал "как привыкли" и "как надо" смешивать цвета.

Странная политика. Гугл плей мог бы быть центром притяжения для инди-разработчиков, которые бы наполняли его уникальным контентом, мог бы стать агрегатором новых технологий и идей, но нет. Чего стоит одна только история приложения для определения пульса по лицу. Прогресс ускоряется с каждым годом, и отставание в этой гонке смерти подобно. Зачем так делать, непонятно.
Картинка с фоторецепторами из википедии, остальное я набросал самостоятельно
Я пока склоняюсь к версии, что нейронная сеть зрительного анализатора попросту обладает достаточно большим запасом времени на обучение, чтобы «запомнить» образ во всех возможных его положениях. Когда ребёнок учится читать по буквам, вначале он фиксирует взгляд по центру каждой буквы, запоминая её форму, а потом с помощью постоянных многократных саккад (мелких движений глаз) постепенно вырабатывает способность воспринимать те же самые буквы, расположенные эксцентрично — этот навык при дальнейшем обучении даёт возможность охватывать одним взглядом слог или целое слово. Для обучения НС существуют разнообразные нейромедиаторы, выполняющие функции поощрения, наказания и ряд других, и, по-видимому, в мозге по умолчанию включён режим «слабого поощрения», чтобы вся проходящая через нейроны информация «укрепляла» существующие между ними синапсы. Обратные связи между корой и ЛКТ, вероятно, нужны для того, чтобы подсказывать нейронам ЛКТ, что изображение, двигающееся по сетчатке, следует понимать одинаково, независимо от того, где оно расположено, для того чтобы «подключить» множество нейронов предыдущего слоя к одному нейрону следующего слоя. Это можно считать аналогом пулинга в свёрточных нейронных сетях, где на каждом слое уменьшается разрешение картинки и увеличивается сложность выделяемых деталей. Только в отличие от искусственных CNN, где одним ядром сканируется всё изображение, здесь одной «фиче» более-менее равномерно обучается весь слой.
Если представить себе афферентный зрительный путь человека как обычную многослойную нейронную сеть (я пока не беру в рассмотрение такие вещи, как временные ритмы, латеральное торможение, обратные связи и др.), в которой сигнал распространяется послойно от входов к выходам, то очевидно, что один и тот же зрительный стимул, спроецированный на разные области сетчатки, возбуждает разные группы нейронов в каждом слое. Вообще, для нейронной сети это будут разные входные данные.

Как известно, первичная обработка изображения происходит уже в сетчатке (имеются три типа ганглиозных клеток, реагирующие на световой on-off, контрастный и синий стимулы). В латеральном коленчатом теле таламуса выделяют 6 слоёв клеток, в каждом слое имеются нейроны, которые в своём перцептивном поле распознают определённые специфические стимулы, например, грани, движение и т.д. Но у меня вызывает удивление, каким образом данная нейронная сеть, структура которой практически полностью сформирована к моменту рождения, обучается различать предмет не по локализации, а по форме.

Конечно, в процессе обучения постоянно возникают и исчезают миллионы синапсов. Но при этом все нейроны жёстко «привязаны» к своим местам, они не могут перемещаться и «сканировать» изображение, для того чтобы найти в нём какую-то деталь. Вместо этого существует некий непостижимый, но мощный и эффективный механизм параллельного обучения кучи нейронов одному элементу изображения.
Да, существует множество видов патологии макулы с разными формами нарушения центрального зрения. Но речь немного не о том. Если взять небольшой центральный участок сетчатки, к примеру, в пределах перифовеа, с достаточно высокой остротой зрения (допустим, не менее 0,4) и спроецировать одно и то же изображение в разные его места, то восприниматься оно будет одинаково. См. далее.

Information

Rating
2,079-th
Location
Челябинская обл., Россия
Registered
Activity