• No se han encontrado resultados

Problema de asignación de guardaespaldas multiclaseMulticlass bodyguard allocation problem

N/A
N/A
Protected

Academic year: 2020

Share "Problema de asignación de guardaespaldas multiclaseMulticlass bodyguard allocation problem"

Copied!
99
0
0

Texto completo

(1)

SUPERIOR DE ENSENADA, BAJA CALIFORNIA

PROGRAMA DE POSGRADO EN CIENCIAS

EN CIENCIAS DE LA COMPUTACI ´

ON

Problema de asignaci ´

on de guardaespaldas multiclase

Tesis

para cubrir parcialmente los requisitos necesarios para obtener el grado de

Maestro en Ciencias

Presenta:

Lino Alberto Rodr´ıguez Coayahuitl

Ensenada, Baja California, M ´exico

(2)

Lino Alberto Rodr´ıguez Coayahuitl

y aprobada por el siguiente comit ´e

Dr. Jos ´e Alberto Fern ´andez Zepeda

Director del Comit ´e

Dr. Carlos Alberto Brizuela Rodr´ıguez

Miembro del Comit ´e

Dr. Israel Rocha Mendoza

Miembro del Comit ´e

Dra. Ana Isabel Mart´ınez Garc´ıa

Coordinador del Programa de Posgrado en Ciencias de la Computaci ´on

Dr. Jes ´us Favela Vara

Director de Estudios de Posgrado

(3)

Resumen de la tesis que presentaLino Alberto Rodr´ıguez Coayahuitl como requisito parcial para la obtenci ´on del grado de Maestro en Ciencias en Ciencias de la Compu-taci ´on.

Problema de asignaci ´on de guardaespaldas multiclase

Resumen elaborado por:

Lino Alberto Rodr´ıguez Coayahuitl

En este trabajo se presenta el problema de asignaci ´on de guardaespaldas multicla-se (PAGM). Este problema es una versi ´on m ´as general del problema de asignaci ´on de guardaespaldas (PAG). El PAG lo propuso Fajardo-Delgado et al. (2013), y consiste en construir un ´arbol de esparcimiento en grafos conectados donde se presentan tres tipos de v ´ertices: blancos, negros y la ra´ız. Cada tipo de v ´ertice tiene un objetivo distinto: los v ´ertices blancos buscan minimizar su distancia a la ra´ız dentro del ´arbol de esparcimiento, mientras que los v ´ertices negros, buscan maximizarla. Una de las limitaciones del PAG es que s ´olo contempla dos clases de v ´ertices, por lo que el objetivo de este trabajo es ex-tender el problema del PAG para que contemple m ´as clases de v ´ertices, no solo aquellos que buscan estar en los extremos del ´arbol de esparcimiento, sino tambi ´en v ´ertices que busquen estar a cualquier distancia espec´ıfica de la ra´ız.

Una soluci ´on del PAGM es un ´arbol en el que se cumple una condici ´on de equilibrio y se maximiza el bienestar social. El PAGM se estudia desde la teor´ıa de juegos, y se pro-pone un enfoque cooperativo y uno no cooperativo para encontrar soluciones al PAGM. Se propone un algoritmo centralizado, CBAPM, y un algoritmo distribuido, DBAPM, que utilizan uno de estos dos enfoques para resolver casos del PAGM. Se analiza de mane-ra rigurosa la convergencia al equilibrio de estos algoritmos bajo cualquiemane-ra de los dos enfoques, as´ı como su tiempo de ejecuci ´on, en funci ´on del tama ˜no del caso de entrada.

Se propone un algoritmo denominado CBAPM mixto (M-CBAPM), que combina de manera secuencial los enfoques no cooperativo y cooperativo, con el objetivo de encon-trar mejores soluciones de las que se pueden obtener si se utiliza cualquiera de los dos enfoques de manera individual. Se proponen tres variantes de este algoritmo: M-CBAPM, CBAPM mixto apartir del mejor bienestar social (M-CBAPM-BSW) y CBAPM mixto doble (DM-CBAPM).

Por ´ultimo, para llevar a cabo pruebas experimentales de los algoritmos propuestos, se propuso un conjunto de casos espec´ıficos del PAGM. Se utiliz ´o la metodolog´ıa propues-ta por Zapropues-tarain Aceves (2011) para el dise ˜no de este conjunto de casos espec´ıficos. Se compar ´o el enfoque cooperativo contra el no cooperativo, para determinar bajo qu ´e con-diciones uno es mejor que el otro; y por ´ultimo se compararon estos dos contra el enfoque del algoritmo M-CBAPM.

(4)

Abstract of the thesis presented by Lino Alberto Rodr´ıguez Coayahuitl as a partial requirement to obtain the Master of Science degree in Master in Sciences in Computer Science.

Multiclass Bodyguard Allocation Problem

Abstract by:

Lino Alberto Rodr´ıguez Coayahuitl

In this thesis, we extended the bodyguard allocation problem (BAP) into the multiclass bodyguard allocation problem (MBAP). The BAP was originally proposed in (Fajardo-Delgadoet al., 2013), and its objective is to build a spanning tree in a connected graph in which there are three types of vertices: white, black and the root. Each type of vertex has a different objective: the white vertices seek to minimize their distance to the root while black vertices seek to maximize it. A limitation of the BAP is that it only considers two classes of vertex, those that try to get as close as possible to the root, and those that try to get as far as possible from it. The objective of this work is to extend the model of the BAP, so it considers vertices that try to stay at specific distances from the root. We call this extended problem the MBAP.

A solution to the MBAP is a spanning tree that satisfies a condition of equilibrium and maximizes the social welfare. We study the MBAP from a game theory perspective. We proposed a cooperative approach and a non-cooperative approach to solve the MBAP. We proposed the CBAPM, a centralized algorithm, and the DBAPM, a distributed algorithm, (both based on the algorithms originally proposed by Fajardo-Delgadoet al.(2013) for the BAP), that use any of the two approaches to solve the MBAP. We analysed the conver-gence to a solution of the proposed algorithms under each approach. We also analysed the execution time of the algorithms according to the size of the input.

We also proposed a mixed approach algorithm, M-CBAPM, that combines both non-cooperative and non-cooperative approaches in a sequential manner. The objetive of the M-CBAPM is to reach solutions with higher social welfare than those algorithms working independently. We proposed three variants of the mixed algorithm: M-CBAPM, M-CBAPM using best non-cooperative social welfare (M-BAPM-BSW), and double round M-CBAPM (DM-CBAPM).

In order to carry experimental simulations of the proposed algorithms, we proposed a collection of MBAP instances. We used the methodology proposed by Zatarain Aceves (2011) for the design of such instances. We compared the performances of the coope-rative, non-cooperative and mixed approaches, to determine under what conditions each approach surpasses the others.

(5)

Dedicatoria

A la ciudad de Ensenada, que

(6)

Agradecimientos

A mi familia, por todo el apoyo y comprensi ´on durante esta etapa que me

permitie-ron alcanzar uno de mis objetivos.

A mi director de tesis, el Dr. Alberto Fern ´andez, por haberme invitado a formar parte

de su equipo de trabajo, y guiarme durante el desarrollo de esta tesis.

AHector Zatarain, por su invaluable apoyo durante la realizaci ´on de este trabajo de

tesis.

A los miembros del comit ´e de tesis, elDr. Carlos Brizuelay elDr. Israel Rocha, por

sus valiosas aportaciones durante las revisiones de avance de tesis.

A mis compa ˜neros del laboratorio de algoritmos, Ana, Alex, Ismael, Julio y Rosa

por hacer de los d´ıas m ´as dif´ıciles, los mejores.

Al resto de mis compa ˜neros de generaci ´on,Armando, Alejandro, Carlos, Ema,

Fran-celi, Julia, Miguel, Netzahualc ´oyotl, Ram ´on, Ra ´ul, Refu, Sa ´ul por todos los momentos

compartidos.

A todos los investigadores, estudiantes y personal del departamento de ciencias de

la computaci ´on por su ense ˜nanza acad ´emica.

(7)

Tabla de contenido

P ´agina

Resumen en espa ˜nol iii

Resumen en ingl ´es iv

Dedicatoria v

Agradecimientos vi

Lista de figuras x

Lista de tablas xi

1. Introducci ´on 1

1.1. Investigaci ´on previa . . . 3

1.1.1. Problema de asignaci ´on de guardaespaldas . . . 3

1.1.2. Uso de la teor´ıa de juegos para modelar el PAG . . . 7

1.1.3. Un algoritmo evolutivo para el PAG . . . 11

1.2. Objetivo de la investigaci ´on . . . 13

1.3. Contribuci ´on al conocimiento . . . 14

1.4. Organizaci ´on de la tesis . . . 14

2. Problema de asignaci ´on de guardaespaldas multiclase 16 2.1. Definici ´on . . . 16

2.2. Teor´ıa de juegos y el PAGM . . . 20

2.2.1. Contribuci ´on de un v ´ertice al bienestar social . . . 20

2.2.2. Funci ´on de ganancia . . . 22

2.2.3. Enfoque cooperativo . . . 23

2.2.4. Enfoque no cooperativo . . . 24

3. Algoritmo CBAPM 26 3.1. An ´alisis del algoritmo CBAPM . . . 26

3.1.1. Procedimiento CREAR-ARBOL() . . . 27

3.1.2. Procedimiento ETIQUETADO-INICIAL() . . . 27

3.1.3. Procedimiento GENERAR-FUNCIONES-GANANCIA() . . . 28

3.1.4. Procedimiento CALENDARIZADOR() . . . 28

3.1.5. Procedimiento MOVIMIENTO-OPTIMIZACION() . . . 30

3.1.6. Procedimiento ACTUALIZACION() . . . 30

3.2. Demostraci ´on de convergencia . . . 30

3.2.1. Enfoque cooperativo . . . 31

3.2.2. Enfoque no cooperativo . . . 31

3.2.2.1. Grafo completo . . . 34

3.3. Algoritmo distribuido . . . 38

3.3.1. Descripci ´on del algoritmo DBAP . . . 38

3.3.1.1. Fase TREE-CONSTRUCTION . . . 38

3.3.1.2. Fase CONVERGECAST. . . 39

3.3.1.3. Fase TOKEN-PASSING . . . 39

(8)

Tabla de contenido (continuaci ´

on)

3.3.2. An ´alisis del algoritmo DBAPM . . . 40

4. Algoritmo mixto 42 4.1. Algoritmo CBAPM Mixto . . . 42

4.1.1. Procedimiento CREAR-ARBOL() . . . 44

4.1.2. Procedimiento ETIQUETADO-INICIAL . . . 44

4.1.3. Procedimiento GENERAR-FUNCIONES-GANANCIA() . . . 44

4.1.4. Procedimiento CALENDARIZADOR() . . . 44

4.1.5. Procedimiento MOVIMIENTO-OPTIMIZACION() . . . 44

4.1.6. Procedimiento ACTUALIZACION() . . . 44

4.1.7. Procedimiento CAMBIAR-FUNCIONES-GANANCIA() . . . 44

4.2. Algoritmo CBAPM Mixto a partir del mejor bienestar social . . . 45

4.2.1. Procedimiento CREAR-ARBOL() . . . 45

4.2.2. Procedimiento ETIQUETADO-INICIAL . . . 47

4.2.3. Procedimiento GENERAR-FUNCIONES-GANANCIA() . . . 47

4.2.4. Procedimiento COPIAR-ARBOL() . . . 47

4.2.5. Procedimiento CALENDARIZADOR() . . . 47

4.2.6. Procedimiento MOVIMIENTO-OPTIMIZACION() . . . 47

4.2.7. Procedimiento ACTUALIZACION() . . . 47

4.2.8. Procedimiento CAMBIAR-FUNCIONES-GANANCIA() . . . 47

4.3. Algoritmo CBAPM Mixto doble . . . 48

5. Resultados experimentales 50 5.1. Generaci ´on de casos espec´ıficos del PAGM . . . 50

5.1.1. Distribuciones de clases . . . 50

5.1.2. Generaci ´on de grafos aleatorios . . . 51

5.1.2.1. Modelo Barab ´asi-Albert . . . 52

5.1.2.2. Modelo Erd ¨os-R ´enyi . . . 53

5.1.2.3. Modelo evolutivo estoc ´astico . . . 53

5.2. Metodolog´ıa . . . 54

5.3. Resultados . . . 57

5.3.1. CBAPM . . . 57

5.3.1.1. PoS aproximado . . . 57

5.3.1.2. PoA aproximado . . . 60

5.3.1.3. Cantidad de movimientos . . . 62

5.3.2. DBAPM . . . 64

5.3.2.1. PoS aproximado . . . 64

5.3.2.2. PoA aproximado . . . 66

5.3.2.3. Cantidad de movimientos . . . 68

5.3.3. Algoritmo mixto . . . 68

5.3.3.1. PoS aproximado . . . 68

5.3.3.2. PoA aproximado . . . 72

5.3.3.3. Cantidad de movimientos cooperativos . . . 74

(9)

Tabla de contenido (continuaci ´

on)

5.3.4.1. PoS aproximado . . . 74 5.3.4.2. PoA aproximado . . . 78

6. Conclusiones y trabajo a futuro 81

6.1. Resumen . . . 81 6.2. Conclusiones y conjeturas . . . 82 6.3. Trabajo a futuro . . . 85

(10)

Lista de figuras

Figura P ´agina

1. PoS para FCC-BAP, EA-BAP, CBAP . . . 12

2. PoA para FCC-BAP, EA-BAP, CBAP . . . 13

3. Caso espec´ıfico del PAGM . . . 18

4. Enfoque cooperativo contra no cooperativo . . . 22

5. Movimiento no cooperativo . . . 32

6. Ejemplo ciclo no cooperativo . . . 33

7. Ejemplo conjunto inamovible 1 . . . 35

8. Ejemplo conjunto inamovible 2 . . . 36

9. Algoritmo DBAPM . . . 40

10. Algoritmo M-CBAPM . . . 43

11. Algoritmo M-CBAPM-BSW . . . 46

12. Algoritmo DM-CBAPM . . . 49

13. Grafo Barab ´asi-Albert . . . 53

14. Grafo Erd ¨os-R ´enyi . . . 54

15. Grafo evolutivo estoc ´astico . . . 55

16. PoS para el CBAPM . . . 58

17. PoA para CBAPM . . . 61

18. Movimientos CBAPM . . . 63

19. PoS para DBAPM . . . 65

20. PoA para DBAPM . . . 67

21. Movimientos DBAPM . . . 69

22. PoS para M-CBAPM . . . 71

23. PoA para M-CBAPM . . . 73

24. Movimientos M-CBAPM . . . 75

25. PoS para M-CBAPM, M-CBAPM-BSW y DM-CBAPM . . . 76

(11)

Lista de tablas

Tabla P ´agina

1. Construcci ´on de funci ´on de contribuci ´on . . . 23

2. Optimos distintas distribuciones . . . .´ 56

3. PoS para el CBAPM . . . 59

4. PoA para CBAPM . . . 62

5. PoS para DBAPM . . . 64

6. PoA para DBAPM . . . 66

7. PoS para M-CBAPM . . . 70

8. PoA para M-CBAPM . . . 72

9. PoS para M-CBAPM, M-CBAPM-BSW y DM-CBAPM . . . 77

(12)

Cap´ıtulo 1.

Introducci ´

on

La teor´ıa de juegos es el estudio de la toma de decisiones estrat ´egica y trata con

problemas que involucran entidades racionales que pueden tener conflicto de intereses, o

bien, que pueden beneficiarse si hay cooperaci ´on entre ´estas. La teor´ıa de juegos es una

´area de las matem ´aticas, por lo general considerada como una rama de la econom´ıa,

que tiene aplicaciones en ´areas como la biolog´ıa, los negocios, el ´ambito militar y la

computaci ´on.

Los denominados juegos en la teor´ıa de juegos consisten en modelos matem ´aticos

bien definidos que especifican los siguientes elementos: los jugadores, la informaci ´on y

acciones disponibles para cada jugador, y las ganancias para cada posible escenario que

pueda resultar como producto de la interacci ´on entre los jugadores.

Lo que se busca en el estudio de la teor´ıa de juegos es encontrar estrategias que

lleven a los juegos a puntos de equilibrio, es decir, divisar estrategias para cada jugador

de modo que ninguno de los jugadores se pueda beneficiar unilateralmente.

En las ciencias de la computaci ´on muchas veces se puede ver un proceso distribuido

como una colecci ´on de sistemas aut ´onomos que trabajan en conjunto para alcanzar una

meta en com ´un. Un proceso distribuido es un ejemplo de un juego del tipo cooperativo.

Por otro lado, en sistemas masivamente distribuidos, como lo es la Internet, pueden existir

entidades con objetivos contradictorios, por lo que se puede ver como un juego del tipo

no cooperativo.

La teor´ıa de juegos permite analizar varios problemas de c ´omputo distribuido en los

que se presenta conflicto de intereses, como por ejemplo ruteo de Internet (Griffinet al.

(2002), Roughgarden (2005)), balanceo de carga (Koutsoupias y Papadimitriou (2009),

Grosu y Chronopoulos (2004)), servicios punto a punto (Feldmanet al.(2004),

Moscibro-daet al.(2006)) y redes inal ´ambricas de sensores (Machado y Tekinay (2008), Charilas y

Panagopoulos (2010)). Algunos de los estudios m ´as amplios que relacionan la teor´ıa de

juegos con los sistemas distribuidos son (Nisanet al., 2007) y (Halpern, 2007).

(13)

de Guardaespaldas (PAG), el cual se explica de manera informal mediante la siguiente

analog´ıa: En una casa con n habitaciones conectadas entre ellas mediante m pasillos, existe una persona denominadacliente, a la quen−1guardaespaldas le brindan

protec-ci ´on. Cada guardaespaldas puede estar en una habitaprotec-ci ´on y cuidar un pasillo. Se

clausu-ran los pasillos que no protejan los guardaespaldas; pero siempre debe existir una ruta

entre el cliente y cualquiera de los guardaespaldas. Existen dos tipos de guardaespaldas:

expertos y novatos. Los guardaespaldas expertos buscan estar lo m ´as cerca posible del

cliente, mientras que los guardaespaldas novatos, lo m ´as lejos posible. El conflicto de

inter ´es surge cuando un guardaespaldas experto, al buscar acercarse al cliente, acerca a

todos los guardaespaldas novatos que est ´an detr ´as de ´el; y de manera an ´aloga, cuando

un guardaespaldas novato, al alejarse del cliente, aleja a los guardaespaldas expertos

que est ´an detr ´as de ´el.

Matem ´aticamente, el PAG se representa mediante un grafo, en donde cada v ´ertice

representa una habitaci ´on con un guardaespaldas o el cliente, y las aristas representan

a los pasillos que conectan los cuartos. De esta manera existen tres tipos de v ´ertices:

blancos (negros) que representan a los guardaespaldas expertos (novatos); y un v ´ertice

especial, denominado ra´ız, que representa al cliente, de cual los v ´ertices blancos (negros)

se quieren acercar (alejar).

La soluci ´on al PAG se representa por un ´arbol de esparcimiento enraizado en el v ´ertice

que representa al cliente. Esta soluci ´on significa que al grafo original se le han removido

algunas aristas (equivalente en la analog´ıa a clausurar pasillos) de manera que s ´olo

que-de una arista por v ´ertice blanco o negro (un pasillo asignado a cada guardaespaldas) y

adem ´as exista comunicaci ´on entre todos los cuartos.

Desde el enfoque de teor´ıa de juegos, se determina que los guardaespaldas son los

jugadores, que tienen posibilidad de alejarse o acercarse al cliente (el cual no participa

en el juego, es decir, es un jugador pasivo), y el resultado del juego es una funci ´on de

bienestar social, que es la suma de lautilidad individual de cada uno de los

guardaespal-das. Lautilidad individual de cada guardaespaldas indica su grado de satisfacci ´on con su

posici ´on actual. As´ı, la funci ´on deutilidad individual es diferente para cada tipo de

(14)

otros buscan lo contrario.

El equilibrio en el PAG depende del enfoque que se utilice. Fajardo-Delgado et al.

(2013) propone los enfoques completamente cooperativo y completamente no

coope-rativo. Bajo el enfoque completamente cooperativo (no cooperativo), el PAG alcanza el

equilibrio cuando ning ´un guardaespaldas puede realizar un movimiento que mejore el

bienestar social (su utilidad individual).

Un concepto que no es obvio a simple vista, pero que es de crucial importancia, es el

hecho de que el que un caso espec´ıfico del PAG haya alcanzado el equilibrio, no significa

que no existan otras configuraciones en equilibrio con mayor bienestar social. Desde el

punto de vista de optimizaci ´on, se podr´ıa entender un equilibrio en el PAG como un ´optimo

local.

1.1. Investigaci ´on previa

En esta secci ´on se describen los trabajos realizados por Fajardo-Delgadoet al.(2013),

Brubeck Salcedo (2011) y Zatarain Aceves (2011), sobre el PAG. Otros modelos

simila-res al PAG, en el aspecto que consideran dos o m ´as clases de procesos con objetivos

individuales diferentes, se pueden encontrar en (Dasgupta et al., 2006) y (Cohen et al.,

2008)

1.1.1. Problema de asignaci ´on de guardaespaldas

En sistemas computacionales distribuidos donde pueda existir un conflicto de inter ´es,

es importante encontrar una configuraci ´on donde ning ´un proceso se pueda beneficiar de

manera unilateral. Esto quiere decir, que ning ´un proceso pueda realizar acciones que

s ´olo lo beneficien a ´el. Esta configuraci ´on se le denomina equilibrio (Nash et al., 1950).

Cuando no existe un equilibrio ´unico, se define elbienestar social como la suma de los

grados de satisfacci ´on individual de todos los procesos del sistema, para comparar la

calidad de un equilibrio con respecto a otro.

La motivaci ´on que llev ´o al planteamiento y estudio del PAG es la siguiente:

(15)

del comportamiento de procesos con objetivos contrarios en sistemas distriuidos.

Se estudia la manera en c ´omo diferentes niveles de cooperaci ´on se traducen en

diferentes grados de bienestar social, con la expectativa de que un mayor grado de

cooperaci ´on entre los procesos conlleve a un mayor bienestar social.

Se estudian y comparan los tiempos de ejecuci ´on de los algoritmos cuando los

pro-cesos cooperan y cuando no. El sentido com ´un dictar´ıa que un sistema cooperativo

requiere de un mayor grado de coordinaci ´on, lo que representar´ıa mayor tiempo

de ejecuci ´on, pero sorprendentemente los resultados encontrados demuestran lo

contrario.

El PAG, modelado como un problema de grafos, se define de la siguiente manera: sea

la entrada un grafo conectado, no dirigidoG= (VG, EG), se divide el conjunto de v ´ertices

en una partici ´on de tres subconjuntos V1, V2, V3. El subconjunto V1 (V2) representa los

nodos blancos (negros), i.e. los que buscan minimizar (maximizar) su distancia a la ra´ız.

El subconjuntoV3 est ´a compuesto por un ´unico elementor, que es la ra´ız.

Una soluci ´on al PAG se representa por un ´arbol de esparcimientoT = (VT, ET),

enrai-zado enr, tal queVT =VG,ET ⊆EG, y dondeT tiene una condici ´on de equilibrio.

El objetivo del PAG es encontrar un ´arbol T que maximice la funci ´on de bienestar socialg(T), que est ´a dada por la Ecuaci ´on 1.

g(T) = X

∀u∈V1

f1(u) + X

∀u∈V2

f2(u). (1)

La funci ´on g(T) es la suma de las utilidades individuales de todos los v ´ertices de V1

yV2. Las funcionesf1 : V1 → Z y f2 : V2 → Zdenotan la utilidad individual de cada uno

de los v ´ertices blancos y negros respectivamente. Se definen las funcionesf1 yf2 como

se muestra en las Ecuaciones 2 y 3, dondedT

u es la distancia de u a la ra´ız en el ´arbol,

medida en aristas.

(16)

f2(u) = dTu, ∀u∈V2; (3)

Dentro del marco de trabajo de teor´ıa de juegos, el PAG es un juegoGque se compone

de la tupla(Λ,{V1∪V2}, Su, πu), donde

Λ representa a un caso espec´ıfico del PAG, i.e. un grafoG = (VG, EG)junto con su

partici ´on de v ´ertices.

{V1∪V2} es el conjunto de v ´ertices que representan a los jugadores racionales del

juego. El v ´ertice ra´ız res un jugador pasivo que no toma acci ´on alguna.

Su es el conjunto de posibles estrateg´ıas para cada jugador. Esto es, alejarse o

acercarse a la ra´ız.

πu es una funci ´on de evaluaci ´on que calcula laspreferencias de cualquier jugador.

Se supone que cada caso espec´ıfico Λ de G inicia con un ´arbol de esparcimiento

arbitrarioT sobre el grafoGy enraizado enr.

Se denota como Mu a un movimiento que hace u. Este movimiento se realiza por

medio de un cambio en el apuntador de Pu = v a Pu = v0, como consecuencia de

ha-ber escogido una estrategia de Su. El v ´ertice v0 solo puede pertenecer al conjunto de

vecinos de u en G, que no sean sus descendientes en T, o de lo contrario el ´arbol se

desconectar´ıa.

Al estudiarse como un juego, el PAG se puede solucionar bajo enfoques

completa-mente cooperativos o no cooperativos. Cuando todo v ´erticeusigue un enfoque comple-tamente cooperativo (no cooperativo), u busca incrementar el bienestar social (utilidad

individual) en lugar de la utilidad individual (bienestar social).

Bajo el enfoque completamente cooperativo, cada v ´ertice u utiliza un sistema de

vo-taci ´on para decidir qu ´e estrateg´ıa (alejarse o acercarse) es la m ´as conveniente para la

(17)

Se define como unmovimiento de optimizaci ´on a cualquier movimiento de un v ´ertice

uque genera el m ´aximo posible valor deπu. Durante el an ´alisis del PAG, se demostr ´o que

bajo el enfoque completamente cooperativo, todos los movimientos de optimizaci ´on

incre-mentan, al menos en una unidad, el valor del bienestar socialg(T).

Bajo un enfoque completamente no cooperativo, cada v ´ertice toma decisiones bas

´ando-se ´unicamente en el voto emitido por ´el mismo.

Un equilibrio en el PAG significa que cada guardaespaldas no puede mejorar, al menos

desde su propia perspectiva, la protecci ´on que proporciona al cliente. Es importante notar

que el equilibrio depende del enfoque del problema, sea cooperativo o no cooperativo.

Para llevar a cabo la comparaci ´on de la calidad de los equilibrios se utilizan elprecio

de estabilidad (PoS) (Schulz y Moses, 2003), (Anshelevich et al., 2004) y el precio de

anarqu´ıa(PoA) (Koutsoupias y Papadimitriou, 2009) como medidas de ineficiencia para

indicar qu ´e tanto se aproximan los valores de bienestar social al ´optimo. Dado que el PAG

es un problema de maximizaci ´on, el PoS (PoA) es la proporci ´on del valor del equilibrio

con mejor (peor) bienestar social entre el valor ´optimo para un caso espec´ıfico del PAG.

Se conjetura que para el PAG no es posible encontrar el bienestar social ´optimo en tiempo

polinomial a menos que P = NP.

En (Fajardo-Delgado et al., 2013) se desarroll ´o el algoritmo CBAP para la resoluci ´on

del PAG. Se trata de un algoritmo centralizado que puede funcionar bajo esquemas

com-pletamente cooperativos o no-cooperativos. La entrada del CBAP es un caso espec´ıfico

del PAG y la salida es un ´arbol de esparcimiento que cumple con la condici ´on de

equi-librio pero que no necesariamente maximiza la funci ´on de bienestar social. El CBAP se

muestra en el Algoritmo 1.

En (Fajardo-Delgadoet al., 2013) se demuestra que el bienestar social del PAG es a lo

m ´asO(n2). Por lo tanto, bajo el enfoque completamente cooperativo, al CBAP le tomar ´a a

lo m ´asO(n2)movimientos de optimizaci ´on para converger al equilibrio. El tiempo total de

ejecuci ´on del CBAP, bajo la estrategia completamente cooperativa, es de O(n3 +mn2)

(18)

Algoritmo 1ALGORITMO-CBAP(G)

1: T ←RANDOMIZED-SPANNING-TREE(G,r)

2: T ←INITIAL-LABELING(T)

3: T ←VOTE-COLLECTING(T)

4: mientras∃utal queu←SCHEDULER(G,T)hacer 5: Pold

u ←Pu

6: T0 ←OPTIMIZATION-MOVE(G,T,u)

7: T ← UPDATING(T0,u,Pold

u )

8: fin mientras

En (Fajardo-Delgado et al., 2013) tambi ´en se demuestra que bajo el enfoque

com-pletamente no cooperativo, el algoritmo CBAP toma O(n4lnn + mn3lnn) u.t. con alta

probabilidad para alcanzar el equilibrio.

En (Fajardo-Delgado et al., 2013) tambi ´en se introduce otro enfoque denominado

semi-cooperativo. Se dice que un v ´ertice tiene un nivel de cooperaci ´on k, donde k es

la distancia (profundidad) en su sub ´arbol hasta donde considerar ´a votos de sus

descen-dientes. Se demostr ´o que bajo este enfoque, el CBAP no siempre converge al equilibrio.

Para comparar los enfoques completamente cooperativos y no cooperativos, en

(Fajardo-Delgadoet al., 2013) se llevaron a cabo simulaciones experimentales. Se generaron un

total de 450 casos espec´ıficos mediante tres modelos diferentes de grafos aleatorios. Los

resultados experimentales muestran que, en general, la estrategia cooperativa es mejor

que la no cooperativa, salvo para grafos aleatorios dispersos.

1.1.2. Uso de la teor´ıa de juegos para modelar el PAG

En (Brubeck Salcedo, 2011) se introducen diferentes modificaciones al juego del PAG

y al algoritmo del CBAP para obtener mejores valores de bienestar social. A continuaci ´on

se describen brevemente algunas de ellas.

Variantes de estrategias de jugadores

Estrategia voraz. La estrategia que originalmente se propone en (Fajardo-Delgado

et al., 2013) consiste en que cada v ´ertice siempre busca maximizar o minimizar su

dis-tancia a la ra´ız. Esto se lleva a cabo mediante la funci ´on de evaluaci ´on πu, con la que

(19)

m ´as lo aleje o acerque a la ra´ız, seg ´un sea su preferencia.

Brubeck Salcedo (2011) propone tres nuevas estrategias:

Estrategia ε-voraz. Consiste en generar dos conjuntos de v ´ertices, Zu y Yu. Zu son

los elementos que maximizan la distancia (ya sea acercarse o alejarse) y Yu son los

elementos que solamente la incrementan (o decrementan, seg ´un sea el caso). Se escoge

un elemento de Zu con probabilidad |Zuε| o un elemento de Yu con probabilidad 1|Yu−ε|. Se

demuestra que esta estrategia converge al equilibrio. Adicionalmente cabe mencionar

que cuandoε= 1, la estrategia es exactamente igual a la estrategia voraz.

Estrategia Anti-voraz.Selecciona al elemento que incremente al m´ınimoπu, i.e. que

genere la ganancia m´ınima en el bienestar social o la utilidad individual.

Estrategia IA-Voraz. La estrategia IA-Voraz sigue una filosof´ıa similar a la t ´ecnica heur´ısta deltemplado simulado. Inicialmente todos los v ´ertices pueden realizar

conexio-nes con cualquiera de sus vecinos mientras no sean descendientes (para no desconectar

el ´arbol), incluso con v ´ertices que decrementan el bienestar social y la utilidad individual,

pero conforme avanzan los turnos la probabilidad de escoger v ´ertices que no maximicen

estas funciones se va decrementando, hasta llegar a cero, para que el algoritmo

finalmen-te pueda converger al equilibrio.

La idea detr ´as de estas variantes propuestas, es hacer que el CBAP realice una mayor

cantidad y variedad de movimientos de optimizaci ´on que los realizados con la estrategia

voraz, con la esperanza de que eso conduzca a equilibrios m ´as cercanos al ´optimo.

Funci ´on jugador

La funci ´on jugador es la que se encarga de dar turno a los v ´ertices para realizar sus

movimientos. En el algoritmo CBAP, el calendarizador representa a la funci ´on jugador.

El calendarizador original tiene dos pol´ıticas de selecci ´on: uniforme y voraz. En

(Bru-beck Salcedo, 2011) se propone una pol´ıtica adicional denominadaanti-voraz, dise ˜nada

para usarse en combinaci ´on con la estrategia anti-voraz de los jugadores, para maximizar

(20)

T ´ecnicas de especulaci ´on

Brubeck Salcedo (2011) tambi ´en propone dos modificaciones m ´as al CBAP, con el

fin de darle la capacidad de buscar mejores equilibrios que el primero que se encuentre.

Se recuerda que un equilibrio representa un ´optimo local en el PAG, es decir, que pueden

existir equilibrios con mayor o menor bienestar social. Estas modificaciones se denominan

t ´ecnicas de especulaci ´on.

Movimiento de especulaci ´on. Es un movimiento en el que un v ´ertice sacrifica su utilidad individual para que otro v ´ertice pueda mejorar el bienestar social. Se trata de un

movimiento perturbador del equilibrio y se sobrentiende que la ganancia en el bienestar

social debe superar a la p ´erdida del v ´ertice que se sacrific ´o. A esta ganancia se le

de-nomina dividendo. Brubeck Salcedo (2011) establece un teorema que determina cu ´ando

un v ´ertice es capaz de realizar un movimiento de especulaci ´on de manera que siempre

garantice un dividendo positivo.

T ´ecnica de especulaci ´on extendida. En la t ´ecnica de especulaci ´on extendida, el v ´ertice que se libera puede buscar conexiones con cualquiera de los descendientes del

v ´ertice que se sacrific ´o o inclusive con cualquier otro v ´ertice, con el fin de maximizar el

dividendo obtenido.

T ´ecnica de especulaci ´on con inversi ´on cero. Relaja las condici ´on de especulaci ´on para que no necesariamente haya dividendos positivos, mientras no haya p ´erdidas en

bienestar social. Es decir, es un movimiento que no genera ning ´un beneficio de manera

inmediata, pero se ejecuta con la esperanza de que un cambio a un equilibrio alterno

pue-da conducir eventualmente a un mejor equilibrio mediante un movimiento de especulaci ´on

de otro tipo.

Mediante estas t ´ecnicas se extendi ´o el CBAP propuesto por (Fajardo-Delgado et al.,

2013) y se dise ˜naron los algoritmos CBAP+ (t ´ecnica de especulaci ´on),CBAP× (t

´ecni-ca de especulaci ´on extendida), CBAP++ (t ´ecnica de especulaci ´on + inversi ´on cero),

(21)

Resultados experimentales

Brubeck Salcedo (2011) llev ´o a cabo simulaciones experimentales para comparar la

calidad de las soluciones arrojadas por los diferentes algoritmos propuestos. Para

com-parar las mejores (peores) soluciones generadas por cada variante del CBAP se utiliza el

PoS (PoA). Brubeck Salcedo (2011) utiliz ´o la misma cantidad y tipos de casos espec´ıficos

de grafos que en (Fajardo-Delgadoet al., 2013)

Uno de los factores que tambi ´en afecta a la calidad de las soluciones obtenidas

es la manera en c ´omo se construye el ´arbol de esparcimiento inicial, por lo que

tam-bi ´en se probaron tres diferentes maneras de construcci ´on del ´arbol de esparcimiento:

PrimRST (Raidl y Julstrom, 2003), b ´usqueda por anchura (BFS), y b ´usqueda por

profun-didad (DFS).

Las estrategias de jugador que se compararon fueron: voraz, anti-voraz e IA-Voraz.

Las pol´ıticas de calendarizador que Brubeck Salcedo (2011) prob ´o fueron: voraz,

anti-voraz y uniforme.

Para cada estrategia, se determin ´o qu ´e calendarizador es mejor, y para cada m ´etodo

de generar el ´arbol de esparcimiento, se evalu ´o qu ´e combinaci ´on (estrategia-calendarizador)

es la que da mejores resultados.

Resultados

Para grafos poco densos (de 128 aristas), los m ´etodos de BFS y DFS entregaron

los mejores resultados. Para el resto de los grafos (de 256 aristas o m ´as), el m ´etodo de

PrimRST es el que funcion ´o mejor, por lo que es el m ´etodo de ´arbol de esparcimiento

inicial que se utiliz ´o para el resto de los experimentos.

Bajo el enfoque no cooperativo, la estrategia ε-voraz es estad´ısticamente mejor en grafos poco densos. La estrategia anti-voraz es la que mayor cantidad de movimientos de

optimizaci ´on realiza y por la misma raz ´on, es la m ´as lenta.

(22)

(de 512 aristas o m ´as), la combinaci ´on anti-voraz es la que en promedio da mejores

resultados. Un resultado interesante es que la configuraci ´on anti-voraz fue la ´unica en

alcanzar una soluci ´on con el bienestar social ´optimo, en grafos casi completos de 2048

aristas (un grafo completo de 65 v ´ertices tiene 2080 aristas).

El algoritmoCBAP+ logra mejorar los equilibrios para grafos dispersos,

especialmen-te para la estraespecialmen-tegia anti-voraz. La estraespecialmen-tegia anti-voraz en grafos dispersos es la que

mayor se ve beneficiada debido a que el algoritmo ya entrega muy buenos resultados en

grafos densos.

Al rev ´es de como sucede con elCBAP+, elCBAP×tiende a mejorar m ´as los

resulta-dos conforme los grafos se vuelven m ´as densos. De la misma manera, elCBAP×mejora los resultados para las estrategias voraces, por la raz ´on de que la estrategia anti-voraz ya

entrega resultados muy cercanos al ´optimo.

Las configuraciones en las que se puede realizar movimientos de especulaci ´on con

inversi ´on cero son pocas. Los algoritmosCBAP++ y CBAP×× logran mejorar los

resul-tados previos, pero no de manera significativa.

En conclusi ´on, el algoritmo CBAP×× es el que en promedio entrega las soluciones

con los mejores PoS y PoA, sin incurrir en un costo adicional de tiempo significativo.

1.1.3. Un algoritmo evolutivo para el PAG

Encontrar un equilibrio con el m ´aximo bienestar social se puede ver como el problema

de encontrar un ´arbol de esparcimiento que maximice la funci ´on objetivo. Los algoritmos

evolutivos, y m ´as espec´ıficamente los algoritmos gen ´eticos, se han utilizado exitosamente

para esta clase de problemas, cuando no se sabe de la existencia de algoritmos precisos

y eficientes.

Zatarain Aceves (2011) dise ˜n ´o un algoritmo evolutivo llamado EA-BAP para atacar

el problema de estancamiento en equilibrios no ´optimos del CBAP. Sin embargo, este

algoritmo no siempre encuentra un ´arbol con una condici ´on de equilibrio.

(23)

llama-Figura 1: Valores aproximados del Precio de Estabilidad (PoS) para los algoritmo FFC-BAP, EA-BAP y CBAP para diferentes tipos de grafos con diferentes densidades con 65 v ´ertices. (Zatarain Aceves, 2011)

do FFC-BAP, que combina los algoritmos CBAP y EA-BAP para que siempre garantice

una condici ´on de equilibrio. La etapa en cascada toma los ´arboles de la generaci ´on final

del EA-BAP, que no est ´en en condici ´on de equilibrio, y los utiliza como entrada para el

CBAP. Esto hace que incrementen su bienestar social y adem ´as siempre encuentran una

configuraci ´on de equilibrio.

Resultados experimentales

Zatarain Aceves (2011) llev ´o a cabo simulaciones experimentales para comparar la

ineficiencia de los equilibrios obtenidos por los algoritmos propuestos. Zatarain Aceves

(2011) utiliz ´o el PoS y el PoA como medidas de ineficiencia de los equilibrios. Para los

experimentos utiliz ´o el mismo conjunto de datos y metodolog´ıa que en (Fajardo-Delgado

et al., 2013) y (Brubeck Salcedo, 2011).

En las figuras 1 y 2 se muestra que el algoritmo FFC-BAP genera ´optimos locales

de mayor calidad que los algoritmos CBAP y EA-BAP para todos los tipos de grafos y

densidades. Por otro lado, el CBAP entrega equilibrios con un mayor beneficio social que

el EA-BAP para la mayor´ıa de los casos.

Se puede apreciar que los valores aproximados del PoS del FFC-BAP son muy

cer-canos a 1 para varios tipos y densidades de grafos. Estos valores en realidad ya son el

(24)

Figura 2: Valores aproximados del Precio de Anarqu´ıa (PoA) para los algortimos FFC-BAP, EA-BAP y CBAP para diferentes tipos de grafos y densidades con 65 v ´ertices. (Zatarain Aceves, 2011)

Sin embargo, los tiempos de ejecuci ´on del EA-BAP y FFC-BAP son mucho m ´as altos que

los del CBAP.

Como conclusi ´on, se puede observar que el CBAP es m ´as efectivo que el EA-BAP

para encontrar ´arboles con una condici ´on de equilibrio de mayor calidad. Adicionalmente,

aunque el FFC-BAP es al menos tan efectivo como el CBAP en cuanto a calidad de las

soluciones, el segundo es mucho m ´as r ´apido.

1.2. Objetivo de la investigaci ´on

El objetivo que se defini ´o para este trabajo de tesis fue generalizar el problema del PAG

para que considere hastanclases de v ´ertices, tal que cada clase de v ´ertice maximiza su ganancia individual cuando ´este se coloque a una distancia k de la ra´ız, donde1 < k ≤

n−1.

Con base en este objetivo general, se lograron los siguientes resultados:

1. Se defini ´o de manera formal el PAGmulticlase(PAGM) para que contemplase hasta

n −1 clases de v ´ertices y la ra´ız (no s ´olo los casos extremos que buscan estar lo m ´as lejos, o lo m ´as cerca posible, de la ra´ız, sino tambi ´en v ´ertices que prefieran

(25)

2. Se desarroll ´o y analiz ´o un algoritmo centralizado que maximiza el bienestar social

del PAGM.

3. Se modific ´o el algoritmo distribuido DBAP, propuesto por Fajardo-Delgado et al.

(2013) para el CBAP, para que soportase casos del PAGM.

4. Se desarroll ´o y analiz ´o un algoritmo centralizado que combina de manera

secuen-cial los enfoques cooperativo y no cooperativo con el fin de maximizar el bienestar

social del PAGM.

5. Se propuso una colecci ´on de casos espec´ıficos del PAGM y se llevaron a cabo

simulaciones experimentales sobre estos casos para comparar el rendimientos de

los diferentes algoritmos propuestos.

6. Se demostr ´o de manera anal´ıtica que bajo un enfoque cooperativo, el PAGM

siem-pre converge al equilibrio. Tambi ´en se demostr ´o que bajo un enfoque no cooperativo,

el PAGM no necesariamente converge al equilibrio.

1.3. Contribuci ´on al conocimiento

Una de las limitaciones del PAG es que representa un escenario restringido donde

s ´olo se consideran casos extremos, de ah´ı que la motivaci ´on principal de este trabajo de

investigaci ´on sea extender este problema.

Mediante el problema que se propone en este trabajo de investigaci ´on es posible

ana-lizar la ineficiencia de los equilibrios cuando se usan enfoques cooperativos y no

coope-ratativos en escenarios heterogeneos.

Nuestro objetivo final es estudiar c ´omo diferentes grados de individualismo y

coopera-ci ´on ayudan a alcanzar mejores o peores equilibrios.

1.4. Organizaci ´on de la tesis

El presente documento se organiza de la siguiente manera. En el Cap´ıtulo 2 se

de-fine, de manera matem ´atica, el problema de asignaci ´on de guardaespaldas multiclase

(26)

El Cap´ıtulo 3 presenta un algoritmo centralizado para la resoluci ´on del PAGM junto con

su an ´alisis de convergencia. En el Cap´ıtulo 4 se propone un algoritmo que combina los

enfoques cooperativo y no cooperativo de manera secuencial, y que obtiene mejores

re-sultados que el algoritmo propuesto en el Cap´ıtulo 3, a cambio de un incremento en el

tiempo de ejecuci ´on. En el Cap´ıtulo 5 se analizan los resultados experimentales de los

algoritmos propuestos en los Cap´ıtulos 3 y 4. Por ´ultimo, en el Cap´ıtulo 6 se presentan

(27)

Cap´ıtulo 2.

Problema de asignaci ´

on de guardaespaldas

multiclase

En este cap´ıtulo se presenta una versi ´on extendida del PAG, denominada PAG

Multi-clase (PAGM). En el PAG existen ´unicamente tres tipos de v ´ertices: la ra´ız, los v ´ertices

blancos, que buscan acercarse lo m ´as posible a la ra´ız, y los v ´ertices negros, que buscan

alejarse lo m ´as posible de la ra´ız. En el PAGM pueden existir hastanclases de v ´ertices, donde una clase sigue siendo conformada por un ´unico v ´ertice, la ra´ız, que representa al

cliente que se quiere proteger, y el resto de las clases representan a losn−1 guardaes-paldas que tienen diferentes preferencias con respecto a la distancia que buscan estar

del cliente (i.e., ya no solo prefieren estar lo m ´as lejos o cerca posible de la ra´ız, sino que

pueden preferir alguna distancia espec´ıfica entre1yn−1).

2.1. Definici ´on

El Problema de Asignaci ´on de Guardaespaldas Multiclase (PAGM) se representa

me-diante un grafo, conectado, no dirigido, G = (VG, EG). Existe un v ´ertice r, denominado

la ra´ız, que es al que el resto de los v ´ertices buscan conectarse. Existe una funci ´on

k : VG \r → Z+, donde 1 6 k(u) 6 n−1, ∀u ∈ VG \r, que indica la distancia a la ra´ız

preferida por el v ´erticeu.

La salida del PAGM es un ´arbol de esparcimientoT = (VT, ET)enraizado enr, tal que

VT = VG, ET ⊆ EG, que maximiza la funci ´on de bienestar social que est ´a dada por la

Ecuaci ´on 4 y dondeT se encuentra en condici ´on de equilibrio.

g(T) = X

∀u∈VG

f(u) (4)

La funci ´on g(T) es la suma de las utilidades individuales de todos los v ´ertices. La funci ´on f : VG \r → Z+ denota la utilidad individual para cada uno de los v ´ertices. Se

define la funci ´onf en la Ecuaci ´on 5.

(28)

donde dTu es la distancia entre los v ´ertices u y r en el ´arbol T, para toda u ∈ VG. En la

Ecuaci ´on 5, el primer t ´ermino de la derecha representa la m ´axima contribuci ´on individual

que puede aportar un v ´ertice al estar en su posici ´on ideal. El segundo t ´ermino resta la

distancia a la cual se encuentra de esta posici ´on.

Para el PAGM se mantienen el resto de todas las definiciones del PAG

(Fajardo-Delgadoet al., 2013) relevantes a la estructura del ´arbolT:

Se denota aNG

u como el conjunto de vecinos para cualquier v ´erticeu∈Vg.

El s´ımbolo Pu denota un apuntador que tiene cada v ´ertice u que puede se ˜nalar a

cualquier elemento del conjuntoNG u.

Se denota a DuT como el conjunto de descendientes de u en T; por simplicidad en

c ´omo se implementa el algoritmo que se describe en el Cap´ıtulo 3,ues un descendiente de s´ı mismo, pero no un ancestro.

Se denota aAG

u como el conjunto de vecinos no-descendientes deuenG,AGu ={v|v ∈

NuG∧v /∈DTu}.

Ejemplo 1.La Figura 3a muestra a un grafoGcomo un caso espec´ıfico del PAGM, donde

n= 5,k(v) = 1,k(y) = 2,k(x) = 3yk(u) = 4 =n−1. La Figura 3b muestra una soluci ´on para el PAGM en forma de un ´arbol de esparcimientoT. Se puede notar c ´omo cada uno

de los v ´ertices se encuentra en la posici ´on de su preferencia con respecto ar.

Lema 1. El PAGM es una generalizaci ´on del PAG, esto es, todos los casos del PAG se pueden expresar como casos del PAGM.

Demostraci ´on. En el PAG existen ´unicamente tres tipos de v ´ertices: la ra´ız, blancos y

negros, cuyas funciones de utilidad individual de los ´ultimos dos est ´an denotadas por las

ecuaciones 2 y 3, respectivamente. Los v ´ertices blancos son aquellos que buscan estar

(29)

r

v y

x u

r

v y

x u

a) b)

k(u) = 4 k(x) = 3 k(u) = 4 k(x) = 3

k(v) = 1 k(y) = 2 k(v) = 1 k(y) = 2

Figura 3: El problema de asignaci ´on de guardaespaldas multiclase. (a) Un caso espec´ıfico del PAGM modelado como un grafoG. (b) El ´arbol T construido enGrepresenta la soluci ´on para este caso espec´ıfico del PAGM.

unak(u) = 1. Si se sustituye este valor en la Ecuaci ´on 5 se tiene la Ecuaci ´on 6.

f(u) = (n−1)− |1−dTu| (6)

Dado que los t ´erminos dentro del valor absoluto representan una distancia entre dos

puntos, ´estos se pueden invertir como se muestra en la Ecuaci ´on 7.

f(u) = (n−1)− |dTu −1| (7)

La Ecuaci ´on 8 denota la m´ınima y m ´axima distancia que puede tener un v ´ertice hacia

la ra´ız.

1≤dTu ≤n−1 (8)

(30)

contenida en ´este siempre es positiva, quedando como se muestra en la Ecuaci ´on 9.

f(u) = (n−1)−(dTu −1) =n−dTu =f1(u) (9)

De esta manera, se demuestra que los v ´ertices con una k(u) = 1 en el PAGM

equi-valen a los v ´ertices blancos en el PAG. Los v ´ertices negros en el PAG son aquellos que

desean estar lo m ´as alejados posibles de la ra´ız; dado que la m ´axima distancia posible a

la ra´ız en cualquier caso del PAG esn−1, entonces los v ´ertices negros del PAG equivalen a los v ´ertices con unak(u) = n−1en el PAGM como se demuesta a continuaci ´on.

Se sustituye el valorn−1pork(u)en la Ecuaci ´on 5 y resulta la Ecuaci ´on 10.

f(u) = (n−1)− |(n−1)−dTu| (10)

Dado que la expresi ´on dentro del valor absoluto siempre es positiva, ´este se puede

eliminar, quedando la Ecuaci ´on 11.

f(u) = (n−1)−(n−1−dTu) =dTu =f2(u) (11)

La Ecuaci ´on 11 es igual la Ecuaci ´on 3, la cual expresa la utilidad individual de los

v ´ertices negros. De esta manera queda demostrado que el PAGM incluye los tipos de

v ´ertices del PAG.

Lema 2.El bienestar socialg(T)del PAGM es a lo m ´asO(n2).

Demostraci ´on.La m ´axima contribuci ´on que puede aportar un v ´ertice con su utilidad

indi-vidual al bienestar social es cuando se encuentra en su posici ´on preferida; cuando esto

sucede, el sustraendo del lado derecho de la Ecuaci ´on 5 se vuelve cero, y su contribuci ´on

esn−1. El m ´aximo bienestar social se puede alcanzar cuando todos los n−1v ´ertices

(31)

2.2. Teor´ıa de juegos y el PAGM

En esta secci ´on se establecen las bases para el juego del PAGM con base en el juego

del PAG propuesto por Fajardo-Delgado et al. (2013). El PAGM es un juego G que se

compone de la tupla(Λ, VG\r, Su, πu), donde:

El s´ımbolo Λ representa un caso espec´ıfico arbitrario de G que incluye un grafo

conectadoG= (VG, EG).

VG\res el conjunto de v ´ertices que contiene a los jugadores racionales del juego.

El v ´ertice especial res un jugador pasivo que no toma decisiones;

El conjuntoSu son todas las posibles estrategias para cada jugadoru∈VG\r; y

La funci ´on de evaluaci ´onπu calcula las preferencias para cualquier jugadoru∈VG\r

en el grafo.

Se supone que todos los casos espec´ıficos del PAGM comienzan con un ´arbol de

es-parcimiento arbitrarioT enraizado enr. Cada v ´erticeusigue una estrategia de Su, donde

Su = {acercarse ar, alejarse der}. Se dice que cada v ´erticeurealiza unmovimiento Mu

cuando cambia su apuntador dePu =v aPu =v0. Se restringe cada movimiento de modo

quev0 debe ser un elemento del conjuntoAG

u, de otro modo el ´arbolT se desconectar´ıa.

El PAGM tambi ´en se estudia bajo enfoques cooperativo y no cooperativo. Al igual

que en el PAG, cuando un v ´ertice u sigue un enfoque cooperativo (no cooperativo), u

busca incrementar el bienestar social (utilidad individual) en vez de la utilidad individual

(bienestar social).

2.2.1. Contribuci ´on de un v ´ertice al bienestar social

Cada v ´erticeutiene una funci ´onπ0u : v →Z,∀v ∈AG

u, mediante la cual puede evaluar

su contribuci ´on al bienestar social al estar conectado al v ´ertice v. Para ´esto, el v ´ertice u

puede o no (dependiendo de su enfoque, cooperativo o no cooperativo) tomar en cuenta

(32)

Sea Tu = (VTu, ETu) el sub ´arbol deT enraizado en el v ´ertice u. Se particiona VTu en

la familia indizada de conjuntos{αi}i∈{1,...,n−1}. El conjunto αi contiene a todos aquellos

v ´ertices descendientes de uque, dada su posici ´on en Tu, su funci ´on de preferencia k, y

la distancia dev a la ra´ızdT

v, contribuir ´an con una utilidad individual igual a ial bienestar

social, cuandoPu =v.

La Ecuaci ´on 12 representa la funci ´on de contribuci ´on al bienestar socialπ0u, del sub ´arbol

Tu cuandoPu =v.

π0u(v) = (1)|α1|+ (2)|α2|+...+ (n−2)|αn−2|+ (n−1)|αn−1| (12)

La contribuci ´on al bienestar social del sub ´arbol Tu es la suma de las utilidades

indivi-duales de todos los v ´ertices que lo componen, esto es, existen un n ´umero|α1|de v ´ertices

en el sub ´arbolTu con una utilidad individual igual a 1, as´ı como un n ´umero|α2| de v

´erti-ces con una utilidad individual igual a 2, y as´ı hasta un n ´umero|αn−1|de v ´ertices con una

utilidad individual igual a n−1 (la m ´axima posible). La Ecuaci ´on 12 se puede reescribir

como la Ecuaci ´on 13.

π0u(v) = n−1 X

i=1

(i)|αi| (13)

Sea d un v ´ertice descendiente de u. Para encontrar a qu ´e conjunto αi pertenece el

v ´erticed, el v ´ertice uutiliza la Ecuaci ´on 14.

i= (n−1)− |k(d)−(dTv + 1 + (dTd −dTu))|:d∈αi (14)

Ejemplo 2. En la Figura 4 se muestra un caso espec´ıfico del PAGM, donde el v ´ertice

u tiene la opci ´on de conectarse a la ra´ız o al v ´ertice x. Para que el v ´ertice u pueda

determinar la contribuci ´on que genera al conectarse a la ra´ız, requiere primero determinar

(33)

r

v

y

x

u

k

(

u

) = 4

k

(

x

) = 3

k

(

v

) = 1

k

(

y

) = 2

Figura 4: Un caso espec´ıfico del PAGM. El v ´erticeutiene la opci ´on de conectarse al v ´erticexo a la ra´ız.

Se sustituyen los valores correspondientes en la Ecuaci ´on 14 para los v ´erticesu,v,y, en las ecuaciones 15, 16, y 17, respectivamente.

i= (n−1)− |k(u)−(dTr + 1 + (dTu −dTu))|= (5−1)− |4−(0 + 1 + (1−1))|= 1 (15)

i= (n−1)− |k(v)−(dTr + 1 + (dTv −dTu))|= (5−1)− |1−(0 + 1 + (2−1))|= 3 (16)

i= (n−1)− |k(y)−(dTr + 1 + (dTy −dTu))|= (5−1)− |2−(0 + 1 + (3−1))|= 3 (17)

Se sustituyen los resultados de las ecuaciones 15, 16, y 17 en la Ecuaci ´on 13, para

determinar cu ´al es la contribuci ´on del v ´erticeusi se conecta a la ra´ız. El resultado queda

como se muestra en la Ecuaci ´on 18.

π0u(r) = n−1 X

i=1

(i)|αi|= (1)(1) + (2)(0) + (3)(2) + (4)(0) = 7 (18)

Por lo tanto, la contribuci ´on que genera el v ´erticeual conectarse a la ra´ız es igual a 7.

2.2.2. Funci ´on de ganancia

(34)

Tabla 1: Se muestra a qu ´e conjunto pertenecen los v ´ertices del sub ´arbolTu en el ejemplo de la

Figura 4.

Pu u v y

r α1 α3 α3

x α2 α2 α2

en AG

u, y despu ´es comparar con el valor de π

0

u(Pu) (su contribuci ´on actual), para poder

determinar qu ´e movimientos le pueden generar un incremento o decremento en la

con-tribuci ´on al bienestar social. A esta diferencia se le denominaganancia. La Ecuaci ´on 19

expresa la funci ´on de ganancia πu : v → Z,∀v ∈ AGu del v ´ertice u cuando se conecta al

v ´erticev.

πu(v) = π0u(v)−π

0

u(Pu) ∀v ∈AGu (19)

2.2.3. Enfoque cooperativo

En el enfoque cooperativo, un v ´ertice u toma en cuenta las preferencias de todos los v ´ertices en el sub ´arbol enraizado en ´el, para tomar la decisi ´on sobre qu ´e v ´ertice

le conviene para realizar una conexi ´on. El v ´ertice u requiere evaluar a qu ´e conjunto αi

pertenece cada uno de sus descendientes por cada v ´ertice con el que puede realizar

conexi ´on.

Ejemplo 3. En el caso espec´ıfico del PAGM que se muestra en la Figura 4, el v ´ertice u

tiene la opci ´on de conectarse a la ra´ız o al v ´erticex. La Tabla 1 muestra a qu ´e conjunto

αi pertenecen cada uno de los v ´ertices descendientes deu, seg ´un se conecte a la ra´ız o

al v ´erticex.

Si se utilizan los valores de la Tabla 1, la Ecuaci ´on 12 queda como se muestra en las

ecuaciones 21 y 20.

(35)

π0u(x) = (1)(0) + (2)(3) + (3)(0) + (4)(0) = 6 (21)

Dado que la contribuci ´on que obtiene el v ´erticeual conectarse a la ra´ız es mayor que la que obtiene al conectarse al v ´ertice x, bajo el enfoque cooperativo, el v ´ertice u de la

Figura 4 se conecta a la ra´ız.

2.2.4. Enfoque no cooperativo

En el enfoque no cooperativo, para realizar movimientos, cada v ´erticeu utiliza

´unica-mente la informaci ´on de su propia funci ´on de preferenciak(u)y distancia a la ra´ızdT u, sin

tomar en cuenta la informaci ´on de sus v ´ertices descendientes. Bajo este enfoque, cuando

un v ´ertice u calcula la contribuci ´on que genera cuando se conecta a un v ´ertice v ∈ AG u,

solamente un conjunto αi tendr ´a un ´unico elemento en la funci ´on π0u de la Ecuaci ´on 13,

que es el mismo v ´erticeu.

Para determinar qu ´e conjuntoαi contiene al v ´erticeu, se sustituyen los valores

corres-pondientes en la Ecuaci ´on 14, quedando como se muestra en la Ecuaci ´on 22.

i= (n−1)− |k(u)−(dTv + 1 + (dTu −dTu))|= (n−1)− |k(u)−(dTv + 1)| (22)

Dado que el v ´erticeu se conecta directamente al v ´erticev,dTv + 1 =dTu, por lo que la

Ecuaci ´on 22 se reduce a la Ecuaci ´on 23.

i= (n−1)− |k(u)−(dTu)| (23)

De esta manera,|α(n−1)−|k(u)−(dT

u)|| = 1y, |αi| = 0,∀αi : i6= (n−1)− |k(u)−(d T u)|. Se

utilizan estos valores en la Ecuaci ´on 13, que queda como se muestra en la Ecuaci ´on 24.

π0u(v) = n−1 X

i=1

(36)

La Ecuaci ´on 24 es igual a la funci ´on de utilidad individual f(u) que se muestra en

la Ecuaci ´on 5. De esta manera se demuestra que bajo el enfoque no cooperativo se

puede utilizar ´unicamente el valor de la utilidad individual del v ´ertice u, para determinar

qu ´e conexi ´on conviene m ´as realizar al v ´ertice.

Ejemplo 4. En el caso espec´ıfico del PAGM que se muestra en la Figura 4, el v ´ertice u

tiene la opci ´on de conectarse a la ra´ız o al v ´erticex. Para determinar qu ´e opci ´on genera

una mayor contribuci ´on bajo el enfoque no cooperativo, se compara la funci ´on de utilidad

individual f(u) cuando u se conecta a ambos v ´ertices. En las ecuaciones 25 y 26 se

muestran los resultados de la utilidad individual del v ´erticeu cuando se conecta a la ra´ız y al v ´erticex, respectivamente.

f(u) = (n−1)− |k(u)−(dTu)|= (5−1)− |4−1|= 1/Pu =r (25)

f(u) = (n−1)− |k(u)−(dTu)|= (5−1)− |4−2|= 2/Pu =x (26)

(37)

Cap´ıtulo 3.

Algoritmo CBAPM

En este cap´ıtulo se presenta el algoritmo CBAPM que resuelve el PAGM. El

algorit-mo es una versi ´on algorit-modificada del algoritalgorit-mo CBAP que se presenta en (Fajardo-Delgado

et al., 2013) para la resoluci ´on del PAG. El CBAPM trabaja de manera centralizada y

secuencial, y puede funcionar utilizando tanto el enfoque cooperativo como el no

coope-rativo. La entrada del algoritmo es cualquier caso espec´ıfico v ´alido del PAGM, que incluye

un grafo no dirigido, conectadoG= (VG, EG), donde|VG|=ny|EG|=m, y una funci ´on de

preferenciak : u→ Z+ u V

G\r. La salida del algoritmo es un ´arbol de esparcimiento

T = (VT, ET)construido enG, tal que satisface la condici ´on de equilibrio del PAGM y que

no necesariamente maximiza el bienestar social.

3.1. An ´alisis del algoritmo CBAPM

El algoritmo CBAPM consiste de seis procedimientos como se muestra en el Algoritmo

2.

Algoritmo 2CBAPM(G)

1: T ←CREAR-ARBOL(G,r)

2: T ←ETIQUETADO-INICIAL(T)

3: T ←GENERAR-FUNCIONES-GANANCIA(T)

4: mientras∃utal queu←CALENDARIZADOR(G,T)hacer 5: Puold ←Pu

6: T0 ←MOVIMIENTO-OPTIMIZACION(G,T,u)

7: T ← ACTUALIZACION(T0,u,Pold

u )

8: fin mientras

En el Algoritmo 2, los pasos 1-3 generan un ´arbol de esparcimiento aleatorio inicial,

en el cual cada v ´ertice tiene la informaci ´on requerida para cambiar de conexi ´on

evitan-do desconectar al ´arbol y no generar conexiones c´ıclicas. El Paso 4 comprende la parte

encargada de la optimizaci ´on. En este paso, el ´arbol cambia iterativamente de acuerdo a

las preferencias de los v ´ertices. El Paso 4 termina cuando el algoritmo alcanza una

con-dici ´on de equilibrio. El algoritmo CBAPM var´ıa del algoritmo CBAP principalmente en los

procedimientos (Paso 3) GENERAR-FUNCIONES-GANANCIA y (Paso 7) ACTUALIZACION.

(38)

3.1.1. Procedimiento CREAR-ARBOL()

Se utiliza el mismo procedimiento propuesto por Fajardo-Delgado et al. (2013). La

entrada de este procedimiento es el grafoGy el nodo especialr. La salida es un ´arbol de

esparcimientoT = (VT, ET)construido enGy enraizado enr, denominado a partir de ese

momento como la ra´ız. Para la construcci ´on de este ´arbol se utiliza el m ´etodo PrimRST

de Raidl y Julstrom (2003). Este m ´etodo lo utiliza el CBAP. Despu ´es de enraizar el ´arbol

T enr, cada v ´erticeu6=r guarda una variablePu que apunta a su padre, tal que siempre

exista una trayectoria que lleve a cualquier v ´erticeuar. Aunque se podr´ıa considerar aT

como un ´arbol dirigido, la comunicaci ´on que existe entre cualquier par de v ´ertices vecinos

es bidireccional. Este procedimiento tomaΘ(n+m)u.t.

3.1.2. Procedimiento ETIQUETADO-INICIAL()

Se utiliza el mismo procedimiento propuesto por Fajardo-Delgadoet al.(2013). La

en-trada de este procedimiento es un ´arbolT y regresa como salida un identificador temporal,

labelu, y la distanciadTu para cada v ´ertice. Esta informaci ´on es necesaria para evitar la

for-maci ´on de ciclos y que cada v ´ertice pueda realizar movimientos de optimizaci ´on v ´alidos.

El procedimiento es similar al utilizado por Zeev Collin (1994). Los identificadores siguen

un orden lexicogr ´afico de acuerto a la estructura de T. Cada v ´ertice u asigna un orden local arbitrario ηu a las aristas incidentes a ´el, tal que ηu(v) denota el ´ındice de la

aris-ta que conecaris-ta el v ´ertice u con el v ´ertice v. La ra´ız siempre se inicializa con la etiqueta

labelr ← ⊥. La etiqueta de cada v ´ertice u consiste en la concatenaci ´on de la etiqueta

de su v ´ertice padre v con el ´ındice ηn(u), es decir, labelu ← labelv ◦ ηv(u). N ´otese que

cualquier descendiente del v ´erticeu contiene, como prefijo de su propia etiqueta, la

eti-queta deu. Por lo tanto, cualquier v ´erticeus ´olo necesita leer las etiquetas de sus vecinos para formar el conjunto AGu. Estas etiquetas ayudan a preservar la estructura del ´arbol

durante el proceso de optimizaci ´on, de manera que no se realicen movimientos que

des-conecten el ´arbol. En este procedimiento cada v ´erticeu tambi ´en lleva a cabo el c ´alculo

de su distancia dT

u hac´ıa ra´ız en T. Sea v el padre de u, dTu ← dTv + 1. El

procedimien-to ETIQUETADO-INICIAL() calcula de manera secuencial los valores labelu y dTu de cada

(39)

3.1.3. Procedimiento GENERAR-FUNCIONES-GANANCIA()

Este procedimiento es donde el algoritmo difiere del CBAP. El CBAP tiene un

procedi-miento que recibe como entrada el ´arbolT y la salida es un ´arbolT0 donde cada v ´erticeu

registra en unas variablesαu yβu el n ´umero de v ´ertices blancos y negros en el sub ´arbol

Tu. Este sistema de conteo de votos se utiliza para el enfoque cooperativo de manera tal

que cuando un sub ´arbol dado tuviera mayor´ıa de v ´ertices blancos (negros) buscar ´a

acer-carse (alejarse) a (de) la ra´ız. Bajo el enfoque no cooperativo, cada v ´erticeus ´olo registra

en su variableαuoβu el voto correspondiente a s´ı mismo e ignora la informaci ´on del resto

del ´arbolTu. Este procedimiento se realiza mediante un recorrido post-orden y tomaO(n)

u.t.

El CBAPM utiliza un procedimiento diferente que trabaja con base en las funciones

de ganancia que se describen en el Cap´ıtulo 2. El procedimiento GENERAR-FUNCIONES

-GANANCIA recibe como entrada un ´arbol T construido sobre G. La salida es un ´arbol

T0, donde cada v ´ertice u cuenta con su funci ´on πu que informa cu ´ales son las

ganan-cias posibles al conectarse a cualquiera de sus vecinos en el grafoG. Las conexiones a

vecinos que desconecten el ´arbol generan una ganancia nula. Este procedimiento toma

una diferente cantidad de pasos dependiendo si se utiliza el enfoque cooperativo o el no

cooperativo. Bajo el enfoque no cooperativo la funci ´on de ganancia de un v ´ertice u se construye ´unicamente mediante el valor aportado por la utilidad individual del v ´ertice u.

Las funciones de ganancia de cada v ´ertice se van construyendo mediante un recorrido

post-orden, y como cada v ´ertice tiene que construir una funci ´on de ganancia para cada

uno de sus vecinos, el proceso tomaO(n+m)u.t. Bajo el enfoque cooperativo el procedi-miento se lleva a cabo de la misma manera, pero como por cada vecino un v ´ertice debe

recolectar informaci ´on de todos sus descendientes, se agrega un factorO(n) de u.t., por lo que bajo el enfoque cooperativo, el procedimiento GENERAR-FUNCIONES-GANANCIA

tomaO(n2+mn)u.t.

3.1.4. Procedimiento CALENDARIZADOR()

Se utiliza un procedimiento basado en el propuesto por Fajardo-Delgadoet al.(2013).

(40)

toda la informaci ´on asociada generada por los procedimientos anteriores. La salida es

un v ´ertice u que puede mejorar el bienestar social (utilidad individual) bajo el enfoque cooperativo (no cooperativo) al cambiar su apuntadorPuenT. Este procedimiento eval ´ua

cada v ´ertice en VG para formar el conjunto de v ´ertices elegibles denominado Z, donde

Z =u∈VG\r|πu(x)>0∧x∈AGu, donde πu es la funci ´on de ganancia que se define en

la Ecuaci ´on 19. Cuando ning ´un v ´ertice satisface la condici ´on πu(x) > 0, el

procedimien-to CALENDARIZADOR() regresa ∅ (condici ´on de equilibrio). Este procedimiento funciona

como una entidad central que elige exactamente un v ´ertice de Z para llevar a cabo un movimiento de optimizaci ´on.

Cuando existen m ´as de un v ´ertice que pueden mejorar el bienestar social o la utilidad

individual, seg ´un sea el enfoque, en el CBAP el procedimiento CALENDARIZADORcuenta

con dos pol´ıticas para la elecci ´on del v ´ertice a optimizar del conjuntoZ:

Uniforme. Esta pol´ıtca elige de manera aleatoria cualquiera de los v ´ertices del

con-juntoZ con la misma probabilidad.

Voraz. Esta pol´ıtica siempre selecciona al v ´ertice u ∈ Z que genere el incremento

m ´as grande en ganancia, es decir, con la mayor πu(x). Si dos o m ´as v ´ertices

cum-plen con esta condici ´on, se selecciona cualquiera de estos v ´ertices con la misma

probabilidad.

Adicionalmente, en el trabajo de Brubeck Salcedo (2011), se propone una pol´ıtica

adicional para el procedimiento CALENDARIZADOR():

Anti-Voraz. Selecciona el v ´erticeu∈ Z tal que un movimiento de optimizaci ´on de u

genere el incremento m ´as peque ˜no en ganancia; es decir, πu(x) ≤ πu0(x0)∀u0 ∈ Z, ∀x0 ∈ AGu, πu(x) y πu0 > 0. Si dos o m ´as v ´ertices cumplen con esta condici ´on, se

selecciona cualquiera de ´estos con la misma probabilidad.

El CBAPM tambi ´en puede utilizar cualquiera de estas pol´ıticas para el calendarizador.

Por otro lado, en el CBAP, estas pol´ıticas pueden ser adem ´aselitistas, si al aplicar la

(41)

Esta distinci ´on no existe en el CBAPM, puesto que pueden existir m ´as de dos tipos de

v ´ertices, por lo que se consideran todas las pol´ıticas comono elitistas.

La parte que m ´as tiempo consume en este procedimiento es generar el conjunto de

v ´ertices Z, ya que cada v ´ertice u tiene que evaluar πu(x) para cada v ´ertice x de sus

v ´ecinos no descendientes. Por lo tanto, el procedimiento CALENDARIZADOR() tomaO(n+

m)u.t.

3.1.5. Procedimiento MOVIMIENTO-OPTIMIZACION()

Se utiliza el mismo procedimiento que el propuesto por Fajardo-Delgadoet al.(2013).

Este procedimiento recibe como entrada el grafoG, el ´arbolT construido enG, y el v ´ertice

uque seleccion ´o por el procedimiento CALENDARIZADOR(). Regresa como salida un nue-vo ´arbolT0 como resultado de un movimiento del v ´erticeu, el cual cambia su apuntador a

su padre actualPu =xaPu ←x0, dondex0 es el v ´ertice tal queπu(x0) =maxx∈AG

u{πu(x)}.

Este procedimiento tomaΘ(n)u.t.

3.1.6. Procedimiento ACTUALIZACION()

Este procedimiento es an ´alogo al propuesto por Fajardo-Delgado et al. (2013) en el

aspecto que realiza las mismas funciones que los procedimientos ETIQUETADO-INICIAL()

y GENERAR-FUNCIONES-GANANCIA(), pero ´unicamente para los sub ´arboles que se han

modificado a causa del movimiento generado en el procedimiento MOVIMIENTO- OPTIMI

-ZACION´ (). Este procedimiento recibe como entrada al ´arbol T0 y a los v ´ertices u y Pviejo u

(el padre que ten´ıau antes de realizar el movimiento de optimizaci ´on). La salida de

es-te procedimiento es un nuevo ´arbol T0 con los nuevos valores de etiquetas, distancias y funciones de ganancia. El procedimiento ACTUALIZACION() se completa enO(n+m)u.t.

bajo el enfoque no cooperativo, y enO(n2+mn)u.t., bajo el enfoque cooperativo.

3.2. Demostraci ´on de convergencia

En esta secci ´on se presentan las demostraciones de convergencia y no convergencia

para los enfoques cooperativo y no cooperativo. El enfoque cooperativo converge al

equi-librio para cualquier caso espec´ıfico del PAGM. Por otro lado, el enfoque no cooperativo

(42)

3.2.1. Enfoque cooperativo

Se define un movimiento de optimizaci ´on como todo aquel movimiento que realiza

un v ´ertice que genera un incremento en el bienestar social y no solamente en la utilidad

individual del v ´ertice que realiz ´o el movimiento.

Nota. El movimiento de optimizaci ´on como se define para el PAGM es diferente al

movimiento de optimizaci ´onque se define para el PAG en (Fajardo-Delgadoet al., 2013).

Lema 3. Bajo el enfoque cooperativo, todos los movimientos realizados por cualquier

v ´ertice sonmovimientos de optimizaci ´on.

Demostraci ´on.Bajo el enfoque cooperativo, por la Ecuaci ´on 13, cada v ´ertice suma las

uti-lidades de todos los descendientes en su sub ´arbol para obtener la ganancia que genera

cada conexi ´on posible. Cuando un v ´ertice va a realizar un movimiento, compara las

ga-nancias de todos los vecinos con la ganancia obtenida en su posici ´on actual. Solamente

los vecinos que representen una ganancia mayor a la de la posici ´on actual ser ´an elegibles

por el calendarizador para realizar movimientos, de manera que siempre se garantiza un

incremento en el bienestar social.

Teorema 4.El algoritmo CBAPM converge al equilibrio enO(n2)movimientos de optimi-zaci ´on bajo el enfoque cooperativo.

Demostraci ´on. Se supone un ´arbol inicial T con un bienestar social τ. Por el Lema 3, el

bienestar social se incrementa en al menos uno por cada movimiento de optimizaci ´on.

Dado que el valor m ´aximo del bienestar social est ´a acotado porO(n2)(por el Lema 2), y

τ >0, entonces el m ´aximo n ´umero de movimientos de optimizaci ´on esO(n2).

Dado que cada iteraci ´on del Paso 4 en el Algoritmo 2 tomaO(n2+mn)u.t., el algoritmo

CBAPM requiere un total deO(n4+mn3)u.t. para converger al equilibrio bajo el enfoque

cooperativo.

3.2.2. Enfoque no cooperativo

Bajo el enfoque no cooperativo, el Lema 3 no se cumple, i.e., como no todos los

Referencias

Documento similar