1 УДК 658.5.011 Решение задач с неопределенными знаниями А.А. Красилов Корпорация "Галактика" Москва, Россия Обсуждается понятие информационной обработки знаний с известными неопределенностями. Для построения алгоритмов интеллектуальной системы использованы многозначные логики, для которых применяются классические или пользовательские операции. Определены классические операции, вспомогательные функции и способ построения правил логического вывода в многозначной логике. Приведена формула аналитического построения любой логической функции, заданной таблично. Иллюстрируются примеры пользовательских логик. Ключевые слова: интеллектуальная система, многозначная логика, одноместные и многоместные операции, перечислимый тип, полные системы логических операций, правила решения логических уравнений. Введение Неопределенность знаний в задании не уменьшает возможности интеллектуальных систем их решения. Любая неопределенность – это ошибки в задании, не полное описание величин или отсутствие описаний, смысловая несогласованность величин и операций, учет предположения и допущения и другие ситуации. Имеется 13 классов ошибок, которые выявляются автоматически [1]. Еще неопределенности связаны с такими ситуациями: - тип величины не определен (так бывает при анализе чернового материала), он определяется по контексту применения величин; - тип величины определен не полностью, он определяется в процессе интерпретации действий с величинами; - предположения и допущения используются при построении многозначных логик так, что в ответе модальности распространяются на величины и операции. При изучении событий используются, например, модальности: может быть, должно быть, необходимость, возможность. Наконец, в число модальностей могут включаться понятия истина и ложь. Использование модальностей в решении задачи выявляют сильные и слабые утверждения. Например, результат может содержать такие ответы: дождь необходимо пойдет, дождь возможно пойдет, Сказанное целиком относится к нечетко определенным логикам [2]. Итак, можно использовать два сорта логик: классическую и пользовательскую модальные логики. 2 Для классической логики определены алгоритмы логического вывода решения логических уравнений. Для пользовательских же логик интеллектуальная система ориентируется на заданные таблично операции при построении правил вывода. Многозначные логики связаны с некоторым числом значений меры истинности. Пусть их будет К, тогда логику будем именовать К-значной. Они являются в некотором смысле обобщением двузначной логики. Многозначные логики отличаются от двузначной большим числом значений, которые может принимать высказывание или логическая переменная. При рассмотрении последовательности логик, построенных на основе размера типа данных, возникает желание рассмотреть бесконечные множества меры истинности [4], логические операции с данными из этих множеств и логики на таких множествах. Так можно прийти к понятию о бесконечнозначных логиках. Бесконечнозначные логики можно представить аналогично размытым логикам записями с двумя полями. Эти значения можно представлять словами, целыми или дробными числами. В словесном представлении имеются преимущества при формировании высказываний на ЯПП [5]. При вычислительных действиях в Интеллсист целесообразнее использовать числовые значения для мер истинности (коды или номера мер истинности в качестве внутренней кодировки). Нами использованы значения от 0 до К-1, К – число элементов множества истинности. К-значные логики используются в повседневной жизни, поскольку чаще всего имеют дело с неполным знанием о предмете, явлении или процессе (с неопределенными или «размытыми» знаниями). В математике их изучают крайне мало под названием, например модальных [4] или комплексных [6] логик. В информатике и программировании при проектировании планов, программ и систем чрезвычайно мало используются многозначные логики. Аксиоматическое исчисление модальных логик затруднено в силу большого числа функций таких логик и сложности «точных вычислений» с многозначными функциями. В разработках новых интеллектуальных систем сделана попытка устранения этого пробела. Настоящая статья описывает такую попытку. Практическая работа с многозначными функциями значительно проще, поскольку конкретные задачи связаны с конкретными функциями с ясной семантической интерпретацией их значений. В информатической логике - ИЛ [8. 9] используется относительно простая интерпретация операций и значений четко заданных функций. 1. Проблемы и вопросы. Для понимания причин введения и рассмотрения К-значных логик поставим несколько важных практических вопросов. Вопрос À. Имеются запросы и проблемы, которые необходимо разрешать в условиях неполного знания о предметной или проблемной областях, которые чаще всего выражаются модальными словами. Например, некоторые высказывания Х могут квалифицироваться только как возможно Х. Заметим, что эта ситуация жизненна и возникает часто. Как осуществлять 3 поиск ответов на вопросы или запросы на основе такого не совсем определенного знания и как разрешать проблемы в условиях неполного знания исходных утверждений? Вопрос Б. Естественно, что при малом знании результат будет весьма приблизительным в логическом смысле. Он выводится как истинный, но в контексте с модальными словами он может существенно (для пользователя) отличаться от истины. Истинного по смыслу ответа на поставленные запросы не будет (за редким исключением). В указанном в вопросе А примере фраза возможно Х будет истинной, но логическая величина Х не может быть истинной в контексте слова возможно. Наше стремление к истине является законным. Как следует поступать, чтобы приближение к истине было наилучшим? Вопрос В. Многие утверждения являются многозначными по своей сути. Оценка школьнику имеет пять градаций (1 - очень плохо, 2 - плохо, 3 удовлетворительно, 4 - хорошо, 5 - отлично). Плохая оценка близка (по квалификации) ко лжи, а отличная - к истине. Такие утверждения вступают в логическую связь между собой. Из них и логических операций строятся рассуждения, составляющие знания для поиска ответов. Какова технология поиска ответов для многозначных утверждений? Вопрос Г. Даже в случае многозначности утверждений практика ставит вопрос поиска точного ответа. В контексте результата логического решения задачи можно найти причины и условия точного ответа. Несмотря на то, что знания расплывчаты, необходимо иметь приемы поиска точного результата. Как это реализовать? Вопрос Д. У пользователя имеются нерешенные проблемы, ответы на которые еще никто не знает. Некоторые или все предпосылки или исходные данные считаются известными не полностью (см. пример вопроса В). Тем не менее, правомерен следующий вопрос: Какой путь может привести к их разрешению? Вопрос Е. Кажется, что логика имеет свою сферу применения, арифметика имеет свою сферу применения. Их сближение важно для практических нужд (и опять см. вопрос В). Можно ли осуществить их сближение? Вопрос Ж. Даже в математической литературе по логикам весьма мало уделяется места для рассмотрения многозначных логик. Это понятно, с одной стороны, весьма большой набор функций в многозначных логиках трудно поддается систематизации, с другой стороны, в математике за поиском абсолютной истины потеряна проблема интерпретации логик. Неопределенность знаний возрождает интерес к многозначным логикам. Каковы результаты рассмотрения многозначных логик в ИЛ [3]? Вопрос З. В описании модальных логик [2] серьезно ставится вопрос о возможности применения модальностей для описания физического (реального) мира и указывается на оживленные дискуссии о возможности решения проблем или о постановке курьезных вопросов в связи с решениями проблем. Но жизнь выдвигает запросы на решение задач с неполным 4 знанием, в которых используются модальности как средство оценки меры истинности результатов решения, если исходные положения сопровождаются модальностями. Как сделать реальным применение модальных логик для этих целей? С помощью системы Интеллсист [3] перечисленные вопросы разрешаются так: А. Строятся многозначные логики и алгоритмы их применения. Б. Пользователь должен принять решение либо о добавлении информации, либо ограничиться полученным решением. В, Логический вывод решений строится на основе правил вывода, которые строятся аналогично тому, как это делается в обычной двоичной логике. Г. Практически необходимы исследования в условиях меняющихся данных в задании или пополняемой информации. Д, Переформулировка запроса или описания величин может привести к точному ответу. Оценка точности должна быть пользовательской. Е. Этот вопрос мало изучен. Потенциально понятно, что сближение логики и арифметики возможно, оно может привести к новых качественным результатам. Ж. Конечно, в ИЛ мало проведено исследований для полного и квалифицированного ответа на этот вопрос. З. На начальных этапах проектирования с помощью Интеллсист необходимо проводить смелые эксперименты с постановкой вопросов с ориентацией на модальности. Настоящая статья излагает математические выкладки для обоснования ответов на вопросы. 2. Классическая модальная логика Для построения модальной логики в ЯПП [2, том 2] вводится новый тип. Этот тип определяет конечное множество (модальных) имен понятий, задаваемых меры истинности для рассуждений с неполными знаниями. Пользователь сам формирует меру истинности и модальные имена для обозначения меры. Синтаксис определяет такие типы данных, которые называются перечислимыми, путем указания списка литералов перечисления в качестве возможных значений величин такого типа: перечислимый тип: ( список литералов перечисления ). литерал перечисления: новый термин. Имеются ограничение синтаксиса перечислимых типов. Новые термины в одном перечислении все должны быть новыми и различными. Одинаковые термины в различных определениях перечислимого типа называются совмещенными. Тип такого литерала при использовании определяется по контексту. Определяемые в различных местах типы являются различными, даже если они совпадают по составу терминов перечисления. Термин из перечисления не должен совпадать с терминами величин. При совпадении терминов-констант из перечисления необходимо использовать 5 квалифицированные выражения. Появление термина в качестве литерала перечисления составляет его описание: это описание эквивалентно описанию функции без параметра с результатом определяемого перечислимого типа, номером позиции термина в списке. Перечислимый тип определяет конечное число таких функций. Семантика перечислимого типа определяется так. Двуместная операция применяется только для однотипных величин. Каждый литерал перечислимого типа вырабатывает свое отличное от других значение, которое обозначено заданным термином. Все литералы упорядочены в соответствии с номером позиции. Позиции нумеруются отрезком натурального ряда, начиная с нуля. Номера двух соседних литералов перечисления отличаются на единицу. Для перечислимых типов определены все логические операции. Для логических пользовательских операций многозначной (типа Кзначной) логики логическое выражение в определении должно начинаться со знака @ и иметь вид одно или двумерного агрегата занумерованных значений типа: массив[0..К-1] из целых -- для одноместной операции или массив[0..К-1, 0..К-1] из целых -- для двухместной операции. Агрегат заполняется целыми числами от 0 до К-1 для префиксной операции или инфиксной операции в том месте массива, где индекс или пара индексов определяется по значению для данной операции К-значной логики. Порядок компонентов агрегата должны быть различными для одноместной операции или различными парами значений для двухместной операции. Так определяется табличная, или пользовательская, логическая операция в многозначной логике. Примеры: (~ нет~, ~возможн_о~, ~да ~) ( ~не сделан_о~, ~начат_о~, ~завершен_а подготовк_а~, ~сделан_о~ ) -- концы слов выделены для их вариации в текстах знаний и запросов. 3. Многозначные логики. Классическая логика изучает главным образом высказывания, принимающие двузначные логические значения - ложь и истина. В Интеллсист в основе использована такая же логика. Все входные рассуждения имеют или подразумевают ложь или истину (до тех пор, пока не обнаруживается противоречие). Эти же значения имеют и выводимые в качестве результата рассуждения, которые в интерпретации пользователя могут иметь другое логическое значение. В таком случае говорят, что действует закон исключенного третьего: высказывание может быть ложным или истинным, и третьего не дано. В этом случае действует также закон: любое высказывание не может быть одновременно ложным и истинным. Но не все практические рассуждения имеют двузначные значения. В практике наравне с рассуждениями, построенными по принципу «да-нет», или в черно- 6 белых красках, используются рассуждения, построенные по принципу, например «да-нет-возможно». Имеются и более сложные логики, которые именуются модальными, алетическими, возможностными или нестандартными логиками. Как и модальная логика [2, 7, 8] ИЛ изучает необходимости и возможности. Для обобщения всех таких логик в ИЛ используется термин многозначные логики: трехзначные, четырехзначные и др. логики, вводимые пользователем при необходимости решения задач с неполным знанием. Эти логики рассматривают рассуждения при неполном знании. Интеллсист может построить рассуждения с такими неполными знаниями. Например, можно получить ответ: возможно (Х = 0). Сам результат квалифицируется как истинный, но его подлинный смысл (для пользователя) состоит в допустимости того, что Х = 0. В ИЛ имеются отличия по сравнению с указанными классическими модальными логиками. Отличия ориентированы на учет практических нужд решения разнообразных задач пользователя. В ИЛ стандартными операциями являются все логические операции, которые будут определены ниже. Любые одноместные или многоместные операции определяются самим пользователем. Например, одноместные операции «необходимо» и «возможно» различными логиками вводятся по-разному. Такие операции необходимо задавать самому пользователю в форме «таблиц истинности». 4. Логические уравнение в многозначных логиках. Решение перечисленных вопросов является предметом рассмотрения данного раздела. Не все вопросы будут сопровождаться окончательными ответами, поскольку они в принципе являются весьма сложными. Программа разрешения вопросов включает построение исчисления ИЛ: <язык логических выражений, системы аксиом и системы правил К-значной логики>. Аксиомы, как было сказано ранее относительно построения логического вывода, будут заменяться правилами решения логических уравнений [3], содержащих утверждения с некоторой мерой истинности. Для решения большинства или всех перечисленных вопросов необходимо иметь средства для решения логических уравнений вида i P(..) или для ясности P(..) = i, где i = 0, 1, 2,..., K-1. Здесь P(..) - некоторое высказывание (в частности, предикат), i – конкретная модальность или числовое выражение меры истинности, которая задается при описании перечислимого типа с некоторыми новыми понятиями. i = 0 условно представляет (если это устраивает пользователя) высшую меру ложности, наиболее близкую к значению ложь (неудовлетворенности). i = К-1 также условно представляет (если это устраивает пользователя) меру близости к значению истина (полной удовлетворенности), а промежуточные значения представляют вполне определенную меру близости ко лжи или к истине и выражаются терминами из (чаще всего) модальных слов. Пример: возможно Х рассматривается в ИЛ как логическое уравнение возможно = Х, где Х - логическая переменная 3- 7 значной логики, формально уравнение записывается так: Х = 1. Конечно, пользователь вправе интерпретировать 0 и К-1 как ложь и истина (последней инстанции), но не обязательно. Утверждения, принимающие допустимые К значений, относятся к многозначной логике. В этом смысле оценки школьнику можно понимать по некоторому контексту как пятизначную логику со значениями (очень плохо, плохо, удовлетворительно, хорошо, отлично), причем значение очень плохо представляет максимальное приближение к значению ложь, а отлично - к истина. Конечно, чаще многозначные логики связывают с такими перечислениями (решение не достигнуто, возможно получено решение, решено) или (нет, возможно, да). Логическая и математическая сущность модальностей поясняется так. Модальные слова в русском языке (как часть речи) определяются как отношения к некоторому высказыванию или утверждению. В информатике модальные слова представляют операции, квалификации или отношения с одним операндом. Вот несколько иллюстративных примеров: возможно (Х = 0), не обязательно (Х = 1), пять (ответ = 25) или, скорее всего идет дождь. С этой точки зрения ложь и истина также являются одноместными операциями, которые квалифицируют высказывание. Модальности (или модальные слова) относятся к логическим величинам или высказываниям. 5. О перечислимых величинах. Новые величины, определяемые логическим типом перечислимых и называемые истинностными, принимают несколько (конечное число) значений мер истинности, указанных новыми терминами из перечислимого типа. Значения перечислимых для переменных моделируют конечные (упорядоченные) и промежуточные значения меры истины некоторой величины. Положим, что, если высказывание принимает наименьшее значение в числовом выражении, то оно условно ложно с точки зрения пользователя, если высказывание принимает наибольшее значение, то оно условно истинно с точки зрения пользователя, при условии, что высказывание целиком считается истинным. Все промежуточные значения переменного высказывания принимают значения между условными значениями ложь и истина (они означают сомнения различной степени, не меньше лжи и не больше истины). Количественно значения могут выражаться числами от нуля до К-1 (К>2) для К-значной логики. Это подходящий способ сопоставления сомнений и числовых значений, что позволяет нам говорить о К-значной логике или о конечной размытой логике. Несколько исходных соображений. Факты, как утверждения вообще, могут обладать содержанием, которое пользователь оценивает некоторой мерой истинности, хотя запись факта (утверждения) обязательно принимает значение истины в итоге решения задачи, но если она содержит модальности, то внутреннее содержание записи может иметь в оценке пользователя некоторую меру истинности. Истинным является утверждение «вероятно идет дождь», но пользователь такого утверждения вправе сомневаться относительно факта «идет дождь», поскольку его запись 8 содержит модальность «вероятно». Это первое исходное положение. Второе, модальности (константы мер истинности из перечислимого типа) не используются самостоятельно, а только в контексте или «рядом» с переменными или выражениями логического типа. Третье, использованная модальность распространяется на факты по мере раскрытия логических операций. Она может быть поглощена в результате при достаточности знаний или выразиться в новых логически выведенных фактах при неполноте исходных знаний. 6. Классические логические операции. Возвращаемся к многозначным логикам или конечным размытым логикам, как можно именовать К-значные логики. Примем также следующие соглашения. Оно относится к реализуемым логическим операциям в Кзначных логиках. Помня, что переменные высказывания принимают (моделируются) целые числовые значения от 0 до К-1, вычисления значений результатов применения к ним логических операций также приводят к таким же целым значениям. Для переменных применяются те же классические логические операции, что и в двузначной логике (они соответствуют операциям, определенным в [9] для бесконечнозначных логик): Логическая операция Выражение для значения not A A or B A and B A xor B A=B A => B A << B К-1-A max(A, B) min(A, B) Max(min(A, К-1-B), min(К-1-A, B)) Max(min(A, B), min(К-1-A, К-1-B)) max(К-1-A, B) max(A, К-1-B) где К > 1. В левой колонке под А и В подразумевается логическое высказывание, в правой - их числовые значения. Указанные операции применимы для значений перечислимого типа. При такой интерпретации логических операций все аксиомы двоичной логики остаются верными и для К-значной логики. Имеется одна особенность Интеллсист в представлениях результатов или результирующих фактов. Она выдает решение одним из значений истинности и указывает новые факты в виде "значение истинности В", а не "В=значение истинности". Результат будет иметь именно такой вид альтернативы совместных фактов: (..,значение истинности В,..). Некоторые пользователи не удовлетворятся указанными в таблице сопоставлениями для операций. Они имеют свои представления об интерпретации логических операций или свои логические операции. Тогда им предстоит самостоятельно задавать математические выражения для интерпретации операций. Они построят свою многозначную (конечную размытую, частичную или модальную) логику. При этом должны быть введены новые обозначения для операций и новые правила логического вывода (сведения операций). Многочисленные логики (ветви МЛ или логики возможностей) имеют свои особенности. При переходе от математики к 9 информатике (к ИЛ) необходимо иметь некоторый алгоритм порождения знаний (аксиом и правил вывода). Рассмотрим пример одной или двух многозначных логик, именно трехзначной и четырехзначной, и один пример модальной логики только для того, чтобы продемонстрировать метод. Итак, логическое исчисление формально строится на языке формул (выражений), набора аксиом и конечного набора правил. Язык многозначной логики, включает алфавит терминальных символов, набор значений истинности, соответствующий набор имен константных значений (модальных терминов), одноместных или двуместных логических операций, предикаты и функции, а также кванторы общности и существования. С помощью этих элементов языка формируются правильно построенные формулы, в которых могут использоваться круглые скобки для указания последовательности выполнения операций в формуле. Элементы языка и правильно построенные формулы составляют язык исчисления К-значной логики. Язык может пополняться новыми пользовательскими терминами, логическими константами (элементами перечислимого типа) и операциями, определенными аксиомами. Язык предназначен для формулировки знаний и запросов для решения прикладных проблем и задач с неполной информацией. Значения истинности на практике обозначаются терминами, смысл которых выражает меру близости к неопределенности, квалификацию некоторой меры близости к истине должен обеспечивать сам пользователь либо самостоятельно, либо по прецеденту. Аксиомы и правила исчисления Кзначной логики включают правильно построенные формулы и дополнительные метасимволы для связи формул и правил исчисления. Все они определяются средствами ЯПП. Пусть X и Y являются переменными, принимающими значения терминов (из типа перечислимого) или чисел (внутренней кодировки для вычислений) 0, 1,..., К-1, тогда к стандартным одноместным операциям относятся такие операции как next X := (X + 1) mod K, pred X := (X - 1) mod K. Функции max и min понимаются обычным образом с учетом обычного понимания упорядочивания чисел 0<1<..<К-1. Тогда, например (X = Y) = max(min(X, Y), min(not X, not Y)). Для К-значной логики интерпретация таблицей операции равенства не совпадает с интерпретацией для двузначной логики (мера близости к истине), хотя имеется совпадение формульных определений. В двоичной логике операция равенства понимается так же выражением: (А = В) = (А & B) \/ (not A & not B). Например, для 4-логики табличное определение будет иметь вид, в котором в числителе стоит значение по формуле 2-логики, в знаменателе – естественное определение равенства - приближение к истине. Остальные двуместные операции могут определиться по формулам двоичной логики, например операция следования (X => Y) = not X \/ Y. В рассуждениях ниже будем также использовать операции сложение + и умножение * по модулю К. Кванторы всеобщности (для всякого) и существования (существует) также являются стандартными, принимающими значения лжи и истины в 2- 10 значной логике. Кванторы же, принимающие значения некоторой меры близости к истине или лжи, могут вводиться пользователями. Кроме этих операций можно вводить вспомогательные операции для установления истинности некоторых выражений. Все новые пользовательские операции и функции задаются табличным методом (таблицы размером К для одноместных или К*К для двухместных операций являются записью аксиом для пользовательского определения операций и функций). Кроме этого для их полного определения необходимо задать аксиомы, связывающие операции и функции друг с другом. Операция будет определена не полностью, если какая-либо подобная аксиома не задана. 7. Интерпретация логических операций. В качестве иллюстративного примера рассмотрим две перечислимые переменные X и Y со значениями (нет, возможно, вероятно, да), которым в Интеллсист соответствует четверка (0, 1, 2, 3). Определение операций является стандартным в ИЛ. Напомним, что пользователь вправе сам определить или переопределить свои операции в К-значной логике. Например, в [2] эти же операции определяются другими таблицами. Одноместные операции представлены в таблице кодами значений перечислимого типа: X \ операция not Х next Х pred Х 0 1 2 3 3 2 1 0 1 2 3 0 3 0 1 2 Эта же таблица в терминах перечислимого типа принимает вид: X \ операция not next pred нет возможно вероятно да да вероятно возможно нет возможно вероятно да нет да нет возможно вероятно Для двуместной операции или (\/) определение дано в таблице: X\Y 0 1 2 3 0 1 2 3 0 1 1 2 3 1 2 2 2 3 2 3 3 3 3 3 Иллюстрация двуместной операции, выражаемая фразой «Если встречаются двое миролюбивых, то побеждает тот, кто ближе к истине» представлена в таблице: X\Y нет возможно вероятно да нет нет возможно вероятно да возможно возможно возможно вероятно да вероятно вероятно вероятно вероятно да да да да да да 11 Двуместная операция умножения или & задается таблицей: X\Y 0 1 2 3 0 0 0 0 0 1 0 1 1 1 2 0 1 2 2 3 0 1 2 3 Иллюстрация этой операции может быть выражена фразой «Если встречаются двое непримиримых, то побеждает тот, кто ближе ко лжи», или таблицей: нет нет нет нет нет X\Y нет возможно вероятно да возможно нет возможно возможно возможно вероятно нет возможно вероятно вероятно да нет возможно вероятно да Двуместная операция равенства (=) определяется в таблице, которой представлены два значения, верхнее значение получено по формуле, она встроена в Интеллсист, а нижнее значение построено по аналогии с таблицей для двузначной логики: X\Y 0 1 2 3 0 3 3 2 2 1 1 0 0 1 2 2 2 3 1 2 1 1 2 1 1 1 2 2 3 2 2 3 0 0 1 1 2 2 3 3 Интерпретация операции представлена соответствующими строчками: X\Y нет возможн о вероятно да нет да да вероятно вероятно возможно возможно нет нет возможно вероятно вероятно вероятно да возможно вероятно возможно возможно вероятно возможно возможно возможно вероятно вероятно да вероятно вероятно (как и выше) двумя да нет нет возможно возможно вероятно вероятно да да Здесь уместна фраза «Либо равенство требует строгости, либо равенство и в Африке равенство». Для двуместной операции следования (=>) использована такая таблица: X\Y 0 1 2 3 0 3 2 1 0 1 3 2 1 1 2 3 2 2 2 3 3 3 3 3 Интерпретация операции следования примет вид, внешне аналогичный виду таблицы для 2-значной логики: 12 X\Y нет возможно вероятно да нет да вероятно возможно нет возможно да вероятно возможно возможно вероятно да вероятно вероятно вероятно да да да да да Заметим следующее обстоятельство. Таблицы лишь проиллюстрировали определения-аксиомы операций в 4-значной логике. Они должны послужить основой для построения правил вывода решений логических уравнений в Кзначных логиках. Пользователь имеет возможность задавать таким образом аксиоматику для операций, а инструментарий Интеллсист построит правила вывода автоматически. 8. Некоторые общие соображения о металогике. Модальная логика - логика возможностей, необходимостей и приближения к истине. Она ориентируется не только на значения от 0 до К-1, но и на произвольные значения и наборы значений из этого диапазона. Сложность изучения К-значных логик вызвана числом функций М, которые потенциально можно рассмотреть. Число N-местных функция Е-значной логики. Для N = 1 и Е = 3 получаем всего M = 27, Для N = 2 и Е = 3 имеем М = 19683. Установим близость К-значных логик при К > 1 по возможности разложения и представления функций. Ставятся задачи получения разложения функций и построения полных систем функций. Для этого определим «дельта-функцию» di как вспомогательную: di(X) = K-1, где X = i, di(X) = 0, где X <> i. В действительности здесь определены К функций d0, d1,.. Для этих функций легко можно построить табличное представление. Определим «единичную» функцию ei также как вспомогательную: ei(X) = 1, где X = i, ei(X) = 0, где X <> i. Здесь также определены К функций e0, e1,.. с очевидными табличными представлениями. Некоторые общие свойства введенных функций доопределяются следующими равенствами. Введем также операцию * для логических функций. Теперь на примерах обнаружим совпадения свойств логических операций для К-значных логик с К > 1. X := 1*d1(X) \/ 2*d2(X) \/...\/ a*da(X), a = K-1; di(X)*dj(X) = di(X), где i=j; di(X)*dj(X) = 0, где i<>j; 0 & X = 0; (К-1) & X = (К-1); 0 \/ X = X; (К-1) \/ X = (К-1); not(not X) = X; min(X, Y) = not max(not X, not Y). 13 Свойства К-значной логики во многом аналогичны свойствам 2-логики, например, свойства ассоциативности, коммутативности и дистрибутивности, их можно перевести на К-значную логику, поэтому исследование свойств Кзначной логики во многом упрощается при таких свойств логик. Однако в К-значных логиках существует большое число проблем. Среди проблем имеются, например, такие: 1. Интерпретация К-значной логики в многомерном пространстве 2логик (проблема гиперкомплексных логических чисел). 2. Изучение новых кванторов К-значных логик и построение других кванторов или уравнений с равенством нулю или К-1. 3. Особенности операций с различными операндами, принадлежащими различным К-значным логикам. 4. Доказательство теорем классической К-значной логики в Интеллсист. Эта проблема решается с применением Интеллсист. Проблема построения полной системы функций изучается в классической модальной логике и не имеет отношения к проблеме вывода решений логического уравнения. В связи с этим здесь не рассматриваются подробно соответствующие теоремы и системы полных функций. Желающие заняться подобными проблемами могут изучить [10]. Ограничимся лишь некоторыми примерами. В конечном счете 2-значная логика - фундаментальная конечная логика, она является судьей всех конечных решений логических уравнений. Кзначная логика является лишь приближением ко лжи или истине. Вот несколько примеров К-значных логик для сравнения: 2-логика опирается на множество значений {ложь, истина} со значениями-кодами {0, 1}, 3-логика - на {нет, возможно, да} со значениями {0, 1, 2}, 4-логика - на {ложь, почти ложь, почти истина, истина} со значениями {0, 1, 2, 3}. Рассматриваемые К-значные логики можно назвать еще и целочисленной логикой, поскольку значения логических величин подразумевают целочисленные значения. Многие построения проделаны студентом-дипломником МФТИ И.В. Малобродским. Для представления любой функции можно воспользоваться следующей дизъюнктивной нормальной формой в К-значной логике: f(X1, X2,..,Xn) := \/ (f(I1, I2,.., In) & di1(X1) & di2(X2) &..& din(Xn)), где I1, I2,..,In изменяются в области для X1, X2,.., Xn соответственно, \/ дизъюнкция по этим переменным. Легко убедиться в том, что любая функция может быть представлена таким выражением, например, заданной таблично. Полученное выражение при необходимости можно оптимизировать по числу операций, его можно преобразовать в другую систему функций по правилам подстановки. Для построения разложения любой функции и полной системы операций рассмотрим новые функции или дадим интерпретацию известных функций. Наравне с функцией di определим функцию-дельта так: d(x1, x2) = 1, при х1 = 0 и х2 = 0 и d(x1, x2) = 0 в остальных случаях. 14 Определим функции next - следующее и not - отрицание так: next(x) = (x + 1) mod (K - 1), not(x) = (К – 1 - x) mod (K - 1). Определим операцию сложения перечислимых через операцию сложения целых так: x1 + x2 = (целый(х1) + целый(х2)) mod (K - 1). Определим операция умножения перечислимых через операцию умножения целых так: x1 * x2 = (целый(х1) * целый(х2)) mod (K - 1). «целый» - является записью преобразования числа в целые. Определим операцию суммирования: sumК(индекс, нижнее значение, верхнее значение, g(индекс)), где sumК - сложение последовательности значений по модулю К - 1. Для этих операций полной системой, достаточной для представления любых логических функций многозначной логики будет d, next и +: f(x1, x2) = sumК(i, 0, К - 1, sumК (j, 0, К - 1, sumК (fij * d(next (x1), next (x2)))); Указанные функции выражаются через «стандартные» логические операции (для значений К): К = 3: d(x1, x2) = min(next x1, next x2, next next x1, next next x2); К = 4: d(x1, x2) = min(next x1, next x2, next next x1, next next x2, next next next x1, next next next x2); К = 3: 2.d(x1, x2) = next max(x1, x2, next x1, next x2); К = 4: 3.d(x1, x2) = next max(x1, x2, next x1, next x2, next next x1, next next x2); К = 3: d(x1, x2) = next x1 * next x2 * next next x1 * next next x2; К = 3: x1 + x2 = max(min(2 * d(x1, x1), x2), min(2 * d(next next x1, next next x1), next x2), min(2 * d(next x1, next x1), next next x2)); К = 4: x1 + x2 = max(min(3 * d4(x1, x1), x2), min(3 * d4(next next next x1, next next next x1),next x2), min(3 * d4(next next x1, next next x1),next next x2), min(3 * d4(next x1, next x1),next next next x2)); ??? К = 3: max(x1, x2) = next min(next min(next x1, next x2), next next min(next min(next next x1, next next x2), min(next x1, next x2))); min(x1, x2) = next next max(next next max(max(next x1, next x2), max(next next x1, next next x2), next max(max(next next x1, next next x2), next next max(next x1, next x2)))); К = 3 или 4: u(x1, x2) = next min(x1, x2); К = 3 или 4: next x = u(x, x); К = 3: min(x1, x2) = next next u(x1, x2); К = 4: min(x1, x2) = next next next u(x1, x2); К = 3: v(x1, x2) = next max(x1, x2); 15 К = 3: next x = v(x, x); К = 3: max(x1, x2) = next next v(x1, x2); К = 3: u2(x1, x2) = next next min(x1, x2); К = 3: next next x = u2(x, x); К = 3: u(x1, x2) = next next u2(x1, x2); К = 3: v2(x1, x2) = next next max(x1, x2); К = 3: next next x = v2(x, x); К = 3: v(x1, x2) = next next v2(x1, x2); Полными системами логических функций являются, например, следующие варианты для К = 3: 1 вариант: d, next, +; 2 вариант: next, min, +; 3 вариант: next, *, +; 4 вариант: next, min; 5 вариант: next, max; 6 вариант: next, min, max; 7 вариант: u; 8 вариант: v; 9 вариант: u2; 10 вариант: v2. Приведенные результаты исследований студента могут принести пользу в практических работах и стать стимулом применения Интеллсист для продолжения подобных исследований. 9. Правила вывода решений. Как было сказано ИЛ строится на основе аксиом, определяющих константу, величину или операцию. Для К-значной логики известны аксиомы, например, так, как они заданы выше (таблично). Для 3-значной логики построим систему правил логического вывода по приведенным таблицам. Правила направлены на вывод фактов, которые будем представлять в виде некоторой модальности и переменной вместо равенства переменной и некоторой модальности. Иллюстрация правил рассмотрена для 4-значной логики с модальностями (нет, возможно, вероятно, да). Задача ставится так: дано логическое уравнение (А = значение модальности) или (значение модальности А), требуется указать правила его решения. Из приведенных выше таблиц "истинности" выбираем все правила с требуемым значением модальности. Для одноместных функций с максимально приближенной истинностью получаем: А1. not А |- нет А А2. next А |- вероятно А А3. pred А |- нет А А4. А и В |- да А, да В А5. А или В |- да А, да В; нет А, да В; возможно А, да В; вероятно А, да В; да А, нет В; да А, возможно В; да А, вероятно В. 16 А6. А следует В |- да А, да В; нет А, да В; возможно А, да В; вероятно А, да В; нет А, вероятно В; нет А, возможно В; нет А, нет В. Таковы примеры правил логического вывода решений логического уравнения в 4-значной логике, они работают как бы в интеллектуальной сомневающейся системе. Подробная информация содержится в [12, том 5]. Выше представлена техническая сложность системы правил для многозначных логик. Система выводит наилучшее приближение к пользовательской истине, она отвечает на все вопросы, рассмотренные в п.1. Примеры таблиц операций из [2] выступают как пользовательские, поскольку они отличаются от представлений классических операций п.6. Для одноместных операций ◊р возможность р, □р необходимость р и двуместная операция «и» определяются в таблицах [2]: р ◊р □р /\ 0 1 2 3 0 1 0 0 0 0 0 0 1 1 2 1 0 1 0 1 2 1 2 2 0 0 2 2 3 3 2 3 0 1 2 3 Эти операции не похожи на классические, поэтому они именуются пользовательскими. Литература 1. Экология информации и знаний. Научно-техническая информация, серия 1, Организация и методика информационной работы. № 2.- М., ВИНИТИ,2005,с.11-23 2. Р. Фейс, Модальная логика, «Наука», - М., 1974, 520 с. 3. Красилов А.А., ИНФОРМАТИКА, Тома 1-7. www.intellsyst.ru/publications/ 1997 – 2003. 2000 с. 4. Справочная книга по математической логике. - М., Наука. Ч.1. Теория моделей. 1982, - 392 с. Ч.2. Теория множеств. 1982, - 376 с. Ч.3. Теория рекурсий. 1982,- 360 с. Ч.4. Теория доказательств и конструктивная математика. 1983, - 392 с. 5. Красилов А.А., Язык и знание. Семантическая грамматика русского языка. //Научно-техническая информация, серия 2, № 10, ВИНИТИ, 2000, с 21-33. 6. Зиновьев А.А. Комплексная логика. - М., Наука, 1970, 204 с. 7. Красилов А.А., Информатическая логика, решение логических уравнений и интеллектуальные системы в САПР. Информатика. //В сб: Автоматизация проектирования, вып.2-3, ВНИИМИ, - М., 1994, с.14-26 8. Krasilov Albert, Informatical Logic, Logical Equation Decision and Intellectual (Nonproduction) Systems in CAD. EAST-WEST International Conference "Information Technology In Design", Part 1, Moscow, Russia, 5-9 Sept. 1994, pp.196-198 9. Логический подход к искусственному интеллекту. От модальной логики к логике баз данных. Перевод с франц., - М., Мир, 1998, 496 с. 10. Гетманова А.Д. Логика. Для педагогических учебных заведений. - М., Новая школа, 1995, - 416 с. 11. Яблонский С.В. Введение в дискретную математику. - М., Наука, 1979, -384 с. 12. www.intellsyst.ru. Интеллектуальные системы общего назначения. 2004