graph_adversarial_attack
graph_adversarial_attack copied to clipboard
Question on the "isTerminal" function
The isTerminal(self)
function is in located at graph_adversarial_attack/code/graph_attack/rl_common.py
.
def isTerminal(self): if self.n_steps == 2 * self.n_edges: return True return False
When initializing, self.n_edges
is set 1
, so isTerminal(self)
would return true when self.n_steps
is 2
.
Does this mean that after the two hierarchical actions are completed, the MDP ends, and there is only one state transition for a simulation in run_simulation(self)
function which is located at graph_adversarial_attack/code/graph_attack/dqn.py
?
If this is the case, isn't it inconsistent with the description "Once the agent modifies m edges, the process stops." in section 3.1 of the paper?
Looking forward to your reply, thank you Hanjun.
In the paper we only modify one edge, which corresponds to two steps (choosing two ends of the edge).
Do you mind to elaborate more on why this is inconsistent with the paper?