PROGRAMOWANIE PROBABILISTYCZNE

Spektrum reprezentacji – atomowe, podzielone na czynniki i ustrukturyzowane – jest stałym tematem w sztucznej inteligencji. W przypadku modeli deterministycznych algorytmy wyszukiwania zakładają tylko reprezentację atomową; CSP i logika zdań zapewniają reprezentacje na czynniki; a logika pierwszego rzędu i systemy planowania wykorzystują ustrukturyzowane reprezentacje. Moc ekspresji, jaką dają ustrukturyzowane reprezentacje, daje modele, które są znacznie bardziej zwięzłe niż równoważne opisy faktorowe lub atomowe. W przypadku modeli probabilistycznych sieci bayesowskie  są reprezentacjami czynnikowymi: zbiór zmiennych losowych jest stały i skończony, a każda z nich ma ustalony zakres możliwych wartości. Fakt ten ogranicza stosowalność sieci bayesowskich, ponieważ reprezentacja sieci bayesowskiej dla domeny złożonej jest po prostu zbyt duża. Sprawia to, że ręczne konstruowanie takich reprezentacji jest niewykonalne i niemożliwe jest nauczenie się ich na podstawie jakiejkolwiek rozsądnej ilości danych. Problem stworzenia wyrazistego języka formalnego dla informacji probabilistycznych obciążył niektóre z największych umysłów w historii, w tym Gottfrieda Leibniza (współtwórcę rachunku różniczkowego), Jacoba Bernoulliego (odkrywcę e, rachunku wariacyjnego i Prawa Numbers), Augustus De Morgan, George Boole, Charles Sanders Peirce (jeden z głównych logików XIX wieku), John Maynard Keynes (czołowy ekonomista XX wieku wieku) oraz Rudolf Carnap (jeden z największych filozofów analitycznych XX wieku). Problem ten opierał się tym i wielu innym wysiłkom aż do lat 90. XX wieku. Częściowo dzięki rozwojowi sieci bayesowskich istnieją obecnie matematycznie eleganckie i niezwykle praktyczne języki formalne, które umożliwiają tworzenie modeli probabilistycznych dla bardzo złożonych dziedzin. Języki te są uniwersalne w tym samym sensie, w jakim maszyny Turinga są uniwersalne: mogą reprezentować dowolny obliczalny model prawdopodobieństwa, tak jak maszyny Turinga mogą reprezentować dowolną obliczalną funkcję. Ponadto języki te są wyposażone w algorytmy wnioskowania ogólnego przeznaczenia, z grubsza analogiczne do dźwięku i pełne algorytmy wnioskowania logicznego, takie jak rozdzielczość. Istnieją dwie drogi wprowadzenia siły wyrazu do teorii prawdopodobieństwa. Pierwszym z nich jest logika: wymyślenie języka, który definiuje prawdopodobieństwa na światach możliwych pierwszego rzędu, a nie na możliwych światach zdaniowych sieci Bayesa. Trasa ta dotyczy konkretnego przypadku wnioskowania w czasie. Druga droga prowadzi przez tradycyjne języki programowania: wprowadzamy elementy stochastyczne – na przykład losowe wybory – do takich języków i postrzegamy programy jako definiujące rozkłady prawdopodobieństwa na ich własnych śladach wykonania. Obie drogi prowadzą do probabilistycznego języka programowania (PPL). Pierwsza droga prowadzi do deklaratywnych PPL, które mają mniej więcej taki sam związek z ogólnymi PPL, jak programowanie logiczne  z ogólnymi językami programowania.

Dodaj komentarz

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