220 likes | 310 Views
Päätösteoreettinen vianhaku. Tommi Nykopp. Päätösteoreettinen vianhaku. Laitteessa/kojeessa/systeemissä on vika, joka estää sen täysipainoisen käytön Vikaa yritetään korjata askeleittain valitsemalla korjaustoimenpide eri vaihtoehdoista Jokaisella toimenpiteellä on oma kustannus
E N D
Päätösteoreettinen vianhaku Tommi Nykopp
Päätösteoreettinen vianhaku • Laitteessa/kojeessa/systeemissä on vika, joka estää sen täysipainoisen käytön • Vikaa yritetään korjata askeleittain valitsemalla korjaustoimenpide eri vaihtoehdoista • Jokaisella toimenpiteellä on oma kustannus • Päätöspuita sovelletaan jäsentämään ongelma ja minimoimaan korjauskustannukset
Esimerkki: Hugin • Eli Hugin ei näytä toimivan, mutta kotitehtävät pitäisi tehdä. Huginilla se onnistuisi nopeimmin • Korjaustoimenpiteiden kustannus: aika • Kotitehtävät voi tehdä myös kynällä ja paperilla, mutta se on työlästä…
Esimerkki: Hugin • Mahdollisia korjaustoimenpiteitä • Tarkkuus antaa todennäköisyyden, että toimenpide korjaa vian, jos vika esiintyy
Esimerkki: HuginLite käsin käsin asennus Java käsin D1 D2 D3 Windows käsin asennus D2 D3 Uusi softa käsin D2
Korjaustoimenpiteet • Korjausvaihtoehtoja on n kappaletta, joista valitaan toimenpide A • Toimenpiteellä A on kaksi tilaa, ’kyllä’ ja ’ei’, eli vika on korjaantunut tai ei • Toimenpide korjaa vian todennäköisyydellä P(A=’kyllä’| ), jossa on evidenssi (epäonnistuneet toimenpiteet) • Vaihtoehtoja kokeillaan yksi kerrallaan kunnes vika korjaantuu.
Korjaustoimenpiteet • Jokaisella toimenpiteellä Ai on kustannus CAi • Yleensä kustannus liittyy toimenpiteeseen kuluvaan aikaan ja hintaan • Kustannus voi myös riippua edeltäneistä toimenpiteistä (evidenssistä) • Hugin esimerkissä korjaukseen kuluva aika
Korjauskustannusten odotusarvo • Suoritetut toimenpiteet muodostavat sekvenssin s s = <A1, A2, …, An> • Korjauskustannusten odotusarvo KKO korjaussekvensille s KKO(s) = sum_iCAi(i-1)P(i-1) • Päätosteoreettisen vianhaun tarkoitus on löytää sekvenssi s, jolle KKO on pienin • Huomioitavaa: vaikka miellä on kustannusten odotusarvo, vika ei välttämättä korjaannu
Tehokkuus • Tutkitaan kahta korjaustoimenpidettä M ja H ja muodostetaan niistä kaksi eri sekvenssiä V1 = <H, M> ja V2 = <M, H> • Oletetaan, että CM,H eivät riipu aiemmista toimenpiteistä • Jos V1 on parempi KKO:n suhteen kuin V2, niin silloin H + MP(H=’ei’) < M + HP(M=’ei’) H(1 - P(M=’ei’)) < M(1 - P(H=’ei’)) P(M=’kyllä’)/M< P(H=’kyllä’)/H
Tehokkuus • Suhdetta ef = P(A=’kyllä’)/A kutsutaan toimenpiteen A tehokkuudeksi • Korjaustoimenpiteet voidaan laittaa suuruusjärjestykseen tehokkuuden mukaan • Lisäksi korjauspuun haarassa tarvitsee vain kokeilla ne toimenpiteet, joilla on pienempi tehokkuus
Korjaus tehokkuuksien perusteella • Asetetaan siis toimenpiteet järjestykseen tehokkuuden mukaan ja aloitetaan suurimmasta tehokkuudesta • On optimaalinen seuraavin edellytyksin • Laitteessa on n vikaa F ja laitteelle on n korjaustoimenpidettä A • Vain yksi vika voi esiintyä kerrallaan • Vika i korjaantuu todennäköisyydellä P(A=’kyllä’|Fi) jolloin muille vioille j P(A=’kyllä’|Fj) = 0 • Korjauskustannukset C ovat riippumattomia muista toimenpiteistä
Korjaus tehokkuuksien perusteella • Edellämainittujen olosuhteiden ollessa voimassa tehokkuuksien järjestys säilyy • Jos m ei korjannut vikaa, sen vaikutus muihin toimenpiteisiin on P(Ai = ’k’|Am = ’e’) = P(Am = ’e’|Ai = ’k’)P(Ai = ’k’)/P(Am=’e’) (HUOM, evidenssi jätetty pois tilanpuutteen takia) • Koska vain yksi vika voi esiintyä kerrallaan, P(Am=’e’|Ai = ’k’) = 1, jolloin P(Ai = ’k’|Am = ’e’) = P(Ai = ’k’)/P(Am = ’e’) • Eli P(Am = ’e’) on normalisoiva vakio muille todennäköisyyksille
Konsultti • Konsultti on toimenpide, jossa ulkopuolinen asiantuntija korjaa vian • Korjaus onnistuu aina, eli ef = 1/kustannus • Hugin esimerkissä tehtävien laskeminen käsin, kirjan kappaleen esimerkissä Team Ahma • Kannattaa suorittaa heti, kun sillä on paras tehokkuus, mutta tämä ei takaa optimia korjaussekvenssiä.
Kysymys • Kysymys on toimenpide, joka kertoo korjaako jokin korjaustoimenpide vian • Kuten korjaustoimenpiteillä, myös kysymyksellä on kustannus • Usein komponentin toiminnan tarkistuksen kustannus on pieni verrattuna komponentin vaihtoon
Kysymys • Kysymys haaroittaa korjaussekvenssin • Haaroittuneelle sekvenssille KKOQ = P(Q=’k’| )KKOQ=’k’ +P(Q=’e’|)KKOQ=’e’ • Jos KKO - KKOQ > CQ kysymys kannattaa suorittaa • Usein kysymys suoritetaan aina ennen toimenpidettä, jolloin (kalvon 12 ehtojen toteutuessa) KKO = i[(1-j(i-1)Pj)CQi + PiCAi]
Esimerkki: Lentokoneen ilmastointi • Optimaalinen korjausstrategia mallin Boeing 737NG ilmastoinnin korjaukseen • Paasch, Durgi: Optimal troubleshooting for electro-mechanical systems, proceedings of DETC.03 ASME 2003 Design Engineering Technical Conferences and Computers and Information in Engineering Conference Chicago, Illinois, USA, September 2-6, 2003
Yhteenveto • Päätöspuita voi käyttää vianhaun optimointiin • Paras korjaussekvenssi (puun polku) on se, jolle keskimääräinen korjauskustannus on pienin • Korjaustoimenpiteet A voi laittaa järjestykseen niiden tehokkuuden ef = P(A=’kyllä’)/A • Mallia voi tarkentaa Konsultti ja Kysymys toimenpiteillä
Kotitehtävä • Laske kalvon 5 toimenpiteille tehokkuudet • Laske kalvon 6 korjaussekvensseille KKOt • Kuinka soveltaisit ’kysymys’ toimenpidettä Hugin ongelmaan (vastaa parilla rivillä)