
- •Методические указания к практическим работам
- •1. Изучение принципов построения блок-схем алгоритмов диагностирования.
- •Варианты заданий:
- •2. Построение оптимального безусловного алгоритма поиска неисправностей
- •Задание.
- •Варианты заданий:
- •3. Построение алгоритмов диагностирования методом динамического программирования
- •Задание.
- •Варианты заданий.
- •4. Изучение логических моделей объектов
- •Задание.
- •Варианты заданий.
- •5. Технические средства и методы радиационного неразрушающего контроля (нк)
- •5.1 Общие сведения о радиационном нк
- •5.2 Оборудование для радиационного контроля
- •5.2.1 Источники радиационного излучения
- •5.2.2 Средства и техника радиографии
- •Задание
- •6. Технические средства и методы акустического контроля
- •6.1 Ультразвуковой контроль (узк)
- •6.2 Определение размеров дефектов
- •6.3 Методика уз контроля
- •Задание
- •7. Технические средства и методы вибрационно-акустической диагностики
- •7.1. Способы диагностирования машин
- •7.2 Виброизмерительная аппаратура
- •7.3 Оценка состояния оборудования по общему уровню вибрации
- •7.4 Оценка состояния оборудования по значениям в частотных полосах спектра
- •Задание
- •8. Методы балансировки роторов машин
- •8.1. Дисбаланс роторов
- •8.2. Допустимая неуравновешенность роторов машин
- •8.3. Методы статической балансировки
- •Задание
- •Список литературы
- •Оглавлние
- •1. Изучение принципов построения блок-схем алгоритмов диагностирования.
3. Построение алгоритмов диагностирования методом динамического программирования
Рассмотренные ранее алгоритмы диагностирования были безусловными. Последовательность проверок в безусловном алгоритме задается до его применения. Это упрощает организацию процесса, облегчает поиск оптимального алгоритма. В отличие от них условные алгоритмы являются более сложными. У условного алгоритма только первая проверка известна заранее. Каждая последующая проверка определяется на основе анализа результатов всех предыдущих проверок, поэтому организационно условный алгоритм сложнее безусловного. Однако его тоже можно задать в виде матрицы, графа или блок-схемы.
Важным достоинством условных алгоритмов является то, что они эффективнее безусловных алгоритмов. Как правило, всегда удается найти условный алгоритм, который лучше оптимального безусловного алгоритма. Однако поиск оптимальных условных алгоритмов – очень сложная задача. Ее удается решить в частных отдельных случаях. Существует довольно много методов ее решения, удобных, как правило, при определенной постановке задачи. Однако нет универсальных методов, и почти всегда такая задача требует творческого подхода. Одним из методов, позволяющих строить оптимальные условные и безусловные алгоритмы, является метод динамического программирования.
Задача рассматривается в следующей постановке. Система (объект диагностирования) состоит из нескольких элементов, каждый из которых может находиться в исправном или неисправном состоянии. Это определяет довольно много различных состояний системы, различающихся тем, какие именно элементы системы исправны, а какие – нет. Допускается несколько состояний системы объединять в одно состояние, поэтому общее число возможных состояний системы может оказаться практически любым из широкого интервала. Диагностирование ведется с точностью до состояния.
Исходными
данными для построения алгоритма
(условного или безусловного) по-прежнему
является матрица допустимых тестов,
содержащая информацию обо всех возможных
состояниях sj
системы и всех допустимых проверках
.
На пересечении i-ой строки и j-го столбца
стоит результат 0 или 1 тестирования
объекта i-ой проверкой при условии, что
объект находится в состоянии sj.
Известными являются также вероятности
p(sj),
с которыми объект может находиться в
состоянии sj.
Поскольку матрица допустимых тестов
содержит информацию обо всех возможных
состояниях объекта, то выполняется
условие
,
где n – число возможных состояний
объекта.
Построение оптимального алгоритма требует критерия оптимальности – одного из показателей диагностирования. В роли критерия рассмотрим среднюю стоимость диагностирования. Тогда постановка задачи должна содержать информацию о стоимости ci каждой проверки . Предполагается, что эти стоимости не зависят ни от порядка выполнения проверок, ни от их результатов.
Процесс диагностирования происходит следующим образом. Результатом любой проверки являются только два числа 0 и 1, следовательно, каждая проверка делит множество S={sj} всех проверок на два подмножества. Результат первой проверки делит множество S на подмножества S0 и S1, причем указывает, какому именно подмножеству принадлежит истинное состояние системы. Результат следующей проверки делит это подмножество на два более мелких, также указывая, какому из них принадлежит истинное состояние системы, и так далее. После каждой проверки уменьшается множество возможных состояний системы. Процесс продолжается до тех пор, пока в этом множестве останется лишь одно состояние – истинное (и задача будет решена), либо пока не закончатся проверки (и задача будет решена не до конца).
Допустим,
что первой выполнялась некоторая
проверка
.
Она делит множество состояний S
на подмножества
и
.
Вероятности того, что истинное состояние
системы принадлежит
или
находим по формулам:
и
.
Тогда средняя стоимость диагностирования равна
.
Здесь
и
-
средние стоимости диагностирования
системы
при условии, что ее истинное состояние
принадлежит множествам
и
соответственно. Алгоритм диагностирования
будет оптимальным, если
Здесь П – множество всех допустимых проверок . На первый взгляд эта формула говорит об оптимальности выбора первой проверки. Однако средние стоимости и тоже были найдены по некоторым последовательностям проверок. Общий минимум в формуле требует, чтобы эти последовательности были оптимальными. Таким образом, оптимальный выбор первой проверки предполагает умение оптимально выбирать все последующие проверки. Метод динамического программирования предлагает сначала оптимальным образом выбрать последнюю проверку, а точнее научиться выбирать ее в различных ситуациях. Затем, используя все ту же формулу, научиться выбирать оптимальную последовательность из предпоследней и последней проверок тоже в любых ситуациях. И так от конца - к началу, к первой проверке. Это требует большого перебора различных последовательностей проверок, но перебора целенаправленного.
Строя оптимальные последовательности по условному или безусловному принципу получим условный или безусловный оптимальный алгоритм. Оптимальный безусловный алгоритм с безусловной остановкой строится перебором всех 2m -1 подмножеств Пν множества П, где m – число допустимых проверок. Построение оптимального безусловного алгоритма с условной остановкой или условного алгоритма требует кроме этого перебор всех последовательностей проверок внутри каждого подмножества Пν.
Построение оптимального безусловного алгоритма осуществляют в направлении от последней проверки к первой, постепенно увеличивая длину последовательностей проверок. При этом определяют минимальную стоимость диагностирования по подмножеству проверок Пν. Если Пν состоит из одной проверки , то эта стоимость C(Пν) = cj. Если Пν состоит из нескольких проверок, то
где
- стоимость выполнения множества проверок
;
- сумма вероятностей тех состояний из
S, которые не различаются после выполнения
множества проверок
;
- множество проверок, которое получается
удалением проверки
из множества Пν.
Рассмотрим сказанное на примере. Исходные данные для построения алгоритма диагностирования содержатся в таблице 3.1. Матрица допустимых тестов содержит четыре проверки для распознания пяти состояний системы, стоимости этих проверок и вероятности состояний. Заметим, что сумма всех вероятностей действительно равна единице. Множество П содержит m = 4 проверки. Число подмножеств Пν множества П равно 24 – 1 = 15. Составляем вспомогательную таблицу 3.2, во второй столбец которой заносим все 15 подмножеств Пν.
Таблица 3.1.
Матрица допустимых тестов объекта
П |
S |
cj |
||||
s1 |
s2 |
s3 |
s4 |
s5 |
||
|
0 |
1 |
1 |
1 |
1 |
30 |
|
0 |
0 |
0 |
1 |
1 |
40 |
|
1 |
1 |
0 |
1 |
1 |
10 |
|
1 |
1 |
0 |
0 |
1 |
50 |
P(sj) |
0,1 |
0,15 |
0,2 |
0,25 |
0,3 |
|
Для каждого из подмножеств Пν по таблице 3.1определяем те состояния системы, которые однозначно различаются после проведения всех проверок этого подмножества; результаты заносим в третий столбец таблицы 3.2. Вероятности тех состояний системы, которые не различаются после проведения всех проверок подмножества Пν, суммируем и заносим в столбец четыре таблицы 3.2. Вычисляем среднюю стоимость выполнения всех проверок подмножества Пν по приведенной выше формуле. По минимальной стоимости проводим упорядочение проверок в подмножестве Пν. Результаты вычислений записываем в пятый столбец таблицы 3.2. Общая последовательность вычислений совпадает с нумерацией строк этой таблицы.
Приведем вычисления пятого столбца таблицы. Первые четыре строки пятого столбца таблицы 3.2 заполняем непосредственно по данным таблицы 3.1. Далее вычисляем средние стоимости по формуле. Для удобства пользуемся следующими обозначениями: в фигурных скобках записываем неупорядоченный набор проверок, а в квадратных скобках – последовательность проверок, то есть упорядоченный набор. Поскольку порядок проверок в фигурных скобках значения не имеет, всегда записываем их по возрастанию номеров проверок.
;
По
минимуму средней стоимости находим
и записываем в пятый столбец. Далее
вычисляем
;
.
Аналогично
находим
и заносим в пятый столбец таблицы 3.2.
Точно так же находим стоимости остальных
Пν
из двух проверок:
Используя эти стоимости находим стоимости подмножеств из трех проверок:
По
минимуму средней стоимости находим
.
Аналогично находим
;
;
и заносим в пятый столбец таблицы 3.2.
Используя найденные величины находим
стоимость множества П:
По
минимуму средней стоимости находим
.
Анализируя
четвертый столбец, видим в нем только
два нуля. Только два набора проверок
обеспечивают распознавание всех
состояний объекта, только они и пригодны
для создания алгоритмов любого типа.
Тогда существует только два безусловных
алгоритма с безусловной остановкой
и
.
Таблица 3.2.
Подмножества проверок и их стоимости.
Номер ν
|
Пν |
Sν |
q(Пν) |
C(Пν) |
|
2 |
3 |
4 |
5 |
1 |
|
S1 |
0,9 |
30 |
2 |
|
- |
1 |
40 |
3 |
|
S3 |
0,8 |
10 |
4 |
|
- |
1 |
50 |
5 |
|
S1 |
0,9 |
66 |
6 |
|
S1,S3 |
0,7 |
34 |
7 |
|
S1 |
0,9 |
75 |
8 |
|
S3 |
0,8 |
42 |
9 |
|
S3,S4,S5 |
0,25 |
90 |
10 |
|
S3,S4 |
0,55 |
50 |
11 |
|
S1,S2,S3 |
0,55 |
62 |
12 |
|
S1,S2,S3,S4,S5 |
0 |
97,5 |
13 |
|
S1,S3,S4 |
0,45 |
65,5 |
14 |
|
S3,S4,S5 |
0,25 |
72 |
15 |
|
S1,S2,S3,S4,S5 |
0 |
79,5 |
Первый из них содержит на одну проверку меньше, он и будет оптимальным. Стоимость диагностирования по этому алгоритму равна суммарной стоимости его проверок, то есть 120.
Находим
оптимальный безусловный алгоритм с
условной остановкой. Из пятого столбца
видим, что первый набор дает наименьшую
среднюю стоимость
при
последовательности проверок
и
.
Набор из четырех проверок дает наименьшую
среднюю стоимость диагностирования
при
последовательности
проверок. Эта последовательность и
будет оптимальным безусловным алгоритмом
с условной остановкой. На рис. 3.1 приводится
блок-схема этого алгоритма.
Рис. 3.1. Блок-схема оптимального безусловного алгоритма с условной остановкой
Непосредственно по блок-схеме находим среднюю стоимость диагностирования:
Она совпадает со стоимостью, найденной по таб. 3.2.
Рис.3.2 Блок схема условного алгорима
Условный алгоритм также можно создавать только с помощью наборов проверок или . На рис. 3.2 приводится блок-схема условного алгоритма со средней стоимостью диагностирования:
Предложенный условный алгоритм лучше оптимальных безусловных алгоритмов.