Loading [MathJax]/jax/output/HTML-CSS/jax.js
Skip to main content
LibreTexts - Ukrayinska

4.2: MATLAB та незалежні класи

MATLAB та незалежні класи

У одиниці на Мінтермах показано, як використовувати мінтермальні ймовірності та мінтермові вектори для обчислення ймовірностей булевих комбінацій подій. В Independence of Events ми показуємо, що в незалежному випадку ми можемо обчислити всі мінтермальні ймовірності з ймовірностей основних подій. Хоча ці розрахунки прості, вони можуть бути виснажливими і схильні до помилок. На щастя, у цьому випадку у нас є m-функція minprob, яка обчислює всі мінтермальні ймовірності з ймовірностей базових або генеруючих наборів. Ця функція використовує m-функцію mintable для налаштування шаблонів з іp 'qs для різних minterms, а потім приймає продукти, щоб отримати набір minterm ймовірностей.

Приклад4.2.1

>> pm = minprob(0.1*[4 7 6])
   pm = 0.0720  0.1080  0.1680  0.2520  0.0480  0.0720  0.1120  0.1680

Можливо, бажано розташувати їх як на мінтермальній карті. Для цього ми маємо m-функцію minmap, яка змінює матрицюpm рядків наступним чином:

>> t = minmap(pm)
t = 0.0720    0.1680    0.0480    0.1120
    0.1080    0.2520    0.0720    0.1680

Імовірність виникнення k n незалежних подій

У прикладі 2 показано, як використовувати m-функції mintable та csort для отримання ймовірностіk виникненняn подій, коли доступні мінтермальні ймовірності. У випадку з незалежним класом, мінтермальні ймовірності легко обчислюються мінпроб, необхідно лише вказати ймовірності дляn основних подій і номериk подій. Визначається розмір класу, звідси і mintable, а мінтермальні ймовірності обчислюються minprob. У нас є дві корисні m-функції. ЯкщоP є матрицею ймовірностейn окремих подій, іk є матрицею цілих чисел менше або дорівнюєn, то

функціяy=ikn(P,k) обчислює індивідуальніk ймовірності, щоn відбуваються

функціяy=ckn(P,k) обчислює ймовірності, які виникаютьk або більше

Приклад4.2.2

>> p = 0.01*[13 37 12 56 33 71 22 43 57 31];
>> k = [2 5 7];
>> P = ikn(p,k)
P =    0.1401    0.1845    0.0225       % individual probabilities
>> Pc = ckn(p,k)
Pc =   0.9516    0.2921    0.0266       % cumulative probabilities

Надійність систем з незалежними компонентами

Припустимо, система маєn компоненти, які виходять з ладу самостійно. EiДозволяти подією, коли компонентi th переживає зазначений період часу. ТодіRi=P(Ei) визначається як надійність цього компонента. RНадійність повної системи - це функція надійності компонентів. Існує три основні конфігурації. Загальні системи можуть бути розкладені на підсистеми цих типів. Підсистеми стають компонентами більшої конфігурації. Три основні конфігурації:

Серія. Система працює, якщо працюють всі n компонентів:R=ni=1Ri

Паралельний. Система працює, якщо не всі компоненти виходять з ладу:R=1ni=1(1Ri)

k п. Система працює, якщо працюєk більше компонентів. Rможна обчислити за допомогою m-функції cn. Якщо ймовірності компонента однакові, ефективніше використовувати m-функцію cbinom (див. Проби Бернуллі та біноміальний розподіл нижче).

Рішення MATLAB. Помістіть надійність компонента в матрицюRC=[R1 R2  Rn]

Конфігурація серії

  >> R = prod(RC)     % prod is a built in MATLAB function

Паралельна конфігурація

  >> R = parallel(RC) % parallel is a user defined function

k або n Конфігурація

  >> R = ckn(RC,k)    % ckn is a user defined function (in file ckn.m).

Приклад4.2.3

Існує вісім компонентів, пронумерованих від 1 до 8. Компонент 1 послідовно з паралельним поєднанням компонентів 2 і 3 з подальшим поєднанням 3 з 5 компонентів 4 по 8 (схематичне зображення див. Рис. Ймовірності компонентів в порядку є

0,95 0,90 0,92 0,80 0,83 0,91 0,85 0,85

Друга і третя ймовірності - для паралельної пари, а останні п'ять ймовірностей - для комбінації 3 з 5.

>> RC = 0.01*[95 90 92 80 83 91 85 85];        % Component reliabilities
>> Ra = RC(1)*parallel(RC(2:3))*ckn(RC(4:8),3) % Solution
Ra = 0.9172
Малюнок 4.2.1. Схематичне зображення системи на прикладі

Приклад4.2.4

>> RC = 0.01*[95 90 92 80 83 91 85 85];    % Component reliabilities 1--8
>> Rb = prod(RC(1:2))*parallel([RC(3),ckn(RC(4:8),3)])     % Solution
Rb = 0.8532
Малюнок 4.2.2. Схематичне зображення системи на прикладі

Тест на незалежність

Важко подивитися на список мінтермальних ймовірностей і визначити, утворюють чи генеруючі події незалежний клас. M-функція imintest має як аргумент вектор мінтермальних ймовірностей. Він перевіряє можливий розмір, визначає кількість змінних і виконує перевірку на незалежність.

Приклад4.2.5

>> pm = 0.01*[15 5 2 18 25 5 18 12];   % An arbitrary class
>> disp(imintest(pm))
The class is NOT independent
Minterms for which the product rule fails
     1     1     1     0
     1     1     1     0

Приклад4.2.6

>> pm = [0.10 0.15 0.20 0.25 0.30]: %An improper number of probabilities
>> disp(imintest(pm))
The number of minterm probabilities incorrect

Приклад4.2.7

>> pm = minprob([0.5 0.3 0.7]);
>> disp(imintest(pm))
The class is independent

Імовірності булевих комбінацій

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

Приклад4.2.8 A simple Boolean combination

Припустимо, клас {AB,,C} є незалежним, з відповідними ймовірностями 0,4, 0,6, 0,8. ВизначтеP(ABC). Довгострокова експансія - це

ABC=M(3,4,5,6,7), so that P(ABC)=p(3,4,5,6,7)

Неважко використовувати правило продукту та теорему заміни для обчислення необхідних мінтермальних ймовірностей. Таким чиномp(3)=P(Ac)P(B)=P(C)=0.60.60.8=0.2280. Аналогічноp(4)=0.0320p(5)=0.1280,p(6)=0.0480,,p(7)=0.1920. Бажана ймовірність - це сума цих, 0.6880.

Як альтернативний підхід пишемо

ABC=AAcBC, щобP(ABC)=0.4+0.60.60.8=0.6880

Значно менше арифметичних операцій потрібно в цьому розрахунку.

У великих задачах, або в ситуаціях, коли ймовірності декількох булевих комбінацій повинні бути визначені, може бути бажано обчислити всі мінтермальні ймовірності, а потім використовувати методи мінтерм-вектора, введені раніше для обчислення ймовірностей для різних булевих комбінацій. Як більший приклад, для якого обчислювальна допомога є дуже бажаною, знову розглянемо клас та ймовірності, використані в прикладі 4.2.2, вище.

Приклад4.2.9

Розглянемо ще раз незалежний клас {E1,E2,E10} з відповідними ймовірностями [0.13 0.37 0.12 0.56 0.33 0.71 0.22 0.43 0.57 0.31]. Бажаємо розрахувати
P(F)=P(E1E3(E4Ec7)E2(Ec5E6E8)E9Ec10)

Існують210=1024 мінімальні ймовірності, які потрібно обчислити. Кожен вимагає множення десяти чисел. Рішення з MATLAB є простим, наступним чином:

>> P = 0.01*[13 37 12 56 33 71 22 43 57 31];
>> minvec10
Vectors are A1 thru A10 and A1c thru A10c
They may be renamed, if desired.
>> F = (A1|(A3&(A4|A7c)))|(A2&(A5c|(A6&A8)))|(A9&A10c);
>> pm = minprob(P);
>> PF = F*pm'
PF =  0.6636

Виписання виразу дляF є нудним і схильним до помилок. Ми могли б спростити наступним чином:

>> A = A1|(A3&(A4|A7c));
>> B = A2&(A5c|(A6&A8));
>> C = A9&A10c;
>> F = A|B|C;               % This minterm vector is the same as for F above

Це розкладання проблеми вказує на те, що вона може бути вирішена як низка менших проблем. По-перше, нам потрібні деякі центральні факти про незалежність булевих комбінацій.

Незалежні логічні комбінації

Припустимо, що у нас є логічна комбінація подій у класі {Ai:1in} та друга комбінація подій у класі {Bj:1jm}. Якщо комбінований клас {Ai,Bj:1in,1jm} незалежний, ми очікуємо, що комбінації підкласів будуть незалежними. Важливо бачити, що це насправді є наслідком правила продукту, оскільки це ще одне свідчення того, що правило продукту охопило суть інтуїтивного поняття незалежності. У наступному обговоренні ми показуємо істотну структуру, яка забезпечує основу для наступної загальної пропозиції.

Пропозиція. Розглянемоn окремі підкласи незалежного класу подій. Якщо для кожноїi подіїAi)isaBoolean(logical)combinationofmembersofthe\(i -й підклас, то клас {\ (A_1, A_2,\ cdot\ cdot\ cdot, a_n} є незалежним класом.

Перевірка цього далекосяжного результату спирається на мінтермальне розширення і два елементарних факти про неспільних підкласах незалежного класу. Ми констатуємо ці факти і розглядаємо в кожному конкретному випадку приклад, який демонструє істотну структуру. Формулювання загального результату, в кожному конкретному випадку, просто питання ретельного використання позначень.

Клас, кожен з членів якого є мінтерміном, утвореним членами окремого підкласу незалежного класу, сам по собі є незалежним класом.

Приклад4.2.10

Розглянемо незалежний клас {A1,A2,A3,B1,B2,B3,B4}, з відповідними ймовірностями 0,4, 0,7, 0,3, 0,5, 0,8, 0,3, 0,6. РозглянемоM3, minterm три для класу {A1,A2,A3}, іN5, minterm п'ять для класу {B1,B2,B3,B4}. Тоді

P(M3)=P(Ac1A2A3)=0.60.70.3=0.126іP(N5)=P(Bc1B2Bc3B4)=0.50.80.70.6=0.168

Також

P(M3N5)=P(Ac1A2A3Bc1B2Bc3B40=0.60.70.30.50.80.70.6

=(0.60.70.3)(0.50.80.70.6)=P(M3)P(N5)=0.0212

Правило продукту показує бажану незалежність.

Знову ж таки, має бути очевидним, що результат тримає будь-яку кількістьAi іBj; і його можна розширити на будь-яку кількість різних підкласів незалежного класу.

Припустимо, кожен член класу може бути виражений у вигляді нез'єднаного союзу. Якщо кожен допоміжний клас, утворений шляхом взяття по одному члену з кожного з нероз'єднаних об'єднань, є незалежним класом, то початковий клас незалежний.

Приклад4.2.11

ПрипустимоB=B1B2,A=A1A2A3 і, з {Ai,Aj} незалежним для кожної париi,j. Припустимо
P(A1)=0.3,P(A2)=0.4,P(A3)=0.1,P(B1)=0.2,P(B2)=0.5

Ми хочемо показати, що пара {A,B} є незалежною; тобто правило продуктуP(AB)=P(A)P(B) тримається.

ОБЧИСЛЕННЯ

P(A)=P(A1)+P(A2)+P(A3)=0.3+0.4+0.1=0.8іP(B)=P(B1)+P(B2)=0.2+0.5=0.7

Зараз

AB=(A1A2A3)(B1B2)=A1B1A1B2A2B1A2B2A3B1A3B2

За адитивності та попарної незалежності ми маємо

P(AB)=P(A1)P(B1)+P(A1)P(B2)+P(A2)P(B1)+P(A2)P(B2)+P(A3)P(B1)+P(A3)P(B2)
=0.30.2+0.30.5+0.40.2+0.40.5+0.10.2+0.10.5=0.56=P(A)P(B)

Правило добутку також може бути встановлено алгебраїчно з виразу forP(AB), наступним чином:

P(AB)=P(A1)[P(B1)+P(B2)]+P(A2)[P(B1)+P(B2)]+P(A3)[P(B1)+P(B2)]
=[P(A1)+P(A2)+P(A3)][P(B1)+P(B2)]=P(A)P(B)

Повинно бути зрозуміло, що тільки що проілюстрований візерунок можна розширити на загальний випадок. Якщо

A=ni=1AiіB=mj=1Bj, з кожною парою {Ai,Bj} незалежною

то пара {A,B} незалежна. Крім того, ми можемо розширити це правило до потрійного {A,B,C}

A=ni=1Ai,B=mj=1Bj, іC=rk=1Ck, з кожним класом {Ai,Bj,Ck} незалежним

і аналогічно для будь-якого кінцевого числа таких комбінацій, так що друга пропозиція тримає.

Почніть зЗнімок екрана 2020-01-27 о 10.08.28 AM.png самостійного класуn подій. Виберітьm різні підкласи і сформуйте логічні комбінації для кожного з них. Використання мінтермального розширення для кожної з цих булевих комбінацій та двох лише проілюстрованих пропозицій показує, що клас логічних комбінацій є незалежним.

Для ілюстрації повернемося до Прикладу 4.2.9, який передбачає незалежний клас з десяти подій.

Приклад4.2.12 A hybrid approach

Розглянемо знову незалежний клас {E1,E2,,E10} з відповідними ймовірностями {0,13 0,37 0,12 0,56 0,33 0,71 0,22 0,43 0,57 0,31}. Бажаємо розрахувати

P(F)=P(E1E3(E4Ec7)E2(Ec5E6E8)E9E10c)

У попередньому рішенні ми використовуємо minprob, щоб обчислити210=1024 мінтерми для всіх десятиEi і визначити мінтерм-вектор дляF. Як ми відзначаємо в почерговому розширенніF,

F=ABC, колиA=E1E3(E4Ec7)B=E2(Ec5E6E8)C=E9Ec10

Ми можемо розраховувати безпосередньоP(C)=0.570.69=0.3933. ТеперA це логічна комбінація {E1,E3,E4,E7} і B є комбінацією {E2,E5,E6E8}. За результатом незалежності булевих комбінацій клас {A,B,C} є незалежним. Використовуємо m-процедури для розрахункуP(A) іP(B). Потім ми маємо справу з незалежним класом {A,B,C} для отримання ймовірностіF.

>> p  = 0.01*[13 37 12 56 33 71 22 43 57 31];
>> pa = p([1 3 4 7]);     % Selection of probabilities for A
>> pb = p([2 5 6 8]);     % Selection of probabilities for B
>> pma = minprob(pa);     % Minterm probabilities for calculating P(A)
>> pmb = minprob(pb);     % Minterm probabilities for calculating P(B)
>> minvec4;
>> a = A|(B&(C|Dc));      % A corresponds to E1, B to E3, C to E4, D to E7
>> PA = a*pma'
PA = 0.2243
>> b = A&(Bc|(C&D));      % A corresponds to E2, B to E5, C to E6, D to E8
>> PB = b*pmb'
PB = 0.2852
>> PC = p(9)*(1 - p(10))
PC = 0.3933
>> pm = minprob([PA PB PC]);
>> minvec3                % The problem becomes a three variable problem
>> F = A|B|C;             % with {A,B,C} an independent class
>> PF = F*pm'
PF = 0.6636               % Agrees with the result of Example 4.2.7