Choose randomly between two functions

2 views (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)

Community Treasure Hunt

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

Start Hunting!