Algorytm Buzena
W teorii kolejek , dyscyplinie należącej do matematycznej teorii prawdopodobieństwa , algorytm Buzena (lub algorytm splotu ) jest algorytmem obliczania stałej normalizacji G ( N ) w twierdzeniu Gordona – Newella . Metoda ta została po raz pierwszy zaproponowana przez Jeffreya P. Buzena w 1973 roku. Obliczenie G( N ) jest wymagane do obliczenia stacjonarnego rozkładu prawdopodobieństwa zamkniętej sieci kolejkowej.
Wykonanie naiwnego obliczenia stałej normalizującej wymaga wyliczenia wszystkich stanów. Dla systemu z N zadaniami i stanami M istnieją kombinacje Algorytm Buzena „oblicza G(1), G(2),…, G( N ) przy użyciu sumy mnożeń NM i dodatków NM ”. Jest to znacząca poprawa i pozwala na wykonywanie obliczeń w znacznie większych sieciach.
Konfiguracja problemu
Rozważmy zamkniętą sieć kolejek z M obiektami usługowymi i N krążącymi klientami. Napisz n ja ( t ) dla liczby klientów obecnych w i- tym obiekcie w czasie t , tak że . Zakładamy, że czas obsługi klienta w i- tej placówce jest dany zmienną losową o rozkładzie wykładniczym o parametrze μi oraz że po zakończeniu obsługi w i- tej placówce klient uda się do j- tej placówki z prawdopodobieństwem p ij .
twierdzenia Gordona-Newella wynika, że rozkład równowagi tego modelu jest
gdzie X i można znaleźć rozwiązując
a G ( N ) jest stałą normalizującą wybraną tak, że powyższe prawdopodobieństwa sumują się do 1.
Algorytm Buzena jest wydajną metodą obliczania G( N ).
Opis algorytmu
Zapisz g( N , M ) dla stałej normalizującej zamkniętej sieci kolejkowej z N klientami i M stacjami paliw. Algorytm rozpoczyna się od odnotowania rozwiązania powyższych zależności dla X i , a następnie ustalenia warunków początkowych
Relacja powtarzalności
służy do obliczania siatki wartości. Szukana wartość G( N ) = g( N , M ).
Rozkłady krańcowe, oczekiwana liczba klientów
Współczynniki g( n , m ), obliczone za pomocą algorytmu Buzena, można również wykorzystać do obliczenia rozkładów krańcowych i oczekiwanej liczby klientów w każdym węźle.
przewidywana liczba klientów w obiekcie i wg
Realizacja
Zakładamy, że X m zostało obliczone poprzez rozwiązanie odpowiednich równań i jest dostępne jako dane wejściowe do naszej procedury. Chociaż g jest w zasadzie macierzą dwuwymiarową, można ją obliczyć kolumna po kolumnie, zaczynając od skrajnej lewej kolumny. Procedura używa jednokolumnowego wektora C do reprezentowania bieżącej kolumny g .
0
0
C [ ] := 1 dla n := 1 krok 1 do N do C [ n ] := ; dla m := 1 krok 1 do M do dla n := 1 krok 1 do N do C [ n ] := C [ n ] + X [ m ] * C [ n - 1 ] ;
Po zakończeniu C zawiera żądane wartości G(0), G(1) do G(N) .
- Jain: The Convolution Algorithm (materiały klasowe)
- Menasce: Konwolucyjne podejście do algorytmów kolejkowania (prezentacja)