In order for us to apply mathematical techniques to the analysis of negotiation, we must be able to express the domain of interest to us in appropriate mathematical terms. Such a formal representation can then be used as the basis upon which to construct computer programs that can negotiate in this domain. For example, suppose you are aiming to build a computer program that can negotiate on your behalf in the purchase of a used car. Then your formalisation should capture at least the following two things:
1. All attributes of the car and the associated purchase that might play a part in determining how desirable (or otherwise) the car is, both for you and for your negotiation counterparts. Relating to the car itself, these attributes might include make, model, colour, age, mileage, condition of bodywork and so on, and relating to the purchase would include price (of course!), length of insurance, and potentially others such as the vendor of the car.
2. A utility function, which defines, for every possible combination of values of the attributes characterising the negotiation domain, the utility that you would obtain from a deal on the purchase of a car.
Our aim in this chapter is twofold. First, we present a three-point classification scheme for negotiation domains, which was introduced by Rosenschein and Zlotkin (1994). This scheme provides a useful point of reference for understanding negotiation domains.