Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FINAL.doc
Скачиваний:
80
Добавлен:
04.06.2015
Размер:
1.29 Mб
Скачать
      1. Алгоритм голосования абсолютным большинством (габ)

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

Считается, что выходы большинства (т.е. класс, с числом элементом равным или превышающим m) мультиверсий – корректны, а остальные – ошибочны. Если равных выходов меньше чемm, то такая ситуация трактуется как неопределенность и принять решение невозможно.

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

Для реализации данного метода используется булева матрица согласованияR. Элементы этой матрицы определяются следующим образом:

Иными словами, если выход версии i«согласен» с выходом версииjи дополнительно включает некоторую областьε, тоrij= 1, иначеrij=0.

Для принятия решения, используя алгоритм голосования абсолютным большинством, необходимо в матрице Rнайти такую строкуi, сумма элементов которой будет больше или равна пороговому значениюm.Тогда все мультиверсииj, которым соответствуютrijравные единице, являются корректными, а остальные ошибочными. В случае, когда такой строки не существует, происходит ошибку – решение принять невозможно.

      1. Алгоритм голосования согласованным большинством (гсб)

Чтобы принять решение, используя метод голосования согласованным большинством, необходимо выбрать такой класс выходов мультиверсий, число элементов в котором больше, чем во всех остальных (т.е. с максимальным числом элементов). При наличии нескольких таких классов, предлагается случайный выбор любого из них.

Для реализации, как и в методе ГАБ, составляется матрица согласования R. Выбор нужного множества корректных выходов осуществляется в два этапа:

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

  2. случайным образом выбирается любая из этих строк

Если у найденной строки номер i, тогда все мультиверсииj, которым соответствуютrijравные единице, являются корректными, а остальные ошибочными.

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

Основным недостатком классического алгоритма ГСБ является то, что решение принимается без учета накапливаемой статистики сравнения. При недостаточно высокой надежности самих программных модулей, снижается вероятность того, что класс с относительно большим числом элементов будет корректным. Это связано, с одной стороны, с тем, что корректные состояния может быть и в группе с несколько меньшим числом элементов, чем самая большая. А с другой – это элемент случайности при выборе среди классов с одинаковым числом состояния.

В качестве повышения устойчивости к межверсионным ошибкам, и увеличения эффективности классической методики в целом, можно предложить принимать решение не на основании самого факта большинства равных состояний, а опираясь на вес класса. Под весом множества выходов будем понимать сумму вероятностей корректного выхода входящих в него мультиверсий и сумму вероятностей ошибочного выхода для не входящих:

, где

i– номер строки в матрице согласования;

pj– вероятность корректного выхода мультиверсииj;

n– количество мультиверсий.

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

Тогда схема выбора нужного класса выходов принимает вид:

  1. выбираются и запоминаются все строки, обладающие максимальным весом

  2. случайным образом выбирается любая из этих строк

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]