Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1232 / 168 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 31:

Жадные алгоритмы поиска масок

< Лекция 30 || Лекция 31: 12 || Лекция 32 >

СПР для единой маски, полученной сокращением СПР с помощью алгоритма1, для диагностического теста схемы C17 приведен в табл. 31.1.

Таблица 31.1.
s_0 11011
s_1 10111
s_2 00011
s_3 00001
s_4 01001
s_5 01011
s_6 01010
s_7 10001
s_8 11111

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

Лемма 1. На любом шаге k работы алгоритма 1 справедливо неравенство


J_{k+1}\le J_k\left (1 - \cfrac{1}{M}\right), ( 31.10)

где M - объем минимальной маски заданного СПР.

Доказательство. Заметим сначала, что для любой точки проверки i:j и для любого k\ge 0 величина (31.9) неотрицательна. Действительно, (31.9) является конкретизацией выражения (31.6) , в котором вместо атрибута x используется точка проверки i:j. Подставляя в (31.5) сначала (31.7) и (31.8), а затем (31.1) и (31.2) получим


J_k-I'_{i:j}(\tilde{S}_k)=
\cfrac{1}{|\tilde{S}_k|}\sum\limits_{S'\in\tilde{S}_k}{|S'|\log_2|S'|}-\sum\limits_{S''\in\tilde{S'} }{|S''|\log_2|S''|} ( 31.11)

где \tilde{S'} обозначает разбиение множества S' согласно значениям точки проверки i:j. Из того, что каждое слагаемое внешней суммы в (31.11) неотрицательно, следует неотрицательность (31.9). Отсюда вытекает, что последовательность

J_1-J_0,J_2-J_1,\ldots,J_k-J_{k-1},\ldots

- невозрастающая.

Пусть после k итераций алгоритма 1 получена маска h и величина J_k - среднее количество информации, необходимой для идентификации любого технического состояния из блоков разбиения \tilde{S}_k. Пусть для того чтобы разбить блоки \tilde{S}_k на одноэлементные подмножества оптимальным образом, требуется включение в маску h дополнительно минимум M' точек проверки. Тогда на следующей итерации алгоритма должно выполняться неравенство


J_{k+1}\le J_k\left ( 1-\cfrac{J_k}{M}\right ) ( 31.12)

Т. к. M' < M, из (31.12) следует (31.10).

Теорема 2. Объем маски, полученной с помощью алгоритма 1, не превышает величины


M\cdot\left ( 1+ln\cfrac{|S|\log_2|S|}{2}\right ),

где M - объем минимальной маски заданного СПР.

Доказательство. Согласно лемме 1

J_k\le\left (1-\cfrac{1}{M}\right )^k\log_2|S|\le e^{-\cfrac{k}{M}}\log_2|S|

Исходя из представления (6.7), минимально-возможное ненулевое значение, которое может принимать J_k, равно 2/|S|.

Пусть k_0 - максимальное целое число такое, что

e^{-\frac{k}{M}}\log_2|S|\ge\cfrac{2}{|S|} ( 31.13)

Тогда для k_1=k_0+1 будет выполнено J_{k_1}< 2/|S|.Из (6.13) следует

\cfrac{k_1-1}{M}\le ln\cfrac{|S|\log_2|S|}{2}

что влечет

k_1\le 1+M ln\cfrac{|S|\log_2|S|}{2} \le M\left (1+ln\cfrac{|S|\log_2|S|}{2}\right )

Следствие 1. Объем маски, полученной с помощью алгоритма 1, не превышает величины

\min\left\{|S|-1,M\cdot\left (1+ln\cfrac{|S|\log_2|S|}{2}\right )\right\}

где M - объем минимальной маски данного СПР.

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

С точки зрения задачи оптимизации маски представляет интерес получение оценки глубины диагностирования с использованием маски, полученной с помощью алгоритма 1 при ограничении ее объема. В качестве оцениваемой величины возьмем значение диагностического разрешения \rho_3, определяемое равенством

\rho_3=\cfrac{|S|^2-\sum\limits_{S_j}|S_j|^2}{|S|^2-|S|}

Теорема 3. Пусть для СПР существует оптимальная маска \tilde{h} объема r, а \tilde{\rho}_3 - величина диагностического разрешения при диагностировании с использованием СПР_{\tilde{h}}. Тогда, если h - маска объема r, найденная с помощью алгоритма 1, и \rho_3 - диагностическое разрешение при диагностировании с помощью СПР_h, то справедливо следующее неравенство

\rho_3\ge\rho_3\left(1-\cfrac{1}{e}\right ).

Доказательство. Разбиение \tilde{S}_k на k-ой итерации алгоритма можно интерпретировать как множество СПН, получаемое при диагностировании с помощью СПР_h, где h - маска, полученная после k итераций алгоритма. Обозначим через \rho_3(\tilde{S}_k) значение диагностического разрешения при диагностировании с помощью этого СПР_h.

Очевидно, что последовательность


\rho_3(\tilde{S}_0), \rho_3(\tilde{S}_1),\ldots, \rho_3(\tilde{S}_k),\ldots

неубывающая. Действительно, на каждой последующей итерации алгоритма S_{k+1} получается из S_k разбиением одного или нескольких блоков на более мелкие блоки. Диагностическое разрешение (отношение количества различимых пар состояний к общему числу пар состояний) от этого может только увеличиться.

Более того, можно легко показать, что последовательность


\rho_3(\tilde{S}_1)- \rho_3(\tilde{S}_0), \rho_3(\tilde{S}_2)- \rho_3(\tilde{S}_1),\ldots, \rho_3(\tilde{S}_{k+1})-
\rho_3(\tilde{S}_k),\ldots

не возрастает.

Из сказанного следует, что


\rho_3(\tilde{S}_{k+1})\ge \rho_3(\tilde{S}_k)+\cfrac{\tilde{\rho}_3-\rho_3(\tilde{S}_k)}{r}=\cfrac{\tilde{\rho}_3}{r}+\rho_3(\tilde{S}_k)\left (1+\cfrac{1}{r}\right )

Тогда


\rho_3(\tilde{S}_{r})\ge
\cfrac{\tilde{\rho}_3}{r}\left (
\left (1+\cfrac{1}{r}\right ) +
\left (1+\cfrac{1}{r}\right )^2 +\ldots +
\left (1+\cfrac{1}{r}\right )^{r-1}
\right ) =\\
\cfrac{\tilde{\rho}_3}{r}\left (
\cfrac{1-\left (1-\cfrac{1}{r}\right )^r }{\cfrac{1}{r}}
\right ) ={\tilde{\rho}_3}\left (
{1-\left (1-\cfrac{1}{r}\right )^r }\right )\ge {\tilde{\rho}_3} \left (1-\cfrac{1}{e}\right )

Последнее неравенство и доказывает теорему.

Содержательный смысл последней теоремы заключается в том, если маска h заданного объема вычислена с помощью алгоритма 1, то потеря в степени диагностирования с использованием СПР_h не превосходит 40% от степени диагностирования с СПР_{\tilde{h}}, построенного с помощью оптимальной маски того же объема.

Теперь перейдем к оценке сложности алгоритма 1.

Теорема 4. Вычислительная сложность алгоритма 1 оценивается величиной O(|S|^2m|\tau|). Объем необходимой для функционирования алгоритма памяти равен O(|S|).

Доказательство. Оценим сначала вычислительную сложность алгоритма.

Как отмечалось ранее, максимальное количество итераций алгоритма равно (|S|-1). На каждой итерации производится поиск точки проверки, доставляющей минимум величине (31.9). Общее количество точек проверки есть m|\tau|, а для того чтобы подсчитать (31.9) для конкретной точки проверки, необходимо выполнить O(|S|) операций для вычисления I'_{i:j}. Таким образом, общее количество операций в алгоритме

(|S|-1)\cdot m|\tau|\cdot O(|S|)=O(|S|^2m|\tau|).

Оценивая емкостную сложность алгоритма заметим, что в ходе его работы необходима память для хранения текущей маски, разбиения \tilde{S}_k, счетчика итераций k и двух значений J_k и J_{k+1}. Ни одно из значений k, J_k и J_{k+1} не превышает по величине |S|. Суммарное количество элементов в блоках разбиения S_k равно |S|. Согласно следствию из теоремы 2 объем маски не превышает |S|. Отсюда получаем оценку емкостной сложности, приведенную в формулировке теоремы.

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

Ключевые термины:

Жадный алгоритм - алгоритм, основанный на принятии локально оптимальных решений на каждом этапе его работы в расчете на возможность получения глобального оптимума.

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

Краткие итоги:

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

Вопросы и упражнения

  • Обоснуйте возможность применения алгоритмов решения задач классификациио объектов к задачам поиска масок ДИ.
  • Кратко изложите на идейном уровне суть описанного в лекции алгоритма 1 поиска единой маски.
  • Поясните, в чем заключается различие алгоритма С4.5 и алгоритма 1, описанного в лекции.
  • Приведите верхнюю оценку объема минимальной маски для заданного СПР, получаемой по алгоритму 1.
  • Приведите оценки вычислительной сложности алгоритма 1 и объема необходимой для его функционирования памяти.
< Лекция 30 || Лекция 31: 12 || Лекция 32 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках