Example #1
0
def getTraj(fmdp, Q):
    J, trajlearn = fmdp.runPolicy(4, 5, RLsol.Q2pol(Q))
    if J > .7:
        print("Recompensa obtida dentro do previsto. OK\n")
    else:
        print("Recompensa obtida abaixo do previsto. FAILED\n")
    return J, trajlearn
Example #2
0
import numpy as np
from sklearn.externals import joblib
from RL import *
import RLsol


for test in [('fmdp1.pkl','traj1.pkl'), ('fmdp2.pkl','traj2.pkl')]:
    
    print("Testing " + test[0])    
    # funcoes auxiliarres
    fmdp = joblib.load(test[0]) 
    # ficheiro com a trajectório de treino             
    traj = joblib.load(test[1]) 
    print(traj)
    
    qlearn = RLsol.myRL(7,2,0.9)
    Q = qlearn.traces2Q(traj)
    
    print("Valores Q aprendidos")
    print(qlearn.Q)
    if np.linalg.norm(Q-fmdp.Q)<.3:
        print("Erro nos Q dentro dos limites de tolerância. OK\n")
    else:
        print("Erro nos Q acima dos limites de tolerância. FAILED\n")
    
    # gerar trajectoria aprendida
    J,trajlearn = fmdp.runPolicy(4,5,RLsol.Q2pol(Q))
    
    print("Trajectoria gerada com a politica aprendida")
    print(trajlearn)
    if J>.7:
for test in [('fmdp1.pkl', 'traj1.pkl'), ('fmdp2.pkl', 'traj2.pkl')]:
    for alpha in (.1, .2, .3, .4, .5, .6, .7, .8, .9, .99, 1):
        for gamma in (
                .99,
                .9,
                .85,
        ):
            #print("Testing ", test[0], " with alpha = ", alpha, " with gamma = ", gamma)

            # funcoes auxiliarres
            fmdp = joblib.load(test[0])

            # ficheiro com a trajectória de treino
            traj = joblib.load(test[1])

            qlearn = RLsol.myRL(7, 2, alpha, gamma)

            Q, i = qlearn.traces2Q(traj)

            #print("Valores Q aprendidos")
            #print(qlearn.Q)
            #if np.linalg.norm(Q-fmdp.Q)<.3:
            #    print("Erro nos Q dentro dos limites de tolerância. OK")
            #else:
            #    print("Erro nos Q acima dos limites de tolerância. FAILED")
            #
            # gerar trajectoria aprendida
            J, trajlearn = fmdp.runPolicy(4, 3, RLsol.Q2pol(Q))

            #print("Trajectoria gerada com a politica aprendida")
            #print(trajlearn)
Example #4
0
            for nextState in E[i][j]:
                print("{} to {} with {}".format(i, nextState, j))
                p2 = [
                    math.cos(angle * nextState) * radius,
                    math.sin(angle * nextState) * radius
                ]
                plt.plot([x, p2[0]], [y, p2[1]],
                         color=style[j]['color'],
                         linewidth=style[j]['linewidth'])

    plt.show()


for test in [('fmdp1.pkl', 'traj1.pkl'), ('fmdp2.pkl', 'traj2.pkl')]:
    print("Testing " + test[0])
    # funcoes auxiliarres
    fmdp = joblib.load(test[0])
    # ficheiro com a trajectório de treino
    traj = joblib.load(test[1])

    qlearn = RLsol.myRL(7, 2, 0.9)
    Q = testOnce(traj, 0.13)
    #Q, _ = findAlphas(traj)
    J, trajlearn = getTraj(fmdp, Q)

    #maximizeJ(fmdp)

    #R = qlearn.calculateRewardMatrix(traj)
    E = qlearn.mapEnvironment(traj)
    #plotEnv(E)