Capítulo 4. Modelo de negociación basado en restricciones difusas
4.7 Mecanismos de decisión y locuciones
4.7.1 Mecanismos de decisión del agente comprador
Permite que un agente comprador reconozca la necesidad de adquirir un producto. Dicho reconocimiento es consecuencia de la iniciativa explícita de un usuario el cual a través de una interfaz da la orden a su agente personal de su intención de adquirir un
producto5. El propósito final del mecanismo es la inicialización de un diálogo negociador con un vendedor. Sin embargo, el reconocimiento de una necesidad de compra no significa que el proceso de negociación pueda llevarse a cabo inmediatamente, por ejemplo, porque no haya vendedores adecuados con los que ponerse en contacto. En este último caso el mecanismo indica que se encuentra en un estado de espera o wait. Cuando se identifica la necesidad, y además se interpreta que la inicialización de un diálogo es factible, la salida del mecanismo es have_need().
Salidas: wait, have_need(), donde define una categoría de producto. Este mecanismo emite la locución L1: open_dialogue(.).
L1: open_dialogue(.)
Locución open_dialogue(Pb, Ps, )
Precondiciones Esta locución no debe haber sido emitida previamente. El comprador Pb debe
tener la necesidad de adquirir un producto en la categoría .
Significado El comprador Pb sugiere la apertura de un diálogo negociador con el vendedor
Ps sobre productos de la categoría . Un diálogo siempre debe comenzar con
esta locución. Se asume que la identidad del vendedor Ps es conocida, por lo
que esta locución no implica una búsqueda de un destinatario.
Respuesta El vendedor Ps debe responder con enter_dialogue(Ps, Pb, ) si desea
participar en dicho diálogo.
Actualización AI No se produce actualización.
Tabla 2 Detalle de la locución L1: open_dialogue(.)
B2: Generate Purchase Requirement
Este mecanismo responde a la necesidad de un agente comprador de generar requerimientos de compra. Cualquier requerimiento de compra es compatible con la locución prefer_to_buy(.). El mecanismo además prevé la imposibilidad de generar el requerimiento. Así, se identifican dos posibles salidas, la que describe la imposibilidad de
5 También podría reconocerse a partir de un proceso basado en umbrales que se dispare automáticamente (p.ej. cuando un agente personal detecta que se encuentra en las cercanías de un mercado electrónico que ofrece un determinado tipo de productos, y dichos productos se encuentran dentro de las preferencias del usuario propietario del agente personal)
generar un requerimiento, y la que especifica un requerimiento concreto generado. La imposibilidad se formaliza mediante un conjunto vacío o empty_set .
Salidas: empty_set ,
req
B
Según el modelo de preferencias del comprador descrito en la definición 4.5.1.1, un FCSP modela dichas preferencias. Un requerimiento de compra (ver definición 4.5.1.3) se define como una proposición formada por un conjunto de restricciones duras unidas por operadores lógicos, extraídas del FCSP a determinados niveles de corte. Se especifica además que un requerimiento de compra no tiene por qué incluir todas las restricciones difusas definidas en el FCSP, de manera que el agente comprador puede extraer dichas restricciones de forma estratégica. La estrategia de extracción de restricciones duras tiene por tanto una implicación directa en la forma que toma el requerimiento de compra, y de manera indirecta, en la satisfacción global potencial (ver definición 4.5.1.4) que espera como mínimo obtener el comprador. Teniendo en cuenta que un agente racional intentará maximizar su utilidad, la o las estrategias del comprador al respecto de la generación de requerimientos de compra estarán centradas en la gestión adecuada del grado de satisfacción global potencial.
Existen dos formas de composición de un nuevo requerimiento de compra:
1. Incorporación de una nueva restricción difusa, mediante la extracción de la correspondiente restricción dura. Está pensada para dos situaciones concretas: el inicio de la negociación, cuando se debe preparar el primer requerimiento de compra, y durante la negociación, tras una oferta de venta que no satisface las restricciones duras no incluidas en el requerimiento de compra. Este proceso de reenvío de requerimientos repetidos estará limitado por un umbral predeterminado. Una vez superado el umbral se deberá seleccionar aleatoriamente una restricción de entre aquellas no incluidas en el requerimiento de compra y que no han sido satisfechas por las ofertas de venta. El objetivo es conducir al vendedor hacia una oferta de venta correcta, pero minimizando la cantidad de información revelada.
2. Modificación del requerimiento de compra previo sin incorporación de nuevas restricciones difusas. Está pensada para una situación concreta: la emisión durante la negociación por parte del vendedor de las locuciones prefer_to_sell(.) o refuse_to_sell(.), destinadas a expresar su rechazo a satisfacer el requerimiento del comprador.
B3: Generate Purchase Requirement Valuation
Este mecanismo permite generar un argumento de valoración de un requerimiento de compra todavía no enviado, es decir, una valoración de requerimiento de compra
req
B
v . Ésta podrá ser comunicada mediante la locución prefer_to_buy(.).
Salidas:
req
B
v
Como se introdujo en la definición 4.5.1.5, una valoración de requerimiento de compra pretende ser una expresión de la importancia relativa que tiene para el comprador el cumplimiento de cada una de las restricciones que componen un requerimiento de compra, o cuando menos, es lo que el comprador quiere hacer creer. Indirectamente el comprador está indicando qué restricciones preferiría relajar, que serán evidentemente aquellas menos prioritarias. Aparentemente, el vendedor podría actuar estratégicamente y esperar a que el comprador relajase más sus requerimientos, teniendo en cuenta que están priorizados e indican una disposición del comprador por relajar. Sin embargo, nada le garantiza al vendedor que el comprador consiga una solución satisfactoria con otro vendedor (suponiendo que existe algún mecanismo externo que es capaz de garantizar esto).
Este mecanismo emite la locución L6: prefer_to_buy(.). L6: prefer_to_buy(.) Locución prefer_to_buy(Pb, Ps, req B , req B v ).
Precondiciones No hay precondiciones.
producto que satisfaga el requerimiento de compra
req
B
, y expresa sus preferencias en cuanto a la importancia relativa que tienen las restricciones incluidas en el requerimiento de compra mediante la valoración de requerimiento de compra
req
B
v .
Respuesta No se requiere.
Actualización AI Se almacena en un registro el requerimiento de compra
req
B
.
Tabla 3 Detalle de la locución L6: prefer_to_buy(.)
B4: Consider Offers
Este mecanismo responde a la necesidad que tiene un agente comprador de decidir en un determinado momento si: aceptar la oferta de venta propuesta por un agente vendedor, rechazar la oferta de venta propuesta, o generar un nuevo requerimiento de compra. Enviado un requerimiento de compra tB
req
, un agente comprador acepta una oferta de venta pj cuando el grado de satisfacción global (pj) (ver definición 4.5.1.2) es mayor
o igual que el grado de satisfacción global potencial del requerimiento de compra tB1
req
. Esto es así porque desde que se emite un requerimiento, hasta que se recibe una oferta de venta, pueden verse modificadas las preferencias del vendedor, de manera que tBreq1 va a capturar
las necesidades reales actuales del agente comprador. En este caso el mecanismo retorna accept_offer(pj). La aceptación de una oferta desemboca en una fase de diálogo de confirmación de la oferta. Si una oferta de venta no se puede aceptar, y dicha oferta no satisface las restricciones enviadas en t
Breq
, el mecanismo retorna reject_offer(pj) indicando que se debe generar una expresión de rechazo. Finalmente, si la oferta de venta no puede ser aceptada, pero satisface las restricciones enviadas entBreq, el mecanismo retorna
generate_purchase_requirement(pj), indicando que se debe generar un nuevo requerimiento de compra.
Salidas: accept_offer(pj), reject_offer (pj), generate_purchase_requirement(pj), donde pj es una oferta de venta.
Las locuciones que emite este mecanismo son L7: refuse_to_buy(.) y L9: agree_to_buy(.).
L7: refuse_to_buy(.)
Locución refuse_to_buy(Pb, Ps, pj)
Precondiciones No puede ser emitida tras agree_to_buy (Pb, Ps, pj).
Significado El agente comprador Pb expresa su rechazo a la compra de un producto
pj.
Respuesta No se requiere.
Actualización AI No se actualiza.
Tabla 4 Detalle de la locución L7: refuse_to_buy(.)
L9: agree_to_buy(.)
Locución agree_to_buy(Pb, Ps, pj).
Precondiciones Esta locución es siempre una respuesta a willing_to_sell(Ps, Pb, pj).
Significado El agente comprador Pb dirigiéndose al agente vendedor Ps se compromete a
comprar el producto pj.
Respuesta Si el agente vendedor Ps desea vender el producto pj, puede responder con la
locución agree_to_sell(Ps, Pb, pj).
Actualización AI Se almacena en un registro el compromiso de compra pj.
Tabla 5 Detalle de la locución L9: agree_to_buy(.)
B5: Consider Withdrawal
Este mecanismo responde a la necesidad que tiene un agente comprador de decidir en un determinado momento si debe finalizar el diálogo con un vendedor. El mecanismo puede permanecer en estado de espera, retornará entonces wait, o indicar que se debe abandonar el diálogo, en cuyo caso retornará withdraw().
La locución emitida por el mecanismo es L11: withdraw_dialogue(.). L11: withdraw_dialogue(.)
Locución withdraw_dialogue(Px, Py, _), donde Px and Py son participantes con
diferentes roles, es decir, compradores o vendedores.
Precondiciones Esta locución puede emitirse en cualquier momento tras la apertura del diálogo.
Significado Un agente Px anuncia al agente Py que abandona el diálogo de negociación de
compra de productos de la categoría.
Respuesta No se requiere.
Actualización AI No se actualiza.
Tabla 6 Detalle de la locución L11: withdraw_dialogue(.)
4.7.2 Mecanismos de decisión del agente vendedor