powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вторничный Квайн
25 сообщений из 100, страница 2 из 4
Вторничный Квайн
    #40124301
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любопытно взглянуть на функцию y11. Из 128 значений области определения она принимает истину в 115 раз.
Ее выгодно перевернуть. Тоесть не рассматривать минитермы ДНФ там где она принимает единичку. А наоборот
расчитать где она будет равна false. И результат записать перевернув еще раз по правилу Де-Моргана.

Итого 128 - 115 = 13 минитермов должно быть. Внешний вид будет как-то так

Код: sql
1.
y11 = !( ...... ) 
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124325
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Год заканчивается, предложена достаточно объемная задача оптимизации системы логических функций, поэтому постараюсь закончить с разбором основных моментов создания программы минимизации булевых функций. Сначала ответы.

"такие простыни" Представьте, какая была бы простынь, если бы ТС предложил минимизировать функцию
f = x0 \/ x1 \/ . . . \/ x31, заданную таблицей истинности.

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

"Это - форум программистов". Да, все программисты сталкиваются с условиями ветвления или повторения, а это и есть булевы функции.
Но некоторые программисты могут участвовать в проектах, в которых требуются свои критерии оптимизации.

"В топике нас не будет интересовать человеческое восприятие". Наверно поэтому тема не нашла широкого отклика.

"В своей реализации я хотел уйти от битов. И просто перейти к использованию списков символов".
Хочу список символов - это каприз мальчика в магазине игрушек или слова мужа, понимающего триаду Вирта: структура данных-алгоритм-программа?

"Игры с кубитами или с иммитацией символа asterisk "*" кажутся мне не очень актуальными применительно
к решению задачи которая в пределе двигается к экспоненциальной".

asterisk выглядит так "*" с этой стороны экрана, а с другой стороны этого же экрана он выглядит так "00101010". Что изменится, если с той стороны экрана он будет выглядеть, например, так "11"?

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

"Памяти у нас сегодня достаточно чтоб не обращать внимание на биты". Не только на биты, но и на байты, и на качество программ, и на многое другое.

22411318 . Это применение драчёвого напильника после драчёвого напильника? Что подтверждается вашими последующими сообщениями. Обычно после драчёвого напильника применяют бархатный напильник
(https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%BF%D0%B8%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA).
Правильный ответ ( 22410649 ): x¬y \/ ¬z или в вашей нотации: X~Y + ~Z.
Как я уже писал, все основные результаты в области представления булевых функций и их минимизации были получены 50-х - 70-х годах прошлого столетия.

Для реализации функций y1, y2, ..., y16, если бы это была реальная задача, я бы сначала применил декомпозицию. "Дешифровал" бы три старших разряда. После этого остались бы минимизировать логические функции от 5 переменных.
Вопросы совместной реализации системы булевых функций хорошо рассмотрены в книгах Баранова С.И., в частности в книге
Баранов С.И., Скляров В.А. Цифровые устройства на программируемых БИС с матричной структурой. — М.: Радио и связь, 1986. — 272 с.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124327
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"К чорту Карно". Карно или Квайн? Если ли между ними принципиальное отличие?

Еще раз рассмотрим функцию 1 из предыдущего обсуждения

x y z f1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Запишем не меняя порядок следования первые четыре значения этой функции горизонтально, а под ними в следующей строке запишем остальные значения этой функции. Строки и столбцы полученной матрицы отметим черточками там, где независимые переменные равны 1. Полученное приведено на рис.1, которое назовем просто картой.

Код: plaintext
1.
2.
3.
4.
5.
6.
 рис. 1       рис. 2       рис. 3       рис. 4       рис. 5      
      ___ y        ___ y        ___ y        ___ y        ___ y  
    _   _ z      _   _ z      _   _ z      _   _ z      ___   z  
  0 1 0 0      0 1 0 0      0 1 0 0      0 1 0 0      0 1 0 0    
| 1 1 1 0    | 1 1 1 0    | 1 1 1 0    | 1 1 1 0    | 1 1 0 1    
x            x            x            x            x            
На рис.2 рассмотрим две единички, которые отмечены красным цветом: ¬x¬yz \/ x¬yz = ¬yz, т.е. отмеченные красным цветом конституенты склеиваются по переменной x.
На рис.3 рассмотрим две единички, которые отмечены красным цветом: x¬y¬z \/ x¬yz = x¬y, т.е. отмеченные красным цветом конституенты склеиваются по переменной z.
Следовательно, для минимизации нужно найти единички, которые образуют прямоугольник и записать независимые переменные, общие для всех единичек в прямоугольнике.
Теперь рассмотрим две единички, отмеченные на рисунке 4 красным цветом. Они не находятся рядом, поэтому их нельзя обвести прямоугольником. Но они склеиваются по переменной y. Вейч, а затем Карно предложили переставить столбцы местами, как показано на рис.5. Теперь, если полученную карту обернуть вокруг цилиндра, то крайние столбцы будут находиться рядом и можно будет выделить прямоугольник. Карту рис.5 называют картой Карно.

Карту на рис.1 легко заполнять, но сложно искать импликанты. Карту на рис.5 сложно заполнять, но легко искать импликанты.

Выводы: 1) карта Карно это та же таблица истинности; 2) и алгоритм Квайна, и карты Карно основаны на использовании операции склеивания 22406820 .

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

Почему я рассматриваю СДНФ, а не СКНФ? СДНФ: x¬yz \/ y¬z, СКНФ: (x \/ ¬y \/ z)(y \/ ¬z). Это не одна и та же функция, просто показал, что запись СКНФ более громоздкая при одном и том же количестве переменных и операций по сравнению с СДНФ.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124328
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я предложил два варианта представления СДНФ для программной реализации алгоритма Квайна ( 22410652 ).

1-й вариант (далее псевдокод, не путать с языком программирования):

Код: plaintext
1.
2.
3.
4.
5.
const n = 15; --количество независимых переменных булевой функции

type БулевоЗначение = (0, 1, *);                        --фактически мы имеем дело с трехзначной логикой
     Набор          = array 1 .. n+1 of БулевоЗначение; --элемент n+1 нужен для отметки склеенных конституент
     Функция        = array 1 .. 2^n of Набор;
Для хранения БулевоЗначение, скорее всего, будет выделен 1 байт. Т.е. один байт будет хранить всего три возможных значения. Всего потребуется (n+1)(2^n) = 16*(2^15) байт

Поэтому был предложен второй вариант с упаковкой булевых переменных в целое число:

type Функция = array 1 .. 2^n of integer;

В этом случае потребуется 4*(2^n) = 4*(2^15) байт, что в четыре раза меньше, чем в первом варианте.

Для представления одной переменной потребуется два бита:
1 0 - биты числа
0 0 - представляют ¬х1
0 1 - представляют х1
1 * - представляют склейку по переменной х1, в этом контексте знак * обозначает, что значение бита может быть любым и не имеет значения.

Я предлагаю следующий способ сравнения двух наборов на предмет склейки.

Доопределим * единицей, т.е. 1* -> 11.
Сопоставим логические значения с числами: 00(ложь) <-> 0, 01(истина) <-> 1, 1*(склейка) = 11 <-> 3.
Введем функцию Lk(Xik, Xjk) = |Xik - Xjk| - 1, где Xik и Xjk значения в "разряде" k i-го и j-го наборов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Xik   0   0   0   1   1   1   3   3   3
Xjk   0   1   3   0   1   3   0   1   3
---------------------------------------
Lk   -1   0   2   0  -1   1   2   1  -1
      =               =               =
          *       *
             <>          <>  <>  <>

   / <0 - истинность наборов в "разряде" k одинаковая, склейка возможна, продолжить сравнение наборов
Lk|   0 - логические наборы могут быть склеены по переменной "разряда" k, продолжить сравнение наборов
   \ >0 - наборы не могут быть склеены, можно прекратить дальнейшее сравнение наборов
Два набора склеиваются, если после сравнения всех "разрядов" встретилось только одно L=0 и не было ни одного L>0.
Если учесть возможности сокращения числа переборов, о которых я написал ранее, то можно получить сумму всех L.
Если она равна -(n-1), то сравниваемые наборы склеиваются.
Использование типа integer для хранения одного набора решает задачу отметки этого набора путем присвоения знака - этому числу.

Т.е. мы свели логические операции к арифметическим. Это применимо к обоим предложенным вариантам представления СДНФ.

В качестве упражнения можно рассмотреть чисто логическое решение для сравнения двух наборов.

Золотое правило механики говорит о том, что нельзя одновременно выиграть в расстоянии и силе. В данном случае пожертвовали силой в виде дополнительных команд выделения нужных битов.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124330
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если хочется работать с символами, то можно предложить следующие варианты.

Код: plaintext
1.
2.
3.
4.
5.
const n = 15; --количество независимых переменных булевой функции

type БулевоЗначение = ('0', '1', '3');
     Набор          = array 1 .. n+1 of БулевоЗначение; --элемент n+1 нужен для отметки склеенных конституент
     Функция        = array 1 .. 2^n of Набор;

В этом случае функция Lk будет такой: Lk(Xik, Xjk) = |ord(Xik) - ord(Xjk)| - 1.


Еще один вариант - это использование массива строк:

type Функция = array 1 .. 2^n of string[n+1];

Для обозначения истинности можно использовать высоту букв, например, ¬xy¬z можно записать строкой xYz.
Тогда таблица, описывающая функцию Lk, будет выглядеть так:

Код: plaintext
1.
2.
3.
4.
Xik   b   b   b   B   B   B   *   *   *
Xjk   b   B   *   b   B   *   b   B   *
---------------------------------------
Lk   -1   0   2   0  -1   1   2   1  -1 --положительные значения могут отличаться от приведенных

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

На этом программирование алгоритма Квайна считаю законченным, поскольку все основные моменты программной реализации этого алгоритма были рассмотрены.

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


С наступающим Новым годом! Здоровья, счастья в личной жизни, успехов не только в булевой алгебре!
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124339
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как то так получилось. Провертьте меня. Нигде-ли я не ошибся?
Ой, только не в этой жизни)) И уж точно не в этом годе.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124340
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wlr-l, вам не стыдно такие простыни писать постами? Такое надо хоть бы в пдф оформить и приложить.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124362
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не пойму к чему человек писал так много.

Карно не работает для больших размерностей.
Если взять код Грея и выписать в столбик то очевидно
Что монотонные области иксов рвутся уже для матриц 8x8 И выше.

И Карно не автоматизируется. Ну по крайней мере я не видел ни одной реализации минимизатора которая заявляла бы о методе Карно.

Карно это чисто человеческий или когнитивный метод.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124389
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С наступившим всех!

Частоты появлений единичек по всем 16 функциям.

FunctionFrequencyy160y150y1456y130y120y11115y107y951y815y750y660y565y456y358y253y156
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124416
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда читаю терминологию - первым делом пытаюсь устновить соответсвие русской и англоязычной
технической литературы. Например закон поглощения.

Код: sql
1.
w + w * z == w * (1 + z) == w



В англоязычной wiki это может быть Annihilator for "+".

Закон склеивания. (или скорее здесь не закон а тождество).
Его хорошо видно на диграмме Венна. На кружочках - остаётся только
кружочек w. А кружочек x становится универсумом и пересекаясь с w
оставляет только w.

Код: sql
1.
w * x + w * !x == w * (x + !x) == w


Вот для склеивания я не нашел англоязычного термина.

Кто знает что-либо по этому вопросу? Дайте каменты.

Я очень не хочу забуждаться. Я помню как я долго путался в комбинаторике.
Сочетания-перестановки-размещения и им английский аналог который слишком
вольно переводился в разных
статьях и книгах.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98 я думал над твоей идеей (кажется ты писал) искать корреляции между факторами и откликами.
Пришел к мысли.

1) Корреляция (Пирсона?) в булевом пространстве вырождается в подсчет совпадающих битов.
2) Гипотеза о том что взаимное влияние факторов друг на друга даёт нам какие-то вычислительные
премущества для меня пока ничем не подтверждается. Тоесть мы скорее всего будем делать тот-же
или бОльший объем вычислений т.к. булевы выражения так или иначе всегда содержат влияние
всех факторов на нужную функцию отклика и мы не можем уменьшить размерность. Можем
правда увеличить добавляя "дрейф" или некую константу но что это даёт - непонятно.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124494
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут мне нужно договориться с самим собой о форме публикации результата. Поскольку
имеем дело со строками - то лучше чтобы их форма имела бы сортированный порядок
в том виде как аргументы лежат в таблице истинности слева-направо и сверху вниз.
(Здесь нолик идет сначала а потом единица тоесть сначала инвертированный аргумент
а потом без инверсии.

Пример.

xyzf100000011010101101001101011001111

Просто форматируем как видим.

Код: sql
1.
y = !x1!x2!x3 + !x1!x2x3 ..... + x1x2x3



Минимизированная форма МДНФ должна точно так-же печататься в строке.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124497
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу представления функции-кандидата на минимизацию в виде кубитов.

Идея всё таки хорошая. Она мне нравится. Потому-что после реализации Квайна
когда я наиграюсь с экспоненциальной сложностью и сожгу свой процессор - то хочу
этот-же метод минимизации написать с помощью ГА.

Вот тут-то кубиты и пригодятся. Их очень удобно будет "скрещивать".

Для генетики кстати кроссовер x1 и !x1 - это будет вовсе не склеивание а - дохлая хромосома
потому как нельзя будет просто так разрезать формулу поперек и склеить ее с другой
формулой и никогда не получать противоречий. Противоречия будут. Не помню как в теории
ГА отслеживается такой кроссовер. Но наверное просто можно в качестве функции фитнеса
выдать MIN_DOUBLE и наверное дальше алгоритм ее выбросит из популяции.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124840
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С новым гадом? ))
mayton
... пытаюсь устновить соответсвие русской и англоязычной ...
технической литературы.Кто знает что-либо по этому вопросу?
К сож. помочь не могу. Остаётся их искать в инглиш-книгах, на к-рые я стараюсь не тратить время.
Поглощение многолико
a + ab = a
a + a~b = a + b
(a + b)(a + ~b) = 0
a(a + b) = a
a(~a + b) = ab
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124851
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт факторов и откликов. Я выше отписался, что не придумал, как соображения конвертировать в формальный метод . И вряд ли придумаю. Но ватрушка всё же есть в виде подспорья в анализе .
И потом, я писал про обычную корреляцию. Тут можно даже смотреть на векторы координат как на базис Хаара (на часть его). Х1 - самая медленная волна, Хn - самая быстрая. В силу единтвенности разложения в фурье получаем дополнительный аргумент в пользу наличия либо отстствия влияния и его силы.
В то же время, классическая корр-ция имеет хорошую геометрическую интерпретацию в виде скалярного произведения. В отличие от к-ции Пирсона эта мне роднее онаа - скорее работа с производной, т.е. с приращениями. Поэтому и используется краткая форма сути: мера линейной зависимости векторов. Чтобы её хоошенько прочувствовать можно много раз медитировать над наглядными примерами и много раз сравнивать со скаляркой например.
Тогда моя писанини уже не покажется не имеющей отношения.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124854
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первый раз упомянул о корр-циях с налёту.
А здесь - как пример того, на что может навести корреляционное подспорье.
Выше писал, что игрался с ф-цией ДНФ и получил случайную новую ф-цию new
Код: plsql
1.
2.
3.
ДНФ	0	1	1	0	1	1	1	0	1	1	1	1	1	1	1	1
new	1	1	1	1	1	1	1	0	1	1	1	1	1	1	1	0
x1	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1 

И сам не заметил, что последняя половина == 1. Пока не подсчитал корр-ции.
Corr(x1, Dnf)= 0. Откуда легко сделать вывод, что прибавить "+х1" к формуле ничего не изменит, но вдруг поможет.
Corr(new, Dnf)= 0,3026, что меньше чем от других координат и с другим знаком. А ">0" намекает на много совпадений, а различия в знаках с другими намекает на то, что другие к-ты в довольно сильной степени "~Xk".
Собссно, всё. Больше ничего из этого не извлёк. Так что это были всего лишь пробы без обощающих выводов.

П.С. в ГА и в строках я не помощник. Ну и вообще вся эта тематика не моя.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124859
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98

П.С. в ГА и в строках я не помощник. Ну и вообще вся эта тематика не моя.

Она и не моя тоже.

Но разве у тебя нет инженерного любопытсва?
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124867
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98

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

Не знаю насчет скалярных произвденеий. Но на двумерного набора данных - это "форма облачка". Если слева направо-наискосок - то
корреляция положительная. Рост и вес. А ноборот - отрицательная. Если облачко круглое - то нулевая.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124872
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
разве у тебя нет инженерного любопытсва?
Обычно у меня любопытство к собственным идеям. Оно почти закончилось после фиаско озвученных выше идей (к-рые наверняка не новые).

Облако - это линейная регрессия. Ну да, а в ней линейная корр-ция. А если центрированные векторы попарно скалярно умножить, то по определению 8го класса оно = длине проекции одного вектора А на вектор В, =|A|*|B|*Cos(A^B). Вот и сравни косинус с корр. Другими словами "мера сонаправленности центрированных и нормированных векторов".
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124878
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, вот восстановленный из фурье вектор для моей ф-ции ДНФ
Код: sql
1.
Fur  0,5  0,375  0,375  0,25  0,625  0,5  0,5  0,375  0,875  0,75  0,75  0,625  1  0,875  0,875  0,75

Ведь просвечивается же некая связь есть, а хорошей формализации нету.
Конечно, много артефактов, среднее 0,625 выше 1/2. Так ведь высокочастотные гармоники отрезаны, вот и муар на перепадах высоты. Нет?
Ну вот, а такая красивая мысля была...
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40124959
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему Фурье? Обычно его берут там где есть выраженные периоды.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40125040
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Почему Фурье? Обычно его берут там где есть выраженные периоды.
Точно? а зачем сигналы или картинки им обрабатывают? Теорема Котельникова несколько о другом, но и в этом случае она применима.
Но я начну с самого главного - всё равно обломов, нужно додумывать. Потому что Ф., в его обобщении, есть разложение в виде линейной комбинации по полному базису векторов, в частности по бесконечному для непрерывных ф-ций.
Тогда F= Function(X1 X2 X3 ...) вв виде линейной комбинации отдельных координат. То есть слагаемые состоят из одой переменной, а это как правило не подходит.

К-ты разложения Ф. считаются независимо один от другого. Опустим полезные предобработки вида исключения тренда и проч...
Ck= (F, ek) и F= Sum Ck*ek, где ek - базисные векторы, а скобки== скал-ое пр-ние в некой метрике, связанной с базисом.

А почему его? потому что векторы X1 X2 X3 ... сами напрашивались на базис Хаара. Только поэтому))
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40125051
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Картинки обрабатывают не полностью. А выделяя фреймы (8х8) и базируясь на предположении
что в фотографиях преобладают низкие частоты. И из 64 комплексных вещественных коэффициентов
остаётся только штук 5 в левом верхнем углу матрицы где только крупные волны и волнушки. А всякая
рябь отсекается как не оказывающая влияние на зрительное восприятие.

Тоесть тезис об обратотке фоток Фурье - неверный потому-что неполный. Это все равно что сказать
что аптека оперирует химическими формулами чтоб изготовить лекарство. Формулы там конечно есть
но еще больше там - биохимия.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40125053
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет же, не оттого. Это в жипеге эксперты от фотографии используют варинт Ф. в виде косинус-преобразования потому ,
что предполагают ... всё то самое, что ты писал ... Или используется БПФ потому что ...
А периодичность тут не причём. Бесконечный тригонометрический ряд Ф. равномерно сходится на всей числовой прямой (плоскости и т.д.) для любой непрерывной ф-ции (с конечными разрывами числом не более меры нуль по Лебегу).
Получаемый спектр Ф. будет ограниченным (т.е. мера множества точек в частотном пространстве), если выполняется т.Котельникова. А нет - может быть и бесконечной длины. И это важное обст-во используют в локации и в обработке звука. Но ограниченность спектра => конечное число гармоник и только в предположении, а периодичность ф-ции просто потом притягивается ради формул. Гармоники обрезают ещё раньше, нежели наступает полноценный период. Нужна только исккусственная имитация периодичности по технологическим причинам для использования формул БПФ. И периодичность снова не причём. Всего лишь одно из применений.

То есть всё как раз наоборот. Изучение ф-ции состоит в том (в частности), что изучают её спектр. Какой получится. Белый шум - значит белый шум.
...
Рейтинг: 0 / 0
Вторничный Квайн
    #40125058
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю. Мне как-то Фурье больше ассоциируется с электроникой и радио-сигналами. А наша предметная область..
Булевы функции с Квайном - это такие себе "шумелки". Шумят они сильно. К ним может быть ближе криптография
чем цифровая обработка сигналов.
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 2 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Вторничный Квайн
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (5), Yandex Bot, Bing Bot 2 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]