Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
maytonВобщем несколько мыслей по сабж. Нужен генератор МДНФ (минимальной дизьюнктивной формы). А зачем??? Долго думал, так и не понял что за задачу ты решаешь. Единственная, на мой взгляд, область в которой подобное может потребоваться это создание микросхем. maytonИсходными данными при этом являются: - целевой ЯП в котором будет минимизированная функция (C/C++/Java/C#)Но если ты действительно увлекся железом, то за ЯП надо брать HDL и/или его диалекты с кузенами (VHDL, AHDL, Verilog и тд). А из практических реализаций можешь посмотреть на продукты Altera. Последние годы они дают свой Quartus за бесплатно (но с регистрацией и ограничениями по эмулятору). Вроде есть и другие подобные продукты (и даже совсем бесплатные), но я с ними не работал вообще и не помню сейчас ни одного названия. Поищи в линуксовых репозиториях по слову vhdl и получишь с дюжину разных вариантов. И кстати, в Quartus упрощатель таблиц работает как раз на Quine-McCluskey... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2015, 23:28 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Но если ты действительно увлекся железом Увы нет. Но за совет спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2015, 12:38 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Здарова челы. Вобщем отойдя от бутербродов и икрой и паштетов и коньяка (ох уж эти праздники) я вконце-то концов подошёл к тестам. К разработке через TDD мать ево так. Значит что мне нужно? Тестовые наборы для Квайна. Среди таковых будут. 1) Тривиальные тесты. Когда Y{i}==X{j}. Один из аргументов полностью повторяет функцию. Прочие аргументы - сокращаются. 2) Тождесвенные. Когда Y{i}=C{i} где С - это константы. Формула не зависит от аргументов вообще. 3) Тест классического дешифратора 7(8) сегментного цифрового индикатора (типа электронных часов). На вход поступает 4 сигнала в BCD/Bin коде а на выходе мы имеем 7 сигналов для свечения сегментов цифр. Данную задачу я решал в техникуме в рамках толи курсовой толи лабы при проектировании какой-то железяки поэтому остаточные знания остались. 4) Тест справочника мобильных операторов. На вход поступают 2-3 BCD цифры (из телефонного номера) на выходе - множество предикатов принадлежности телефонного номера к компании/бренду. Из особенностей данного теста - взаимоисключаемость. Номер не может принадлежать двум операторам следовательно на всём множестве Y{i} только одно даёт истину для одного набора аргументов. Это легко проверяется. 5) Прочие нагрузочные тесты. Сюда-же можно включить koi8r-unicode decoder. Как бенчмарк. Его будем тестить только таблично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 17:57 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Несколько мыслей по поводу Карно/Вейча. Начав рисовать вручную тест я кое-что забыл. В некоторых наборах исходных данных существуют НЕОПРЕДЕЛЁННЫЕ/ЗАПРЕЩЕННЫЕ комбинации (НК). Смысл и семантика НК полностью возлагается на инженера которые проектировал устройство. В моём конкретном случае - это цифровые сигналы от 0xA до 0xF которые подаются на вход дешифратору. Поскольку для них нет десятичной цифры то и вопрос отображения стоит по другому. Либо мы отображаем нули. Нет свечения. Либо все единицы. (Горит восьмёрка). Либо проектируем КАК НАМ УДОБНО с плавающим значением Y{i} выбирая то состояние которое лучше склеится или поглотится при оптимизации. При этом исходим из предположения что НК никогда не придёт на вход и следовательно состояние функции после оптимизации для НК нам безразлично. Я и выбираю последний вариант. Это очень удобно для Карно/Вейча. На картинке я отмечаю НК крестиками и склеиваю их с ближайшими единичками максимально-возможным покрытием. Для Квайна этот аспект игнорируется. Как мне быть с квайном для НК - пока не знаю. (В скобках замечу что я использую Карно только для самоконтроля и написания теста). В реализации его не будет. Будет только Квайн. На картинке внизу две последние формулы отображают мои две попытки написать формулу методом Карно. Карно-1 - это функция Y1 для варинта когда запрещённые комбинации я отображал в нули. Карно-2 - это та-же функция Y1 для варианта когда НК я заменил на крестики и соптимизировал лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 18:20 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Несколько мыслей. Мне понадобился Код Грея. Для рисования толстых карт (512 на 512) элементов. На бумажке рисовать не буду но пространственная когерентность элементов открывает некоторые графические возможности которые мне интересны. Код: plaintext 1. 2. 3. 4. Например B&W растровое изображение может быть (теоретически) представлено композицией булевой функцией множества аргументов. При этом на компактность и лаконичность формулы влияют прямоугольные группы пикселов кратные 2^N. Речь не идёт о компрессии. Здесь скорее всего будет фейл но сам по себе побочный эффект весьма забавен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 01:39 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
maytonНапример B&W растровое изображение может быть (теоретически) представлено композицией булевой функцией множества аргументов. При этом на компактность и лаконичность формулы влияют прямоугольные группы пикселов кратные 2^N. Речь не идёт о компрессии. Здесь скорее всего будет фейл но сам по себе побочный эффект весьма забавен. Из практических применений B&W растра видится только хранение сканов документов, с достаточным разрешением чтобы распечатать можно было. Это примерно 200-300 dpi разрешение. Т.е. лист A4 от 1650*2300 точек. Архиваторы жмут такие BMP очень хорошо (более чем в 10 раз), думаю за счет большого количества одноцветных последовательностей точек. Если запись такой функции будет компактнее, то вполне возможно практическое применение. Но что-то подсказывает что компактнее не будет. PS Вписывание размеров в 2^N необязательно, достаточно ближайшее большее, а то что выходит за границы считать любым состоянием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 08:27 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
У меня не стоит задачи делать архивацию. Это скорее творческий эксперимент для проверки минимизации для больших объёмов. А для уменьшения размера bi-level лучше всего подходит JBIG. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 14:42 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Продолжаю поток сознания. Проблема выколотой точки. В некоторых случаях область непрерывных единичек распознаётся как простой импликант (2-3 аргумента) за исключением 1-2 "выколотых" точек. См. скрин ниже. Приведу пример. Квадратная область единичек удоволетворяет формуле за исключением выколотой точки Интуитивное (без применения полного метода Карно) я создаю следующую формулу. Вобщем я утверждаю что она удовлетворяет множеству единичек (на скрине). Меня привлекает этот подход тем что фильтруя единичные одинокие нулевые точки я СУЩЕСТВЕННО сокращаю импликант. Фильтрация таких точек с точки зрения растровых фильтров - тривиальна. Равно как и их детектирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 19:52 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Далее я воспроизведу flow вычислений согласно методу Карно. Следующие области (импликанты) Объединяются в формулу (2): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 20:19 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Чорт. Латекс глюканул. Ладно запишу так. Код: plaintext 1. Попытка вынести за скобки x1x5. Получаем формулу (2): Код: plaintext 1. Согласно формуле (1) было: Код: plaintext 1. Явно было меньше операций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 20:39 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
mayton, ты маньяк Зачем сам себе грузишь мозг теорией микросхемотехники? В программировании она малопригодна. Это более низкий уровень. Разве что по итогу изышлений возмешь горсть микросхем и паяльник. Оно тебе надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 21:07 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Еще пару дней погружу и перестану. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 21:16 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
maytonЕще пару дней погружу и перестану. И правильно. Я бы до сих пор паял (один полезный девайс спроектировал и спаял), образование паяльное, но с паяльником не дружу, руки не оттуда растут, потому и подался в программисты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 21:21 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Я очень сложный чел. И у меня (на самом деле) в любой задаче стоит гланая постановка (и около десятка второстепенных). В минимизации булевых функций таковые есть: - обфускация данных/стеганография - оптимизация производительности - овладевание ручными методиками минимизации. Глубокий анализ. Обобщение. - код Грея - Ассемблер x86 - Байткод Java - Персептрон - Инженерная графика/факсимильные изображения. Поэтому блуждание и рыскание в стороны - вокруг 1 технологии - это одна из форм моего досуга. Сочетая приятное тык скыть с полезным. А в радио-технике у меня еще более огроменный список дел. Я вот галогеновый фонарь с датчиком уже месяц не могу установить. Камеру-регистратор чинить надо. Эпоксидку купить. Свой старый комп на DDR2 надо поднять и поставить Пингвина. Фотик Кэнон перепрошить. Вобщем как-то вот в таком аспекте. А минимизация это просто так. Чтоб было под каким флагом ходить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 21:41 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
maytonЯ вот галогеновый фонарь с датчиком уже месяц не могу установить. И зря. Это важнее. Надо отвлекаться от теории на приземленные вещи. Именно это важно. Всем нужен конечный результат. Теория никому не нужна. На ней выезжают разве что ученые с мировым именем, но их единицы и стремится попасть в их круг бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2015, 21:57 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
QMC Logic Minimizer работающий по методу Квайна повис на анализе функции с 18 аргументами и 262144 наборами значений. В качестве исходных данных была взята bi-level картинка с изображением фотографии Че-Гевары. Разрешение 512 на 512. По вертикали и по горизонтали по 9 булевых аргументов в порядке кода Грея. Ответа от него я не дождался. Но для эксперимента были заготовлены копии этой картинки в разрешения 16x16,32x32,64x64,128x128...e.t.c. Для варианта 16x16 минимизированная функция выглядит так: Код: plaintext 1. 2. 3. 4. 5. Поясню по формуле. Аргументы QMC маркирует буквами A...Z. Штрих - операция инверсии. Символ плюс - оператор логической дизъюнкции. В данном конкретном случае A..D - биты координаты y, E..H - биты координаты x. Чуть позже попробую с разрешениями повыше. Ссылки по теме: https://sourceforge.net/projects/qmclm/ https://www.google.com/search?q=che guevara ext:png ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 01:26 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
mayton, Мне становится все любопытнее и любопытнее. ЗАЧЕМ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 07:51 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Ты опоздал с этим вопросом лет на восемь. Лучше спроси зачем мы модерируем этот форум? Have fun? Или просто spend time? Или всё всместе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 12:08 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskymayton, Таблица будет на порядки быстрее работать чем выражения. Про читаемость кода я вообще молчу. Тогда в чем смысл? Обфускация алгоритма. В IOCCC можно учавствовать :) Было интересно, но в принципе , учитывая что все кодовые страницы объединяет весовой принцип, понятно что принципиально всё это возможно было сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2015, 04:56 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Up! Не ждали! Пора вернуться к Че-Геваре. Долго глядел на этот блок. Думал о расчетах булевых выражений на стеке. Не хватает сноровки... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Думаю в стековой машине код существенно станет короче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2016, 16:02 |
|
||
|
Тяпничный koi-8r
|
|||
|---|---|---|---|
|
#18+
Апну тему. Минимизация снова востребована. Но в этот раз условия немного другие. Мне надо минимизировать просто размер исходника. Сейчас это выглядит в XML/DSL примерно так (я скипаю XML-теговую разметку и оставляю суть): Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Где R1...RN - некие бизнес-предикаты которые определяют свойства биржевого месседжа. Логика трансформирует эти рулы в исполняемый код и на ходу компилит в бинарь. Секций rule - порядка 20 штук. Предикатов среднем от 1 до 8. Есть не только коньюнкции. У этой модели есть некое хранимое состояние которое появляется в action. Но это нам не особо важно. Я по прежнему не автоматизировал расчет методом Квайна-МакКласски. Каюсь. Надо возобновить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2017, 21:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38851790&tid=2018010]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 270ms |

| 0 / 0 |
