示例#1
0
def update_q(state, action, new_q):
    state = str(state)
    action = str(action)
    actionBST = q_values.findval(state, False)
    if not actionBST:
        actionBST = BST.Node(str([]), 0)
        q_values.insert(state, actionBST)
    actionBST.update(action, new_q)
示例#2
0
def getHeight(node):
    if node is None:
        return False
    else:
        marker = BST.Node()
        node.key = 323233223
        queue = Queue.Queue()
        queue.enqueue(node)
        queue.enqueue(marker)
        count = -1
        while not queue.isempty():
            temp = queue.dequeue()
            if temp == marker:
                count += 1
                if not queue.isempty():
                    queue.enqueue(marker)
            else:
                if temp.left is not None:
                    queue.enqueue(temp.left)
                if temp.right is not None:
                    queue.enqueue(temp.right)

    return count
示例#3
0
def sendval():
    global count
    global r
    if request.method == 'POST':
        val = request.args.get('val')
        text = request.args.get('text')
        text = nltk.word_tokenize(text)
        tagged_word = nltk.pos_tag(text)
        nouns_list = []
        for i in tagged_word:
            if i[1][:2] == 'NN':
                nouns_list.append(i[0])
        if count == 0:
            r = BST.Node(val, nouns_list)
        else:
            r = BST.insert(r, val, nouns_list)
        count += 1

    my_pickle = open("BST_root.pickle", "wb")
    pickle.dump(r, my_pickle)
    my_pickle.close()

    return {val: nouns_list}
示例#4
0
import pickle
import BST
from Environment import get_actions, environment, calc_length

# variables
vehicle_number_weight = 0.5
seed = 2021

# learning variables
epsilon = 0.7
discount_factor = 1
learning_rate = 0.7
iterations = 2000
RNG = np.random.RandomState(seed)
# q value for state action pairs (in route, new_route)
q_values = BST.Node(str([]), 0)
emptyNode = BST.Node(str([]), 0)
q_value_init = 0


def get_q(state, action):
    state = str(state)
    action = str(action)
    return q_values.findval(state, emptyNode).findval(action, q_value_init)


def update_q(state, action, new_q):
    state = str(state)
    action = str(action)
    actionBST = q_values.findval(state, False)
    if not actionBST: