Добрый день можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти в известных источниках |
Жадные алгоритмы поиска масок
СПР для единой маски, полученной сокращением СПР с помощью алгоритма1, для диагностического теста схемы C17 приведен в табл. 31.1.
Уточним верхнюю оценку объема маски, возвращаемой с помощью алгоритма 1. Но вначале сформулируем следующую лемму, которая потребуется для вывода этой оценки.
Лемма 1. На любом шаге работы алгоритма 1 справедливо неравенство
![]() |
( 31.10) |
где - объем минимальной маски заданного СПР.
Доказательство. Заметим сначала, что для любой точки проверки и для любого
величина (31.9) неотрицательна. Действительно, (31.9) является конкретизацией выражения (31.6) , в котором вместо атрибута
используется точка проверки
. Подставляя в (31.5) сначала (31.7) и (31.8), а затем (31.1) и (31.2) получим
![]() |
( 31.11) |
где обозначает разбиение множества
согласно значениям точки проверки
. Из того, что каждое слагаемое внешней суммы в (31.11) неотрицательно, следует неотрицательность (31.9). Отсюда вытекает, что последовательность
![J_1-J_0,J_2-J_1,\ldots,J_k-J_{k-1},\ldots](/sites/default/files/tex_cache/5b1fb2533b22caa59381537fe712bd7d.png)
- невозрастающая.
Пусть после итераций алгоритма 1 получена маска
и величина
- среднее количество информации, необходимой для идентификации любого технического состояния из блоков разбиения
.
Пусть для того чтобы разбить блоки
на одноэлементные подмножества оптимальным образом, требуется включение в маску
дополнительно минимум
точек проверки. Тогда на следующей итерации алгоритма должно выполняться неравенство
![]() |
( 31.12) |
Т. к. , из (31.12) следует (31.10).
Теорема 2. Объем маски, полученной с помощью алгоритма 1, не превышает величины
![M\cdot\left ( 1+ln\cfrac{|S|\log_2|S|}{2}\right ),](/sites/default/files/tex_cache/df8bf6f9d1bf4d07d899cff987722c18.png)
где - объем минимальной маски заданного СПР.
Доказательство. Согласно лемме 1
![J_k\le\left (1-\cfrac{1}{M}\right )^k\log_2|S|\le e^{-\cfrac{k}{M}}\log_2|S|](/sites/default/files/tex_cache/f76c831bf91173d3a4f36f6dcc962e78.png)
Исходя из представления (6.7), минимально-возможное ненулевое значение, которое может принимать , равно
.
Пусть - максимальное целое число такое, что
![]() |
( 31.13) |
Тогда для будет выполнено
.Из (6.13) следует
![\cfrac{k_1-1}{M}\le ln\cfrac{|S|\log_2|S|}{2}](/sites/default/files/tex_cache/706ce6c701fd9b2fe783c86e3ddbc0fe.png)
что влечет
![k_1\le 1+M ln\cfrac{|S|\log_2|S|}{2} \le M\left (1+ln\cfrac{|S|\log_2|S|}{2}\right )](/sites/default/files/tex_cache/2a57384ce2622cc7b96f65d9cf45fd38.png)
Следствие 1. Объем маски, полученной с помощью алгоритма 1, не превышает величины
![\min\left\{|S|-1,M\cdot\left (1+ln\cfrac{|S|\log_2|S|}{2}\right )\right\}](/sites/default/files/tex_cache/1cb33c7d42b84d79112897f559ed335b.png)
где - объем минимальной маски данного СПР.
Справедливость следствия вытекает из теоремы 2 и замечания к алгоритму.
С точки зрения задачи оптимизации маски представляет интерес получение оценки глубины диагностирования с использованием маски, полученной с помощью алгоритма 1 при ограничении ее объема. В качестве оцениваемой величины возьмем значение диагностического разрешения , определяемое равенством
![\rho_3=\cfrac{|S|^2-\sum\limits_{S_j}|S_j|^2}{|S|^2-|S|}](/sites/default/files/tex_cache/97bbb7085f2c710f048064edf20e1afd.png)
Теорема 3. Пусть для СПР существует оптимальная маска объема
, а
- величина диагностического разрешения при диагностировании с использованием
. Тогда, если
- маска объема
, найденная с помощью алгоритма 1, и
- диагностическое разрешение при диагностировании с помощью
, то справедливо следующее неравенство
![\rho_3\ge\rho_3\left(1-\cfrac{1}{e}\right ).](/sites/default/files/tex_cache/f6bc4ddb196201d1a2e0faf4d18097ba.png)
Доказательство. Разбиение на
-ой итерации алгоритма можно интерпретировать как множество СПН, получаемое при диагностировании с помощью
, где
- маска, полученная после
итераций алгоритма. Обозначим через
значение диагностического разрешения при диагностировании с помощью этого
.
Очевидно, что последовательность
![\rho_3(\tilde{S}_0), \rho_3(\tilde{S}_1),\ldots, \rho_3(\tilde{S}_k),\ldots](/sites/default/files/tex_cache/f1dcbaf75304ff5537bb46fbd18b1e8e.png)
неубывающая. Действительно, на каждой последующей итерации алгоритма получается из
разбиением одного или нескольких блоков на более мелкие блоки. Диагностическое разрешение (отношение количества различимых пар состояний к общему числу пар состояний) от этого может только увеличиться.
Более того, можно легко показать, что последовательность
![\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](/sites/default/files/tex_cache/dc8597aec3ec675e6e717ffa35f2aaad.png)
не возрастает.
Из сказанного следует, что
![\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 )](/sites/default/files/tex_cache/a945034d1f37c93916bac9db2c147f47.png)
Тогда
![\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 )](/sites/default/files/tex_cache/a940fe8923b3a41dd87cfe3294664c58.png)
Последнее неравенство и доказывает теорему.
Содержательный смысл последней теоремы заключается в том, если маска заданного объема вычислена с помощью алгоритма 1, то потеря в степени диагностирования с использованием
не превосходит 40% от степени диагностирования с
, построенного с помощью оптимальной маски того же объема.
Теперь перейдем к оценке сложности алгоритма 1.
Теорема 4. Вычислительная сложность алгоритма 1 оценивается величиной . Объем необходимой для функционирования алгоритма памяти равен
.
Доказательство. Оценим сначала вычислительную сложность алгоритма.
Как отмечалось ранее, максимальное количество итераций алгоритма равно . На каждой итерации производится поиск точки проверки, доставляющей минимум величине (31.9).
Общее количество точек проверки есть
, а для того чтобы подсчитать (31.9) для конкретной точки проверки, необходимо выполнить
операций для вычисления
. Таким образом, общее количество операций в алгоритме
![(|S|-1)\cdot m|\tau|\cdot O(|S|)=O(|S|^2m|\tau|).](/sites/default/files/tex_cache/1471033db2d73f46cb8ab4811ab00566.png)
Оценивая емкостную сложность алгоритма заметим, что в ходе его работы необходима память для хранения текущей маски, разбиения , счетчика итераций
и двух значений
и
.
Ни одно из значений
,
и
не превышает по величине
. Суммарное количество элементов в блоках разбиения
равно
.
Согласно следствию из теоремы 2 объем маски не превышает
. Отсюда получаем оценку емкостной сложности, приведенную в формулировке теоремы.
Экспериментальным данным для оценки эффективности алгоритма 1 и еще одного жадного алгоритма, о котором речь пойдет в следующей лекции, на ДИ, порождаемой реальными устройствами, будет посвящена отдельная лекция.
Ключевые термины:
Жадный алгоритм - алгоритм, основанный на принятии локально оптимальных решений на каждом этапе его работы в расчете на возможность получения глобального оптимума.
Дерево принятия решений - граф, обычно применяемый для решения задач классификации объектов. Он представляет собой дерево,на ребрах которого записаны атрибуты, являющиеся аргументами целевой функции, а в листьях записаны значения этой целевой функции. Во всех прочих вершинах дерева записаны атрибуты, по которым различаются классифицируемые объекты.
Краткие итоги:
В лекции описан жадный алгоритм поиска единой маски ДИ, базирующийся на использовании конструкции дерева принятия решений, призводится оценка объема получаемой маски и вычислительной сложности алгоритма.
Вопросы и упражнения
- Обоснуйте возможность применения алгоритмов решения задач классификациио объектов к задачам поиска масок ДИ.
- Кратко изложите на идейном уровне суть описанного в лекции алгоритма 1 поиска единой маски.
- Поясните, в чем заключается различие алгоритма С4.5 и алгоритма 1, описанного в лекции.
- Приведите верхнюю оценку объема минимальной маски для заданного СПР, получаемой по алгоритму 1.
- Приведите оценки вычислительной сложности алгоритма 1 и объема необходимой для его функционирования памяти.