УДК 519.7 Дата подачи статьи: 17.08.15
Б01: 10.15827/0236-235Х.113.108-112
ЛОГИЧЕСКИЙ АНАЛИЗ КОРРЕКТИРУЮЩИХ ОПЕРАЦИЙ ДЛЯ ПОСТРОЕНИЯ КАЧЕСТВЕННОГО АЛГОРИТМА РАСПОЗНАВАНИЯ
(Работа выполнена при поддержке РФФИ, грант № 15-01-03381-а)
Л.А. Лютикова, к.ф.-м.н., зав. отделом, [email protected]; Е.В. Шматова, м.н.с., [email protected] (Институт прикладной математики и автоматизации, ул. Шортанова, 89а, г. Нальчик, 360000, Россия)
В данной работе проводится логический анализ исследуемой области, представляющей собой объект и описывающие его признаки в терминах переменнозначной логики. Предметом исследования являются методы и алгоритмы, направленные на практическое решение задач распознавания образов в слабоформализованных областях знаний, к которым относятся медицинская, техническая, геолого-разведывательная диагностика, прогнозирование, построение экспертных систем. Решение таких задач ввело в обиход большое число некорректных (эвристических) алгоритмов. Авторы рассматривают такие аспекты, как необходимость развития теории корректирующих операций, синтеза корректных алгоритмов минимальной сложности с помощью методов математической логики. Важнейшими для рассматриваемого направления являются вопросы эффективного поиска логических закономерностей в признаковых описаниях объектов, играющих роль элементарных классификаторов. В решающем правиле используется процедура конъюнкции по каждому из построенных элементарных классификаторов. Как правило, корректность распознающего алгоритма (способность правильно классифицировать объекты из обучающей выборки) обеспечивается корректностью каждого из порождаемых элементарных классификаторов, что является основой логического синтеза распознающих процедур.
Представляет интерес использование конструкций логико-алгебраического подхода для построения корректных распознающих алгоритмов на базе произвольных наборов алгоритмов распознавания, необязательно являющихся корректными.
В данной работе рассматривается логический метод построения алгоритмов на последовательном добавлении небольшой части нераспознаваемой информации, что обеспечивает коррекцию ранее построенного алгоритма с минимальным изменением его характеристик. Такие индуктивные методы во многих случаях позволят строить высокоточные или корректные алгоритмы, расширяющие область получаемых решений за существенно меньшее время.
Ключевые слова: переменнозначная логика, дизъюнкты, решающее правило, алгоритмы, обучающая выборка, база знаний, предметная область.
На первом этапе развития теории и практики распознавания образов для решения практических задач возникло большое число методов и алгоритмов, применявшихся без какого-либо теоретического обоснования, а только на основе экспериментальной проверки. Решение задач медицинской и технической диагностики, компьютерного прогноза месторождений, построение экспертных систем ввели в обиход большое число некорректных (эвристических) алгоритмов [1-3]. В результате возникла необходимость в развитии теории корректирующих операций [4, 5], синтеза корректных алгоритмов минимальной сложности, в решении вопросов об их устойчивости с помощью математических методов.
Логический подход может представлять собой технологию построения теории синтеза корректных алгоритмов распознавания на базе существующих семейств алгоритмов, так как эти методы, несмотря на отсутствие адекватных математических моделей исследуемых зависимостей между образом и его свойствами, неполноту и противоречивость данных, позволяют создавать алгоритмы, реализующие определенные суждения эксперта.
В данной работе рассматривается логический подход к теоретическому обоснованию построения корректных алгоритмов, расширяющих область
получаемых решений на базе существующих алгоритмов.
Постановка задачи
Описание объекта представляет собой да-мерный вектор Х={х1, х2, ..., хда}, где да - число признаков, используемых для характеристики объекта, причем ]-я координата этого вектора равна значению у-го признака,]=\, ..., да. В описании объекта допустимо отсутствие информации о значении того или иного признака. Совокупность некоторого числа объектов и их признаков представляет собой выборку, на которой проработали п алгоритмов. Качество работы алгоритма оценивается булевой функцией а/у,). Ни один из рассматриваемых алгоритмов не распознает все множество заданных объектов. Предлагается логический метод построения нового алгоритма, являющийся корректным на всем множестве распознаваемых объектов, на основе существующих алгоритмов и решающих правил, составленных для исследуемой области.
Формальная постановка задачи
На предметной области, состоящей из объектов и их признаков, рассматривается ряд алгоритмов
А\, Лг, ..., Ап, дающих некоторые решения задачи распознавания. Совокупность входных данных и значений оценочных функций алгоритмов можно представить в виде таблицы 1.
ПустьХ={х\, х2, ..., хт}, х,е{0, 1, ..., к,—\} - множество признаков, рассматриваемых в рамках переменнозначной логической системы; У={у\, у2, ..., у} - множество объектов; А={А\, А2, ..., Ап} -множество алгоритмов, а/у,)е{0, 1}; ,= 1, 2, ... I; У=1, 2, ... п - качество работы алгоритма на заданном наборе признаков Х,={х\(уг), хг(у,), ..., Хт(у,)}, ,= 1, 2, ..., I:
А (х, ) = я,
-( у ) =
0, Aj (X, )* y,,
i=1, 2, ..., l; j=l, 2, ..., n, то есть результат работы алгоритма на заданном наборе признаков оценивается в рамках булевой алгебры: 1 - алгоритм Aj распознал объект yi по заданным признакам Xi, 0 - алгоритм Aj не распознал объект yi по заданным признакам Xi, A'i={ai(y\), ai (y2), ..., a (yi)}, i=l, 2, ..., n.
Таблица 1
Входные данные и оценочные функции алгоритмов
Table 1
Input data and evaluation functions of algorithms
xi x2 . xm Y Ai Ai2 . A i A n
xi(yi) x2(yi) . ■ xm(yi) yi ai(yi) a2(yi) . an(yi)
xi(y2) X2(y2) . xm(y2) У2 ai(y2) a2(y2) . an(y2)
Xl(yi) x2(yi) . ■ xm(yi) yi ai(yi) a2(yi) . an(yi)
Некоторые из заданных в обучающей выборке объектов не распознаются ни одним из рассматриваемых алгоритмов, то есть
3 ,е [1, ..., I],у,е¥ | АХ фу,;е[1, -.., п].
НайтиАп+\(Х) | Ап+\(Х)=У.
Для анализа предметной области будем использовать алгебру переменнозначной логики [6-8], которая дает возможность выразительного кодирования разнородной информации, так как каждый отдельный признак х,е{0, 1, ..., к,-\}, к,е{2, ...,Щ, Хе2 может быть закодирован предикатом любой значности, удобной именно для данного признака.
Операции переменнозначной логики
Высказывания строятся над множеством {В, 0, 1, ..., к-!}, где В - непустое множество, над элементами которого определены три операции: отрицание (унарная операция), & конъюнкция (бинарная), дизъюнкция (бинарная), а также константы -логический ноль 0, 1, ., к-\.
Пусть Х, - независимая многозначная переменная величина, X,Е [0, ..., к,-1], являющаяся одной из характеристик объекта. Введем еще несколько функций и свойств многозначной логики:
X & xk =
(k-\)vX=(k-\), 0vX=X,
j x = j
0&Х=0, \&Х=Х,
,} =к,
ф к, х \о, х,, ф }.
Обобщенной инверсией [9] является выражение X = х° V х1 V. „V V X+1 V. „V Xе 4.
Заданная таким образом инверсия обеспечивает включение всех возможных интерпретаций отрицания в различных многозначных логических системах.
Будем утверждать, что дизъюнкцией двух элементов разной значности является следующая функция:
X У
X v Y = max
k -1 k -1
Ч.
где l =
!i X Y к. -1 при->-,
' к -1 к -1 к -1 иначе.
Конъюнкцией двух элементов разной значно-X Y
сти X & Y = min
k -1 kj -1
ч.
где l =
il X Y
k -1 при — < -
k -1 k -1
k -1 иначе.
Импликацию для переменнозначной логики зададим следующим выражением: X ^ У = X V У .
Элементарная конъюнкция представляет характеристическую функцию некоторого интервала I, пространства М, а интервал - простое произведение непустых подмножеств а,, взятых по одному из каждого:X,: 1= а\ха2х...хап, а\еХ,, а,Ф0, ,= \, 2, ., п.
Тогда элементарная переменнозначная конъюнкция представляется выражением К= (х\Еа\)& &(х2Еа2)&... &(хпЕ ап), а,Ф0, ,=1, 2, ..., п.
Решающие правила и функция качества ответов
Решающим правилом для заданной предметной области назовем следующее высказывание:
&=1 x, (у, у,, ы, ..., I, х^,)е{0, 1, ... к-Ц.
В данном случае решающие правило - это правило продукции, логическая интерпретация которого говорит, что из совокупности определенных признаков (этот и этот и т.д. признак) следует определенный объект.
Пусть имеется п алгоритмов { А\, А 2, ., Ап}, частично распознающих заданную область. Для каждой заданной строки признаковХ,={х\(у,),х2(у,), ..., хт(у,)}, ,=1, 2, ..., I, строим функции качества работы этого алгоритма: А',={а,(у\), а,(у2), ..., а,(у1)},
i=1, 2, ..., l. Получаем столбец значений качества работы алгоритма на каждой заданной строке, соответствующей объекту yi, этому же объекту соответствует продукционное правило &тЛ (У У,
xs(yi)e{0, 1, ..., k-1}, i=l, 2, ..., l (признак - объект). Полученный столбец можно рассматривать как частично заданную булеву функцию на множестве переменных {X, Y}.
Логический подход к построению корректного алгоритма на заданной предметной области
Учитывая требования корректности к алгоритму A„+i(X), составим таблицу 2.
Таблица 2
Входные данные, оценочные функции алгоритмов, оценочная функция корректного алгоритма
Table 2
Input data, evaluation functions of algorithms, correct algorithm evaluation function
X1 X2 Xm Y A i A 2 . A n A n+i
Xl(yi) X2(yi) . ■ Xm(yi) yi ai(yi) a2(y1) . . an(yi) 1
Xl(y2) X2(y2) . Xm(y2) У2 ai(y2) a2(y2) . an(y2) 1
xi(yi) X2(yi) . ■ Xm(yi) У ai(yi) a2(yi) . . an(yi) 1
То есть дляЛп+\(Х) все значения а_/(у)=1, ,=1, 2, ..., /, )=1, 2, ..., п.
Поскольку а/(у,) может быть рассмотрена как булева переменная, то Л П+1(Л 1, Л 2, ..., Л П) - как булева функция, имеющая значение 1 на всех заданных в предметной области наборах (Л Л 2, ..., Л П), и может быть представлена следующим образом:
Л П+1(Л 1,Л 2, ...,Л П) = &ТМ А"; (у ), ,= 1, 2, ..., I,)=1, 2, ..., п,
ГА'я (у ) = 1,
а";(''и/ ^г ) п
[А ;, а; (У' ) = О-
Будем считать, что Л) - совокупность решающих правил, распознаваемых алгоритмом, А'. -
совокупность решающих правил, не распознаваемых данным алгоритмом:
А'; = &'=1 (&т=1 X; (у) ^ у) , когда а,(у,)=1,
АТ = &=1 (&т=1 х; (У') ^ У') , когда а,(у,)=0.
Выразим импликацию и получим следующие выражения:
а ' ; = &=1 (v;= 1x; (у,) v у,), тогда а,(у,)=1,
= &'1=! (&™! X; (у) & У) , когда а](у)=0.
Вся исследуемая предметная область может быть представлена в виде решающих правил вида:
&Г=1 х, (у у,, ,=1, ..., I, Хц(у,) е{0, 1, ..., Л-1>.
Теорема. Пусть задано множество решающих правил вида &7=1 xs (yi y, i=1, ..., l, xs(y,)e{0, 1, ..., k-1}, представляющих собой некоторую исследуемую предметную область, тогда A n+\(A i, A 2, ..., A П) = vi=i &;=i Aj(y,) = 1, i=1, ..., l, j=1, ..., n,
на всей исследуемой области.
Доказательство. Каждый алгоритм входит в предлагаемую дизъюнкцию, как A'j в одну или несколько конъюнкций и как A также в одну или несколько конъюнкций. Поскольку в противном случае это либо универсальный алгоритм, для которого все aj(y,)=1, i=1, 2, ..., l, либо неработающий
алгоритм aj(y,)=0, i=1, 2, ..., l. ПосколькуA'j и Aj -
это наборы решающих правил, которые распознал и не распознал этот Aj, дизъюнкция этих правил даст полную предметную область для каждого алгоритма.
При построении дизъюнктивной нормальной формы (ДНФ) на стадии A 'n+\(A 1 A 2, ..., A П) = = vj=1 &"=1 A" (y) она может быть сокращена до тупиковой известными методами [10]. На стадии, когда на место A j будут подставлены решающие правила, можно применить алгоритм сокращения в адаптированном для многозначных логик варианте:
- если некоторая переменная входит в ДНФ с одним знаком во всех дизъюнктах, удаляем все дизъюнкты, содержащие эту переменную (данная переменная неинформативна);
- если в ДНФ имеется какой-то однолитерный дизъюнкт Xi, удаляем все дизъюнкты вида xj ,&..., (правило поглощения).
В результате для каждого дизъюнкта получим минимизированную базу знаний, соответствующую набору правил, описанных этим дизъюнктом. Такие дизъюнкты обладают рядом свойств [2] и разбивают область решения на все возможные для данной области классы. Объединение этих областей строит минимизированную базу знаний для всей заданной области.
Пример. ПустьX={xi, x2, x3}, x,e{1, 2, 3}. Совокупность входных данных представим в виде таблицы 3.
Таблица 3
Пример
Table 3
An example
X1 X2 X3 Y A1 A 2 A 3 A 4
0 0 1 a 1 0 1 0
0 2 1 b 0 0 1 1
2 1 2 c 0 1 0 1
1 2 0 d 0 0 0 0
Строим дизъюнкцию по строкам:
F= A П+1 (A 1, A 2, ..., A П) = v'i=l &nj=l Af (y ),
F= AjlAu A2, A3, A4) =
= a & A & A & A v A &A & A & A v vA &A & a & A v a & a & A & A
и далее, записывая алгоритмы решающими правилами и преобразовывая, получим
F = (x0 & x0 & xj ^ a) & (x0 & x0 & X ^ b) &
& ( xj & x0 & x0 ^ d ) =
2 2 1 10 11
= x v x3 v x2 v x1 x0 v x1 x3 v
1 J 00 00 0 j и 0 2
v x1 d v x x3 v x0 x3 v x3 d v bxj x2 v
vbx0x1 v bdx0 v ax0x0 v vax0 v ax0x^.
Алгоритм А5 выделяет индивидуальные признаки объекта d.
Программный аспект разработанной системы на примере медицинской диагностики
При составлении программы были использованы данные, предоставленные Республиканской ЦКБ. У 65 больных проводилась диагностика гастритов по данным гастрологических обследований.
Карта постановки диагноза.
Всего 28 вопросов, на каждый из которых возможно от 2 до 4 ответов.
Количество возможных диагнозов - 17.
Программа, иллюстрирующая работу приведенного выше алгоритма, состоит из двух частей исполняемых модулей.
Модуль 1. Программа поиска по базе. Производит декодирование БД с использованием словаря, загрузки симптомов и диагнозов в форме вопрос -ответ и анализ результатов.
Модуль 2. Программа генерации базы знаний. Создает на основе исходного файла с данными информационную систему знаний. Уменьшает объем базы в соответствии с прилагаемым алгоритмом и добавляет информацию для проверки корректности хранимых данных.
Полная система знаний для программы имеет вид:
File.DBE (Data Base Engine info file) - файл, являющийся результатом работы алгоритма;
File.simp - файл списка симптомов, который необходим для работы пользователя с программой; он выводит наглядные названия симптомов на основе индексов базы;
File.diag - файл списка диагнозов, необходимый для работы пользователя с программой; выводит наглядные названия диагнозов на основе индексов базы.
Размер сгенерированной базы знаний зависит от количества хранимой информации. Чем больше объем данных, тем больше степень «сжатия базы» (в соответствии с алгоритмом «удаление избыточной информации», «объединение в классы», «объ-
единение классов в домены»), и, чем меньше размер получаемой системы знаний, тем быстрее процесс обработки.
Скорость обработки по сравнению с исходной ~2,4 раза выше.
Окно модуля диагностики (обработки базы знаний) состоит из трех частей: меню окна и кнопки управления, окна списка вопросов, окна выбора варианта ответа.
Для проведения диагностики необходимо открыть базу знаний при помощи команды главного меню База знаний^Открыть.
В появившемся диалоговом окне выбрать DBE-файл базы знаний и нажать кнопку «Открыть». При корректности структуры базы она загрузится в программу. Для тестирования необходимо ответить на вопросы из поля «вопросы», поочередно выбирая вопрос мышью и отмечая в правой части окна нужный вариант ответа (или при отсутствии или затруднении ответа пропускать вопрос, оставляя поле «ответ» невыбранным).
После ответа на вопросы для получения диагноза нужно выбрать из списка процент точности совпадения ответов с диагнозом и нажать на кнопку «Поиск диагноза». На экране появится окно с результатами поиска по базе.
Для генерации системы знаний для данного программного пакета нужно в главном окне программы выбрать пункт «Конвертировать БЗ», после чего будет запущен модуль «Генерация БЗ», в котором нужно указать имя и путь к файлу исходных данных и к файлу генерируемой базы. Для поиска файлов в компьютере можно воспользоваться кнопками справа от полей ввода.
После задания исходного и конечного имен файлов для генерации нужно нажать кнопку «Создать базу». В указанной папке будет создан файл базы с расширением DBE.
В результате проведенного логического анализа данной предметной области и решающих правил, описывающих объекты, становится понятно, что сложность полученного алгоритма зависит от качества уже заданных алгоритмов и скрытых закономерностей самой предметной области. Предложенный логический метод синтеза позволяет построить корректный алгоритм на всей области данных, моделирует базу знаний, минимизирует ее и фиксирует уникальные для каждого объекта наборы признаков.
Литература
1. Журавлев Ю.И. Об алгебраическом подходе к решению задач распознавания или классификации // Проблемы кибернетики. 1978. Т. 33. С. 5-68.
2. Журавлев Ю.И., Рудаков К.В. Об алгебраической коррекции процедур обработки (преобразования) информации // Проблемы прикладной математики и информатики: сб. стат. 1987. С. 187-198.
3. Воронцов К.В. Оптимизационные методы линейной и
монотонной коррекции в алгебраическом подходе к проблеме распознавания // Журн. вычислит. матем. и матем. физики. 2000. Т. 40. № 1. С. 166-176.
4. Шибзухов З.М. О некоторых конструктивных и корректных классах алгебраических БП-алгоритмов // Доклады РАН. 2010. Т. 432. № 4. С. 465-468.
5. Shibzukhov Z.M. Correct Aggregation Operations with Algorithms // Pattern Recognition and Image Analysis. 2014, vol. 24, no. 3, pp. 377-382.
6. Pap E. Pseudo-analysis as a mathematical base for soft computing, Soft Computing, 1997, no. 1, pp. 61-68.
7. Лютикова Л.А. Моделирование и минимизация баз зна-
ний в терминах многозначной логики предикатов. Нальчик. Препр. НИИ прикладн. матем. и автомат. Кабардино-Балкарского науч. центра РАН, 2006. 33 с.
8. Лютикова Л.А. Логический подход к модели представления знаний // Естественные и технические науки. 2014. № 6 (74). С. 107-\08.
9. Лютикова Л.А. Использование математической логики с переменной значностью при моделировании систем знаний // Вестн. Самарского гос. ун-та; Естественнонаучная серия. 2008. № 6 (65). С. 20-27.
\0. Яблонский С.В. Введение в дискретную математику. М.: Наука, 2001. 384 с.
DOI: 10.15827/0236-235X.113.108-112 Received 17.08.15
LOGICAL ANALYSIS OF CORRECTIVE OPERATIONS TO CONSTRUCT HIGH-QUALITY RECOGNITION ALGORITHM
(The work was supported by a grant of RFBR no. 15-01-03381-a)
Lyutikova L.A., Ph.D. (Physics and Mathematics), Head of Department, [email protected];
Shmatova E. V., Junior Researcher, [email protected] (Institute of Applied Mathematics and Automation, Shortanova St. 89a, Nalchik, 360000, Russian Federation)
Abstract. The article carries out a logical analysis on study domain, which includes the object and its characteristics described it in terms of running value logic. A research subject is methods and algorithms aimed to find practical solution to the problems of pattern recognition in weakly formalized areas or expertise. These areas include medical, technical, geological reconnaissance diagnostics, forecasting, expert systems construction. While solving such problems, a large number of incorrect (heuristic) algorithms were introduced. The authors examine the such aspects as: the importance of developing the theory of error-correcting operations, the synthesis of minimal complexity correct algorithms using mathematical logic. The most important problems in this field are the problems of logical regularity productive search in objects characteristic descriptions (when the objects are considered as elementary classifiers). The final rule uses a conjunction procedure for each of constructed elementary classifiers. As a general rule, recognition algorithm correctness (the ability to classify training objects correctly) is provided by correctness of each generated elementary classifiers. This is the basis of recognition procedures logical synthesis.
However, to use the structures of a logic-algebraic approach in building correct recognition algorithms based on arbitrary sets of recognition algorithms including incorrect ones is of great interest.
This paper considers the logical method of constructing algorithms, which includes sequential addition of a small part of unrecognized information. This method ensures correction of a previously constructed algorithm with insignificant changes of its characteristics. In many cases such inductive methods allow building highly accurate and correct algorithms that expand the area of the obtained solutions for substantially less time.
Keywords: logic of varied values, clauses, decision rule, algorithm, training set, knowledge base, the subject area.
References
1. Zhuravlev Yu.I. On the algebraic approach to solving the problems of recognition or classification. Problemy kiber-netiki [Problems of Cybernetics]. 1978, vol. 33, pp. 5-68 (in Russ.).
2. Zhuravlev Yu.I., Rudakov K.V. On algebraic correction of information processing (converting) procedures. Problemy prikladnoy matematiki i informatiki: sb. stat. [Problems of Applied Mathematics and Informatics: collected papers]. 1987, pp. 187-198 (in Russ.).
3. Vorontsov K.V. Optimization methods of linear and repetitive correction in the algebraic approach to the problem of recognition. Zhurn. vychislit. matem. imatem. fiziki [The Journal of Computing Mathematics and Mathematical Physics]. 2000, vol. 40, no. 1, pp. 166-176 (in Russ.).
4. Shibzukhov Z.M. On some constructible and correct classes of algebraic En-algorithms. Doklady RAN [Reports of the Academy of Sciences]. 2010, vol. 432, no. 4, pp. 465-468 (in Russ.).
5. Shibzukhov Z.M. Correct aggregation operations with algorithms. Pattern Recognition and Image Analysis. 2014, vol. 24, no. 3, pp. 377-382.
6. Pap E. Pseudo-analysis as a mathematical base for soft computing. Soft Computing. 1997, no. 1, pp. 61-68.
7. Lyutikova L.A. Modelirovanie i minimizatsiya baz znaniy v terminakh mnogoznachnoy logiki predikatov [Modeling and Minimizing Knowledge Bases in Terms of a Multi-Valued Predicate Logic]. Nalchik, Preprint, 2006, 33 p.
8. Lyutikova L.A. A logical approach to a knowledge representation model. Estestvennye i tekhnicheskie nauki [Natural and Technical Sciences]. 2014, no. 6 (74), pp. 107-108 (in Russ.).
9. Lyutikova L.A. Using mathematical logic variable with atomicity in modeling knowledge systems. Vestn. Samarskogo gos. un-ta. Estestvennonauchnaya seriya [Vestnik of the Samara State University. Natural Science Series]. 2008, no. 6 (65), pp. 20-27 (in Russ.).
10. Yablonsky S.V. Vvedenie v diskretnuyu matematiku [Introduction to Discrete Mathematics]. Moscow, Nauka Publ., 2001, 384 p.