Skip to content
Snippets Groups Projects
Commit 0414f290 authored by NGUYEN Do Duc Anh's avatar NGUYEN Do Duc Anh
Browse files

update rule 6 allowed only for thos not PROPOSER, rule 5 only for unmatched,...

update rule 6 allowed only for thos not PROPOSER, rule 5 only for unmatched, other set is all neighbor not PROPOSER
parent 6d109ca9
No related branches found
No related tags found
No related merge requests found
......@@ -178,14 +178,14 @@ def apply_rule():
if neighbor.pointer == node.myid:
pointing_neighbor_id_set.append(neighbor_id)
if neighbor.color == node.color and node.color_id == node.myid and neighbor.color_id == node.myid and node.pointer == neighbor.id:
low.append(neighbor)
elif neighbor.color == node.color and node.color_id == neighbor.id and neighbor.color_id == neighbor.id and node.pointer == neighbor.id:
high.append(neighbor)
# if neighbor.color == node.color and node.color_id == node.myid and neighbor.color_id == node.myid and node.pointer == neighbor.id:
# low.append(neighbor)
# elif neighbor.color == node.color and node.color_id == neighbor.id and neighbor.color_id == neighbor.id and node.pointer == neighbor.id:
# high.append(neighbor)
# elif neighbor.pointer != 0:
else:
# Other set is all neighbors that are not in Proposer
if neighbor.pointer == 0 or (neighbor.color == neighbor.color and neighbor.color_id == neighbor.id):
# Other set is all neighbors that are not Proposer
if neighbor.pointer == 0 or (neighbor.pointer != 0 and neighbor.color_id != neighbor.id):
other.append(neighbor)
is_enable = False
......@@ -237,13 +237,13 @@ def apply_rule():
if not d_min or (d_min.degree > n_low.degree or (d_min.degree == n_low.degree and d_min.id > n_low.id)):
d_min = n_low
# Rule 5
if not d_max and d_min and node.pointer != d_min.id:
# Rule 5: Only consider those are not matched to apply this rule
if node.pointer not in pointing_neighbor_id_set and not d_max and d_min and node.pointer != d_min.id:
node.pointer = d_min.id
node.state = State.DECIDED_IN_VC
is_enable = True
print("Enable Rule 5")
# Rule 6
# Rule 6: Only consider those are not Proposer to apply this rule
elif not (node.pointer != 0 and node.color_id == node.myid and node.state == State.DECIDED_IN_VC):
# if not d_max and not d_min and node.pointer != 0 and node.state == State.DECIDED_IN_VC:
# node.pointer = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment