Składnia i semantyka

Program generatywny to program wykonywalny, w którym każdy losowy wybór definiuje zmienną losową w powiązanym modelu prawdopodobieństwa. Wyobraźmy sobie, że krok po kroku rozwijamy wykonanie programu dokonującego losowych wyborów. Niech Xi będzie zmienną losową odpowiadającą i-temu losowemu wyborowi dokonanemu przez program; jak zwykle xi oznacza możliwą wartość Xi. Wywołajmy ω = {xi} ślad wykonania programu generatywnego – czyli sekwencja możliwych wartości dla losowych wyborów. Jednokrotne uruchomienie programu generuje jeden taki ślad, stąd określenie „program generatywny”. Przestrzeń wszystkich możliwych śladów wykonania Ω można postrzegać jako przestrzeń próbki modelu prawdopodobieństwa zdefiniowanego przez program generatywny. Rozkład prawdopodobieństwa po śladach można zdefiniować jako iloczyn prawdopodobieństw każdego indywidualnego losowego wyboru: P(ω) = ΠiP(xi|x1,…,xi-1). Jest to analogiczne do dystrybucji na światy w OUPM. Koncepcyjnie proste jest przekształcenie dowolnego OUPM w odpowiedni program generatywny. Ten program generatywny dokonuje losowych wyborów dla każdego wyrażenia liczbowego i dla wartości każdej podstawowej zmiennej losowej, której istnienie jest implikowane przez wyrażenia liczbowe. Główną dodatkową pracą, jaką musi wykonać program generatywny, jest utworzenie struktur danych, które reprezentują obiekty, funkcje i relacje możliwych światów w OUPM. Te struktury danych są tworzone automatycznie przez silnik wnioskowania OUPM, ponieważ OUPM zakłada, że ​​każdy możliwy świat jest strukturą modelu pierwszego rzędu, podczas gdy typowy PPL nie przyjmuje takiego założenia. Obrazy na rysunku można wykorzystać do intuicyjnego zrozumienia rozkładu prawdopodobieństwa P(Ω): widzimy różne poziomy szumu, a na mniej zaszumionych obrazach widzimy również sekwencje liter o różnej długości.

Niech ω1 będzie śladem odpowiadającym obrazowi w prawym górnym rogu tej figury, zawierającym litery ocflwe. Gdybyśmy rozwinęli ten ślad ω1 do sieci bayesowskiej, miałby 4104 węzłów: 1 węzeł dla zmiennej n; 6 węzłów dla zmiennych letters[i]; 1 węzeł dla wariancji szumu; i 4096 węzłów dla pikseli w zaszumionym obrazie. Widzimy zatem, że ten program generatywny definiuje model prawdopodobieństwa otwartego wszechświata: liczba dokonywanych przez niego losowych wyborów nie jest ograniczona a priori, lecz zależy od wartości zmiennej losowej n.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *