CLAIM – научно-образовательный кластер

Филиппович Андрей, Ходеев Александр

Принятие решения в допечатном производстве с помощью экспертных систем и систем имитационного моделирования

В данной статье рассматриваются некоторые аспекты принятия решения в допечатных процессах (ДП). Для автоматизации управленческой деятельности можно использовать различные классы систем. В статье сравниваются возможности применения СИМ и ЭС.

Наиболее сложной частью ДП, функции которой необходимо автоматизировать, является работающий и обслуживающий персонал. Он состоит из лиц принимающих решение (ЛПР) и работников выполняющих задания. На данном этапе развития компьютерных технологий невозможно создать систему, которую полностью заменит человека. Это связано с тем, что на человека влияют многочисленные факторы, и предусмотреть их все не является возможным. Принятие решения зависит от конкретных условий как внутри системы, так и во внешней среде.

Существует класс систем, которые могут частично заменить специалиста или служить инструментом для более эффективной деятельности по принятию решения. Такими системами являются экспертные системы. В области полиграфии (допечатных процессов) ЭС могут выступать как альтернативный вариант применения СИМ, являться источником параметров моделируемой системы или взаимодействовать с СИМ для извлечения знаний.

Обозначим те задачи, в которых могут быть применены и экспертные технологии, и имитационное моделирование. Ими являются: задача о возможности выполнения заказа, об оценке времени выполнения задачи, об определении стоимости и др.

Задача о возможности выполнения заказа. Если имеется определенное количество статических данных, т.е. те параметры системы допечатной подготовки, которые не зависят от конкретных условий, то для работы с ними лучше использовать ЭС. Например, необходимо определить возможность выполнения продукции типа N. ЭС проверяет список продукции, которую может выполнить фирма (сектор или отдел). В случае отрицательных результатов поиска происходит отказ системы от заказа.

При выполнении этой же процедуры с помощью СИМ необходимо будет ввести все исходные данные и на определенном этапе имитации обнаружить невозможность выполнения поставленной задачи.

Для формального представления ЭС воспользуемся одной из машин вывода, а именно продукционной. Вывод - это процесс анализа исходных данных и получение соответствующих выходных данных. Вывод может производиться в несколько этапов. На каждом этапе мы имеем исходные данные (посылки), выходные данные (заключения) и правило вывода, которое осуществляет переход между ними.

Продукционные системы впервые изобретены Постом в 1941 г. и имеют следующую схему [Герман, 1995, С.18]:

(t1, t2, … tn) / t,

где t1, t2, … tn - посылки;
   t - заключение.

Несколько изменим представление правил. Будем считать, что из посылок может следовать несколько заключений, т.е.

(x1, x2, … xn) / (y1, y2, … ym),

где x1, x2, … xn - посылки;
   y1, y2, … ym - заключения.

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

xi, xi+1 (xi, xi+1) (xi * xi+1), где i=1,n

yi, yi+1 (yi, yi+1) (yi * yi+1), где i=1,m

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

При x1 = y1 (x1* x2** xn) / (y1* y2**ym)= (x2**xn) / (y2**ym).

Будем считать, что имеется фиксированное множество продукционных правил Prav размерностью p.

Prav = {Prav1, … Pravp}

Вывод представляет собой суперпозицию правил, т.е. последовательное применение правил. Докажем, что при выбранном математическом представлении порядок не играет роли.

 

Теорема 1. Для любых двух или более правил их суперпозиция коммутативна.

Pravi, Pravj, Pravn

Pravi * Pravj = Pravj * Pravi

Доказательство:

Предположим, что это не так, тогда для любых двух правил верно следующее:

Pravi, Pravj

Pravi * Pravj = VPravj * Pravi = V2  V2 V1 =>

xi >0, x'i >0;

Используя операцию свертки, получаем:

1 1;

Отсюда следует, что предположение неправильное, а теорема верна.

 

Теорема 2. Для любых правил их суперпозиция ассоциативна.

Pravi, Pravj, Pravn

Pravi * (Pravj* Pravn,) = (Pravi * Pravj)* Pravn,

Доказательство:

Предположим, что это не так, тогда для любых трех правил верно следующее:

Pravi, Pravj, Pravn

Pravi * (Pravj* Pravn,) = V(Pravi * Pravj)* Pravn = V2

V2 V=>

xi >0, x'i >0; x''i >0;

Используя операцию свертки, получаем:

1 1;

Отсюда следует, что предположение неправильное, а теорема верна.

Данные теоремы имеют большое значение, т.к. позволяют использовать правила в различном порядке, на разных этапах вывода. Будем считать, что возведение правила в степень равно самому правилу.

Pravi * Pravi = Pravi2 = Pravi

Аналогичное утверждение справедливо для посылок и заключений.

Введем понятие о срочном окончании вывода, при появлении которого в суперпозиции правил, результирующее заключение принимает фиксированное значение. Пусть это будет заключение y0. Можно принять,что значение y0 равно 0. Но при этом возникнет арифметическая ошибка деления на нуль.

Для расчетов примем, что данная операция возможна, тогда результатом (заключением) вывода является отказ от выполнения дальнейших выводов O.

 

Теорема 3. Если при суперпозиции правил Prav1 … Pravn, хотя бы в одном правиле присутствует заключение y0, то суперпозиция приводит к отказу O.

Prav1 Pravn,

Pravi = (x1, x2, … xn) / (y1, y2, …y0, … ym)

Prav1 * Prav2*… * Pravn,= O.

Доказательство:

Pravi, …, Pravq

Из теоремы 1 и теоремы 2 следует, что

Из этой теоремы вытекают очень важные практические следствия. Например, можно принять, что Y0 соответствует отрицательному ответу на вопрос "Можно ли выполнить данный заказ".

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

Если Y0 не найдено после проверки правил, ведущих к отказу за один такт, то проверяются правила, приводящие к отказу за два такта и т.д. Такую стратегию вывода будем называть стратегией отказа.

Для пояснения понятия такта разобьем все множество правил Prav на r подмножеств PravШ.

Prav = PravШ1 PravШ2 PravШr

Разбиение есть некая функция F1, которая зависит от исходных данных и от стратегии вывода. На каждом такте может быть применено одно из нескольких правил. Совокупность всех этих правил образует подмножество такта PravШ. С каждым тактом уменьшается количество возможных правил. Если обозначить количество правил на такте L как результат функции разбиения, то можно записать следующее:

L1 > L2 > L3 >….>Lr

Li = Func (Li-1, Strat, Id)

где Li — количество правил на i-ом такте;
  Strat — выбранная стратегия;
   Id — исходные данные.

Итак, если вывод осуществляется по стратегии отказа, то порядок выбора правил должен определяться близостью к заключению Y0.

Для ускорения процесса вывода можно заранее просчитать матрицы расстояний и переходов. Ниже приведена таблица переходов. Она показывает цепочки порядков применения правил, приводящих к отказу. Например цепочка Prav1 Prav3 Prav4 Pravn О будет иметь следующий вид (табл.1).

 

  Prav1 Prav2 Prav3 Prav4 Pravn
Prav1 0 0 1 0 0 0
Prav2 0 0 0 0 0 0
Prav3 0 0 0 1 0 0
Prav4 0 0 0 0 0 1
0 0 0 0 0 0
Pravn 0 0 0 0 0 0

Таблица 1. Таблица переходов.

В стратегии отказов нужно делать откаты, поэтому необходимо иметь таблицу обратных переходов (табл.2). С помощью этой таблицы не придется пересчитывать заново разбиение множеств Li, нужно только исключить тупиковые варианты. При этом, можно оценивать на каждом шаге отката близость к отказу (будем считать, что из правила Pravi нельзя перейти в правило Pravi-1).

 

  Prav1 Prav2 Prav3 Prav4 Pravn
Prav1 0 0 0 0 0 0
Prav2 0 0 0 0 0 0
Prav3 1 0 0 0 0 0
Prav4 0 0 1 0 0 0
0 0 0 0 0 0
Pravn 0 0 0 1 0 0

Таблица 2. Таблица обратных переходов.

Можно объединить обе таблицы, т.к. они являются симметричными относительно диагонали, тогда таблица переходов примет следующий вид:

 

  Prav1 Prav2 Prav3 Prav4 Pravn
Prav1 0 0 1 0 0 0
Prav2 0 0 0 0 0 0
Prav3 –1 0 0 1 0 0
Prav4 0 0 –1 0 0 1
0 0 0 0 0 0
Pravn 0 0 0 –1 0 0

Таблица 3. Общая таблица переходов.

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

 

  Количество тактов
Prav1 4
Prav2 0
Prav3 3
Prav4 2
0
Pravn 1

Таблица 4. Таблица расстояний.

Очевидно, что значения второго столбца этой таблицы будут меняться в процессе продукционного вывода. Количество тактов зависит от посылок на каждом такте. Для формализации представим табл. 4 в виде матричного оператора Аi.

Чтобы изменять длину перехода в зависимости от исходных данных (посылок), представим их в виде матрицы коэффициентов Mi.

Для выбора оптимального пути перехода нужно высчитать произведение матриц коэффициентов и расстояний:

Ui = Ai * Mi

Высчитав новую матрицу ее необходимо отсортировать. Сортировка есть преобразование исходной матрицы Ui в новую Ui'. Под новой матрицей нужно понимать упорядоченную старую. Для этого необходимо ввести понятие порядка:

Z1 > Z2 > . . . > Zn

Для сортировки необходимо задать алфавит сортировки ALF и механизм (алгоритм) перестановки элементов сравнения. Существует большое множество методов сортировки. Каждый алгоритм показывает различное быстродействие в зависимости от типа информации, с которой он работает. Если каждой записи поставить в соответствие уникальный ключ Ke, то операция сортировки формально можно определить следующим образом:

Сортировка есть перестановка [Кнут, 1978, С.23]

P = p(1)p(2) … p(n) такое, что

Kp(1)< Kp(2)< … Kp(n),

где p(i) – соответствующая запись;
   Kp(i) – уникальный ключ;
   N – количество записей.

Очень вероятны случаи, когда из одного правила могут вести несколько эквивалентных путей. Для обозначения этой характеристики введем таблицу тактов отказа. Столбцы обозначают количество тактов, а в строках для каждого правила записывается количество эквивалентных путей для достижения отказа.

 

  1 2 3 4 N
Prav1 0 0 2 0 0 0
Prav2 0 0 5 0 0 1
Prav3 3 0 0 1 0 0
Prav4 0 0 7 0 0 1
0 4 0 0 0 0
Pravn 0 0 0 3 0 0

Таблица 5. Таблица тактов отказа.

Задача приближенного вычисления времени выполнения заказа.

Экспертные системы могут быть использованы для приближенного вычисления времени выполнения заказа. Для этого необходимо предварительно определить приблизительное время выполнения каждого вида работ.

Tв.р.виз.выв. = (Q*R*C)/A4 * tA4 * kоч,

где    
  Tв.р.виз.выв. время выполнения работы по выводу визитной rарточки на ФНА заданного типа;
  Q – количество штук (визитных карточек) на пленке;
   R –  размер карточки;
  С –  количество красок;
  А4 –  коэффициент, определяющий необходимую площадь пленки для вывода оригинала на пленку;
 
   tA4 время вывода страницы размера А4;
   kоч. коэффициент очереди.

tвер. = F1[t1, t2]

Если F1-max => tвер. = max[t1, t2] = t2,

где tвер. – время, необходимое для верстки оригинала;
  F1 – функция выбора значения времени из диапазона;
  [t1, t2] – границы диапазона.

= tвер. + Tв.р.виз.выв., где – суммарное время выполнения работы.

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

Если вероятность выполнения задачи P не стопроцентная, то суммарное время выполнения работы будет возрастать.

= + *(1–P)

Критерий выбора СИМ и ЭС.

Уже отмечалось, что существуют задачи, для которых возможно использование как ЭС, так и СИМ. Для определения какой из способов более эффективный введем критерии выбора. Одним из главных критериев является время выполнения задачи. Другим критерием может служить качественная оценка задачи. Под качеством можно понимать точность, достоверность, детальность, наглядность и др.

Для выбора оптимальной системы применения необходимо найти "золотую середину" между качеством и временем выполнения задачи. Сравним время выполнения различных операций в системе имитационного моделирования и экспертных системах.

Пусть в ЭС существует постоянное (или среднее) время для осуществления одного вывода t.

t= const | t= t1в.ср. = t1вi / n,

где

t1в.ср — среднее время выполнения одного вывода;
   n — количество выводов.

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

tпол.выв. = m * t1в.ср,

где

tпол.выв. – время полного вывода;
  m — количество необходимых выводов.

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

tбл. = const | tбл.= tбл.ср. = tблi / r,

где tбл. – время задержки в одном блоке;
  tбл.ср. – среднее время задержки в одном блоке;
   r – количество блоков.

tмод. = kб * tбл.ср * Tr * I,

где tмод. – время моделирования;
  kб – количество блоков;
  Tr – количество транзактов;
   I – количество имитаций.

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

Если время моделирования tмод. меньше или равно времени полного вывода, то тогда СИМ эффективнее, чем ЭС, потому что ее результаты более точные и подробные.

tпол.выв <= tмод.

Более того, время моделирования должно быть значительно больше, чем время вывода с помощью ЭС.

tпол.выв << tмод.

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

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

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

x = const, ti+1=ti +x

Если заказ приходит в промежуток времени между моментами синхронизации, то моделирование системы начинается с последнего зафиксированного значения.

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

В последнем случае может возникнуть ситуация когда время выполнения заказа, просчитанное СИМ, будет варьироваться в некотором диапазоне.

tk = t -t,

где tk разница между максимальным и минимальным временем выполнения заказа;
 
  t – максимальное время выполнения заказа;
  t минимальное время выполнения заказа.

Заказчику можно предлагать максимальный вариант времени выполнения заказа. Во время согласования коэффициент запаса может уменьшаться и достигать предельного значения.

tзак. = t* k1,  k1= (k2, ),

где

tзак. – время выполнения заказа, предлагаемое заказчику;
   k1 – коэффициент запаса;
  t минимальное время выполнения заказа;
   k2 – предельный (минимальный) коэффициент запаса.

Если желаемое время выполнения заказа задано априорно, то в зависимости от целей и условий можно определить наиболее удобное для исполнителя время.

tзак. = t* k3,

где k3. – максимальный коэффициент запаса.

Роль определителя оптимального коэффициента запаса может выполнять экспертная система, изменяя его значение во время диалога с пользователем.

Если при моделировании в СИМ вести статистику времени выполнения различных работ, то при появлении нового заказа, аналогичного или близкого к уже сделанным, можно произвести приблизительную оценку.

tzi tzср.

tzср. = (tz1 + tz2 + … + tzn ) / n,

где tzi  – время выполнения нового заказа;
  tzср.  – среднее время выполнения заказов данного типа;
   n – количество похожих заказов.

Введем понятие степени близости (схожести) заказов Z. Если сопоставить для каждого заказа некое числовое значение, то близость заказов будет определяться разницей между числовыми значениями:

Zi |Z1-Zi| 0 или |Z1-Zср| 0

Качественная оценка скорее необходима при определении точных параметров, наиболее важных аспектов и т.д. Введем множество критериев качества Кр.

Кр = {W, Ex, D …},

где W – критерий важности;
  Ex – критерий точности;
   D – критерий детальности.

Сопоставим каждому критерию весовой коэффициент, тогда важность качественной оценки будет определяться следующей формулой:

= kw*W + kex*Ex +kd*D …,

где kw – весовой коэффициент важности;
  kex – весовой коэффициент точности;
  kd  – весовой коэффициент детальности.

Соответствующий коэффициент kt должен быть введен и для временного критерия T. Итоговая оценка проводится по коэффициенту x.

|kt*T – | = .

Если > 0, то временной критерий важнее, чем качественный.

Если < 0, то качественный критерий важнее, чем временной.

Если = 0, то качественный критерий равнозначен временному.

Подводя итоги, отметим, что вопрос выбора между системой имитационного моделирования и экспертной системой зависит от конкретной программной реализации и способа представления знаний.

Технологии экспертных систем являются в этом отношении более развитыми и позволяют работать даже с плохо или нечетко формализуемыми данными, тогда как СИМ требуют достаточно жестких ограничений на законы распределения потоков, на загрузку оборудования.

Если удастся построить адекватную СИМ, то она позволит проводить значительное количество исследований (имитаций) и, несомненно, будет обладать рядом преимуществ.

Предложенная стратегия отказа для принятия решений в ЭС позволяет сократить время вывода и обеспечить эвристический механизм работы. Такое "интеллектуальное" поведение, в свою очередь, дает преимущество перед СИМ. Интеграция СИМ и ЭС позволит объединить преимущества обеих систем и создать качественно новый класс систем.

Литература

Герман, 1995 О.В. Герман. Введение в теорию экспертных систем и обработку знаний, Мн.: Дизайн ПРО, 1995. - 255 с.
Кнут, 1978 Д. Кнут. Искусство программирования для ЭВМ, Т.3. Сортировка и поиск. - М.: Мир, 1978. - 844 с.

 © НОК CLAIM, 2006-2012. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.

OZON.ru Rambler's Top100