Asynchronous Backtracking
Implementation:
- A priority ordering among agents is defined (based on the alphabetical order of agent identifiers).
- The agent changes its value if the current value is not consistent with the values of higher priority agents.
- If there is no consistent value with the values of higher priority agents (dead-end), the agent resolves a new constraint (nogood) and communicates it to higher priority agents.