Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative...

34
Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015

Transcript of Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative...

Page 1: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Using Algorithmic Mechanism Design to Solve the Data

Redistribution Problem with Non-Cooperative Sensor Nodes

Andre ChenJuly 23, 2015

Page 2: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Overview

• Motivation• Data Redistribution Problem• Related Work• Algorithmic Mechanism Design• Simplified Solution• Future Work• Acknowledgements• References

Page 3: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Motivation

• Sensor networks deployed to collect data• Examples: – Ecological monitoring

• Monitor ambient temperature• Monitor wind speed and direction

– Visual and acoustic networks • Video cameras and microphones covering many areas

– Underwater seismic networks • Seismic sensors detecting earthquake activity

underwater

Page 4: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Data Redistribution Problem

• Given a network of sensor nodes with…– Limited storage capacity– Limited battery power– No base station – No “infinite” power source

… How do we redistribute data to minimize energy consumption and fully utilize the network?

Page 5: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Cooperative vs. Non-Cooperative

• Cooperative: Nodes work together towards common goal

• Non-cooperative: Nodes only look out for themselves

Page 6: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Real-world Example

• Business wants to gather seismic data

• Two options:–Hire business to handle everything–Hire independent contractors

• Which option is better?

Page 7: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Related Work

• Work in [1] presents a polynomial time algorithm to solve minimum cost flow

• Work in [2] shows current problem similar to minimum cost flow, but more difficult (approximate polynomial time)

• Work in [3] shows payment scheme but does not consider storage constraints

Page 8: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Main Problem Setup

• Network with two node types– Generator receives data from outside– Storage stores data– Both can receive and forward– Only storage nodes can store

• Node consumes energy per action

• How do we minimize energy consumption?

Page 9: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Simplified Problem Setup

• Include a base station• Storage nodes only send and receive

data (no storage)

• Energy consumed based only size of data received and transmission distance

Page 10: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Network Model (Simplified)

• Biconnected graph–Vertices are sensor nodes–Nodes transmit along edges

• Special base station node

• Each node has energy cost• Edges are unweighted

Page 11: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Network Model (Continued)

• DG1 and DG2 are data generator nodes. S1, S2, and S3 are data

storage nodes.

Page 12: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Energy Model (Simplified)

• From [2], energy cost composed of: –Receiving: based on data size only–Transmission: based on data size and

distance

Each node already has energy cost computed.

Page 13: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Solution Approach

• Follow approach in [3]

• Pay nodes to make the right choices

• Use mechanism design to determine payment

• Prove that incentives yield desired result

Page 14: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Example: Vickrey 2nd Price Auction

• Two players X and Y bid on item• Item goes to player who values it the most• Players do not reveal how much item is worth

• To prevent lying: highest bidder wins but pays second-highest bid price

• Can prove each player is best off telling truth

Page 15: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Algorithmic Mechanism Design

• Key paper by Nisan and Ronen [4]

• How do private preferences influence choice?

• Use algorithm techniques to study

Page 16: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Definitions and Concepts

• A node is a rational and selfish agent.

• “Rational” => behave according to function

• “Selfish” => behaves in best interest

• “Utility” => goal of each agent

Page 17: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Mechanism Design Problem

– Agents have some private input ti T∈ i called type.

– An output specification defines some output, o, based on type

– Valuation: vi(ti , o) is the value of a particular outcome to agent i

– Utility: ui = pi + vi(ti , o) where pi is some currency provided by mechanism.

Page 18: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Mechanism Design (Continued)

• A mechanism m = (o, p) consists of two parts:– output function– payments

• A mechanism has all of the following: – for each agent i are strategies or actions, called Ai

– Defines an output function o(a1, a2, ..., an) – Provides a payment pi(a1, a2, ..., an) to agent i

Page 19: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Dominant Strategy

• Strategy is dominant if the strategy maximizes agent’s utility regardless of other agents’ strategies

• Not necessarily unique!

Page 20: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Solution Plan

• Use mechanism to motivate nodes to minimize energy cost

• Use Lowest Cost Paths (LCPs) to guarantee that energy cost is minimized.

• Only send data along LCPs

Page 21: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

VCG Mechanism• A mechanism is a VCG mechanism if: – strategy (direct revelation): tell truth or lie about type– objective = maximize sum of valuations– payment = sum of valuations of all agents except for

agent i and some function of other agents’ types

Telling the truth is dominant!=> VCG mechanism is truthful

Page 22: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Mechanism Design Applied to our Problem

• Approach from [3]• Agents = operators of each node• Private input = ti = energy cost• Let: ck = tk • Rewrite: t = (t1, t2, …, tn) to c = (c1, c2, ..., cn)

• Strategies: {tell truth, lie}

Page 23: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Application (Continued)

• Output specification: LCPs and prices• Valuation: • = packets set from i to j• = 1 if node k is in the LCP

from i to j; otherwise 0

Page 24: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Valuation Explanation

• Always reward participation

• Participation based on LCP only

• The negative sign indicates cost

• Total = cost for each packet * all packets

Page 25: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Mechanism Design Applied to our Problem (Continued)

• Objective = maximize • Meet objective => energy minimzed• This is VCG => truthful

• Utility of agent k = • Where is the payment to agent k.

Page 26: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Payments

• Pay only nodes in LCP• Compute LCP via Dijkstra’s Algorithm • O(N2), N is the number of nodes. • Trick: Path is ABC. Treat energy cost

of B as weighted edge distance. Apply Dijkstra’s.

Page 27: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Payments (Continued)

• Let pk be the payment to agent k given by

where we define as the following:

Page 28: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Payments Explained

Page 29: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Payments Explained (Continued)

Page 30: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

• How much should D be paid? • Send packet from X to Z. Lowest cost path is XBDZ (cost 3). Lowest

cost path that AVOIDS D is XAZ (cost 5). Pay D: CD + (cost of the LCP that avoids D) – (cost of the LCP that includes D) = 1 + [5 – 3] = 3.

Page 31: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Summary of Results• Use mechanism design to handle non-

cooperate behavior

• VCG mechanism (truthful) reveals all private information

• Energy costs are minimized because only Lowest Cost Paths are used

Page 32: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Future Work

• Remove base station• Energy model with potential fields [2]• Additional costs– storage– redistribution– message passing– synchronization vs. asynchronization

• Increase complexity incrementally until general problem solved

Page 33: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

Acknowledgements

• Dr. Tang for...– the research opportunity– help and guidance

• Dr. Beheshti for presentation advice (CSC 500)

• National Science Foundation for funding support under award number 1419952

Page 34: Using Algorithmic Mechanism Design to Solve the Data Redistribution Problem with Non-Cooperative Sensor Nodes Andre Chen July 23, 2015.

References• [1] Andrew V. Goldberg. 1997. An efficient implementation of a scaling

minimum-cost flow algorithm. J. Algorithms 22, 1 (January 1997), 1-29• [2] Bin Tang, Neeraj Jaggi, Haijie Wu, and Rohini Kurkal. "Energy-Efficient

Data Redistribution in Sensor Networks," ACM Transactions on Sensor Networks, v.9, 2013.

• [3] Joan Feigenbaum, Christos Papadimitriou, Rahul Sami, and Scott Shenker. 2005. A BGP-based mechanism for lowest-cost routing. Distrib. Comput. 18, 1 (July 2005), 61-72.

• [4] Noam Nisan and Amir Ronen. 1999. Algorithmic mechanism design (extended abstract). In Proceedings of the thirty-first annual ACM symposium on Theory of computing (STOC '99). ACM, New York, NY, USA, 129-140.