КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Практикум по решению логических уравнений
Краткая справка Логические уравнения Теоретический материал в полном объёме можно найти в работах [18,24,26]. Таблица базисных функций 4-значной комплементарной логики
Алгоритм "Селигер" решения логических уравнений
Задача 1 Решение На основании исходного логического уравнения полной единицы строим таблицу истинности для разрешённых наборов, т.е. тех наборов, на которых исходное уравнение имеет решение. Перенеся столбцы a,b,c из исходной таблицы в качестве значений аргументов, а столбец d - в качестве значений искомой функции, получим таблицу истинности для d = f(a,b,c).
В соответствии с п.4 алгоритма "Селигер" построим диаграммы. a =====================------=====----- b =====================-----------===== c ----=====------====================== d ---------============================
По полученной таблице заполним карту Карно, откуда после минимизации выведем соотношения для d = f(a,b,c). Если на некотором наборе функция принимает значение как 0, так и 1, то в соответствующую клетку карты Карно вписываем символ i. Если на каком либо наборе функция не определена, то в соответствующую клетку карты Карно вносим значение j. Здесь и далее апостроф означает отрицание аргумента или функции. Применение карты Карно не имеет принципиального значения: просто автор считает карты Карно наиболее эффективным инструментом для минимизации булевых функций.
Клетки карты Карно с координатами 011 и 111 заполнены значением i, т.к. на этих наборах(индивидах,конституентах) d принимает значения как 0, так и 1. Наборы 000, 001 и 010 в таблице отсутствуют, поскольку при таких значениях аргументов исходное уравнение не имеет решения, поэтому соответствующие карты Карно заполнены символом j. Для трёхзначной логики в этих клетках помещается прочерк, т.е. символ недоопределённости. Доопределение минимизируемой функции единицами позволяет получить компактную формулу. Для комплементарной логики имеем: d = cb' + ca' + iba + j(c'b' + c'a')Для трёхзначной логики это уравнение выгдядит проще: d = b' + a' + ibaЗадача 2 Рассмотрим 1-ю задачу Порецкого[27]. Между птицами данного зоосада существует 5 отношений:
Определить, были ли птицы качества Х певчие или нет. Узнать то же в отношении птиц качества Y.Найти, были ли среди качества Х птицы качества Y и наоборот. Решение Пусть Х - птицы качества Х.Y - птицы качества Y.S - певчие птицы.G - крупные птицы.Тогда условие задачи будет представлено следующими рекурсивными уравнениями [27]: 1. s= (g+ у)s;2. у'= (g'+x')у';3. s+g+x'=1;4. g'=(s+x)g';5. xуs'g=0.Эти уравнения Порецкий через эквивалентность приводит к единичной форме: 1. g+у+s'=12. g'+x'+у=13. s+g+x'=14. s+g+x=15. x'+у'+s+g'=1Нетрудно заметить, что система уравнений Порецкого представляет из себя сорит, содержащий посылки общего характера(см. раздел 4). По соответствующим формулам из базиса Васильева преобразуем уравнения Порецкого: 1. g+у+s'=As(g+y).2. g'+x'+у=Ay'(g'+x'). 3. s+g+x'=Ax(s+g).4. s+g+x=Ag'(s+x).5. x'+у'+s+g'=E(xy)(s'g).Ктати, эта функторная мнемоника напрямую описывает текстовые посылки Порецкого. Порецким впервые в мире применены здесь многоаргументные функторы, о которых мечтал Л.Кэрролл. Порецкий также впервые в мире отыскал методы решения многоаргументных полисиллогизмов общего характера. Посылки частно-утвердительного характера метод Порецкого обрабатывать не может. У Кэрролла нет решения даже для многоаргументных соритов, не говоря уже о полисиллогизмах. Полная логическая единица M всей задачи определится как конъюнкция всех левых частей системы логических уравнений. Эту рутинную операцию можно заменить на менее утомительную процедуру построения дизъюнкции нулей. Получим систему: 1. g'у's=02. gxу'=03. g's'x=04. g's'x'=05. gs'xу=0Полный логический нуль системы равен дизъюнкции всех левых частей системы логических уравнений. Проведём решение задачи Порецкого с использованием карты Карно, а потом сопоставим результаты. Заполним карту Карно нулями в соответствии с нулевыми термами системы, а в оставшиеся клетки впишем единицы. Тогда полная логическая единица всей задачи после минимизации примет вид:
Выпишем из карты Карно все единичные наборы в виде таблицы истинности. По полученной таблице построим таблицы для х=f1(g, s),y=f2(g,s) и у=f3(х). Если на каком-либо наборе функция принимает значение как 0, так и 1, то в соответствующую клетку карты Карно вписываем 1. Если какой-нибудь набор отсутствует, то для этого набора в карту Карно вносим значение j. g -----------========================== s ======================----------===== x ----=======-----======--------------- y ======================-----=====----- 0101 0111 1101 1111 1000 1001 1100После минимизации получим для комплементарной логики системы уравнений: x = is + jg's'у = g's + ig + jg's'у = x + ix' = (x + ix) + ix' = x + iРезультаты, полученные Порецким: x = xsу = gу + g'sу = у + xИз диаграмм и сокращённой таблицы истинности можно получить и более прозрачные результаты: F1(x,s) = x'+s = Axs.F2(g,s,y) = sy+g = Ag'(sy) = A9s'+y')g.F3(x,y) = y+x' = Axy.Задача 3 Рассмотрим 2-ю задачу Порецкого. Относительно белья в комоде известны 2 положения:
Узнать, какое бельё было поношено: крупное или мелкое. Решение Пусть а - тонкое, b - крупное, с - дорогое, d - новое бельё. Тогда имеем следующую систему уравнний: 1. b + a(d' + c') = 1 2. (a' + d'c) = ab'c' + b(d + ac')В соответствии с алгоритмом "Селигер" получим: Нулевые термы системы уравнений занесём в карту Карно, откуда получим функцию полной единицы. По полученному соотношению строим сокращённую таблицу истинности и выписываем из неё значения b и d в виде таблицы, из которой получаем логическую функцию. Из этой функции следует, что d не зависит от b, что совпадает с результатом Порецкого. a -----------========================== b ======================----------===== c ----=======-----======--------------- d ======================-----=====----- 0101 0111 1101 1111 1000 1001 1100По алгоритму "Селигер" получим b = i, а по алгоритму "ТВАТ" f(b,d) = 1 = Ibd(8).Эти выражения эквивалентны. Задача 4 Дано: z = xу, v = x + у.------------------------------Найти: у = z/x, у = v-x.Решение На основе формулы эквивалентности преобразуем исходную формулу z=xу. Тогда получим (z=xу) = zxу + z'(x'+у'). В соответствии с пп.4, 5 алгоритма "Селигер" получим у = xz+ix'z'+jx'z. Решим ту же задачу посредством алгоритма "Селигер-С". Исходные уравнения представим в виде таблицы истинности. Тогда в соответствии с п.2 алгоритма "Селигер-С" построим частные таблицы истинности для у= z/x и у=v-x.
В соответствии с п.3 алгоритма "Селигер-С проведём минимизацию искомых функций в трёхзначной и комплементарной логиках. Для комплементарной логики получим: у = z/x = xz + ix'z' + jx'z у = u-x = x'v + ixv + ixv'Для трёхзначной логики уравнения имеют вид: у = z/x = xz + ix' у = v-x = x'v + ixОднозначным и более строгим решением являются уравнения комплементарной логики. Задача 5 Дана система логических уравнений (В. С. Левченков "Булевы уравнения" - М.:1999): Решение Напрашивается простой и "очевидный" метод решения: сложить левые и правые части уравнений и сократить на общий множитель. В результате получим (a+b)x = (a+b)c. Откуда x = c, a = b. Ответ настораживает, тем более, что что решение противоречит принципу отыскания парных индивидов, поэтому проверим его на основе разработанных алгоритмов. Действительно, сложить левые и правые части уравнений мы имеем право на основании правила (9П) Порецкого. Кстати, заодно и проверим это правило: (9П)(e=c) -> (e+b=c+b) = ec'+e'c+(e+b)(c+b)+(e+b)'(c+b)' == ec'+e'c+ec+b+e'b'c' = 1;Да, Порецкий не ошибся. Однако относительно сокращения на общий множитель великий русский логик нам ничего не сообщил. А так хочется это сделать, тем более что всё очевидно, и обычная алгебра нам не запрещает подобные операции. Проверим допустимость сокращения на общий множитель с помощью алгоритма "Импульс": (cx=cy) -> (x=y) = cx(cy)'+(cx)'cy+xy+x'y' = cxy'+cx'y+xy+x'y'¹1.Оказывается, что алгебра логики не разрешает нам этакие вольности, т.е. мы доказали, что уравнения (cx=cy) и (x=y) не равносильны. По алгоритму "Селигер": M = (ax = bc)(bx = ac)M' = (axÅbc) + (bxÅac) = = ab'x+ac'x+a'bc+bcx'+a'bx+bc'x+acx'+ab'c.После занесения M'в карту Карно получим M = a'b'+abcx+c'x'.Откуда решение системы логических уравнений в соответствии с алгоритмом "Селигер" примет вид: x = abc+ia'b'+jc(ab'+a'b).a = bcx+ic'x'+jb(cx'+c'x).Заданная система уравнений может быть представлена графически при помощи скалярных диаграмм. Скалярные диаграммы построены по рабочим наборам таблицы истинности для М. a -------------======----============== b -------------==========-------======= c --------===========------------------ x ---=====----=======------------------Скалярные диаграммы дают полное представление о системе уравнений. Подтвердим корректность метода на решении более прозрачной задачи. Задача 6 Дана система логических уравнений: x = yu = v-------------------------Найти решение системы.Решение M = (x = y)(u = v) = (xy + x'y')(uv + u'v') = = u'v'(x'y' + xy)+uv(x'y' + xy).Для обеспечения наглядности решения уравнения представим полную единицу системы М в виде скалярных диаграмм.
По алгоритму "Селигер" получим y(x,u,v) = x(u = v)+j(u Å v)Для перехода к y(x) достаточно в таблице истинности для полной единицы М вынести столбец значений y в графу функций и произвести синтез y(x) по вышеизложенным алгоритмам. Второй способ заключается в том, что в полученной формуле для y(x,u,v) мы заменим лишние аргументы u,v на 1. В результате мы подтвердим исходное уравнение системы y(x) = x. Аналогично можно показать,что u(v) = v. Задача 7 Используя алгоритм "Селигер", получить полную систему обратных функций для двоичной логики. В таблице приведена полная система функций двоичной логики.
Решение Перестановкой столбцов у и z исходной таблицы строим таблицу истинности для полной системы обратных функций.
Из таблицы обратных функций получаем полную симметричную систему обратных функций y = f1(x,z),а по алгоритму "Селигер" - y = f2(x): у0 = iz'+jz y0 = jу1 = xz+ix'z'+jx'z y1 = x+jx'у2 = xz'+ix'z'+jx'z y2 = jx'у3 = i(xz+x'z')+j(xz'+x'z) y3 = ix+jx'у4 = x'z+ixz'+jxz y4 = x'+jxу5 = z y5 = 1у6 = xz'+x'z y6 = x'у7 = x'z+ixz+jxz' y7 = x'+ixу8 = x'z'+ixz'+jxz y8 = jxу9 = xz+x'z' y9 = xу10= z' y10 = 0у11= x'z'+ixz+jxz' y11 = ixу12= i(xz'+x'z)+j(xz+x'z') y12 = ix'+jxу13= xz+ix'z+jx'z' y13 = x+ix' - импликацияу14= xz'+ix'z+jx'z' y14 = ix'у15= iz+jz' y15 = iКстати, переход от левой системы уравнений к правой легко выполняется простой заменой z на 1 и z' на 0.
Дата добавления: 2015-05-08; Просмотров: 628; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |