Нечеткое двоичное логическое моделирование цифровых устройств

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2014 Управление, вычислительная техника и информатика № 2

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

УДК 517.11

Д.В. Сперанский

НЕЧЕТКОЕ ДВОИЧНОЕ ЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ

Предложен метод нечеткого логического моделирования цифровых устройств, основанный на сведении

проблемы к моделированию систем в пространстве вещественных чисел.

Ключевые слова: цифровые устройства; нечеткое моделирование; двоичное моделирование.

Традиционное логическое моделирование цифровых устройств (ЦУ) основано на применении классического математического аппарата, требующего выполнения операций с точными значениями данных. Для реальных ЦУ исходные данные для моделирования часто являются неточными (нечеткими) в силу объективных причин (погрешность измерений, нечеткость в описании функционирования ЦУ и т.п.). Понятно, что нечеткие данные приводят к огрублению результатов моделирования. Для отражения нечеткости данных необходимо иметь подходящие средства. Важным этапом на пути создания таких средств явилось введение Л. Заде [1] концепции нечетких множеств.

На этой основе начали бурно развиваться нечеткая логика, теория нечеткого управления, нечеткая алгебра и т.п. Позднее, с 80-х гг. прошлого века, начались активные исследования в области нечеткой арифметики, с которой непосредствовано связана тематика предлагаемой статьи. Не останавливаясь на обзоре работ в упомянутом направлении, назовем лишь некоторые известные обобщающие публикации по этой тематике. Так, к их числу относится обзор Д. Дюбуа и Г. Прайда [2], монографии А. Кауфмана и М.М. Гупта [3], А. Кандела [4], М. Ханса [5] и Г.Э. Яхъяевой [6].

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

1. Постановка задачи и идея метода решения

Далее в качестве ЦУ, в том числе с памятью, рассматриваются устройства, в которых зависимость между входными и выходными сигналами, а также между состояниями системы в настоящий и следующий моменты времени представляются в виде некоторого логического выражения. Это выражение может содержать различные логические операции, включая отрицание (НЕ), конъюнкцию (И), дизъюнкцию (ИЛИ), импликацию (ЕСЛИ... ТО) и т.д. Известно [7], что любую дискретную систему с памятью всегда можно преобразовать в эквивалентную ей итеративную комбинационную схему (комбинационный эквивалент).

Реальные ЦУ состоят из микросхем, реализующих логические функции с использованием операций НЕ, И, ИЛИ, которые образуют базис, т.е. полную систему функций [8]. Последнее означает, что любая логическая функция может быть записана в виде формулы, содержащей только эти три упомянутые операции. Именно поэтому далее для простоты изложения (хотя это не принципиально) в качестве объекта исследования будет рассматриваться комбинационное ЦУ с несколькими входами и одним выходом.

В классической модели ЦУ на каждом из упомянутых полюсов могут появляться только точные двоичные сигналы «0» или «і». Исследуемая здесь задача нечеткого двоичного логического моделирования предполагает, что поступающие на вход ЦУ сигналы являются нечеткими. Понятно, что получаемые при этом выходные сигналы ЦУ также являются нечеткими. Рассматриваемая ниже задача состоит в получении на этой основе в качестве результата моделирования четкого двоичного значения (0 или і) выхода ЦУ.

Известно, что логические операции над логическими значениями «истина» и «ложь» могут быть выражены через арифметические операции, если упомянутые логические значения интерпретировать как целые числа і и 0. В частности, для операций упомянутого выше базиса имеют место следующие равенства:

a=1-a, a v b = a + b - ab, a л b = a  b .

Идея предлагаемого ниже метода моделирования ЦУ базируется на сведении его к вычислению по правилам нечеткой арифметики вещественных чисел (для заданных нечетких исходных данных) логического выражения, представляющего собой модель рассматриваемого ЦУ.

Известно, что в любом ЦУ нулевые и единичные сигналы представлены в виде значений напряжений (в вольтах) в некоторых конкретных диапазонах. Каждый из этих диапазонов подвергнем калибровке, сопоставив каждому делению шкалы некоторое целое положительное число, меньшее или равное единице. На этой основе могут быть построены функции принадлежности нечетких сигналов «0» и «і», значения которых на соответствующих им диапазонах полагаются равными числу і.

Условимся далее в правых частях равенств (і) в качестве значений переменных a и b использовать их нечеткие значения, выраженные в делениях выбранной и зафиксированной калибровочной шкалы. Легко показать, что при любых значениях переменных a и b из отрезка [0,1] результат каждой из трех логических операций в (і) лежит на том же отрезке.

Понятно, что каждой структурной схеме комбинационного ЦУ можно сопоставить соответствующее арифметическое выражение, содержащее операции сложения, вычитания и умножения. Если все переменные этого выражения интерпретировать как нечеткие вещественные числа, то для моделирования ЦУ можно применять все известные методы и приемы вычислений в рамках нечеткой арифметики над полем вещественных чисел. Соответствующие методы и различные аспекты такого моделирования в настоящее время достаточно хорошо разработаны. В частности, проблемы и методы нечеткого моделирования в поле вещественных чисел изложены в монографии А. Пегата [9].

Заметим, что используемые далее терминология и понятия трактуются так, как они определены в [9].

2. Этапы нечеткого двоичного логического моделирования

Из изложенного в предыдущем разделе следует, что для решения исследуемой задачи можно воспользоваться типовой структурой нечеткой модели исследуемой системы, детально описанной в [9]. Напомним, что структура модели состоит из трех последовательно соединенных блоков, выполняющих следующие функции:

1. Блок FUZZIFICATION (фаззификация) для поступающих на него нечетких значений входов ЦУ вычисляет их степени принадлежности входным нечетким множествам Д. и Bj. Содержательный смысл этих множеств будет уточнен позже.

2. Блок INFERENCE (вывод) на входе получает степени принадлежности, вычисленные предыдущим блоком, и на выходе вычисляет так называемую результирующую функцию (у) принадлежности выходного значения модели. Для выполнения вычислений этот блок включает в себя базу правил, механизм вывода и функции принадлежности выходного значения у ЦУ.

3. Блок DEFUZZIFICATION (дефаззификация) на основе цres (у) вычисляет четкое значение у* выхода ЦУ, являющегося результатом для нечетких входных значений ЦУ. Этот блок включает в себя вычисление степеней выполнения условий отдельных правил, определение активизированных

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

Отметим, что реализация приведенной нечеткой модели представляет собой достаточно трудоемкий процесс. Основную часть в нем составляют затраты на блоки вывода и дефаззификации. Опишем предлагаемую нами процедуру нечеткого моделирования ЦУ, отличающуюся существенно меньшей трудоемкостью. Суть этой процедуры кратко изложим и проиллюстрируем на примере простого комбинационного ЦУ с тремя входами X1, X2, X3, значение на выходе которого описывается следующей структурной формулой:

у = X1 л X 2 V X 3.

Используя равенства (1), представим значение на выходе ЦУ в виде соответствующего ему арифметического выражения

у = XI-X 2 + X3 - XI-X 2 • X3.

Условимся, что на входы ЦУ подаются сигналы, принимающие значения из двух нечетких множеств А0 = «примерно 0» и А1 = «примерно 1». Пусть графики функций принадлежности элементов этих множеств есть ломаные, изображенные на рис. 1.

На рисунке ломаная РМ8 соответствует множеству А0, а ломаная QNR - множеству А1 в предположении, что выбрана и зафиксирована некоторая подходящая для входных сигналов рассматриваемого ЦУ калибровочная шкала. Таким образом, по оси абсцисс выписаны напряжения, определяющие нечеткие множества А0 и А1 , но выраженные не в вольтах, а в единицах значений выбранной калибровочной шкалы.

Рис. 1. График функции

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

0, если 0,4 < х < 0,8 ^а0(х) = ^-10х + 4, если 0,3 < х < 0,4, ^(х) = <

1, если 0,2 < х < 0,3

0, если 0,2 < х < 0,5

5х - 2,5, если 0,5 < х < 0,7.

1, если 0,7 < х < 0,8

Согласно рис.1 входному сигналу «0» соответствует диапазон (0,2; 0,3), а сигналу «1» - диапазон (0,7; 0,8). Между этими диапазонами, как известно, расположена так называемая «мертвая зона», в пределах которой не гарантируется корректное восприятие уровня сигнала. Для нашего примера мертвая зона - это диапазон (0,3; 0,7). Известно также, что приблизительно в центре этой зоны находится пороговый уровень сигнала. Если сигнал ниже этого уровня, то входной сигнал воспринимает-

ся как «0», а выше - как «1». Для нашего примера будем считать, что пороговый уровень равен Un = (0,3 + 0,7) / 2 = 0,5 (в единицах калибровочной шкалы).

При производстве ЦУ диапазоны напряжений сигналов, генерируемых на их выходе и воспринимаемых на входе, делают различными. При этом диапазон выходов целиком включает в себя диапазон входов. Это объясняется тем, что если ко входному сигналу добавляется помеха, то суммарный сигнал, тем не менее, воспринимается как верный. Учитывая это, условимся, что если при вычислении выхода ЦУ будет получено значение сигнала, уровень которого незначительно выходит за пределы диапазона сигнала «0» («1»), то оно будут полагаться равным сигналу «0» («1»). Для рассматриваемого нами ЦУ будем считать, например, допустимым упомянутое отклонение в 0,1-0,15 единицы калибровочной шкалы.

Опишем и проиллюстрируем далее все этапы по обработке информации, предлагаемой процедурой нечеткого двоичного моделирования ЦУ.

На первом этапе процедуры для заданных (нечетких) значений входов X1, X2, X3 по правилам арифметики вещественных чисел вычисляется значение выхода у в соответствии с формулой (2). Например, пусть заданы входы рассматриваемого ЦУ X1 = 0,45, X2 = 0,32, X3 = 0,65, тогда на его выходе получаем значение у = 0,7004. Напомним, что это значение выражено в единицах выбранной нами калибровочной шкалы, в которой представлены графики функций принадлежности нечетких входных сигналов ЦУ «примерно 0» и «примерно 1» на рис. 1.

Следующий этап предлагаемой процедуры эквивалентен процессу дефаззификации в типовой структурной нечеткой модели системы.

Сформулируем правила, по которым нечеткое значение выхода ЦУ у, полученное на первом этапе путем вычисления по формуле типа (2), будет преобразовываться в четкое значение сигнала (0 или 1).

Предварительно введем некоторые обозначения. Через (v(0),v(0)) обозначим диапазон сигнала

«0», а через (v(1),v(1)) - сигнала «1» в единицах калибровочной шкалы (scale calibration unit (s.c.u.)).

В терминах этих обозначений сформулируем правила, по которым нечеткое значение на выходе ЦУ, полученное на первом этапе, будет преобразовываться в четкое значение:

1. Если нечеткое значение выхода у лежит в диапазоне (v(0), v(0)), то четкое значение сигнала полагается равным 0.

2. Если нечеткое значение выхода у лежит в диапазоне (v(1), v(1)), то четкое значение сигнала полагается равным 1.

3. Если нечеткое значение выхода у выходит за пределы диапазона (v(0), v (0)) на 0,1-0,15 s.c.u., то четкое значение сигнала полагается равным 0.

4. Если нечеткое значение выхода у выходит за пределы диапазона (v(1), v(1)) на 0,1-0,15 s.c.u.,

то четкое значение сигнала полагается равным 1.

5. Если отклонение сигнала у больше, чем указано в п. 4, но меньше Un, то четкое значение сигнала полагается равным 0.

6. Если отклонение сигнала у больше, чем указано в п. 5, но больше Un , то четкое значение сигнала полагается равным 1.

Описанная процедура двоичного логического моделирования ЦУ имеет меньшую трудоемкость, чем трудоемкость применения типовой структурной нечеткой модели [9], поскольку в предложенной процедуре отсутствует блок вывода (inference), представляющий в типовой модели наиболее трудоемкую составляющую. Кроме того, преобразование нечеткого значения выхода в четкое выполняется по предельно простым правилам в отличие от трудоемких преобразований, требующихся в типовой структуре модели.

Известно, что в общем случае адекватность создаваемых алгоритмов нечеткого моделирования и трудоемкость их реализации на основе типовой структуры в существенной степени зависят от мно-

гих факторов [9]. К числу этих факторов относятся, в частности, выбор формы представления нечетких чисел, определение арифметических операций над ними, применяемые способы приближенных рассуждений, позволяющие использовать в условиях и заключениях нечеткие формулировки, выбор способов дефаззификации и т.д. Повышение уровня адекватности алгоритмов нечеткого моделирования достигается за счет варьирования методов реализации перечисленных факторов и представляет собой весьма сложную проблему. Что касается качества алгоритмов, то его, по-видимому, можно оценивать по соотношению числа «корректных» и «некорректных» результатов нечеткого моделирования, получаемых в процессе проводимых численных или натурных экспериментов. Понятно, что от любого такого алгоритма нельзя требовать, чтобы на любых исходных данных он давал корректный результат, поскольку он оперирует с нечеткими данными.

Для рассматриваемого нами примера были проведены расчеты по предложенной процедуре моделирования на различных нечетких исходных данных. Вычисления на всех наборах, когда сигналы «0» и «1» представлены серединами их диапазонов, дают корректные результаты. Более интересна ситуация с результатами на «аномальных» наборах, когда входные сигналы находятся вне пределов их стандартных диапазонов. Такие вычисления были проведены, и на подавляющем большинстве этих наборов получены корректные результаты. Результаты на некоторых из таких «аномальных» наборов приведены в представленной ниже таблице. Из восьми приведенных в ней наборов на одном (втором сверху) был получен некорректный результат (1 вместо 0).

Результаты расчетов для «аномальных» наборов

Входной набор ( двоичный ^ ^ нечеткий ) Выход ЦУ, вычисленный по формуле (2) Результат дефаззификации нечеткого выхода Используемое правило для дефаззификации

0 0 0 0,1;0,45;0,05 0,092S 0 Правило 3

0 0 0 0,45;0,45; 0,45 0,5б14 1 Правило 4

0 і 0 0,і;0,85;0,45 0,496s 0 Правило 5

і 0 і 0,55;0,4;0,9 0,922 1 Правило 4

і 0 і 0,55;0,35;0,85 0,879 1 Правило 4

і і і 0,55;0,б5;0,55 0,7109 1 Правило 2

і і і 0,55;0,б5;0,9 0,9358 1 Правило 4

і і і 0,9;0,9;0,9 0,981 1 Правило 6

Заключение

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

ЛИТЕРАТУРА

1. Zadeh L.A. Fuzzy sets // Inf. and Control. 19б5. No. S. P. 33S-353.

S

2. Dubois D., Prade H. Fuzzy Numbers, on Overview // Analysis of Fuzzy Information (Mathematics). GRC Press, 1988. P. 3-39.

3. Kaufman A., Gupta M.M. Introduction to Fuzzy Arithmetic Theory and Applications. N.Y. : Van Nostrand Reinhold Company,

1985. 350 р.

4. Kandel A. Fuzzy Mathematical Techniques with Applications. Mass. : Addison Wesley, Reading, 2000. 70 р.

5. Hanss M. Applied Fuzzy Arithmetic: Introduction with Engineering Applications. Berlin ; Heidelberg : Springer-Verlag, 2005.

25б р.

6. Яхъяева Г.Э. Нечеткие множества и нейронные сети. М. : Интернет-Университет Информационных Технологий ;

БИНОМ. Лаборатория знаний, 2008. 316 с.

7. Скобцов Ю.А., Сперанский Д.В., Скобцов В.Ю. Моделирование, тестирование и диагностика цифровых устройств. М. :

Национальный Открытый Университет «ИНТУИТ», 2012. 439 с.

8. Яблонский С.В. Введение в дискретную математику : учеб. пособие. 2-е изд. М. : Наука, 1986. 384 с.

9. Пегат А. Нечеткое моделирование и управление : пер с англ. 2-е изд. М. : БИНОМ. Лаборатория знаний, 2013. 798 с.

Сперанский Дмитрий Васильевич, д-р техн. наук, профессор. E-mail: Speranskiy.dv@gmail.com Московский государственный университет

путей сообщений (г. Москва) Поступила в редакцию 22 января 20і4 г.

Speranskiy Dmitry V. (Moscow State University of Communication Lines, Moscow, Russian Federation).

Fuzzy binary logic modeling for digital devices.

Keywords: digital devices; fuzzy modeling; binary modeling.

The problem of fuzzy binary logic modeling for discrete devices (DD) is investigated. In contrast to the classical problem of logic simulation, it is assumed that inputs are fuzzy signals. In the real DD for each input signals “0” and “і” there is a certain voltage range. If an input signal is out of the range, the correct signal identification is not guaranteed. The fuzziness of input signals means that their observed values can be either within of the defined range, or out of it. It is clear that the corresponding output signal of the DD will be also fuzzy.

It is known that the modeling of every logical DD is the calculation of the value of the certain logical expression. This expression is a mathematical model of the DD. Also, the corresponding expression can be always represented in terms of three logical operations, namely, AND, OR, and NOT. In the article, a method of reducing the investigated problem to the problem of fuzzy modeling systems in the space of real numbers is proposed. This method is based on the presentation of logical operations through operations of addition, subtraction, and multiplication of real numbers in the range [0, і]. So, it is proposed to convert the input signal range into sub-intervals of the interval [0, 1] forming the specific calibration scale. The problem of fuzzy modeling systems in the space of real numbers has been well studied and the arsenal of tools for its solution is developed. Therefore, we can use this arsenal. However, the implementation of this approach is very time-consuming. The matter is that an exemplary fuzzy modeling system requires the sequential execution of three phases (blocks). Two of them (the INFERENCE block and DEFUZZIFICATION block) are connected with a lot of computing.

The proposed fuzzy binary logic simulation procedure consists of two phases. The first phase is the conversion of voltage ranges representing the input signals into sub-intervals of the interval [0, 1] of the calibration scale. Then, the calculation of the arithmetic expression that is originated by the mathematical model of the considered DD is performed. In the second phase, the transformation of fuzzy value of the expression in the exact value 0 or і (defuzzification) is executed. In comparison with the above mention typical fuzzy system modeling, the suggested modeling procedure is significantly less complicated. It is because of the block INFERENCE is absent in our procedure. Moreover, converting fuzzy output value in the exact value is performed by using extremely simple rules, in contrast to the labor-intensive transformations for the typical fuzzy modeling. The results of testing for the combinational circuit are shown. The effectiveness of the procedure is demonstrated by a number of correct results.

REFERENCES

1. Zadeh L.A. Fuzzy sets. Information and Control, 1965, no. 8, pp. 338-353. DOI: 10.1016/S0019-9958(65)90241-X

2. Dubois D., Prade H. Fuzzy numbers, on Overview. In: Bezdek J.C. (ed.) Analysis of fuzzy information: Mathematics and logic.

CRC Press, 1987, pp. 3-39.

3. Kaufman A., Gupta M.M. Introduction to fuzzy arithmetic theory and applications. New York: Van Nostrand Reinhold Company,

1985. 350 р.

4. Kandel A. Fuzzy Mathematical Techniques with applications. Mass.: Addison Wesley, Reading, 2000. 70 р.

5. Hanss M. Applied fuzzy arithmetic: Introduction with engineering applications. Berlin-Heidelberg: Springer-Verlag, 2005. 25б р.

6. Yakhyaeva G.E. Nechetkie mnozhestva i neyronnye seti [Fuzzy sets and neural networks]. Moscow: Internet University of Infor-

mation Technologies: BINOM. Laboratoriya znaniy Publ., 2008. 316 p.

7. Skobtsov Yu.A., Speranskiy D.V., Skobtsov V.Yu. Modelirovanie, testirovanie i diagnostika tsifrovykh ustroystv [Modeling, test-

ing and diagnostics of digital devices]. Moscow: National Public University “INTUIT” Publ., 2012. 439 p.

8. Yablonskiy S.V. Vvedenie v diskretnuyu matematiku [Introduction to discrete mathematics]. Moscow: Nauka Publ., 1986. 384 p.

9. Piegat A. Nechetkoe modelirovanie i upravlenie [Fuzzy modeling and control]. Moscow: BINOM, Laboratoriya znaniy Publ.,

2013. 798 p.