Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question on the "isTerminal" function #7

Open
lijianwen96 opened this issue Jan 3, 2021 · 1 comment
Open

Question on the "isTerminal" function #7

lijianwen96 opened this issue Jan 3, 2021 · 1 comment

Comments

@lijianwen96
Copy link

lijianwen96 commented Jan 3, 2021

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.

@Hanjun-Dai
Copy link
Owner

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants