Electronic commerce technologies enable consumers to purchase products and services from businesses online.
According to one general aspect, a switching linear dynamical system (SLDS) transition model having a number of parameters for modeling negotiation behavior of parties negotiating multiple terms of a transaction is initialized. In addition, data that reflects a series of observed offers made by parties while negotiating terms related to the transaction is accessed from a computer memory storage system. Thereafter, a number of different switching states are determined for inclusion within the SLDS transition model that reduces a description length of the SLDS transition model when the SLDS transition model is used to model the series of observed offers relative to a description length of the SLDS transition model when a different number of switching states are included within the SLDS transition model and the SLDS transition model is used to model the series of observed offers. Values of the parameters of the SLDS transition model also are calculated for modeling the series of observed offers when the determined switching states are included within the SLDS transition model. Finally, the SLDS transition model is updated to incorporate the determined switching states and the calculated values of the parameters.
Implementations may include one or more of the following features. For example, the SLDS transition model may be capable of including any number of switching states, the number of switching states to be included in the SLDS transition model may be unknown a priori, and/or switching states included within the SLDS transition model may describe different negotiation strategies inferred from the series of observed offers.
The number of different switching states to be included within the SLDS transition model may be determined by determining a number of different switching states for inclusion within the SLDS transition model that minimizes the description length of the SLDS transition model. Furthermore, the description length of the SLDS transition model may be a function of a sum of a length of the switching states included within the SLDS transition model and a code length of the SLDS transition model when the switching states are included within the SLDS transition model and the SLDS transition model is used to model the series of observed offers. As such, determining a number of different switching states for inclusion within the SLDS transition model that minimizes the description length of the SLDS transition model may include determining a number of different switching states for inclusion within the SLDS transition model that minimizes the sum of the length of the switching states and the code length of the SLDS transition model when the switching states are included within the SLDS transition model and the SLDS transition model is used to model the series of observed offers.
The transaction being negotiated may involve a product purchase. In such cases, data that reflects a series of observed offers made by parties while negotiating at least a price for and a quantity of the product to be purchased may be accessed. In addition, a number of different switching states may be determined for inclusion within the SLDS transition model when the SLDS transition model is used to model the series of observed offers of prices for and quantities of the product to be purchased, and values of the parameters of the SLDS transition model may be calculated for modeling the series of observed offers of prices for and quantities of the product to be purchased.
In some cases, the transaction may involve a purchase of one or more goods or services and the parties may be buyers. In such cases, an SLDS transition model for modeling negotiation behavior of buyers negotiating multiple terms of a purchase of one or more goods or services may be initialized, and data may be accessed that reflects a series of observed offers made by buyers while negotiating terms related to the purchase of one or more goods or services.
Alternatively, the transaction may be a sale of one or more goods or services and the parties may be sellers. In such cases, an SLDS transition model for modeling negotiation behavior of sellers negotiating multiple terms of a sale of one or more goods or services may be initialized, and data may be accessed that reflects a series of observed offers made by sellers while negotiating terms related to the sale of one or more goods or services.
According to another general aspect, data is stored that reflects a series of observed offers made by one or more parties while negotiating terms related to a transaction. In addition, the series of observed offers is used to train, within a minimum description length framework, a switching linear dynamical system (SLDS) transition model capable of accommodating any number of different switching states to model the series of observed offers.
Implementations may include one or more of the following features. For example, the SLDS transition model may be capable of accommodating a countably infinite number of different switching states to model the series of observed offers.
According to still another general aspect, a negotiation behavior model for a party to a negotiation that involves multiple terms is accessed. The accessed negotiation behavior model accommodates multiple different negotiation strategies and models different potential progressions of terms of offers by the party during the negotiation, where individual ones of the potential progressions of offers correspond to different negotiation strategies. Terms of a new offer made by the party in the context of the negotiation are received and evaluated relative to the negotiation behavior model. Based on evaluating the received terms, the new offer is identified as corresponding to a particular one of the negotiation strategies, and, as a consequence, it is inferred that the party is employing the particular negotiation strategy. A trajectory of future offers by the party then is predicted based on the particular negotiation strategy having been inferred as being employed by the party, terms of a counteroffer to the party are calculated based on the predicted trajectory of future offers by the party. The calculated terms of the counteroffer then are presented to the party.
Implementations may include one or more of the following features. For example, the negotiation may involve price for and quantity of a product to be purchased. As such, the negotiation behavior model may model different potential progressions of offers of prices for and quantities of the product to be purchased. In addition, a new offer of a particular price for and a particular quantity of the product to be purchased may be received and evaluated. In addition, the particular price for and the particular quantity of the product to be purchased may be evaluated relative to the negotiation behavior model, and at least one of a different price for and a different quantity of the product to be purchased may be calculated as terms for a counteroffer. At least one of the different price for and the different quantity of the product to be purchased then may be presented to the party. Furthermore, in some implementations, the negotiation may include at least three terms and the negotiation behavior model may model different potential progressions of offers for each of the at least three terms.
The various aspects, implementations, and features disclosed may be implemented using, for example, one or more of a method; an apparatus; a system; an apparatus, system, tool, or processing device for performing a method; a computer program or other set of instructions stored on a tangible computer-readable storage medium; and an apparatus that includes a program or a set of instructions stored on a computer-readable storage medium.
An automated negotiation agent conducts negotiations with human counterparts. During such automated negotiations, the automated negotiation agent uses a model of the negotiation behavior of human counterparts that models trajectories of offers from such human counterparts in the issue space of the transaction being negotiated. For example, the automated negotiation agent may use a switching linear dynamical system (SLDS) to model the negotiation behavior of its human counterparts. One challenge that may be encountered when designing an SLDS to model the negotiation behavior of human counterparts is that the SLDS model size (e.g., the number of switching states) may not be known a priori. To address this challenge, techniques may be employed that enable the size of the SLDS to grow while the SLDS is trained.
As illustrated in
In response to receiving the terms proposed by the human counterpart, the automated agent considers the terms proposed by the human counterpart and determines if the terms are acceptable to the business on behalf of whom the automated negotiation agent is negotiating. In the event that the automated negotiation agent determines that the terms proposed by the human counterpart are not acceptable to the business that the automated negotiation agent is representing, the automated negotiation agent may determine to make a counteroffer to the human counterpart with terms that are acceptable to the business that the automated negotiation agent is representing. As will be described in greater detail below, the automated negotiation agent may consult a negotiation behavior model that models the trajectories of offers from the human counterpart as part of the process of generating a counteroffer to propose to the human counterpart.
As illustrated in
As further illustrated in
Should the human counterpart decide to propose a counteroffer to the automated negotiation agent's offer by selecting selectable control 122, the human counterpart and the automated negotiation agent can continue the negotiation, going back and further exchanging offers and counteroffers, until the human counterpart and the automated negotiation agent arrive at mutually agreeable terms or until one party decides to terminate the negotiation.
As illustrated in
Computer 204 may be any of a number of different types of computing devices including, for example, a personal computer, a special purpose computer, a general purpose computer, a combination of a special purpose and a general purpose computing device, a laptop computer, a tablet computer, a netbook computer, a smart phone, a mobile phone, a personal digital assistant, and a portable media player. Computer 204 typically has internal or external storage components for storing data and programs such as an operating system and one or more application programs. Examples of application programs include authoring applications (e.g., word processing programs, database programs, spreadsheet programs, or graphics programs) capable of generating documents or other electronic content; client applications (e.g., e-mail clients) capable of communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content; and browser applications capable of rendering standard Internet content and, in some cases, also capable of supporting a web-based e-mail client. In addition, the internal or external storage components for computer 204 may store a dedicated client application for interfacing with electronic commerce complex 202 and/or automated negotiation agent 206. Alternatively, in some implementations, computer 204 may interface with electronic commerce complex 202 and automated negotiation agent 206 without a specific client application (e.g., using a web browser).
Computer 204 also typically includes a central processing unit (CPU) for executing instructions stored in storage and/or received from one or more other electronic devices, for example over network 208. In addition, computer 204 also usually includes one or more communication devices for sending and receiving data. One example of such a communications device is a modem. Other examples include an antenna, a transceiver, a communications card, and other types of network adapters capable of transmitting and receiving data over network 208 through a wired or wireless data pathway.
Automated negotiation complex 202 may be implemented using one or more computing devices (e.g., servers) configured to provide a service to one or more client devices (e.g., computer 204) connected to automated negotiation complex 202 over network 208. The one or more computing devices on which automated negotiation complex 202 is implemented may have internal or external storage components storing data and programs such as an operating system and one or more application programs. The one or more application programs may be implemented as instructions that are stored in the storage components and that, when executed, cause the one or more computing devices to provide the features of the electronic commerce complex 202 and/or automated negotiation agent 206 described herein.
Furthermore, the one or more computing devices on which electronic commerce complex 202 is implemented each may include one or more processors 210 for executing instructions stored in storage and/or received from one or more other electronic devices, for example over network 208. In addition, these computing devices also typically include network interfaces and communication devices for sending and receiving data.
Network 208 may provide direct or indirect communication links between electronic commerce complex 202 and computer 204 irrespective of physical separation between any of such devices. As such, electronic commerce complex 202 and computer 204 may be located in close geographic proximity to one another or, alternatively, electronic commerce complex 202 and computer 204 may be separated by vast geographic distances. Examples of network 208 include the Internet, the World Wide Web, wide area networks (WANs), local area networks (LANs) including wireless LANs (WLANs), analog or digital wired and wireless telephone networks, radio, television, cable, satellite, and/or any other delivery mechanisms for carrying data. In some implementations, computer 204 may be connected to network 208 over a wireless connection (e.g., a WLAN based on the IEEE 802.11 standard, a radio frequency-based wireless network, and/or a cellular or mobile telephony network provided by a wireless service provider) made available by a private service provider.
As illustrated in
Electronic commerce complex 202 also includes a negotiation behavior modeler 214 that is configured to access the negotiation history repository stored in computer memory storage system 212 and build one or more models of human negotiation behavior based on the records stored in the negotiation history repository. Negotiation behavior modeler 214 may be implemented as instructions stored in a computer memory storage system that, when executed, cause processor(s) 210 to provide the functionality ascribed herein to the negotiation behavior modeler 214. The model(s) of negotiation behavior generated by negotiation behavior modeler 214 are stored in computer memory storage system 216, from which they are available to negotiation agent 206.
Electronic commerce complex 202 may provide a catalog or other collection of products or services that are available for sale from a business, and a human user of computer 204 may be able to access and browse such a catalog or other collection of products or services for sale over network 208. In the event that, through the course of browsing the catalog or other collection of products or services that are available for sale, a human user of computer 204 locates a product or service that the human user is interested in purchasing, the human user may use computer 204 to communicate that interest to electronic commerce complex 202. In response, automated negotiation agent 206 then may engage the human user of computer 204 in an automated negotiation over the terms of the transaction, during the course of which the automated negotiation agent 206 and the human user of computer 204 present offers and counteroffers to one another by exchanging electronic messages over network 208.
While conducting an automated negotiation with a human user of computer 204, negotiation agent 206 may access a model of human negotiation behavior from computer memory storage system 216 and use the accessed model of human negotiation behavior in an effort to understand and anticipate the negotiation strategies of the human user of computer 204 as the automated negotiation with the human user of computer 204 unfolds. In this manner, the automated negotiation agent 206 may attempt to use the model of human negotiation behavior to construct and present offers to the human user of computer 204 that the automated negotiation agent 206 believes the human user of computer 204 is likely to accept and that are advantageous to the business on behalf of whom the automated negotiation agent 206 is negotiating.
Negotiations often involve a seller of some product or service and a potential buyer of that product or service dickering over the terms of sale/purchase of the product or service. In the context of an automated negotiation between an automated negotiation agent and a human counterpart, the automated negotiation agent often may represent the seller with the potential buyer being a human.
To generalize the negotiation scenario, the two parties (e.g., the automated negotiation agent representing the seller and the human buyer) may be considered to negotiate over D issues (e.g., purchase price, quantity, and delivery time). At each negotiation round n, n≧1, the human buyer makes an offer, yn, to the automated negotiation agent. This offer, yn, may be represented by the automated negotiation agent as a D-dimensional real-valued vector with its dth element, yn,d, specifying the human buyer's offer for the dth issue at round n. In response to the human buyer's offer, yn, at round n, the automated negotiation agent generally may take one of three actions: (i) continue the negotiation with a counteroffer, which, analogous to yn, the automated negotiation agent also may represent as a D-dimensional vector; (ii) terminate the negotiation by accepting the human buyer's offer yn; or (iii) terminate the negotiation by rejecting the human buyer's offer yn.
Typically, the human buyer may have a set of one or more target offers that the human buyer hopes the automated negotiation agent will accept but that the human buyer does not disclose—at least initially—to the automated negotiation agent. For example, in a scenario where two issues—price and delivery time—are being negotiated, the human buyer may have targets of (1) {$240, 2 weeks}, (2) {$220, 3 weeks}, and (3) {$160, 4 weeks}. By the very nature of negotiation, the human buyer may rarely ever offer one of its targets to the automated negotiation agent in the initial round of negotiation, i.e., at round n=1. Instead, at round n=1, the human buyer typically may make an offer that it finds more advantageous than any of its target values. For instance, a human buyer with a target of {$240, 2 weeks} may make an offer of {$200, 1 week} at round n=1. Thereafter, the human buyer's offers may follow a trajectory in the D-dimensional issue space from this initial offer towards one of the human buyer's target values. Because the human buyer may desire to obtain counteroffers from the automated negotiation agent that are more favorable to the buyer than the buyer's own target values, the trajectory of the human buyer's offers may never reach one of its target values. That is to say, the human buyer may never actually offer one of its target values.
In a negotiation involving D issues, the different possible combinations of terms included in an offer may be represented by a D-dimensional issue space. As a negotiation moves from one round to the next, the negotiation behavior of a human buyer may be tracked within the D-dimensional issue space. In addition, as a negotiation unfolds, the negotiation behavior of the human buyer may transition through multiple phases or states, s=1, 2, 3 . . . , where, at each state, s, the human buyer follows a different strategy. As the human buyer switches between strategies (e.g., employing a new strategy or returning to a previously-used strategy), the trajectory of the human buyer's negotiation behavior within the D-dimensional issue space changes.
As illustrated in
During an automated negotiation with a human counterpart, an automated negotiation agent such as, for example, automated negotiation agent 206 illustrated in
A switching linear dynamical system (SLDS), which is a variation of a linear dynamical system (LDS), may be used to model human negotiation behavior as described herein. While an LDS may be useful for modeling negotiation behavior in a D-dimensional issue space within a given state s, the fixed Gaussian model of the LDS may limit the usefulness of using an LDS to model negotiation behavior across multiple states. Therefore, an SLDS, which is a variation of the LDS where the fixed Gaussian model is replaced with a conditional Gaussian model, may be more useful in modeling negotiation behavior across multiple states.
When an SLDS is used to model negotiation behavior, the transition model may be given by:
x
n
=A(sn)xn−1+vn(sn), (Eq. 1)
y
n
=Cx
n
+w
n, (Eq. 2)
p
i,j
=P(sn=i|sn−1=j), (Eq. 3)
Where x1 is Gaussian, xnεRD is the hidden LDS state at round n, ynεRD is the observation at round n, wnεRD is the Gaussian measurement noise, vn(sn)εRD is the Gaussian state noise, A(sn)εRD×D is the LDS state transition matrix, and CεRD×D is the LDS observation matrix.
The joint distribution of X, Y and S is given by
P(y1n,x1n,s1n)=ΠP(yn|xn)P(x1|s1)ΠP(xn|xn−1,sn)P(s1)ΠP(sn|sn−1), (Eq. 4)
where y1n denotes the sequence y1, . . . , yn; x1n denotes the sequence x1, . . . , xn; and s1n denotes the sequence s1, . . . , sn.
When using historical negotiation data to train an SLDS to model human negotiation behavior, the number of switching states of the SLDS model may not be known a priori. Instead, the model size (e.g., the number of switching states) may grow as new offers are encountered within the training set during training. Therefore, in order to accommodate an infinitely countable number of switching states, the SLDS model may be trained within a minimum description length (MLD) framework where the appropriate SLDS model for the training set is determined to be the SLDS model that minimizes the sum of the computational complexity of the model and the computational complexity of using the model to represent the data of the training set itself. For example, while modeling and learning the parameters of the infinite SLDS model, Shannon-optimal code lengths may be used to compute the minimum code length required for coding the observations y1T, and the appropriate SLDS model may be determined to be the model that minimizes the sum of the Shannon-optimal code lengths and the size of the codebook that shows the mapping between the training set data to be coded and the code. By employing this technique, the number of switching states of the SLDS model does not have to be pre-defined. Instead, it is determined through MDL minimization.
To understand how an SLDS can be trained within an MDL framework, consider that, given a set of hypotheses indexed by h, observed data y can be described with the hypothesis h using total code length l(y|h)+l(h), where l(h) is the minimum code length to describe the selected hypothesis h, and l(y|h) is the minimum code length to describe y according to the selected hypothesis h. Each hypothesis h induces a probability distribution on the observed data, and, from Kraft's inequality, we know that l(Y|j)=−log P(y|h) and l(h)=−log P(h). According to the MDL principle, the hypothesis that is selected to describe the observed data is the hypothesis h* that minimizes l(y|h)+l(h) among all h.
When the MDL framework is applied in the context of training an SLDS, the switching state, s, of the SLDS plays the role of the hypothesis h. This leads to the following code length for the SLDS given in Equations (1)-(4) at time T:
Σn=1TlΘ
where Θ1 represents the parameters A(s), C, and the covariance matrices for v(s) and w, Θ2 is the probability mass function pi,j, lΘ
The codebook shows the mapping between the values of y and s and the code. In the context of applying the MDL principle to an infinite SLDS model, the size of the codebook may not be constant. Rather, as new switching states are discovered, the size of the codebook may grow. Thus, the size of the codebook may be included in the description length of the SLDS model. The description length of the SLDS model, therefore, is given by:
Σn=1TlΘ
where CΘ
As discussed above, Shannon-optimal code lengths may be used to compute the length functions l. Thus,
l
Θ
(yn|y1n−1,s1n)=−log(P(yn|y1n−1,s1n)), (Eq. 7)
and
l
Θ
(sn=k|sn−1=j)=−log(P(sn=k|sn−1=j)). (Eq. 8)
As yn|(y1n−1, s1n) is real-valued, it may be quantized before coding. Since yn|(y1n−1, s1n) is Gaussian, it can be shown that its quantized version can be coded with a Shannon optimal code length of approximately:
where
is the covariance matrix, and Δ is the volume of the quantization bin. In the SLDS setting, the quantization bin volume Δ may act as a parameter that controls the tendency to discover new states. As discussed in greater detail below, the process of adding new states to the SLDS model may involve minimizing Equation 6. Although it may appear that Δ would not have an effect on minimizing Equation 6, since log Δ is an additive constant, Δ influences the codebook size. In particular, as Δ is increased, the quantization gets coarser, and, thus, the expected code lengths for yn|(y1n−1, s1n) generally decreases, which decreases the size of the codebook, leading to more switching states.
In addition, Δ has an actual meaning in the negotiation setting. As a result, the quantization bin may be set at values that are perceived as being small enough to preserve significant differences in the issue space. For example, if the seller of a laptop computer knows that a price difference of more than 50 dollars is very important to a buyer in a negotiation, then Δ may be set at a value below 50 dollars.
In order to train an SLDS model within the MDL framework, values for the parameters Θ1 and Θ2 that minimize Equation 6 may be determined using, for example, the generalized expectation-maximization (EM) algorithm. When the EM algorithm is used to minimize Equation 6, the expectation step (E-step) generally involves estimating the posterior probabilities of the hidden states x1T and the switching states s1T given the observations y1T and the parameters Θ1 and Θ2. The maximization step (M-step) then involves updating the parameters based on the results of the E-step.
Consider first the case where there are a fixed number of switching states. In particular, suppose n=T and that there are K states. During the E-step, the switching states s1T are set, and the posterior probabilities of x1T are computed. Denoting the minimum value of Equation 5 as HT,k when the switching state sequence s1T ends with sT=k, HT,k can be computed recursively as:
where 1≦n≦T, and s1n−2,*(j) is the switching state sequence that minimizes Hn−1,j among all state sequences up to round n−2.
Applying the MDL principle, the second term on the right side of Equation 7 is given by −log P(yn|y1n−1,s1n−2,*(j),sn−1=j,sn=k). This probability can be computed using the standard forward algorithm for the Gaussian LDS inference using the Θ1 parameters estimated during the M-step. Similarly, the third term on the right side of Equation 10 is given by −log P(sn=k|sn−1=j) and can be computed using the Θ2 parameters estimated during the M-step. After all of the costs H up to round n=T have been computed for every state, the index of the switching state that minimizes HT,k is selected, and the switching states may be back-traced to find the appropriate sequence of s1T. Using the switching states and the posterior probabilities estimated from the standard LDS inference during the E-step, the parameters Θ1 and Θ2 are updated during the M-step.
This approach can be extended to the case where there are an unknown number of switching states a priori. According to the MDL principle, an observation is said to be unexplainable according to a set of hypothesis if, for every hypothesis in the set of hypotheses, the description length of the observation conditioned on the hypothesis is greater than the unconditional description length of the observation. Consequently, if
for every state k, 1≦k≦K, it may be determined that the existing switching model is insufficient to explain the observation yn. Stated differently, if the description length of the current SLDS model for describing the data of the training set is greater than Shannon's unconditional length for describing the data of the training set without a model, it may be determined that a new switching state should be added to the SLDS model. Therefore, if Equation 11 is satisfied, the time index n may be added to the set P of time steps with observations not explained by the current SLDS model.
Suppose there exist K states prior to time T, and the codebooks are CΘ
where {tilde over (H)}T,k has the same switching state sequence path as HT,k except that the members of the subset p are assigned to the new state K+1. If Equation 12 is true, then, at time T, a new state K+1 may be added to the SLDS model.
The best subset p may be selected by trying multiple permutations of subsets of P and selecting the particular subset that minimizes the right-hand side of Equation 12. Due to the fact that the number of possible permutations of subsets of P may be large (i.e., there are 2|P| permutations of subsets of P), the EM algorithm may be initialized using a subset selected from a small number of permutations. After the new subset p has been identified, the EM algorithm is applied to estimate the parameters, the switching states, and the posterior probabilities of the SLDS model.
At block 402, an SLDS transition model for modeling negotiation behavior is initialized. For example, an SLDS transition model as given in Equations 1-4 may be initialized.
In addition to initializing the SLDS transition model, at block 404, data is accessed that reflects a series of previously observed offers made by one or more parties while negotiating terms related to the specific type of transaction. For example, series of offers made by parties in previous negotiations related to the specific type of transaction and involving the same issues may be accessed from a computer memory storage system implementing a negotiation history repository such as, for example, computer memory storage system 212 of
Specifically, at block 406, the data is applied to the SLDS model and the appropriate number of switching states to include within the SLDS transition model is determined by finding the number of switching states that minimizes the description length of the SLDS transition model for the data in the training set. In addition, at block 406, values of the parameters of the SLDS transition model also are calculated for the determined number of switching states in view of the data in the training set. For example, as described above, the EM algorithm may be used to determine the appropriate number s of switching states to model the data in the training set by minimizing Equation 6. In addition, the EM algorithm also may be used to calculate the values of the parameters Θ1 (i.e., A(s), C, and the covariance matrices for v(s) and w) and Θ2 (i.e., pi,j) for the SLDS transition model given in Equations 1-4 in view of the determined number of switching states.
After the number of switching states to be included in the SLDS transition model has been determined and after the values of the parameters of the SLDS transition model have been calculated, at block 408, the SLDS transition model is updated to incorporate the determined switching states and the calculated values of the parameters for the SLDS transition model. This trained SLDS transition model for modeling human negotiation behavior involving the specific type of transaction then may be stored in a computer memory storage system such as, for example, the computer memory storage system 216 storing one or more negotiation behavior model(s). Thereafter, the stored SLDS transition model may be used by an automated negotiation agent, such as, for example, automated negotiation agent 206 of
The process illustrated in the flowchart 500 of
In the event that the description length of the observation yn, when it is assigned to one or more of the switching states of the current SLDS transition model, is less than the unconditional description length of the observation yn, at block 506, the observation is assigned to a particular one of the switching states of the SLDS model and the values of the parameters Θ1 (i.e., A(s), C, and the covariance matrices for v(s) and w) and Θ2 (i.e., pi,j) for the SLDS transition model given in Equations 1-4 are computed by minimizing the description length of the SLDS transition model. For example, the observation may be assigned to a particular one of the switching states and the values of the parameters Θ1 and Θ2 may be calculated by using the EM algorithm to recursively solve Equation 7.
Alternatively, if the description length of the observation yn according to each switching state of the SLDS transition model is greater than the unconditional description length of the observation, at block 508, a new switching state is added to the SLDS transition model. In addition, at block 510, a new switching state sequence is computed and the values of the parameters Θ1 (i.e., A(s), C, and the covariance matrices for v(s) and w) and Θ2 (i.e., pi,j) for the SLDS transition model given in Equations 1-4 are computed by minimizing the description length of the SLDS transition model. For example, the new switching state sequence and the values of the parameters Θ1 and Θ2 may be computed by constructing different permutations of observations for inclusion within the new switching state and using the EM algorithm to recursively solve Equation 7 for each of the different permutations of observations for inclusion within the new switching state. Then, the particular permutation that results in the shortest description length may be determined to be the best SLDS transition model.
After the SLDS model has been updated to account for the observation (e.g., either by performing the operations represented in box 506 or by performing the operations represented in boxes 508 and 510), a determination is made, at 512, as to whether additional observations remain in the training set. If one or more additional observations remain in the training set, the process illustrated in the flowchart 500 of
At box 602, a negotiation behavior model is accessed that models different negotiation strategies for a negotiation related to the particular type of transaction and involving the predefined issues. For example an SLDS-based model of human negotiation behavior that uses different switching states to represent multiple different negotiation strategies in the issue space for the particular type of transaction may be accessed from a computer memory storage system, such as, for example the computer memory storage system 216 storing one or more negotiation behavior models of
After receiving the terms of the new offer, the terms of the new offer are evaluated relative to the negotiation model at box 606, and, based on this evaluation, the new offer is identified, at box 608, as corresponding to a particular one of the negotiation strategies represented by the model of negotiation behavior. For example, the received terms of the new offer may be the same as or similar to terms that were within the training set of data used to train the model of negotiation behavior. If that is the case, the received terms of the new offer may be determined to be associated with the same negotiation strategy as the corresponding offer within the training set of data. Additionally or alternatively, the received terms of the new offer may be determined to fall along or within a short distance of the trajectory of a particular one of the negotiation strategies modeled by the negotiation behavior model. Consequently, the terms of the new offer may be identified as corresponding to this negotiation strategy.
At block 610, as a consequence of having identified the new offer as corresponding to the particular negotiation strategy, it is inferred that the party is employing the particular negotiation strategy. Thereafter, at block 612, the trajectory, in the issue space, of future offers to be made by the party are predicted based on the particular negotiation strategy inferred as being employed by the party. For example, after inferring that the particular negotiation strategy is being employed by the party, it may be predicted that future offers to be made by the party will fall along the trajectory of or in the same general direction as the particular strategy in the issue space.
At block 614, the terms of a counteroffer are calculated based on the predicted trajectory of future offers by the party, and, then, at block 616, the terms of the counteroffer are presented to the party. For example, terms that are deemed acceptable by the automated negotiation agent and that also fall along the trajectory of the particular negotiation strategy in the issue space may be determined and, thereafter, proposed to the party. If the terms of the counterparty are accepted by the party, the automated negotiation may end. Alternatively, if the party proposes its own counteroffer, the process may be repeated in view of the terms of the new counteroffer, and the automated negotiation may continue in this fashion until one party either accepts an offer by the other party or decides to terminate the negotiation.
A number of methods, techniques, systems, and apparatuses have been described. However, additional alternatives are contemplated. For example, while the techniques for automated negotiation described herein generally are described in the context of an automated negotiation agent negotiating on behalf of a seller of a product or service, the techniques can be applied equally well in the context of an automated negotiation agent negotiating on behalf of a buyer of a product or service. Furthermore, while the techniques for automated negotiation described herein generally are described in the context of an automated negotiation agent engaging in a negotiation with a human counterpart, the described techniques also could be applied by an automated negotiation agent engaged in a negotiation with another automated negotiation agent. That is to say, automated negotiation agents as described herein may be opposing-party agnostic. Moreover, the techniques for automated negotiation described herein are not necessarily limited to being applied to negotiations related to the sale/purchase of a product or service. Rather, the techniques for automated negotiation described herein may be applied in many different types of negotiation settings.
The described methods, techniques, systems, and apparatuses may be implemented in digital electronic circuitry or computer hardware, for example, by executing instructions stored in computer-readable storage media.
Apparatuses implementing these techniques may include appropriate input and output devices, a computer processor, and/or a tangible computer-readable storage medium storing instructions for execution by a processor.
A process implementing techniques disclosed herein may be performed by a processor executing instructions stored on a tangible computer-readable storage medium for performing desired functions by operating on input data and generating appropriate output. Suitable processors include, by way of example, both general and special purpose microprocessors. Suitable computer-readable storage devices for storing executable instructions include all forms of non-volatile memory, including, by way of example, semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as fixed, floppy, and removable disks; other magnetic media including tape; and optical media such as Compact Discs (CDs) or Digital Video Disks (DVDs). Any of the foregoing may be supplemented by, or incorporated in, specially designed application-specific integrated circuits (ASICs).
Although the operations of the disclosed techniques may be described herein as being performed in a certain order, in some implementations, individual operations may be rearranged in a different order and/or eliminated and the desired results still may be achieved. Similarly, components in the disclosed systems may be combined in a different manner and/or replaced or supplemented by other components and the desired results still may be achieved.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US10/52463 | 10/13/2010 | WO | 00 | 4/8/2013 |