| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Приведение к КНФ |
| Автор: Lonley 30.7.2004, 00:15 |
| Привет!!! Вот блин не получается точне получается ДНФ , а КНФ нет (a > b)V((c > d) & p) после преобразов получ ДНФ ~a V b V ~cp V dp а как получить КНФ ни как не могу получить --------- если кто может объясните как |
| Автор: e-moe 3.8.2004, 23:03 |
| как я понял '\/' это '+' '&' это 'И' А что такое '>' и '~' ? |
| Автор: p0s0l 3.8.2004, 23:18 |
| ~ - отрицание > - следование (из a следует b) |
| Автор: p0s0l 4.8.2004, 00:23 | ||
Построим таблицу истинности:
Из неё следует КНФ такая: (~a V b V p)(~a V b V ~c V d V ~p) хотя давно это было... может и попутался... |
| Автор: e-moe 4.8.2004, 21:13 | ||
Следование? А это как? Когда я учил ПТЦА(Прикладн. Теор. Цифров. Автоматов), у нас такого небыло.... Или это название какой-то логич. операции? |
| Автор: p0s0l 4.8.2004, 21:54 |
| Следование - это вроде называется "импликация" (в голове это слово всплывает, но может это вообще не из той области Но суть такова: из истины не может следовать ложь... Т.е. a > b = 0 в случае, если a=1, b=0, в других случах результат = 1... И если приглядишься к приведенному в первом посте приводу к ДНФ, заметишь, что: (a > b) = (~a V b) = ~(a & ~b) |
| Автор: e-moe 4.8.2004, 22:03 |
| Ясн... Спасибо! |
| Автор: KuzZzya 11.12.2007, 17:40 |
| а может есть у кого-нить реализованный КНФ? всё-равно на каком языке, но хотелось бы html файлик, очень надо |
| Автор: nworm 16.12.2007, 03:29 |
| Не совсем понятно, что конкретно надо http://www.puz.com/sw/karnaugh/karnaugh_12.htm |
| Автор: KuzZzya 25.12.2007, 14:09 |
| Необходимо реализовать алгоритм преобразования формулы в КНФ. Примерно как описано и показано на рисунках тут: http://blaga.ru/Javascriptbook/book/gl20/gl20.html#24 |
| Автор: KuzZzya 25.12.2007, 15:16 |
| Т.е. В текстовое поле вводится формула, после щелчка по кнопке, формируется эквивалентная формула, находящаяся в КНФ. |
| Автор: Smskaaa 7.10.2009, 21:17 |
| ((( помогите пожалуйста к КНФ привести пример: ((R->P)->(|(QvR)->P)) -> это импликация | это отрицание v это дизъюнкция срочно нужно очень |
| Автор: dengalf 8.10.2009, 05:06 |
| ((R->P)->(|(QvR)->P)) если память не изменяет будет примерно так: ((|RvP)->(QvRvP))=R|PvQvRvP=(RvP)(|PvP)vQvR=RvPvQvR=PvQvRесли таблицей - то также получится Или Вам это программно для общего случая реализовать надо? А насчет основной темы - если ДНФ получается, то, помниться, она как-то элементарно в КНФ переводиться. То ли ее сначала надо до СДНФ дополнить, а уже потом в КНФ, точнее СКНФ(чего-то там с отрицаниями поколдовать) |
| Автор: nworm 8.10.2009, 14:21 |
| СДНФ -> СКНФ за два хода напрашивается вариант 1) строим по СДНФ таблицу 2) строим по таблице СКНФ. |
| Автор: dengalf 8.10.2009, 14:47 |
| Чего-то там помнится хитрее было, а вот чего - хоть убей не помню |
| Автор: Smskaaa 13.10.2009, 16:46 |
| с помощью каких команд в Maple проверку уравнения делать?(знаю,что тема не по разделу,но здесь наиболее часто ответа дождёшься) |
| Автор: maxim1000 14.10.2009, 00:11 |
| Модератор: всё-таки лучше создать отдельную тему... |
| Автор: Nikituki 15.10.2009, 21:42 |
Если не ошибаюсь, то СДНФ и СКНФ - это двойственные функции, то есть если СДНФ - это f(x1,...,xn), то СКНФ - это |f(|x1,...,|xn), где | - отрицание. |
| Автор: akma 17.10.2010, 15:39 |
| (a->)&(c->d)&b может кто-то подскажет как кнф и днф сделать? |