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)
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
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}
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: