// Απόφαση για το ποια ενέργεια θα γίνει // Ρίχνουμε το "ζάρι" (random(0, 1)). Αν έρθει τιμή < epsilon, τότε ο agent κάνει // τυχαία επιλογή ενέργειας. Αν έρθει τιμή >= epsilon, τότε ο agent επιλέγει την // ενέργεια με το μέγιστο q-value, δηλ. την maxQ. void chooseAction(boolean explore) { if (explore) { float zari = random(0, 1); if (zari <= epsilon || currState < 0) action = int(random(0, 3)); // incl 0, excl 3 else { // Βρίσκει τη θέση maxQ στον πίνακα Q και συγκεκριμένα στη γραμμή currState // όπου υπάρχει η μέγιστη τιμή. Το maxQ παίρνει τιμή 0 ή 1 ή 2 και είναι η // ενέργεια που επιλέγει ο agent. maxQ = findMaxQIndex(currState); action = maxQ; } } else { if (currState < 0) action = int(random(0,3)); else { maxQ = findMaxQIndex(currState); action = maxQ; } } }