Introduction
- Intelligent software agents negotiate on behalf of their users.
- Possible application domains: e-commerce, politics, cloud-computing, crisis management system, task allocation, etc.

How can a software agent negotiate its user’s behalf?
- Evaluating bids
- Reasoning on its user’s preferences
- Employing a negotiation strategy
- Which action the agent will take
- How the agent will generate its offer
- When the agent will accept the opponent’s counter offer
- Communicating with other agent (s) based on predefined rules (negotiation protocol)

Normalization is needed.
Negotiation Protocols
Negotiation protocols define the rules and regulations the negotiating parties agree to adhere to during the negotiation.
- A negotiation protocol governs the interaction between negotiating parties by determining
- how the parties interact/exchange information
- “ who can say what and when they can say it ”
- when the negotiation ends
- Bilateral Negotiation
- Alternating Offers Protocol (Rubinstein 1982)
- Multiparty Negotiation
- Mediated Single Text Protocol
Alternating Offers Protocol
The turn-taking protocols are all variants of the Alternating Offers Protocol (AOP) as specified by Rubinstein (1982):
- One of the negotiation parties initiates negotiation with an offer.
- The other party, receiving an offer, can either
- accept that offer (and the negotiation ends with an agreement),
- make a counteroffer, or
- end negotiation (and the negotiation ends, walks away).