@Override
    public int accion(boolean PF, boolean PD, boolean PA, boolean PI, boolean MT,
            boolean AF, boolean AD, boolean AA, boolean AI) {
        
        if (MT) return -1;
        
        Stack<Integer> posibleMoves;
        
        if(!actualNode.isAlreadyExplored()){
            posibleMoves=analyzePerception(PF, PD, PA, PI);
        }else{
            posibleMoves=getChoicesLeft();
        }
        
        Stack<Integer> nextMoves = computeChoices(posibleMoves, AF, AD, AA, AI);        
        Collections.shuffle(nextMoves);// Decisión Aleatoria, si se comenta: forward, right, left
        
        if (nextMoves.isEmpty()){
            return 5; // Go back to a decision node
        }
        
        return nextMoves.pop();
    }