Skip to main content
. 2025 Jan 9;27(1):49. doi: 10.3390/e27010049
Algorithm 1 gAD-GDBFwM with Finite State Machine in one component decoder
Input:  y=(yi,y2,,yN)RN,   rin(t),   μin(t),   Pin(t),   δ
Output:  x^=(x^1(),x^2(),,x^N()){±1}N,   rout(t),   μout(t),   Pout(t)
Initialization:  =1, r(1)=rin(t), μ=μin(t), P=Pin(t)
x^i(1)=sign(ri(1)), i=1,2,,N
sj(1)=iQ(cj)x^i(1), j=1,2,,M
while (Lmax,t) or (sj()=1,j) do
   Emin()=+
   for i=1,,N do
     Ei()=w1()yix^i()+w2()jP(vi)sj()+mμi
     Emin()=min{Emin(),Ei()}
   end for
   F()={vi|EiEmin+δ}
    update μ accordingly to F()
    update P accordingly to F() and state machine
   ri(+1)=ri()+svisign(ri()), i=1,2,,N
    apply rule θ if necessary and update ri(+1), i=1,2,,N
   x^i(+1)=sign(ri(+1)), i=1,2,,N
   sj(+1)=iQ(cj)x^i(+1), j=1,2,,M
   =+1
end while
rout(t)=r(), μout(t)=μ, Pout(t)=P