コード例 #1
0
ファイル: mcts.py プロジェクト: wfanyue/RLT
    def compute_final_reward(self):
        """
        如果虚拟网络请求能够被成功映射,那么最终奖赏为收益减去成本;否则,最终奖赏为一个无穷小的值
        """

        node_map, link_map = {}, {}
        for i in range(self.vnr.number_of_nodes()):
            node_map.update({i: self.chosen_ids[i]})
        link_map = Network.find_path(self.sub, self.vnr, node_map)
        if len(link_map) == self.vnr.number_of_edges():
            requested = Evaluation.calculate_revenue(self.vnr)
            occupied = Evaluation.calculate_cost(self.vnr, link_map)
            return 1000 + requested - occupied
        else:
            return LIMIT