Uskomuksen leviämisalgoritmi , luottamuksen leviämisalgoritmi , myös summatuloalgoritmi , on marginalisointialgoritmi , joka käyttää kaksisuuntaista viestiä, joka välittää graafin ja jota käytetään päättelemään graafisista todennäköisyysmalleista (kuten Bayesin ja Markovin verkot ). J. Pearlin ehdotus vuonna 1982.
Harkitse toimintoa:
, missäSaadaksesi todennäköisyys, sinun on normalisoitava se:
Seuraavat tehtävät otetaan huomioon:
Kaikki nämä ongelmat ovat NP-täydellisiä , joten niiden pahimman tapauksen monimutkaisuus kasvaa eksponentiaalisesti. Jotkut erikoistapaukset voidaan kuitenkin ratkaista nopeammin, minkä tämä algoritmi tekee .
Algoritmin käyttämä graafi koostuu muuttujia vastaavista pisteistä ja funktioita vastaavista pisteistä. Funktiot on kytketty muuttujiin, joista ne riippuvat.
Esimerkiksi toiminnot
vastaa seuraavaa kaaviota:
Kaaviossa lähetetään kahdenlaisia viestejä: funktioista muuttujiin ja muuttujista funktioihin.
Muuttujasta funktioon :
(tässä on joukko i:n vieressä olevia pisteitä)
Funktiosta muuttujaksi :
Tässä tapauksessa tyhjän tuotteen oletetaan olevan yhtä suuri kuin yksi. Näistä kaavoista voidaan nähdä, että jos kärjessä on vain yksi naapuripiste, niin sen (vertex) sanoma voidaan laskea tietämättä saapuvia viestejä.
On olemassa kaksi lähestymistapaa, riippuen tuloksena olevan kaavion luonteesta.
Oletetaan, että graafi on puu . Lehdistä alkaen ohitamme vähitellen kaikki kärjet ja laskemme viestejä (tässä tapauksessa pätee vakioviestinvälityssääntö: viesti voidaan lähettää vain, jos se voidaan rakentaa kokonaan).
Sitten algoritmi päättyy useissa vaiheissa, jotka ovat yhtä suuria kuin kaavion halkaisija .
Jos kuvaaja ei ole puu , voit aloittaa siten, että kaikki muuttujat lähettävät viestin 1, ja sitten muokata sitä, kun funktioiden viestit saavuttavat ne.
Tällainen algoritmi toimii yleensä väärin ja tekee paljon turhaa työtä, mutta käytännössä siitä on silti hyötyä.
Kun viestien jakelu on valmis, marginaalit lasketaan seuraavan kaavan mukaan:
Jos haluat laskea vain normalisoidut marginaalit ( todelliset todennäköisyydet ), voit normalisoida viestit muuttujista funktioiksi kussakin vaiheessa:
,missä on valittu niin
Matemaattisesta näkökulmasta algoritmi hajottaa uudelleen alkuperäisen jaottelun:
työhön:
,jossa vastaa funktiosolmuja ja muuttujasolmuja.
Aluksi ennen viestiä ja
Joka kerta kun funktiosta tulee viesti muuttujalle ja lasketaan uudelleen:
,On selvää, että kokonaistuote ei muutu tästä, ja viestien lähetyksen lopussa siitä tulee marginaalinen .