730 likes | 870 Views
Sistemas Multiagente Sesión 2: Coordinación Negociación y Argumentación. Curso 2010/2011 Ramón Hermoso Traba. La Coordinación en los Sistemas Multiagente. Indice:. 1. Introducción 2. Negociación y Argumentación 3. Bibliografía. ¿Qué es la Coordinación?. Concepto “universal”:
E N D
Sistemas Multiagente Sesión 2: Coordinación Negociación y Argumentación Curso 2010/2011 Ramón Hermoso Traba
La Coordinación en los Sistemas Multiagente Indice: 1. Introducción 2. Negociación y Argumentación 3. Bibliografía
¿Qué es la Coordinación? • Concepto “universal”: • Ciencias Sociales, Economía, Biología, … • Robótica, Ingeniería del Software, Lenguajes de Programación, Inteligencia Artificial (Distribuida), … • Semántica “borrosa”: • Múltiples definiciones • ¡Esto no es coordinación! • Coordinación en los Sistemas Multiagente (SMA): • la coordinación es un problema clave en la construcción de SMAs • la capacidad para coordinarse es una característica esencial de un agente
Interés del diseñador en la coordinación Diseño a nivel micro Varios diseñadores de agentes Un diseñador de agentes La coordinación en los SMA: perspectivas diferentes • Diseño a nivel macro • construir sistemas de múltiples agentes con características deseadas • Diseño a nivel macro • Un diseñador de agentes • agentes benévolos • diseñar todo un sistema de resolución de problemas “La coordinación es la integración y el ajuste del trabajo individual con el fin de alcanzar una meta mayor” (B. Singh)
Coordinación a nivel macro: Resolución Dist. de Problemas • Ejemplo: Gestión de tráfico rodado • red de autopistas urbanas • Construir un sistema que genere planes de señalización en función del estado del tráfico
Coordinación a nivel macro: Resolución Dist. de Problemas Arquitectura TRYS (Cuena et al.): • agentes de resolución de problemas • cada agente es responsable de un área problema • genera planes alternativos de señalización local y los comunica al agente coordinador • agente coordinador • resuelve las interdependencias entre los planes locales • envía los planes locales adaptados a los agentes para su ejecución
Interés del diseñador en la coordinación Diseño a nivel micro • Diseño a nivel macro • construir sistemas de múltiples agentes con características deseadas Varios diseñadores de agentes • Un diseñador de agentes • agentes benévolos • diseñar todo un sistema de resolución de problemas La coordinación en los SMA: perspectivas diferentes “La coordinación es una forma de adaptarse al entorno” (von Martial) • Diseño a nivel micro • en un entorno abierto con múltiples agentes • diseñar un agente adicional con características deseadas
Valor: 2 Valor: 4 P1 P2 Coste:2 R1 Coste: 1 • Mundo multiagente junto con R2: • Utilidad: URi(Ai) = valor({Pi,Pj}) – coste(Ai) • R1 conoce sus tres acciones alternativas y sus consecuencias • R1 no sabe si R2 es consciente de tener la alternativa A2 Coste: 1 R2 Coordinación a nivel micro Ejemplo: • Agente R1 ha de vigilar una zona • existen dos puntos de observación (P1 y P2) • suponen un valor (altura) y un coste (distancia) • acciones: A1 (ir a P1), A2 (ir a P2) y N (nada)
R2 p=0.75 p=0.25 A1 A2 N A1 1 5 1 4 R1 A2 4 2 2 N 2 4 0 R1 R1 [0.25, 0.75] A1 A2 N A1 A2 N A1 A1 0 – 0 0 4 0 A2 R2 A2 – – – 5 3 3 11/3 N N 2 – 0 2 4 0 1 Coordinación a nivel micro Método RMM (Gmytrasievicz y Durfee): Modelo de R1 de su propia situación R2 sabe de P2 R2 no sabe de P2 Modelo de R1 sobre las posibles acciones de R2 R2 R1 no sabe qué modelo R2 tiene de él [1/3, 1/3, 1/3] [0.5, 0.5]
Interés del diseñador en la coordinación • Diseño a nivel micro • en un entorno abierto con múltiples agentes • diseñar un agente adicional con características deseadas Diseño a nivel micro • Diseño a nivel macro • construir sistemas de múltiples agentes con características deseadas Varios diseñadores de agentes • Un diseñador de agentes • agentes benévolos • diseñar todo un sistema de resolución de problemas La coordinación en los SMA: perspectivas diferentes “Coordinar es gobernar la interacción”(Wegener ) • Varios diseñadores de agentes • no se puede ejercer un control directo sobre los agentes • diseñar el contexto del sistema
Coordinación a nivel macro: Sociedades de Agentes • Ejemplo: Comercio Electrónico (Rosenschein y Zlotkin): • asignación de llamadas telefónicas a compañías de telecomunicación • objetivo: evitar comportamiento estratégico entre compañías • Mecanismo de subasta: • un agente usuario comunica las características de la llamada a los distintos agentes empresa • cada agente empresa contesta con una oferta (precio por minuto) • el agente usuario elige una oferta en base a una convención
Coordinación a nivel macro: Sociedades de Agentes • Convención 2: • elegir la mejor compañía y pagar el precio de la segunda oferta más baja • elimina incentivos para el comportamiento estratégico • Convención 1: • elegir la mejor compañía y pagar el precio de la oferta más baja • problema: promociona el comportamiento estratégico
La Coordinación en los Sistemas Multiagente Indice: 1. Introducción 2. Negociación y Argumentación 3. Bibliografía
Agente 1 Agente 2 t' t'1 t'2 t local type A t2 t3 t1 t'1,1 t'1,3 t'1,2 t'2,1 t'2,2 t'2,3 t1,1 t1,2 t1,3 t3,1 t3,2 t3,3 type B Coordinar es Gestionar Dependencias Coordinación: gestión de dependencias (Malone y Crowston) Tareas de coordinación: • definición del contexto de coordinación: agentes, metas, tareas, capacidades, etc. • detección de dependencias: recursos compartidos, productor/consumidor etc. • decisiónde gestión: secuenciación temporal, selección de recursos etc.
Un diseñador de agentes • agentes benévolos • diseñar todo un sistema de resolución de problemas • Un diseñador de agentes • agentes benévolos • diseñar todo un sistema de resolución de problemas La coordinación en entornos abiertos Diseño de estrategias Diseño de Sistemas de Agentes para Negociación • Diseño a nivel micro • en un entorno abierto con múltiples agentes • diseñar un agente adicional con características deseadas • Diseño a nivel macro • construir sistemas de múltiples agentes con características deseadas • Varios diseñadores de agentes • no se puede ejercer un control directo sobre los agentes • diseñar el contexto del sistema Diseño de protocolos
Situaciones con múltiples decisores: Juegos Modelos cuantitativos de coordinación • Las dependencias se compilan en funciones de utilidad multi-atributo • Un agente sólo controla un subconjunto de atributos (o sólo uno) Juegos: • En su versión más simple, se considera un juego en forma normal una tripleta (I,S,U), tal que • I es un conjunto de n agentes (jugadores) • S es el espacio de acciones (estrategias) conjuntas, pudiendo elegir cada agente de un conjunto finito de acciones (estrategias) individuales • U es un conjunto de funciones de utilidad Ui para cada jugador tal que
Escenarios antagónicos: Juegos de suma nula • Un juego es de suma nula cuando en toda estrategia conjunta s se compensan exactamente las ganancias de unos jugadores con las pérdidas de otros, es decir: • Si consideremos el caso particular de un juego bipersonal de suma nula, la fórmula anterior se reduce a la siguiente afirmación:
Escenarios parcialmente cooperativos:Juegos de suma no constante • Juegos de suma no constante: • representan entornos en los que los intereses de los jugadores no son totalmente antagónicos • hay estrategias conjuntas de las que se pueden beneficiar ambos jugadores: • Matriz de juego: • representación de un juego de suma no constante con dos jugadores • las filas representan las posibles acciones del agente 1, mientras que las columnas indican las posibilidades de elección del jugador 2 • las celdas de la matriz contienen pares de números, que indican los valores de utilidad de cada uno de los jugadores
Escenarios parcialmente cooperativos:Juegos de suma no constante Ejemplo: Dilema de Prisionero • Dos cautivos, de los que existe suficiente evidencia incriminatoria, son sometidos de forma separada a un interrogatorio. • Estrategias alternativas de actuación: • confesar el crimen del que se le acusa (“defect”, D ) • callarse (“cooperate”,C ). • Resultados de la actuación: • ninguno confiesa: serán condenados a un año en la cárcel por una fechoría menor • ambos confiesan: afrontarán 5 años de cárcel • uno confiesa y el otro se calla: al primero se le perdonará la fechoría menor, y será liberado gracias a su colaboración, mientras que el último será recluido durante 10 años Nota: • Muchas situaciones de la vida real tienen las características del Dilema de los Prisioneros (“arms-race”, “free-rider”, etc.)
Escenarios parcialmente cooperativos:Juegos de suma no constante Utilidades • Interpretando los años en la cárcel como valores negativos de utilidad • U1(D,D) = -5 U1(D,C) = 0 U1(C,D) = -10 U1(C,C) = -1 • U2(D,D) = -5 U2(D,C) = -10 U2(C,D) = 0 U2(C,C) = -1 • Matriz del juego: • Preferencias • Agente 1: (D,C) >1 (C,C) >1 (D,D) >1 (C,D) • Agente 2: (C,D) >2 (C,C) >2 (D,D) >2 (D,C)
Evaluación del Dilema del Prisionero Contexto: • los agentes no pueden comunicarse, y en particular • no pueden llegar a acuerdos respecto a las acciones que tomar, o al reparto de las utilidades obtenidas. Estrategia racional: cada convicto prefiere confesar (D) en vez de callarse (C). • Seguridad: Si elige C corre el riesgo de ser recluido por 10 años, mientras que al hacer D la penalización máxima es de 5 años. • D domina a C: • Si el compañero juega D, lo mejor que puede hacer el agente es jugar D también, puesto que en este caso sólo iría 5 y no 10 años a la cárcel. • Si el otro convicto se calla (C), la mejor opción será confesar (D), puesto que así la potencial condena de un año se convierte en nada
Equilibrio de Nash Definición: • Un conjunto de acciones está en equilibrio de Nash si ningún agente tiene incentivos para desviarse de él de forma individual • ningún agente puede incrementar su utilidad cambiando unilateralmente su acción. • Formalmente, si s* es un equilibrio de Nash entonces • Dependiendo del juego puede haber uno, varios, o ningún equilibrio de Nash
Soluciones al Dilema del Prisionero Dilema del Prisionero: • El único equilibrio de Nash es (D,D), por lo que ambos acusados acabarán por 5 años en la cárcel • Pero la opción (D,D) no es (Pareto-)eficiente … • (C,C) domina a (D,D) • Cada agente podría estar mejor sin que el otro estuviera peor Soluciones: • Modificar el concepto de racionalidad: altruismo, generosidad, etc. • Dilema del Prisionero Iterado (con futuro “abierto”): • Torneo de Axelrod: gana la estrategia “Tit-for-Tat” • Establecer condiciones para que se pueda llegar a “acuerdos creíbles”
Modelos de Negociación Indice: 1. Introducción 2. Modelos de Negociación 2.1. Subastas 2.2. Regateo 2.3. Argumentación 3. Bibliografía
Negociación • Objetivo: • determinar (las condiciones de) un acuerdo entre, al menos, dos agentes • Tipos de negociación: • Subastas • Adjudicar productos y tareas a través de un “mercado” • n participantes, transacción entre 2 • Regateo • Llegar a un acuerdo entre todos los participantes • Argumentación • Resolver (supuestos) conflictos a través del debate “Rules of Encounter” Rosenschein and Zlotkin, 1994
Subastas • Mecanismo estructurado para forjar acuerdos • Protocolo: semi-distribuido, con diferentes roles • 1 subastador • N subasteros • Estrategias: • “pujas” de los subasteros • Precio inicial, precio de reserva, etc., del subastador • No muy frecuentes en la realidad, pero sí bastante populares en Comercio Electrónico (p.e. eBay)
Subasta inglesa • Inicio: • el subastador ofrece un producto a un precio inicial(usualmente por debajo de un precio mínimo privado) • Apuestas: • los subasteros van ofertando precios (ninguna, una, o varias veces) • cada oferta tiene que superar todas las anteriores • el ciclo de apuestas termina cuando no hay más ofertas • Adjudicación: • si la última oferta alcanza el precio mínimo (privado) del subastador, el producto es adjudicado al subastero de la oferta más alta • de lo contrario no se vende el producto (el subastador tiene la última palabra!!!)
Subasta holandesa • Se usa en mercados de flores holandesas para determinar el precio de una cantidad de flores • Inicio: • el subastador ofrece una cantidad de un producto a un precio inicial (usualmente por encima de un precio mínimo privado) • Apuestas: • cada tiempo (Dt) disminuye el precio en una cantidad (D$) • cada oferta especifica la cantidad del producto a comprar al precio actual • el subastador determina el final de la subasta (o bien porque toda la cantidad ha sido adjudicada, o bien porque se alcanza el precio mínimo privado) • Adjudicación: • la adjudicación de cada oferta a los subasteros es directa • el subastador informa del final de la subasta
Ejemplos de subasta “one-shot” • Subastas “one-shot” • Sólo hay una oportunidad para hacer ofertas (i.e. el proceso no es iterativo) • Ejemplo de la asignación de llamadas telefónicas (véase introducción) • Subasta first-price sealed bid: • elegir la mejor compañía y pagar el precio de la oferta más baja • Subasta Vickrey: • elegir la mejor compañía y pagar el precio de la segunda oferta más baja
Subastas de venta y de compra Subastas de venta: • 1 vendedor, n compradores • Ejemplos: • subasta inglesa y holandesa “tradicionales” • Subastas de compra • 1 comprador, n vendedores • variaciones de las subastas descritas: • subasta inglesa de precio descendente • subasta holandesa de precio ascendente
Tipos de Protocolos de Subasta • Tipo de ofertas: • abierto (open-cry): los subasteros conocen mutuamente sus ofertas • privado/cerrado (sealed-bid): los subasteros sólo conocen sus propias ofertas • Proceso de ofertas: • una vuelta (one-shot): los subasteros sólo dan una oferta • directa (forward): el precio de las ofertas va ascendiendo • inversa (reverse): el precio de las ofertas va descendiendo • Proceso de adjudicación: • ¿Qué oferta se usa para determinar el precio que ha de pagar el ganador? (first-price, second-price, …) • Ejemplos: • Subasta inglesa (tradicional): first-price open-cry (forward) • Subasta holandesa (tradicional): first-price open-cry (reverse) • Subasta Vickrey: one-shotsecond-price sealed-bid
más propicios al análisis formal mayoría de las escenarios reales (p.e. Comercio Electrónico) Tipos de Escenarios de Subasta • valor público (común): • el valor del producto sólo depende de las preferencias de los demás subasteros (valor consiste únicamente en la reventa) • p.e.: billete de un dólar • valor privado: • el valor del producto sólo depende de las propias preferencias del subastero (no hay posibilidad de reventa) • p.e. billete de un dólar gastado por John Lennon • valor correlado: • el valor del producto depende de las preferencias tanto del propio subasteros como de los demás • p.e.: una obra de arte que sirve como decoración y como inversión
Problemas Subastas Vickrey: • subastador mentiroso: • el subastador tiene incentivos para mentir respecto al precio de la segunda oferta más alta (ya que el subastero ganador la desconoce) • revelación de información privada: • los subasteros revelan su precio real, lo cual podrá ser utilizado por los demás subasteros en subastas futuras (de otro tipo) Todas las subastas: • colusión entre subasteros: • si los subasteros se conocen, hay incentivos para coordinar sus ofertas • costes computacionales: • costes de “búsqueda” en subastas interrelacionadas • costes de recabar información en situaciones de incertidumbre
Plataformas para subastas • Fishmarket: http://www.iiia.csic.es/Projects/fishmarket/ • Trading Agent Competition (TAC): • http://www.sics.se/tac/ • http://tac.eecs.umich.edu/ • …
Negociación: Regateo • Características: • posibilidad de forjar acuerdos globales (“creíbles”) entre n agentes • todos los agentes pueden beneficiarse de un acuerdo • pero hay una diferencia de opinión con respecto a las características del acuerdo (qué acuerdo elegir) • Elementosde un escenario de regateo • Conjunto (espacio) de negociación: • Todos los posibles acuerdos a los que se pueden llegar • Ejemplo: todos los precios entre las expectativas iniciales de un comprador y un vendedor • Protocolo de negociación: • Reglas que determinan el proceso de negociación: • ¿Cómo, cuándo, y qué ofertas se pueden hacer? • ¿Cuándo termina la negociación y cuál es el resultado? • Ejemplo: “No se puede ‘empeorar’ una oferta ya hecha” • Estrategia de negociación: • Cómo elegir entre las diferentes acciones que permite el protocolo • Ejemplo: “Mejorar mi última oferta en un 10% cada 5 minutos”
Objetivos de Diseño Diseño de estrategias: • Racionalidad: maximizar las ganancias esperadas • Eficiencia: minimizar el coste computacional para determinar una acción • … Diseño de protocolos: • Distribución: evitar que haya un “cuello de botella” (punto de fallo) • Convergencia: garantizar que se llega a un acuerdo (o desacuerdo) en tiempo finito • Simplicidad: fomentar que se llegue rápido a un acuerdo (o desacuerdo) • Eficiencia: si se llega a un acuerdo, este no “desperdicia” utilidad • Estabilidad: motivar a los agentes para elegir estrategias con características deseadas (estrategias dominantes, equilibrios de Nash) • …
Oferta Contraoferta Punto de acuerdo/ transacción Ofertas de Aj Ofertas de Ai Agente Ai acepta Agente Ai Agente Aj Negocación: Regateo • Regateo como proceso de oferta y contraoferta • Regateo como proceso de concesiones mutuas
El protocolo de concesiones monótonas (PCM) Protocolo PCM: • El regateo se realiza por rondas • En la ronda 1, cada agente propone simultáneamente un trato del conjunto de negociación • Se llega a un acuerdo, si un agente considera que el trato propuesto por el otro es al menos tan bueno (para él) como el suyo. • Si no hay acuerdo, se realiza una nueva ronda de propuestas. En la ronda u+1, ningún agente puede realizar una propuesta peor que en la ronda u. • Si ningún agente cede, el regateo termina en desacuerdo. Diseño de estrategias: • ¿Con qué propuesta empezar? • ¿Cuándo (en qué ronda) hay que ceder? • ¿Cuánto hay que ceder?
La propuesta inicial Leo Baekeland sold the rights to his invention, Velox photographic printing paper, to Eastman Kodak in 1899. It was the first commercially successful photographic paper and he sold it to Eastman Kodak for $1 million. Baekeland had planned to ask $50.000 and to go down to $25.000 if necessary, but fortunately for him, Eastman spoke first. (Asimov, 1982)
Cuánto estoy dispuesto a arriesgar un conflicto? pérdida máxima en caso de conflicto pérdida máxima en casode concesión trato conflicto mejor trato para Ai mejor trato para Aj El factor “riesgo” Idea de estrategia: • Empezar con el trato más favorable para uno mismo • Determinar cuándo (y cuánto) ceder dependiendo de cuánto se puede perder en caso de conflicto (riesgo)
Pérdida máxima de A si cede (y acepta la oferta de B) • Pérdida máxima de A (si no cede y se llega a un conflicto) Riesgo(A,t) = La estrategia de Zeuthen • Disposición para arriesgar el conflicto: • Riesgo: pérdida relativa máxima si el agente A cede en la ronda t • Idea: el agente con el menor riesgo (el que realizaría la menor perdida relativa máxima) debería ceder • La estrategia de Zeuthen: • Calcular el propio Riesgo(A,t) y el del contrario (Riesgo(B,t)) • Si el propio riesgo es igual o más pequeño que el del contrario, entonces hacer la oferta mínima suficiente • suficiente: cambia la balanza de riesgos (después el contrario tiene el menor riesgo) • mínima: elegir la oferta que minimice la propia pérdida de utilidad • De lo contrario, no ceder (repetir la misma oferta)
Dominios orientados a tareas: Ejemplos • Dominios orientados a tareas: • Un grupo de agentes puede redistribuir tareas entre sí (sin efectos secundarios) • pueden beneficiarse si llegan a un acuerdo, pero cada uno prefiere un acuerdo diferente • Repartición de correo: • Varios repartidores de correo han de entregar cartas en diferentes partes de la ciudad. Cada repartidor quiere minimizar el camino que tiene que recorrer, y una forma de hacerlo es intercambiar cartas con sus compañeros • Consultas en Bases de Datos: • Varios agentes tienen acceso a una Base de Datos común, y cada uno ha de realizar una serie de consultas. Podrán coordinar sus (sub-)queries para maximizar la eficiencia de sus consultas (Join, Proyección, Unión, Intersección, …) .
Dominios Orientados a Tareas Definición: • Un dominio orientado a tareas (DOT) es una tripleta (T, Ag, c)tal que: • T es un conjunto finito tareas; • Ag = {A1, A2,…, An}es un conjunto finito de agentes; • c:(T)R+, c() = 0, es una función mónotona creciente que define el coste para ejecutar cualquier subconjunto de tareas Nótese: • Quedarse quieto no cuesta nada (c() = 0) • Cuánto más tareas se ejecutan, más coste se genera (c es monótona creciente) • El coste de ejecutar cada subconjunto de tareas no depende de quién las lleva a cabo (situación idealizada)
Utilidad de Tratos Definición: dado un DOT con dos agentes (T, {A1,A2}, c), • un encuentro dentro del DOTes un vector (T1, T2) tal que para todo k, Tk T. • un trato d = (D1, D2) en un encuentro (T1, T2) es una redistribución de tareas entre agentes, tal que D1 D2 = T1 T2 • el trato = (T1, T2) se llama trato conflicto Nótese: • el trato conflicto modela que no hay acuerdo entre agentes (autonomía)
inicio 1 1 tarea a tarea b Ejemplo: DOT Posibles tratos: ({a}, {b}) ({b}, {a}) ({a,b}, ) (, {a,b}) ({a}, {a,b}) ({b}, {a,b}) ({a,b}, {a}) ({a,b}, {b}) ({a,b}, {a,b}) • Ejemplo: • dominio: ({a,b},{1,2},c) • encuentro: ({a},{a,b}) • función de coste c: • c()=0 • c({a})=1 • c({b})=1 • c({a,b)}=3 trato conflicto
Utilidad de Tratos Definición: dado el DOT (T, {A1,A2}, c)y un tratod = (D1, D2) • el coste Costk() del trato d para el agente k es Costk()=c(Dk) • la utilidad Utilityk() del trato d para el agente k es Utilityk()= c(Tk) - Costk() Nótese: • el coste del trato conflicto es el de realizar sus tareas sin ayuda (stand alone cost) • la utilidad del trato conflicto para todos los agentes k es Utilityk()= 0
Ejemplo: Función de Utilidad de los agentes Agente 2: Utility2({a}, {b}) =2 Utility2 ({b}, {a}) = 2 Utility2 ({a,b}, ) = 3 Utility2 (, {a,b}) = 0 Utility2 ({a}, {a,b}) = 0 Utility2 ({b}, {a,b}) = 0 Utility2 ({a,b}, {a}) = 2 Utility2 ({a,b}, {b}) = 2 Utility2 ({a,b}, {a,b}) = 0 Agente 1: Utility1({a}, {b}) = 0 Utility1({b}, {a}) = 0 Utility1({a,b}, ) = -2 Utility1(, {a,b}) = 1 Utility1({a}, {a,b}) = 0 Utility1({b}, {a,b}) = 0 Utility1({a,b}, {a}) = -2 Utility1({a,b}, {b}) = -2 Utility1({a,b}, {a,b}) = -2
Conjunto de Negociación Definición: • Un trato domina el trato ' si es mejor para al menos uno de los agentes, y no es peor para el otro, es decir >' si (1) k{1,2},Utilityk() Utilityk(') y (2) k{1,2},Utilityk()>Utilityk(') • Trato dominadébilmente a ' ( ' ) si se cumple al menos la condición (1) Definición: • Un trato es individualmente racional si domina débilmente al trato conflicto, es decir si • Un trato es Pareto-óptimo si no existe otro trato ' que lo domine .( ' ) • El conjunto S de todos los tratos individualmente racionales y Pareto-óptimos se llama conjunto de negociación
Pareto-óptimos: ({a}, {b}) ({b}, {a}) (, {a,b}) ({a,b}, ) Ind. racionales: ({a}, {b}) ({b}, {a}) (, {a,b}) ({a}, {a,b}) ({b}, {a,b}) Cjto de Negociación ({a}, {b}) ({b}, {a}) (, {a,b}) Utilidad (0,2) (0,2) (1,0) Ejemplo: Función de Utilidad de los agentes Posibles tratos: ({a}, {b}) ({b}, {a}) ({a,b}, ) (, {a,b}) ({a}, {a,b}) ({b}, {a,b}) ({a,b}, {a}) ({a,b}, {b}) ({a,b}, {a,b})