Choose randomly between two functions

1 view (last 30 days)
GCats
GCats on 18 Aug 2020
Commented: dpb on 18 Aug 2020
Hello!
I'm implementing a Double Q-Learning Algorithm to the pendulum-v0. I'm looking at the pseudocode and there's one part of the algorithm which I'm not sure how to write.
If you see on line 8, it states:
With Pr = 0.5:
Q_a(s,a)
else
Q_b(s,a)
Alternatively the choice between Q_a and Q_b can be random. How can I implement this in my code so that for each episode either Q_a or Q_b are selected and run?
Thank you in advance!
  1 Comment
dpb
dpb on 18 Aug 2020
P = 0.5; % the split level
if rand()>=P
res=fnA();
else
res=fnB();
end

Sign in to comment.

Accepted Answer

David Hill
David Hill on 18 Aug 2020
randbit=randi(2,1,numEpisodes)-1;
for k=1:numEpisodes
if randbit(k)
Q_a(s,a)
else
Q_b(s,a)
end
end

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!