text: 3 (a) (b) tion. All measurements are performed at room tempera- 20 residual gases in MBE chamber ture (RT) under vacuum conditions at a base pressure of units] 15 during MgO CdOep+osition 2.5 nm 6w×he1re0−th4emrebfaerr.enWceesiugsnealstmanoddaurladteasctlhoeckcu-irnretnetchthnriqouuegsh, arb. 10 O2+ the device at a frequency of 18 Hz. The rms-values of the al [ O+ current are 1 µA for gate dependent resistance measure- n 5 g ments and 20 µA for spin measurements. si 0 nm Typical Hanle curves are depicted in Fig. 2(e) for de- 0 10 20 30 40 0 250 500 750 vice B (see next section) with both parallel and antiparal- m/e [amu/q] x [nm] lel alignments of the inner Co electrodes in Fig. 2(d). The (c) (e) 3 non-local spin resistance ∆Rnl can easily be determined MgO IAC VAC Co at B = 0 T. The Hanle depolarization curves can be de- ∆R 2 scribed by the steady-state Bloch-Torrey equation:33,34 nl SiO 2 Si++ 1Ω] (gdra)phene IAC VG VAC 0R [nl ∂∂(cid:126)st = (cid:126)s × ω(cid:126)0 + Ds∇2(cid:126)s − τ(cid:126)s = 0, (1) s -1 B SSiiO++2 -0.2 -0.1 0.0 0.1 0.2 where (cid:126)s is the net spin vector, ω(cid:126)0 = gµBB(cid:126)/¯h is the 0.6 µm 3 µm 0.3 µm B [T] Larmor frequency where we set g = 2, Ds is the spin diﬀusion constant, and τ is the transverse spin lifetime. s Figure 2. (Color online) (a) Residual gas analysis of the MBE With L being the distance between spin injection and chamber at base pressure (black curve) and during MgO depo- spin detection electrodes, we deﬁne the follow√ing dimen- ≡ ≡ sition (red curve). The latter demonstrates the loss of (molec- sionless √parameters: b gµ B/¯hτ , l L/ 2D τ and B s s s ular) oxygen during MgO deposition which results in oxygen f(b) = 1 + b2. With a simpliﬁed analytical solution deﬁcient MgO layers. (b) AFM image of a BLG sample af- we use the following ﬁt function to describe the Hanle ter MgO deposition: rms roughness of 0.4 nm and peak- x curves:33,34 (cid:34) (cid:32) (cid:33) to-peak roughness of 2 nm. (c) Schematic cross-section with (cid:112) wiring conﬁguration for 4-terminal gate dependent (VG) resis- (cid:112) tance measurements and (d) wiring for non-local spin trans- pdeovrticme eBasfuorreampeenrtps.en(de)icHulaanrlemsapginneptricecﬁeeslsdiosnwmeeepaswuirtehmpeanrtaol-f R(cid:112)nHlanle = ∆Rnl (cid:32)2f(cid:112)1(b) 1 +(cid:33)f(cid:35)(b) co(cid:16)s (cid:112)1 +lbf(b)(cid:17) lel and antiparallel alignments of the respective spin injection and detection electrodes. − b lb − sin exp l 1 + f(b) . 1 + f(b) 1 + f(b) (2) unavoidable resist residues on top of the graphene ﬂake after lithography and development31, which in combina- As expected, both Hanle depolarization curves merge tion with the island growth mode may favor the forma- at larger ﬁelds. However, they do not become constant tion of pinholes especially for thinner MgO layers. | | but rather slightly increase above B > 0.2 T. The in- A schematic cross-section of a spin-valve device is crease results from a B dependent background signal shown in Figs. 2(c) and (d). The center-to-center sep- which we usually observe in all measurements. We ac- aration between neighboring electrodes is 3 µm. If the count for this background by adding a polynomial of sec- size of the graphene ﬂakes allows, we place the outermost ond order to our ﬁt function: electrodes at larger distances to minimize their inﬂuence on non-local spin measurements. The electrode widths alternate between 300 nm and 600 nm to achieve dif- Rtotal(B) = RHanle(B) + c B2 + c B + c . nl nl 2 1 0 ferent coercive ﬁelds for magnetization reversal between neighboring Co electrodes. The highly p-doped Si-wafer Hanle ﬁts are seen as red curves in Fig. 2(e). For illus- is used as a back gate wh−ich allows changing the charge tration, we also include the parabolic background signal carrier density n = α (VG VCNP≈) in gr×aphene a−ccord−ing as a green curve. to the capacitor model32 with α 7.18 1010 V 1cm 2, III. SPIN AND CHARGE TRANSPORT AFTER V being the applied gate voltage and V being the OXYGEN TREATMENTS G CNP gate voltage of the maximum resistance at the charge neutrality point. The gate dependent graphene resistance In the following section, we explore how subsequent is measured in a local 4-terminal geometry (Fig. 2(c)). oxygen treatments will inﬂuence the Co/MgO contact Hanle spin precession measurements are performed in characteristics in our as-fabricated spin transport de- non-local 4-terminal geometry (Fig. 2(d)) with the ex- vices, i.e. the magnitude of the R A products and the c ternal magnetic ﬁeld B applied in perpendicular direc- shape of the dV /dI curves and, secondly, how they will ##LTFigure## ##LTFigure## ##LTFigure## ##LTFigure## ##LTFigure## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine##

text: (a)

text: (b)

text: tion.

text: All

text: measurements

text: are

text: performed

text: at

text: room

text: tempera-

text: residual

text: gases

text: in

text: MBE

text: chamber

text: ture

text: (RT)

text: under

text: vacuum

text: conditions

text: at

text: a

text: base

text: pressure

text: of

text: units]

text: during

text: MgO

text: CdOep+osition

text: nm

text: arb.

text: the

text: device

text: at

text: a

text: frequency

text: of

text: Hz.

text: The

text: rms-values

text: of

text: the

text: al

text: O+

text: current

text: are

text: µA

text: for

text: gate

text: dependent

text: resistance

text: measure-

text: n

text: g

text: ments

text: and

text: µA

text: for

text: spin

text: measurements.

text: si

text: nm

text: Typical

text: Hanle

text: curves

text: are

text: depicted

text: in

text: Fig.

text: for

text: de-

text: vice

text: B

text: (see

text: next

text: section)

text: with

text: both

text: parallel

text: and

text: antiparal-

text: m/e

text: [amu/q]

text: x

text: [nm]

text: lel

text: alignments

text: of

text: the

text: inner

text: Co

text: electrodes

text: in

text: Fig.

text: The

text: (c)

text: (e)

text: non-local

text: spin

text: resistance

text: ∆Rnl

text: can

text: easily

text: be

text: determined

text: MgO

text: IAC

text: VAC

text: Co

text: at

text: B

text: T.

text: The

text: Hanle

text: depolarization

text: curves

text: can

text: be

text: de-

text: ∆R

text: scribed

text: by

text: the

text: steady-state

text: Bloch-Torrey

text: nl

text: SiO

text: Si++

text: (gdra)phene

text: IAC

text: VG

text: VAC

text: [nl

text: s

text: B

text: where

text: is

text: the

text: net

text: spin

text: vector,

text: is

text: the

text: µm

text: µm

text: µm

text: B

text: [T]

text: Larmor

text: frequency

text: where

text: we

text: set

text: g

text: Ds

text: is

text: the

text: spin

text: diﬀusion

text: constant,

text: and

text: τ

text: is

text: the

text: transverse

text: spin

text: lifetime.

text: s

text: Figure

text: (Color

text: online)

text: (a)

text: Residual

text: gas

text: analysis

text: of

text: the

text: MBE

text: With

text: L

text: being

text: the

text: distance

text: between

text: spin

text: injection

text: and

text: chamber

text: at

text: base

text: pressure

text: (black

text: curve)

text: and

text: during

text: MgO

text: depo-

text: spin

text: detection

text: electrodes,

text: we

text: deﬁne

text: the

text: follow√ing

text: dimen-

text: sition

text: (red

text: curve).

text: The

text: latter

text: demonstrates

text: the

text: loss

text: of

text: (molec-

text: sionless

text: √parameters:

text: b

text: gµ

text: B/¯hτ

text: l

text: L/

text: τ

text: and

text: B

text: s

text: s

text: s

text: ular)

text: oxygen

text: during

text: MgO

text: deposition

text: which

text: results

text: in

text: oxygen

text: f(b)

text: With

text: a

text: simpliﬁed

text: analytical

text: solution

text: deﬁcient

text: MgO

text: layers.

text: (b)

text: AFM

text: image

text: of

text: a

text: BLG

text: sample

text: af-

text: we

text: use

text: the

text: following

text: ﬁt

text: function

text: to

text: describe

text: the

text: Hanle

text: ter

text: MgO

text: deposition:

text: rms

text: roughness

text: of

text: nm

text: and

text: peak-

text: x

text: to-peak

text: roughness

text: of

text: nm.

text: (c)

text: Schematic

text: cross-section

text: with

text: wiring

text: conﬁguration

text: for

text: gate

text: dependent

text: (VG)

text: resis-

text: tance

text: measurements

text: and

text: (d)

text: wiring

text: for

text: non-local

text: spin

text: trans-

text: pdeovrticme

text: ∆Rnl

text: lel

text: and

text: antiparallel

text: alignments

text: of

text: the

text: respective

text: spin

text: injection

text: and

text: detection

text: electrodes.

text: b

text: lb

text: sin

text: exp

text: l

text: f(b)

text: f(b)

text: f(b)

text: unavoidable

text: resist

text: residues

text: on

text: top

text: of

text: the

text: graphene

text: ﬂake

text: after

text: lithography

text: and

text: which

text: in

text: combina-

text: As

text: expected,

text: both

text: Hanle

text: depolarization

text: curves

text: merge

text: tion

text: with

text: the

text: island

text: growth

text: mode

text: may

text: favor

text: the

text: forma-

text: at

text: larger

text: ﬁelds.

text: However,

text: they

text: do

text: not

text: become

text: constant

text: tion

text: of

text: pinholes

text: especially

text: for

text: thinner

text: MgO

text: layers.

text: but

text: rather

text: slightly

text: increase

text: above

text: B

text: T.

text: The

text: in-

text: A

text: schematic

text: cross-section

text: of

text: a

text: spin-valve

text: device

text: is

text: crease

text: results

text: from

text: a

text: B

text: dependent

text: background

text: signal

text: shown

text: in

text: Figs.

text: and

text: (d).

text: The

text: center-to-center

text: sep-

text: which

text: we

text: usually

text: observe

text: in

text: all

text: measurements.

text: We

text: ac-

text: aration

text: between

text: neighboring

text: electrodes

text: is

text: µm.

text: If

text: the

text: count

text: for

text: this

text: background

text: by

text: adding

text: a

text: polynomial

text: of

text: sec-

text: size

text: of

text: the

text: graphene

text: ﬂakes

text: allows,

text: we

text: place

text: the

text: outermost

text: ond

text: order

text: to

text: our

text: ﬁt

text: function:

text: electrodes

text: at

text: larger

text: distances

text: to

text: minimize

text: their

text: inﬂuence

text: on

text: non-local

text: spin

text: measurements.

text: The

text: electrode

text: widths

text: alternate

text: between

text: nm

text: and

text: nm

text: to

text: achieve

text: dif-

text: Rtotal(B)

text: RHanle(B)

text: c

text: c

text: B

text: c

text: nl

text: nl

text: ferent

text: coercive

text: ﬁelds

text: for

text: magnetization

text: reversal

text: between

text: neighboring

text: Co

text: electrodes.

text: The

text: highly

text: p-doped

text: Si-wafer

text: Hanle

text: ﬁts

text: are

text: seen

text: as

text: red

text: curves

text: in

text: Fig.

text: For

text: illus-

text: is

text: used

text: as

text: a

text: back

text: gate

text: wh−ich

text: allows

text: changing

text: the

text: charge

text: tration,

text: we

text: also

text: include

text: the

text: parabolic

text: background

text: signal

text: carrier

text: density

text: n

text: α

text: (VG

text: VCNP≈)

text: in

text: gr×aphene

text: a−ccord−ing

text: as

text: a

text: green

text: curve.

text: to

text: the

text: capacitor

text: with

text: α

text: V

text: III.

text: SPIN

text: AND

text: CHARGE

text: TRANSPORT

text: AFTER

text: V

text: being

text: the

text: applied

text: gate

text: voltage

text: and

text: V

text: being

text: the

text: OXYGEN

text: TREATMENTS

text: G

text: CNP

text: gate

text: voltage

text: of

text: the

text: maximum

text: resistance

text: at

text: the

text: charge

text: neutrality

text: point.

text: The

text: gate

text: dependent

text: graphene

text: resistance

text: In

text: the

text: following

text: section,

text: we

text: explore

text: how

text: subsequent

text: is

text: measured

text: in

text: a

text: local

text: geometry

text: (Fig.

text: oxygen

text: treatments

text: will

text: inﬂuence

text: the

text: Co/MgO

text: contact

text: Hanle

text: spin

text: precession

text: measurements

text: are

text: performed

text: in

text: characteristics

text: in

text: our

text: as-fabricated

text: spin

text: transport

text: de-

text: non-local

text: geometry

text: (Fig.

text: with

text: the

text: ex-

text: vices,

text: i.e.

text: the

text: magnitude

text: of

text: the

text: R

text: A

text: products

text: and

text: the

text: c

text: ternal

text: magnetic

text: ﬁeld

text: B

text: applied

text: in

text: perpendicular

text: direc-

text: shape

text: of

text: the

text: dV

text: /dI

text: curves

text: and,

text: secondly,

text: how

text: they

text: will

text: ##LTFigure##

text: ##LTFigure##

text: ##LTFigure##

text: ##LTFigure##

text: ##LTFigure##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##


text: En route to obtaining the above results, we prove various results that provide new insights into network routing games even in the standard non-black-box model where latency functions are known. For instance, we obtain results on: (a) the computation of approximate equilibria and their properties (Lemmas 3.4 and 3.5); (b) structural properties of tolls and multicommodity ﬂows in sepa graphs (Section ); and (c) sensitivity of equilibrium ﬂow with respect to tolls (Theorem 3.18). We believe that these results and the machinery we develop to obtain them are of independent interest and likely to ﬁnd various applications. In Section , we investigate the use of Stackelberg routing to induce a given target ﬂow. Stackel- berg routing turns out to be signiﬁcantly harder to leverage than edge tolls in the query model. This is perhaps not surprising given that designing effective Stackelberg routing strategies turns out to be a much-more difﬁcult proposition than computing suitable edge tolls, even in the standard non-black- box setting where latency functions are given (see, e.g., [26, 5]). Nevertheless, we build upon the ma- chinery that we develop for sepa graphs to give a rather efﬁcient and general combinatorial algorithm | | that ﬁnds the desired Stackelberg routing using at most E queries to an oracle returning equilibrium ﬂows. This applies to any strictly increasing latency functions, and in particular, to linear latency functions. (Observe that this query complexity is even better than our query-complexity bound for inducing ﬂows via tolls on sepa graphs.) Moreover, our algorithm determines the Stackelberg routing ∗ of smallest volume that can induce f . We obtain various lower bounds in Section that allude to the difﬁculty of computing a Stackelberg routing in general networks that induces a target ﬂow. One possible strategy for ﬁnding such a Stack- elberg routing is to use the queries to infer an (approximately) “equivalent” set of delay functions l, in the sense that any Stackelberg routing yields the same (or almost the same) resulting equilibrium under the two sets of delay functions. Then, since given the latency functions, it is easy to compute a Stackelberg routing that induces a target ﬂow (see Lemma 2.2), one can ﬁnd the desired Stackelberg routing. Theorem 5.5 shows that such an approach cannot work: in the query model, any algorithm that learns even an approximately equivalent set of delay functions must make an exponential number of queries. Theorem 5.8 proves an orthogonal computational lower bound showing that determining the equivalence of two given sets of latency functions is an NP-hard problem. As in the case of tolls, along the way, we uncover a new result about the hardness of Stackelberg routing. We show that the problem of ﬁnding a Stackelberg routing that minimizes the average delay of the remaining equi- librium ﬂow is NP-hard to approximate within a factor better than 4/3 (Theorem 5.11). The query complexity of ﬁnding a Stackelberg routing in general networks that induces a target ﬂow remains an interesting open question for further research. Our results on tolls and Stackelberg routing demonstrate that it is indeed possible to circumvent the potentially-onerous task of modeling latency functions, and yet obtain meaningful results for the underlying routing game. Our array of upper- and lower- bound results indicate the richness of the query model, and suggest a promising direction for further research. 1.2 Related work Network routing/congestion games with nonatomic players—where each player controls an in- ﬁnitesimal amount of trafﬁc and there is a continuum of players—were ﬁrst formally studied in the context of road trafﬁc by Wardrop [34], and the equilibrium notion in such games is known as Wardrop equilibrium after him. Network routing games have since been widely studied in the ﬁelds of Trans- portation Science, Operations Research, and Computer Science; see, e.g., the monographs [23, 24] and the references therein. We limit ourselves to a survey of the results relevant to our work. 3

text: En

label: paragraph

text: route

text: to

text: obtaining

text: the

text: above

text: results,

text: we

text: prove

text: various

text: results

text: that

text: provide

text: new

text: insights

text: into

text: network

text: routing

text: games

text: even

text: in

text: the

text: standard

text: non-black-box

text: model

text: where

text: latency

text: functions

text: are

text: known.

text: For

text: instance,

text: we

text: obtain

text: results

text: on:

text: (a)

text: the

text: computation

text: of

text: approximate

text: equilibria

text: and

text: their

text: properties

text: (Lemmas

text: and

text: (b)

text: structural

text: properties

text: of

text: tolls

text: and

text: multicommodity

text: ﬂows

text: in

text: sepa

text: graphs

text: (Section

text: and

text: (c)

text: sensitivity

text: of

text: equilibrium

text: ﬂow

text: with

text: respect

text: to

text: tolls

text: (Theorem

text: We

text: believe

text: that

text: these

text: results

text: and

text: the

text: machinery

text: we

text: develop

text: to

text: obtain

text: them

text: are

text: of

text: independent

text: interest

text: and

text: likely

text: to

text: ﬁnd

text: various

text: applications.

text: In

text: Section

text: we

text: investigate

text: the

text: use

text: of

text: Stackelberg

text: routing

text: to

text: induce

text: a

text: given

text: target

text: ﬂow.

text: Stackel-

text: berg

text: routing

text: turns

text: out

text: to

text: be

text: signiﬁcantly

text: harder

text: to

text: leverage

text: than

text: edge

text: tolls

text: in

text: the

text: query

text: model.

text: This

text: is

text: perhaps

text: not

text: surprising

text: given

text: that

text: designing

text: effective

text: Stackelberg

text: routing

text: strategies

text: turns

text: out

text: to

text: be

text: a

text: much-more

text: difﬁcult

text: proposition

text: than

text: computing

text: suitable

text: edge

text: tolls,

text: even

text: in

text: the

text: standard

text: non-black-

text: box

text: setting

text: where

text: latency

text: functions

text: are

text: given

text: (see,

text: e.g.,

text: Nevertheless,

text: we

text: build

text: upon

text: the

text: ma-

text: chinery

text: that

text: we

text: develop

text: for

text: sepa

text: graphs

text: to

text: give

text: a

text: rather

text: efﬁcient

text: and

text: general

text: combinatorial

text: algorithm

text: that

text: ﬁnds

text: the

text: desired

text: Stackelberg

text: routing

text: using

text: at

text: most

text: E

text: queries

text: to

text: an

text: oracle

text: returning

text: equilibrium

text: ﬂows.

text: This

text: applies

text: to

text: any

text: strictly

text: increasing

text: latency

text: functions,

text: and

text: in

text: particular,

text: to

text: linear

text: latency

text: functions.

text: (Observe

text: that

text: this

text: query

text: complexity

text: is

text: even

text: better

text: than

text: our

text: query-complexity

text: bound

text: for

text: inducing

text: ﬂows

text: via

text: tolls

text: on

text: sepa

text: graphs.)

text: Moreover,

text: our

text: algorithm

text: determines

text: the

text: Stackelberg

text: routing

text: of

text: smallest

text: volume

text: that

text: can

text: induce

text: f

text: We

text: obtain

text: various

text: lower

text: bounds

text: in

text: Section

text: that

text: allude

text: to

text: the

text: difﬁculty

text: of

text: computing

text: a

text: Stackelberg

text: routing

text: in

text: general

text: networks

text: that

text: induces

text: a

text: target

text: ﬂow.

text: One

text: possible

text: strategy

text: for

text: ﬁnding

text: such

text: a

text: Stack-

text: elberg

text: routing

text: is

text: to

text: use

text: the

text: queries

text: to

text: infer

text: an

text: (approximately)

text: “equivalent”

text: set

text: of

text: delay

text: functions

text: l,

text: in

text: the

text: sense

text: that

text: any

text: Stackelberg

text: routing

text: yields

text: the

text: same

text: (or

text: almost

text: the

text: same)

text: resulting

text: equilibrium

text: under

text: the

text: two

text: sets

text: of

text: delay

text: functions.

text: Then,

text: since

text: given

text: the

text: latency

text: functions,

text: it

text: is

text: easy

text: to

text: compute

text: a

text: Stackelberg

text: routing

text: that

text: induces

text: a

text: target

text: ﬂow

text: (see

text: Lemma

text: one

text: can

text: ﬁnd

text: the

text: desired

text: Stackelberg

text: routing.

text: Theorem

text: shows

text: that

text: such

text: an

text: approach

text: cannot

text: work:

text: in

text: the

text: query

text: model,

text: any

text: algorithm

text: that

text: learns

text: even

text: an

text: approximately

text: equivalent

text: set

text: of

text: delay

text: functions

text: must

text: make

text: an

text: exponential

text: number

text: of

text: queries.

text: Theorem

text: proves

text: an

text: orthogonal

text: computational

text: lower

text: bound

text: showing

text: that

text: determining

text: the

text: equivalence

text: of

text: two

text: given

text: sets

text: of

text: latency

text: functions

text: is

text: an

text: NP-hard

text: problem.

text: As

text: in

text: the

text: case

text: of

text: tolls,

text: along

text: the

text: way,

text: we

text: uncover

text: a

text: new

text: result

text: about

text: the

text: hardness

text: of

text: Stackelberg

text: routing.

text: We

text: show

text: that

text: the

text: problem

text: of

text: ﬁnding

text: a

text: Stackelberg

text: routing

text: that

text: minimizes

text: the

text: average

text: delay

text: of

text: the

text: remaining

text: equi-

text: librium

text: ﬂow

text: is

text: NP-hard

text: to

text: approximate

text: within

text: a

text: factor

text: better

text: than

text: (Theorem

text: The

text: query

text: complexity

text: of

text: ﬁnding

text: a

text: Stackelberg

text: routing

text: in

text: general

text: networks

text: that

text: induces

text: a

text: target

text: ﬂow

text: remains

text: an

text: interesting

text: open

text: question

text: for

text: further

text: research.

text: Our

text: results

text: on

text: tolls

text: and

text: Stackelberg

text: routing

text: demonstrate

text: that

text: it

text: is

text: indeed

text: possible

text: to

text: circumvent

text: the

text: potentially-onerous

text: task

text: of

text: modeling

text: latency

text: functions,

text: and

text: yet

text: obtain

text: meaningful

text: results

text: for

text: the

text: underlying

text: routing

text: game.

text: Our

text: array

text: of

text: upper-

text: and

text: lower-

text: bound

text: results

text: indicate

text: the

text: richness

text: of

text: the

text: query

text: model,

text: and

text: suggest

text: a

text: promising

text: direction

text: for

text: further

text: research.

text: Related

text: work

text: Network

text: routing/congestion

text: games

text: with

text: nonatomic

text: players—where

text: each

text: player

text: controls

text: an

text: in-

text: ﬁnitesimal

text: amount

text: of

text: trafﬁc

text: and

text: there

text: is

text: a

text: continuum

text: of

text: players—were

text: ﬁrst

text: formally

text: studied

text: in

text: the

text: context

text: of

text: road

text: trafﬁc

text: by

text: Wardrop

text: and

text: the

text: equilibrium

text: notion

text: in

text: such

text: games

text: is

text: known

text: as

text: Wardrop

text: equilibrium

text: after

text: him.

text: Network

text: routing

text: games

text: have

text: since

text: been

text: widely

text: studied

text: in

text: the

text: ﬁelds

text: of

text: Trans-

text: portation

text: Science,

text: Operations

text: Research,

text: and

text: Computer

text: Science;

text: see,

text: e.g.,

text: the

text: monographs

text: and

text: the

text: references

text: therein.

text: We

text: limit

text: ourselves

text: to

text: a

text: survey

text: of

text: the

text: results

text: relevant

text: to

text: our

text: work.


text: (cid:48) By this procedure, the toll does not decrease on any edge and increases to zero on edge e . We claim that the ﬂow at equilibrium remains unchanged. Consider ﬁrst a path P with g > 0. All edges ∈ \ P e P are in E+, and exactly one edge crosses the cut (S, V S). Hence the delay on every such path − (cid:54)∈ increases by exactly τ (cid:48). On any other path, there is at least one edge e E+, hence the delay these e − (cid:48) paths increases by at least τ (cid:48). The ﬂow g is thus a ﬂow on shortest paths with tolls τ , and hence (cid:48) e (cid:4) g = f(l, τ ). Proof of Theorem 3.18. We ﬁrst prove (iii). Let τ := 1 δ. Let Φ be the potential function as deﬁned r in (1) for the delay functions in Γ , and Φτ be the potential function with delay functions that include the toll τ. Note that for any ﬂow f, Φτ(f) = Φ(f) + τ f . Suppose for a contradiction that f (τ) > r r r f (0). Then r Φτ(f(0)) = Φ(f(0)) + τ f (0) < Φ(f(0)) + τ f (τ) < Φ(f(τ)) + τ f (τ) = Φτ(f(τ)) . r r r r r r But this is a contradiction, since f(τ) is the unique minimizer of Φτ. − We now prove part (iv) of the theorem. Let τ := 1 δ. We ﬁrst prove the lemma for the case that S S r (l, f(τ)) = (l, f(0)), and then extend it to the case when the set of shortest-path edges differ. For − two ﬂows f and g of the same value in G, the difference h = f g is a circulation and is possibly negative on some edges. If h > 0 then (u, v) is a forward edge, and if h < 0 then (u, v) is a −uv uv backward. We use E+ and E for the set of forward and backward edges respectively. We want to deﬁne a decomposition of h along cycles. For this, let D be the directed graph with ∈ ∈ ∈ the same vertex set as G, but with (u, v) E(D) if (u, v) E and h > 0, and (v, u) E(D) if ∈ (cid:80) uv (u, v) E and h < 0. Then h deﬁnes a circulation h˜ in graph D, where h˜ = h if (u, v) is uv − { } uv uv a forward(cid:80)edge, and h˜ = h if (u, v) is a backward edge. Let h˜ ∈C be a decomposition of vu uv ∈ C C ∈ − h˜ along directed cycles in D. Then for (u, v) E+, h = ∈ h˜ , and for (u, v) E , − uv C:(u,v) C C h = ∈ h˜ . uv C:(v,u) C C Let edge r = (x, y). We will show that (y, x) is in every cycle C. For a contradiction, suppose (cid:48) ∈ C (cid:54)∈ (cid:48) ∈ there exists C so that (y, x) C . For any edge e E+, f (τ) > f (0), and for any edge ∈ − S S e e (cid:48) e E , f (τ) < f (0). Further, since (f(0)) = (f(τ)), the sum of latencies along cycle C must e e be zero for both(cid:88)ﬂows f(τ) and f(0(cid:88)). However, (cid:88) − (cid:88) (cid:88) l (f (τ)) = (l (f (τ)) + τ ) (l (f (τ)) + τ ) e e e e e e e e ∈ (cid:48) ∈ ∩ (cid:48) ∈ −∩ (cid:48) e C e E+ C e E C − (cid:88) (cid:88) > (l (f (0)) + τ ) (l (f (0)) + τ ) e e e e e e ∈ ∩ (cid:48) ∈ −∩ (cid:48) e E+ C e E C ≥ − l (f (0)) l (f (0)) = 0 . e e e e ∈ ∩ (cid:48) ∈ −∩ (cid:48) e E+ C e E C (cid:54) (cid:54)∈ − ∩ (cid:48) where the second inequality is because τ = 0 for e = r, and r E C . This is a contradiction, e(cid:48) ∈ C since the sum of latencies along cycle C must be zero for ﬂow f(τ). Thus, for every cycle C , (y, x) must be in C. (cid:88) (cid:88) Then − f (τ) = f (0) + f f . uv uv C C ∈C ∈ ∈C ∈ C :(u,v) C C :(v,u) C 35

text: By

text: this

text: procedure,

text: the

text: toll

text: does

text: not

text: decrease

text: on

text: any

text: edge

text: and

text: increases

text: to

text: zero

text: on

text: edge

text: e

text: We

text: claim

text: that

text: the

text: ﬂow

text: at

text: equilibrium

text: remains

text: unchanged.

text: Consider

text: ﬁrst

text: a

text: path

text: P

text: with

text: g

text: All

text: edges

text: P

text: e

text: P

text: are

text: in

text: E+,

text: and

text: exactly

text: one

text: edge

text: crosses

text: the

text: cut

text: (S,

text: V

text: S).

text: Hence

text: the

text: delay

text: on

text: every

text: such

text: path

text: increases

text: by

text: exactly

text: τ

text: On

text: any

text: other

text: path,

text: there

text: is

text: at

text: least

text: one

text: edge

text: e

text: E+,

text: hence

text: the

text: delay

text: these

text: e

text: paths

text: increases

text: by

text: at

text: least

text: τ

text: The

text: ﬂow

text: g

text: is

text: thus

text: a

text: ﬂow

text: on

text: shortest

text: paths

text: with

text: tolls

text: τ

text: and

text: hence

text: e

text: g

text: f(l,

text: τ

text: Proof

text: of

text: Theorem

text: We

text: ﬁrst

text: prove

text: (iii).

text: Let

text: τ

text: δ.

text: Let

text: Φ

text: be

text: the

text: potential

text: function

text: as

text: deﬁned

text: r

text: in

text: for

text: the

text: delay

text: functions

text: in

text: Γ

text: and

text: Φτ

text: be

text: the

text: potential

text: function

text: with

text: delay

text: functions

text: that

text: include

text: the

text: toll

text: τ.

text: Note

text: that

text: for

text: any

text: ﬂow

text: f,

text: Φτ(f)

text: Φ(f)

text: τ

text: f

text: Suppose

text: for

text: a

text: contradiction

text: that

text: f

text: (τ)

text: r

text: r

text: r

text: f

text: Then

text: r

text: τ

text: f

text: τ

text: f

text: (τ)

text: Φ(f(τ))

text: τ

text: f

text: (τ)

text: Φτ(f(τ))

text: r

text: r

text: r

text: r

text: r

text: r

text: But

text: this

text: is

text: a

text: contradiction,

text: since

text: f(τ)

text: is

text: the

text: unique

text: minimizer

text: of

text: Φτ.

text: We

text: now

text: prove

text: part

text: (iv)

text: of

text: the

text: theorem.

text: Let

text: τ

text: δ.

text: We

text: ﬁrst

text: prove

text: the

text: lemma

text: for

text: the

text: case

text: that

text: S

text: S

text: r

text: (l,

text: f(τ))

text: (l,

text: and

text: then

text: extend

text: it

text: to

text: the

text: case

text: when

text: the

text: set

text: of

text: shortest-path

text: edges

text: differ.

text: For

text: two

text: ﬂows

text: f

text: and

text: g

text: of

text: the

text: same

text: value

text: in

text: G,

text: the

text: difference

text: h

text: f

text: g

text: is

text: a

text: circulation

text: and

text: is

text: possibly

text: negative

text: on

text: some

text: edges.

text: If

text: h

text: then

text: (u,

text: v)

text: is

text: a

text: forward

text: edge,

text: and

text: if

text: h

text: then

text: (u,

text: v)

text: is

text: a

text: −uv

text: uv

text: backward.

text: We

text: use

text: E+

text: and

text: E

text: for

text: the

text: set

text: of

text: forward

text: and

text: backward

text: edges

text: respectively.

text: We

text: want

text: to

text: deﬁne

text: a

text: decomposition

text: of

text: h

text: along

text: cycles.

text: For

text: this,

text: let

text: D

text: be

text: the

text: directed

text: graph

text: with

text: the

text: same

text: vertex

text: set

text: as

text: G,

text: but

text: with

text: (u,

text: v)

text: E(D)

text: if

text: (u,

text: v)

text: E

text: and

text: h

text: and

text: (v,

text: u)

text: E(D)

text: if

text: uv

text: (u,

text: v)

text: E

text: and

text: h

text: Then

text: h

text: deﬁnes

text: a

text: circulation

text: h˜

text: in

text: graph

text: D,

text: where

text: h˜

text: h

text: if

text: (u,

text: v)

text: is

text: uv

text: uv

text: uv

text: a

text: and

text: h˜

text: h

text: if

text: (u,

text: v)

text: is

text: a

text: backward

text: edge.

text: Let

text: h˜

text: ∈C

text: be

text: a

text: decomposition

text: of

text: vu

text: uv

text: C

text: C

text: h˜

text: along

text: directed

text: cycles

text: in

text: D.

text: Then

text: for

text: (u,

text: v)

text: E+,

text: h

text: h˜

text: and

text: for

text: (u,

text: v)

text: E

text: uv

text: C:(u,v)

text: C

text: C

text: h

text: h˜

text: uv

text: C:(v,u)

text: C

text: C

text: Let

text: edge

text: r

text: (x,

text: y).

text: We

text: will

text: show

text: that

text: (y,

text: x)

text: is

text: in

text: every

text: cycle

text: C.

text: For

text: a

text: contradiction,

text: suppose

text: C

text: there

text: exists

text: C

text: so

text: that

text: (y,

text: x)

text: C

text: For

text: any

text: edge

text: e

text: E+,

text: f

text: (τ)

text: f

text: and

text: for

text: any

text: edge

text: S

text: S

text: e

text: e

text: e

text: E

text: f

text: (τ)

text: f

text: Further,

text: since

text: (f(τ)),

text: the

text: sum

text: of

text: latencies

text: along

text: cycle

text: C

text: must

text: e

text: e

text: be

text: zero

text: for

text: f(τ)

text: and

text: However,

text: l

text: (f

text: (τ))

text: (l

text: (f

text: (τ))

text: τ

text: (l

text: (f

text: (τ))

text: τ

text: e

text: e

text: e

text: e

text: e

text: e

text: e

text: e

text: e

text: C

text: e

text: E+

text: C

text: e

text: E

text: C

text: (l

text: (f

text: τ

text: (l

text: (f

text: τ

text: e

text: e

text: e

text: e

text: e

text: e

text: e

text: E+

text: C

text: e

text: E

text: C

text: l

text: (f

text: l

text: (f

text: e

text: e

text: e

text: e

text: e

text: E+

text: C

text: e

text: E

text: C

text: where

text: the

text: second

text: inequality

text: is

text: because

text: τ

text: for

text: e

text: r,

text: and

text: r

text: E

text: C

text: This

text: is

text: a

text: contradiction,

text: C

text: since

text: the

text: sum

text: of

text: latencies

text: along

text: cycle

text: C

text: must

text: be

text: zero

text: for

text: ﬂow

text: f(τ).

text: Thus,

text: for

text: every

text: cycle

text: C

text: (y,

text: x)

text: must

text: be

text: in

text: C.

text: Then

text: f

text: (τ)

text: f

text: f

text: f

text: uv

text: uv

text: C

text: C

text: ∈C

text: ∈C

text: C

text: :(u,v)

text: C

text: C

text: :(v,u)

text: C


text: (cid:55)→ sinks, and demands for k commodities. The delay function l : R R gives the delay on edge e e + + as a function of the total ﬂow on the edge. (Here, R is the set of nonnegative reals.) We assume that + l is continuous, and strictly increasing. For each commodity i, the demand d speciﬁes the volume e i of ﬂow that is routed from s to t by self-interested agents, each of whom controls an inﬁnitesimal i i amount of ﬂow and selects an s -t path as her strategy. The strategies selected by the agents thus i i induce a multic(cid:88)ommodity ﬂow(cid:88)(fi)i≤k, where each fi = (fei)e∈E is an (cid:88)si-ti ﬂow of va(cid:88)lue di. That is, the vector fi = (fi) satisﬁes: e e ≥ − ∀ ∈ \ { } − fi 0, fi fi = 0 v V s , t , fi fi = d . vw uv i i sw us i ∈ ∈ ∈ ∈ (v,w) E (u,v) E (s,w) E (u,s)(cid:80)E { } (cid:83) We call f = (fi) ≤ a feasible ﬂow. We say that f is acyclic if e : fi > 0 is acyclic for every i k e commodity i. We overload notation and use f to also denote the total-ﬂow vector f = ≤ fi. For ∈ { i k} a path P , we use f > 0 to denote f > 0 for all e P . We sometimes refer to s , t as the P e | i| i i terminals of the routing game or multicommodity ﬂow. Given an s-t ﬂow f, we use f to denote the value of f. (cid:80) P Let i denote the collection of all s -t paths. Given a multicommodity ﬂow (fi) ≤ induced by i i i k the agents’ strategies, the delay of an agent that selects an s -t path P is the total delay, l (f) := i i P ∈ l (f ), incurred on the edges of P . Each agent in a routing game seeks to minimize her own e P e e delay. To analyze the resulting strategic behavior, we focus on the concept of a Nash equilibrium, which is a proﬁle of agents’ strategies where no individual agent can reduce her delay by changing her strategy, assuming other agents do not change their strategies. In routing games, this is formalized by the notion of Wardrop equilibrium. Deﬁnition 2.1. A multicommodity ﬂow fˆ is a Wardrop equilibrium (or simply an equilibrium) of a ∈ P routing game Γ if it is feasible and for every commodity i, and all paths P , Q i with fˆi > 0, ≤ P we have l (fˆ) l (fˆ). A Wardrop equilibrium can be computed by solving the following convex P Q program: (cid:90) (cid:88) (cid:88) fe k ∀ min Φ(f) := l (x) dx s.t. f = fi, fi is an s -t ﬂow of value d i = 1, . . . , k. e i i i e 0 i=1 (1) Given a routing game Γ and a feasible ﬂow f, deﬁne Di(l, f) := min ∈P l (f) for each com- P i P modity i, and call an edge e a shortest-path edge for commodity i with respect to f if e lies on some ∈ P S path P i such that l (f) = Di(l, f). Let i(l, f) be the set of shortest-path edges for commodity P i with respect to f. Tolls, Stackelberg routing, and our query model. We investigate both the use of edge tolls and Stackelberg routing to induce a given target ﬂow. Tolls are additional costs on the edges that are paid (cid:80) ∈ by every player that uses the edge. A vector of tolls τ = (τ ) RE on the network edges thus e e + changes the delay function on each edge e to lτ(x) := l (x) + τ , and so the delay of an agent who e e e chooses P is now l (f) + τ(P ), where τ(P ) := ∈ τ . We use f(l, τ) to denote the equilib- P e P e rium ﬂow obtained with delay functions l = (l ) and tolls τ = (τ ) . We say that τ enforces a e e e e multicommodity ﬂow f with latency functions l if the total ﬂow f(l, τ) = f on every edge e. e e For Stackelberg routing, in keeping with much of the literature, we focus on single-commodity ∈ routing games. Given a single-commodity routing game Γ = (G, l, (s, t, d)) and a parameter α 5

text: sinks,

text: and

text: demands

text: for

text: k

text: commodities.

text: The

text: delay

text: function

text: l

text: R

text: R

text: gives

text: the

text: delay

text: on

text: edge

text: e

text: e

text: as

text: a

text: function

text: of

text: the

text: total

text: ﬂow

text: on

text: the

text: edge.

text: (Here,

text: R

text: is

text: the

text: set

text: of

text: nonnegative

text: reals.)

text: We

text: assume

text: that

text: l

text: is

text: continuous,

text: and

text: strictly

text: increasing.

text: For

text: each

text: commodity

text: i,

text: the

text: demand

text: d

text: speciﬁes

text: the

text: volume

text: e

text: i

text: of

text: ﬂow

text: that

text: is

text: routed

text: from

text: s

text: to

text: t

text: by

text: self-interested

text: agents,

text: each

text: of

text: whom

text: controls

text: an

text: inﬁnitesimal

text: i

text: i

text: amount

text: of

text: ﬂow

text: and

text: selects

text: an

text: s

text: -t

text: path

text: as

text: her

text: strategy.

text: The

text: strategies

text: selected

text: by

text: the

text: agents

text: thus

text: i

text: i

text: induce

text: a

text: where

text: each

text: fi

text: (fei)e∈E

text: is

text: an

text: ﬂow

text: of

text: di.

text: That

text: is,

text: the

text: vector

text: fi

text: (fi)

text: satisﬁes:

text: e

text: e

text: fi

text: fi

text: fi

text: v

text: V

text: s

text: t

text: fi

text: fi

text: d

text: vw

text: uv

text: i

text: i

text: sw

text: us

text: i

text: (v,w)

text: E

text: (u,v)

text: E

text: (s,w)

text: E

text: We

text: call

text: f

text: (fi)

text: a

text: feasible

text: ﬂow.

text: We

text: say

text: that

text: f

text: is

text: acyclic

text: if

text: e

text: fi

text: is

text: acyclic

text: for

text: every

text: i

text: k

text: e

text: commodity

text: i.

text: We

text: overload

text: notation

text: and

text: use

text: f

text: to

text: also

text: denote

text: the

text: total-ﬂow

text: vector

text: f

text: fi.

text: For

text: i

text: k}

text: a

text: path

text: P

text: we

text: use

text: f

text: to

text: denote

text: f

text: for

text: all

text: e

text: P

text: We

text: sometimes

text: refer

text: to

text: s

text: t

text: as

text: the

text: P

text: e

text: i|

text: i

text: i

text: terminals

text: of

text: the

text: routing

text: game

text: or

text: multicommodity

text: ﬂow.

text: Given

text: an

text: s-t

text: ﬂow

text: f,

text: we

text: use

text: f

text: to

text: denote

text: the

text: value

text: of

text: f.

text: P

text: Let

text: i

text: denote

text: the

text: collection

text: of

text: all

text: s

text: -t

text: paths.

text: Given

text: a

text: multicommodity

text: ﬂow

text: (fi)

text: induced

text: by

text: i

text: i

text: i

text: k

text: the

text: agents’

text: strategies,

text: the

text: delay

text: of

text: an

text: agent

text: that

text: selects

text: an

text: s

text: -t

text: path

text: P

text: is

text: the

text: total

text: delay,

text: l

text: (f)

text: i

text: i

text: P

text: l

text: (f

text: incurred

text: on

text: the

text: edges

text: of

text: P

text: Each

text: agent

text: in

text: a

text: routing

text: game

text: seeks

text: to

text: minimize

text: her

text: own

text: e

text: P

text: e

text: e

text: delay.

text: To

text: analyze

text: the

text: resulting

text: strategic

text: behavior,

text: we

text: focus

text: on

text: the

text: concept

text: of

text: a

text: Nash

text: equilibrium,

text: which

text: is

text: a

text: proﬁle

text: of

text: agents’

text: strategies

text: where

text: no

text: individual

text: agent

text: can

text: reduce

text: her

text: delay

text: by

text: changing

text: her

text: strategy,

text: assuming

text: other

text: agents

text: do

text: not

text: change

text: their

text: strategies.

text: In

text: routing

text: games,

text: this

text: is

text: formalized

text: by

text: the

text: notion

text: of

text: Wardrop

text: equilibrium.

text: Deﬁnition

text: A

text: multicommodity

text: ﬂow

text: fˆ

text: is

text: a

text: Wardrop

text: equilibrium

text: (or

text: simply

text: an

text: equilibrium)

text: of

text: a

text: P

text: routing

text: game

text: Γ

text: if

text: it

text: is

text: feasible

text: and

text: for

text: every

text: commodity

text: i,

text: and

text: all

text: paths

text: P

text: Q

text: i

text: with

text: fˆi

text: P

text: we

text: have

text: l

text: (fˆ)

text: l

text: (fˆ).

text: A

text: Wardrop

text: equilibrium

text: can

text: be

text: computed

text: by

text: solving

text: the

text: following

text: convex

text: P

text: Q

text: program:

text: fe

text: k

text: min

text: Φ(f)

text: l

text: (x)

text: dx

text: s.t.

text: f

text: fi,

text: fi

text: is

text: an

text: s

text: -t

text: ﬂow

text: of

text: value

text: d

text: i

text: k.

text: e

text: i

text: i

text: i

text: e

text: Given

text: a

text: routing

text: game

text: Γ

text: and

text: a

text: feasible

text: ﬂow

text: f,

text: deﬁne

text: Di(l,

text: f)

text: min

text: ∈P

text: l

text: (f)

text: for

text: each

text: com-

text: P

text: i

text: P

text: modity

text: i,

text: and

text: call

text: an

text: edge

text: e

text: a

text: shortest-path

text: edge

text: for

text: commodity

text: i

text: with

text: respect

text: to

text: f

text: if

text: e

text: lies

text: on

text: some

text: P

text: S

text: path

text: P

text: i

text: such

text: that

text: l

text: (f)

text: Di(l,

text: f).

text: Let

text: i(l,

text: f)

text: be

text: the

text: set

text: of

text: shortest-path

text: edges

text: for

text: commodity

text: P

text: i

text: with

text: respect

text: to

text: f.

text: Tolls,

text: Stackelberg

text: routing,

text: and

text: our

text: query

text: model.

text: We

text: investigate

text: both

text: the

text: use

text: of

text: edge

text: tolls

text: and

text: Stackelberg

text: routing

text: to

text: induce

text: a

text: given

text: target

text: ﬂow.

text: Tolls

text: are

text: additional

text: costs

text: on

text: the

text: edges

text: that

text: are

text: paid

text: by

text: every

text: player

text: that

text: uses

text: the

text: edge.

text: A

text: vector

text: of

text: tolls

text: τ

text: (τ

text: RE

text: on

text: the

text: network

text: edges

text: thus

text: e

text: e

text: changes

text: the

text: delay

text: function

text: on

text: each

text: edge

text: e

text: to

text: lτ(x)

text: l

text: (x)

text: τ

text: and

text: so

text: the

text: delay

text: of

text: an

text: agent

text: who

text: e

text: e

text: e

text: chooses

text: P

text: is

text: now

text: l

text: (f)

text: τ(P

text: where

text: τ(P

text: τ

text: We

text: use

text: f(l,

text: τ)

text: to

text: denote

text: the

text: equilib-

text: P

text: e

text: P

text: e

text: rium

text: ﬂow

text: obtained

text: with

text: delay

text: functions

text: l

text: (l

text: and

text: tolls

text: τ

text: (τ

text: We

text: say

text: that

text: τ

text: enforces

text: a

text: e

text: e

text: e

text: e

text: multicommodity

text: ﬂow

text: f

text: with

text: latency

text: functions

text: l

text: if

text: the

text: total

text: ﬂow

text: f(l,

text: τ)

text: f

text: on

text: every

text: edge

text: e.

text: e

text: e

text: For

text: Stackelberg

text: routing,

text: in

text: keeping

text: with

text: much

text: of

text: the

text: literature,

text: we

text: focus

text: on

text: single-commodity

text: routing

text: games.

text: Given

text: a

text: single-commodity

text: routing

text: game

text: Γ

text: (G,

text: l,

text: (s,

text: t,

text: d))

text: and

text: a

text: parameter

text: α


text: [0, 1], a central authority controls at most an α-fraction of the total s-t ﬂow-volume d and routes this ﬂow in any desired way, and then the remaining trafﬁc routes itself selﬁshly. That is, a Stackelberg routing g is an s-t ﬂow of value at most αd, which we call the Stackelberg demand. The Stackelberg − routing g modiﬁes the delay function on each edge e to ˜l (g; x) := l (x+g ). The remaining (1 α)d e e e volume of trafﬁc routes itself according to a Wardrop equilibrium, denoted by f(l, g), of the instance − (G, ˜l, (1 α)d). The total ﬂow induced by a Stackelberg routing g is thus g + f(l, g). We shorten f(l, τ) to f(τ), and f(l, g) to f(g) when l is clear from the context. K { } In our query model, we are given the graph G, the commodity set = (s , t , d ) ≤ , and a ∗ i i ∗ iK i k feasible target multicommodity ﬂow f . There is an underlying routing game Γ = (G, l , ), to which we are given query access. If our method of inﬂuencing equilibria is via tolls, then the oracle takes ∗ a toll-vector τ as input and returns the equilibrium ﬂow f(l , τ) or a (suitably-deﬁned) approximate ∗ equilibrium. Our goal is to minimize the number of queries required to compute tolls τ such that ∗ ∗ ∗ f(l , τ ) = f . If our method of inﬂuencing equilibria is via Stackelberg routing, then we are also given the ∈ | | ≤ parameter α [0, 1]. Each query takes a Stackelberg routing g with g αd as input and returns ∗ the ﬂow f(l , g). Our goal is to minimize the number of queries required to compute a Stackelberg ∗ ∗ ∗ ∗ ∗ routing g of value at most αd such that f(l , g ) + g = f , or determine that no such Stackelberg routing exists. Properties of equilibria. The following facts about Wardrop equilibria, network tolls, and Stackel- berg routing will be useful. Recall that the del(cid:80)ay functions are nonnegative, continuous, and strictly increasing. • − ≤ A feasible ﬂow f is an equilibrium ﬂow iff (f g )l (f ) 0 for every feasible ﬂow g; see, e e e e e e.g., [23]. Thus, the total-ﬂow vector (f ) induced by an equilibrium ﬂow is unique for strictly e e increasing delay functions. • (cid:0) (cid:1) Every routing game admits an acyclic Wardrop equilibrium fˆ. If the delay functions are polytime computable, then one can solve (1) and compute: (i) fˆ in polytime for linear delay functions; (ii) ≤ an acyclic ﬂow f such that Φ(f) Φ(fˆ) + (cid:15) in time poly input size, log(1) . See, e.g., [23], for (cid:15) details. (cid:0) (cid:1) • Every minimal feasible ﬂow f is enforceable via tolls [11, 17, 36], where f is minimal if there is (cid:0) (cid:54) (cid:1) ≤ no other feasible ﬂow g = f such that g f for every edge e. Given the edge delays l (f ) , e e e e e these tolls can be computed by solving an LP, and are rational provided the commodity demands (d ) and the delays l (f ) are rational. i i e e e The following lemma was essentially shown in [16]; we include a self-contained proof in Appendix . ∗ Lemma 2.2. Let (G, l, (d, s, t), α) be a Stackelberg routing instance, and f be a feasible ﬂow. Then, ∗ ≤ ∗ ∗ f(g) + g = f for a Stackelberg routing g iff g f for every edge e, and g = f for all (cid:54)∈ S ∗ e e e e e (l, f ). Standard delay functions and encoding length. Our results hold for a broad class of underlying I delay functions, that we now formally describe. Throughout, we use denote the input size of the I given routing game. We assume that we have an estimate U with log U = poly( ) such that the target ∗ ∗ ﬂow f , the parameters of the unknown true delay functions (l ) , and the quantities that we seek to ∗ ∗ ∗ e e compute—tolls τ or the Stackelberg routing g inducing f —all have encoding length O(log U). So ∗ ∗ ∗ we may assume that every f , τ , g value is a multiple of 1 , and is at most U. e e e U 6 ##LTLine## ##LTLine##

text: a

text: central

text: authority

text: controls

text: at

text: most

text: an

text: α-fraction

text: of

text: the

text: total

text: s-t

text: ﬂow-volume

text: d

text: and

text: routes

text: this

text: ﬂow

text: in

text: any

text: desired

text: way,

text: and

text: then

text: the

text: remaining

text: trafﬁc

text: routes

text: itself

text: selﬁshly.

text: That

text: is,

text: a

text: Stackelberg

text: routing

text: g

text: is

text: an

text: s-t

text: ﬂow

text: of

text: value

text: at

text: most

text: αd,

text: which

text: we

text: call

text: the

text: Stackelberg

text: demand.

text: The

text: Stackelberg

text: routing

text: g

text: modiﬁes

text: the

text: delay

text: function

text: on

text: each

text: edge

text: e

text: to

text: ˜l

text: (g;

text: x)

text: l

text: (x+g

text: The

text: remaining

text: α)d

text: e

text: e

text: e

text: volume

text: of

text: trafﬁc

text: routes

text: itself

text: according

text: to

text: a

text: Wardrop

text: equilibrium,

text: denoted

text: by

text: f(l,

text: g),

text: of

text: the

text: instance

text: (G,

text: ˜l,

text: α)d).

text: The

text: total

text: ﬂow

text: induced

text: by

text: a

text: Stackelberg

text: routing

text: g

text: is

text: thus

text: g

text: f(l,

text: g).

text: We

text: shorten

text: f(l,

text: τ)

text: to

text: f(τ),

text: and

text: f(l,

text: g)

text: to

text: f(g)

text: when

text: l

text: is

text: clear

text: from

text: the

text: context.

text: K

text: In

text: our

text: query

text: model,

text: we

text: are

text: given

text: the

text: graph

text: G,

text: the

text: commodity

text: set

text: (s

text: t

text: d

text: and

text: a

text: i

text: i

text: iK

text: i

text: k

text: feasible

text: target

text: multicommodity

text: ﬂow

text: f

text: There

text: is

text: an

text: underlying

text: routing

text: game

text: Γ

text: (G,

text: l

text: to

text: which

text: we

text: are

text: given

text: query

text: access.

text: If

text: our

text: method

text: of

text: inﬂuencing

text: equilibria

text: is

text: via

text: tolls,

text: then

text: the

text: oracle

text: takes

text: a

text: toll-vector

text: τ

text: as

text: input

text: and

text: returns

text: the

text: equilibrium

text: ﬂow

text: f(l

text: τ)

text: or

text: a

text: (suitably-deﬁned)

text: approximate

text: equilibrium.

text: Our

text: goal

text: is

text: to

text: minimize

text: the

text: number

text: of

text: queries

text: required

text: to

text: compute

text: tolls

text: τ

text: such

text: that

text: f(l

text: τ

text: f

text: If

text: our

text: method

text: of

text: inﬂuencing

text: equilibria

text: is

text: via

text: Stackelberg

text: routing,

text: then

text: we

text: are

text: also

text: given

text: the

text: parameter

text: α

text: Each

text: query

text: takes

text: a

text: Stackelberg

text: routing

text: g

text: with

text: g

text: αd

text: as

text: input

text: and

text: returns

text: the

text: ﬂow

text: f(l

text: g).

text: Our

text: goal

text: is

text: to

text: minimize

text: the

text: number

text: of

text: queries

text: required

text: to

text: compute

text: a

text: Stackelberg

text: routing

text: g

text: of

text: value

text: at

text: most

text: αd

text: such

text: that

text: f(l

text: g

text: g

text: f

text: or

text: determine

text: that

text: no

text: such

text: Stackelberg

text: routing

text: exists.

text: Properties

text: of

text: equilibria.

text: The

text: following

text: facts

text: about

text: Wardrop

text: equilibria,

text: network

text: tolls,

text: and

text: Stackel-

text: berg

text: routing

text: will

text: be

text: useful.

text: Recall

text: that

text: the

text: functions

text: are

text: nonnegative,

text: continuous,

text: and

text: strictly

text: increasing.

text: A

text: feasible

text: ﬂow

text: f

text: is

text: an

text: equilibrium

text: ﬂow

text: iff

text: (f

text: g

text: )l

text: (f

text: for

text: every

text: feasible

text: ﬂow

text: g;

text: see,

text: e

text: e

text: e

text: e

text: e

text: e.g.,

text: Thus,

text: the

text: total-ﬂow

text: vector

text: (f

text: induced

text: by

text: an

text: equilibrium

text: ﬂow

text: is

text: unique

text: for

text: strictly

text: e

text: e

text: increasing

text: delay

text: functions.

text: Every

text: routing

text: game

text: admits

text: an

text: acyclic

text: Wardrop

text: equilibrium

text: fˆ.

text: If

text: the

text: delay

text: functions

text: are

text: polytime

text: computable,

text: then

text: one

text: can

text: solve

text: and

text: compute:

text: (i)

text: fˆ

text: in

text: polytime

text: for

text: linear

text: delay

text: functions;

text: (ii)

text: an

text: acyclic

text: ﬂow

text: f

text: such

text: that

text: Φ(f)

text: Φ(fˆ)

text: in

text: time

text: poly

text: input

text: size,

text: See,

text: e.g.,

text: for

text: details.

text: Every

text: minimal

text: feasible

text: ﬂow

text: f

text: is

text: enforceable

text: via

text: tolls

text: where

text: f

text: is

text: minimal

text: if

text: there

text: is

text: no

text: other

text: feasible

text: ﬂow

text: g

text: f

text: such

text: that

text: g

text: f

text: for

text: every

text: edge

text: e.

text: Given

text: the

text: edge

text: delays

text: l

text: (f

text: e

text: e

text: e

text: e

text: e

text: these

text: tolls

text: can

text: be

text: computed

text: by

text: solving

text: an

text: LP,

text: and

text: are

text: rational

text: provided

text: the

text: commodity

text: demands

text: (d

text: and

text: the

text: delays

text: l

text: (f

text: are

text: rational.

text: i

text: i

text: e

text: e

text: e

text: The

text: following

text: lemma

text: was

text: essentially

text: shown

text: in

text: we

text: include

text: a

text: self-contained

text: proof

text: in

text: Appendix

text: Lemma

text: Let

text: (G,

text: l,

text: (d,

text: s,

text: t),

text: α)

text: be

text: a

text: Stackelberg

text: routing

text: instance,

text: and

text: f

text: be

text: a

text: feasible

text: ﬂow.

text: Then,

text: f(g)

text: g

text: f

text: for

text: a

text: Stackelberg

text: routing

text: g

text: iff

text: g

text: f

text: for

text: every

text: edge

text: e,

text: and

text: g

text: f

text: for

text: all

text: S

text: e

text: e

text: e

text: e

text: e

text: (l,

text: f

text: Standard

text: delay

text: functions

text: and

text: encoding

text: length.

text: Our

text: results

text: hold

text: for

text: a

text: broad

text: class

text: of

text: underlying

text: I

text: delay

text: functions,

text: that

text: we

text: now

text: formally

text: describe.

text: Throughout,

text: we

text: use

text: denote

text: the

text: input

text: size

text: of

text: the

text: I

text: given

text: routing

text: game.

text: We

text: assume

text: that

text: we

text: have

text: an

text: estimate

text: U

text: with

text: log

text: U

text: poly(

text: such

text: that

text: the

text: target

text: ﬂow

text: f

text: the

text: parameters

text: of

text: the

text: unknown

text: true

text: delay

text: functions

text: (l

text: and

text: the

text: quantities

text: that

text: we

text: seek

text: to

text: e

text: e

text: compute—tolls

text: τ

text: or

text: the

text: Stackelberg

text: routing

text: g

text: inducing

text: f

text: —all

text: have

text: encoding

text: length

text: O(log

text: U).

text: So

text: we

text: may

text: assume

text: that

text: every

text: f

text: τ

text: g

text: value

text: is

text: a

text: multiple

text: of

text: and

text: is

text: at

text: most

text: U.

text: e

text: e

text: e

text: U

text: ##LTLine##

text: ##LTLine##


text: 1 Trafﬁc Network Control from Temporal Logic Speciﬁcations Samuel Coogan, Ebru Aydin Gol, Murat Arcak, and Calin Belta Abstract— We propose a framework for generating a signal To overcome these scalability limitations, we identify and control policy for a trafﬁc network of signalized intersections to exploit componentwise monotonicity [22] properties inherent accomplish control objectives expressible using linear temporal in ﬂow networks such as trafﬁc networks. These properties al- logic. By applying techniques from model checking and formal low efﬁcient computation of bounds on the one-step reachable methods, we obtain a correct-by-construction controller that is guaranteed to satisfy complex speciﬁcations. To apply these set from a rectangular box of initial conditions, which in turn tools, we identify and exploit structural properties particular allows efﬁcient computation of a ﬁnite state abstraction of the to trafﬁc networks that allow for efﬁcient computation of a dynamics, thereby mitigating a crucial bottleneck in the control ﬁnite state abstraction. In particular, trafﬁc networks exhibit synthesis process. A related approach to abstractions of mono- a componentwise monotonicity property which allows reach set tone systems is suggested in [23], however the componentwise computations that scale linearly with the dimension of the continuous state space. monotonicity properties exploited in this work are much more general and encompass monotone systems as a special case. The present paper builds on our preliminary work in [24] by I. INTRODUCTION deﬁning componentwise monotonicity and identifying it as the enabling property for efﬁcient abstraction. State-of-the-art approaches to coordinated control of sig- This paper is organized as follows: Section gives necessary nalized intersections often focus on limited objectives such as preliminaries. Section presents the model for signalized maximizing throughput [1] or maintaining stability of network networks, and Section establishes the problem formulation. queues [2], [3]; see [4] for a review of the literature. However, Section identiﬁes componentwise monotonicity properties trafﬁc networks are a natural domain for a much richer class of the trafﬁc networks, and Section presents scalable algo- of control objectives that are expressible using linear temporal rithms that rely on these properties to construct a ﬁnite state logic (LTL) [5], [6]. LTL formulae allow control objectives representation of the trafﬁc network. Section describes the such as “actuate trafﬁc ﬂows such that throughput is always controller synthesis approach, and discusses the computation greater than C ” where C is a threshold throughput, or such 1 1 requirements of our method. We present a case study in that “trafﬁc link queues are always less than C ” where C 2 2 Section and conclude our work in Section . is a threshold queue length. LTL formulae also allow more complex objectives such as “inﬁnitely often, the queue length II. PRELIMINARIES on road (cid:96) should reach 0,” “anytime link (cid:96) becomes congested, it eventually becomes uncongested,” or any combination of The set I ⊆ (cid:81)Rn is a box if it is the cartesian product of these conditions. As these examples suggest, many objectives intervals, or equivalently, I is a box if there exists x, y ∈ Rn that are difﬁcult or impossible to address using standard such that I = n {z ∈ R | x ≺1 z ≺2 y } where ≺1 ≺ ∈ { ≤} i=1 i i i i i control theoretic techniques are easily expressed in LTL. , 2 <, and x , y denote the ith coordinate of x and y, i i ≺i (cid:44) {≺ } ≺ (cid:44) {≺ } In this paper, we propose a technique for synthesizing a respectively. Deﬁning 1 1 n and 2 2 n , we I { ∈ R | ≺ i i≺=1 } i i=1 signal control policy for a trafﬁc network such that the network may write = z n x 1 z 2 y . The vector x is the I satisﬁes a given control objective expressed using LTL. The lower corner of , and likewise y is the upper corner. ≤ ≥ synthesized policy is a ﬁnite-memory, state feedback controller When applied to vectors, <, , >, and are interpreted that is provably correct, that is, guaranteed to result in a closed elementwise. The notation 0 denotes the all-zeros vector where loop system that satisﬁes the control objective. the dimension is clear from context. We denote closure of a set Recent approaches to control synthesis from LTL speciﬁca- Y by cl(Y ). Given an index set L and a set of values x ∈ R ∈ L { } ∈ L(cid:96) tions such as [7]–[21] allow automatic development of correct- for (cid:96) , x ∈L denotes the collection of x , (cid:96) , but by-construction control laws; however, despite these promising we also interp(cid:96)ret(cid:96) x = {x } ∈L as an element of(cid:96)R|L|. developments, scalability concerns prevent direct application (cid:96) (cid:96) T → Q A transition system is a tuple = (Q, S, ) where is of existing results to large trafﬁc networks. S →⊂ a ﬁnite set of states, is a ﬁnite set of actions, and Q×S ×Q → (cid:48) is a transition relation. We write q s q instead of This research was supported in part by the NSF under grants CNS- (cid:48) ∈→ (q, s, q ) . Note that all transition systems in this paper are 1446145 and CNS-1446151. Samuel Coogan and Murat Arcak are with the Department of Electrical Engineering and Computer Sciences, University of ﬁnite [6]. The evolution of a transition system is described by { } → ∈ California, Berkeley, scoogan,arcak @eecs.berkeley.edu. Ebru . That is, a transition system is initialized in some state q Aydin Gol is formerly with the Division of Systems Engineering, Boston Q ∈ S 0 , and, given an action s , the next state of the transition University, ebruaydin@gmail.com. Calin Belta is with the Department { (cid:48) | → (cid:48)} of Mechanical Engineering, Boston University, cbelta@bu.edu system is chosen nondeterministically from q q s q .

text: Trafﬁc

label: title

text: Network

text: Control

text: from

text: Temporal

text: Logic

text: Speciﬁcations

text: Samuel

label: author

text: Coogan,

text: Ebru

text: Aydin

text: Gol,

text: Murat

text: Arcak,

text: and

text: Calin

text: Belta

text: Abstract—

text: We

label: abstract

text: propose

text: a

text: framework

text: for

text: generating

text: a

text: signal

text: To

text: overcome

text: these

text: scalability

text: limitations,

text: we

text: identify

text: and

text: control

text: policy

text: for

text: a

text: trafﬁc

text: network

text: of

text: signalized

text: intersections

text: to

text: exploit

text: componentwise

text: monotonicity

text: properties

text: inherent

text: accomplish

text: control

text: objectives

text: expressible

text: using

text: linear

text: temporal

text: in

text: ﬂow

text: networks

text: such

text: as

text: trafﬁc

text: networks.

text: These

text: properties

text: al-

text: logic.

text: By

text: applying

text: techniques

text: from

text: model

text: checking

text: and

text: formal

text: low

text: efﬁcient

text: computation

text: of

text: bounds

text: on

text: the

text: one-step

text: reachable

text: methods,

text: we

text: obtain

text: a

text: correct-by-construction

text: controller

text: that

text: is

text: guaranteed

text: to

text: satisfy

text: complex

text: speciﬁcations.

text: To

text: apply

text: these

text: set

text: from

text: a

text: rectangular

text: box

text: of

text: initial

text: conditions,

text: which

text: in

text: turn

text: tools,

text: we

text: identify

text: and

text: exploit

text: structural

text: properties

text: particular

text: allows

text: efﬁcient

text: computation

text: of

text: a

text: ﬁnite

text: state

text: abstraction

text: of

text: the

text: to

text: trafﬁc

text: networks

text: that

text: allow

text: for

text: efﬁcient

text: computation

text: of

text: a

text: dynamics,

text: thereby

text: mitigating

text: a

text: crucial

text: bottleneck

text: in

text: the

text: control

text: ﬁnite

text: state

text: abstraction.

text: In

text: particular,

text: trafﬁc

text: networks

text: exhibit

text: synthesis

text: process.

text: A

text: related

text: approach

text: to

text: abstractions

text: of

text: mono-

text: a

text: componentwise

text: monotonicity

text: property

text: which

text: allows

text: reach

text: set

text: tone

text: systems

text: is

text: suggested

text: in

text: however

text: the

text: componentwise

text: computations

text: that

text: scale

text: linearly

text: with

text: the

text: dimension

text: of

text: the

text: continuous

text: state

text: space.

text: monotonicity

text: properties

text: exploited

text: in

text: this

text: work

text: are

text: much

text: more

text: general

text: and

text: encompass

text: monotone

text: systems

text: as

text: a

text: special

text: case.

text: The

text: present

text: paper

text: builds

text: on

text: our

text: preliminary

text: work

text: in

text: by

text: I.

text: INTRODUCTION

text: deﬁning

text: componentwise

text: monotonicity

text: and

text: identifying

text: it

text: as

text: the

text: enabling

text: property

text: for

text: efﬁcient

text: abstraction.

text: State-of-the-art

text: approaches

text: to

text: coordinated

text: control

text: of

text: sig-

text: This

text: paper

text: is

text: organized

text: as

text: follows:

text: Section

text: gives

text: necessary

text: nalized

text: intersections

text: often

text: focus

text: on

text: limited

text: objectives

text: such

text: as

text: preliminaries.

text: Section

text: presents

text: the

text: model

text: for

text: signalized

text: maximizing

text: throughput

text: or

text: maintaining

text: stability

text: of

text: network

text: networks,

text: and

text: Section

text: establishes

text: the

text: problem

text: formulation.

text: queues

text: see

text: for

text: a

text: review

text: of

text: the

text: literature.

text: However,

text: Section

text: identiﬁes

text: componentwise

text: monotonicity

text: properties

text: trafﬁc

text: networks

text: are

text: a

text: natural

text: domain

text: for

text: a

text: much

text: richer

text: class

text: of

text: the

text: trafﬁc

text: networks,

text: and

text: Section

text: presents

text: scalable

text: algo-

text: of

text: control

text: objectives

text: that

text: are

text: expressible

text: using

text: linear

text: temporal

text: rithms

text: that

text: rely

text: on

text: these

text: properties

text: to

text: construct

text: a

text: ﬁnite

text: state

text: logic

text: (LTL)

text: LTL

text: formulae

text: allow

text: control

text: objectives

text: representation

text: of

text: the

text: trafﬁc

text: network.

text: Section

text: describes

text: the

text: such

text: as

text: “actuate

text: trafﬁc

text: ﬂows

text: such

text: that

text: throughput

text: is

text: always

text: controller

text: synthesis

text: approach,

text: and

text: discusses

text: the

text: computation

text: greater

text: than

text: C

text: where

text: C

text: is

text: a

text: threshold

text: throughput,

text: or

text: such

text: requirements

text: of

text: our

text: method.

text: We

text: present

text: a

text: case

text: study

text: in

text: that

text: “trafﬁc

text: link

text: queues

text: are

text: always

text: less

text: than

text: C

text: where

text: C

text: Section

text: and

text: conclude

text: our

text: work

text: in

text: Section

text: is

text: a

text: threshold

text: queue

text: length.

text: LTL

text: formulae

text: also

text: allow

text: more

text: complex

text: objectives

text: such

text: as

text: “inﬁnitely

text: often,

text: the

text: queue

text: length

text: II.

text: PRELIMINARIES

text: on

text: road

text: should

text: reach

text: “anytime

text: link

text: becomes

text: congested,

text: it

text: eventually

text: becomes

text: uncongested,”

text: or

text: any

text: combination

text: of

text: The

text: set

text: I

text: is

text: a

text: box

text: if

text: it

text: is

text: the

text: cartesian

text: product

text: of

text: these

text: conditions.

text: As

text: these

text: examples

text: suggest,

text: many

text: objectives

text: intervals,

text: or

text: equivalently,

text: I

text: is

text: a

text: box

text: if

text: there

text: exists

text: x,

text: y

text: Rn

text: that

text: are

text: difﬁcult

text: or

text: impossible

text: to

text: address

text: using

text: standard

text: such

text: that

text: I

text: n

text: {z

text: R

text: x

text: ≺1

text: z

text: ≺2

text: y

text: where

text: ≺1

text: i

text: i

text: i

text: i

text: i

text: control

text: theoretic

text: techniques

text: are

text: easily

text: expressed

text: in

text: LTL.

text: and

text: x

text: y

text: denote

text: the

text: ith

text: coordinate

text: of

text: x

text: and

text: y,

text: i

text: i

text: ≺i

text: In

text: this

text: paper,

text: we

text: propose

text: a

text: technique

text: for

text: synthesizing

text: a

text: respectively.

text: Deﬁning

text: n

text: and

text: n

text: we

text: I

text: R

text: i

text: i

text: signal

text: control

text: policy

text: for

text: a

text: trafﬁc

text: network

text: such

text: that

text: the

text: network

text: may

text: write

text: z

text: n

text: x

text: z

text: y

text: The

text: vector

text: x

text: is

text: the

text: I

text: satisﬁes

text: a

text: given

text: control

text: objective

text: expressed

text: using

text: LTL.

text: The

text: lower

text: corner

text: of

text: and

text: likewise

text: y

text: is

text: the

text: upper

text: corner.

text: synthesized

text: policy

text: is

text: a

text: ﬁnite-memory,

text: state

text: feedback

text: controller

text: When

text: applied

text: to

text: vectors,

text: and

text: are

text: interpreted

text: that

text: is

text: provably

text: correct,

text: that

text: is,

text: guaranteed

text: to

text: result

text: in

text: a

text: closed

text: elementwise.

text: The

text: notation

text: denotes

text: the

text: all-zeros

text: vector

text: where

text: loop

text: system

text: that

text: satisﬁes

text: the

text: control

text: objective.

text: the

text: dimension

text: is

text: clear

text: from

text: context.

text: We

text: denote

text: closure

text: of

text: a

text: set

text: Recent

text: approaches

text: to

text: control

text: synthesis

text: from

text: LTL

text: speciﬁca-

text: Y

text: by

text: cl(Y

text: Given

text: an

text: index

text: set

text: L

text: and

text: a

text: set

text: of

text: values

text: x

text: R

text: L

text: tions

text: such

text: as

text: allow

text: automatic

text: development

text: of

text: correct-

text: for

text: x

text: ∈L

text: denotes

text: the

text: collection

text: of

text: x

text: but

text: by-construction

text: control

text: laws;

text: however,

text: despite

text: these

text: promising

text: we

text: also

text: x

text: {x

text: ∈L

text: as

text: an

text: element

text: developments,

text: scalability

text: concerns

text: prevent

text: direct

text: application

text: T

text: Q

text: A

text: transition

text: system

text: is

text: a

text: tuple

text: (Q,

text: S,

text: where

text: is

text: of

text: existing

text: results

text: to

text: large

text: trafﬁc

text: networks.

text: S

text: a

text: ﬁnite

text: set

text: of

text: states,

text: is

text: a

text: ﬁnite

text: set

text: of

text: actions,

text: and

text: Q×S

text: ×Q

text: is

text: a

text: transition

text: relation.

text: We

text: write

text: q

text: s

text: q

text: instead

text: of

text: This

text: research

text: was

text: supported

text: in

text: part

text: by

text: the

text: NSF

text: under

text: grants

text: CNS-

text: (q,

text: s,

text: q

text: Note

text: that

text: all

text: transition

text: systems

text: in

text: this

text: paper

text: are

text: and

text: Samuel

text: Coogan

text: and

text: Murat

text: Arcak

text: are

text: with

text: the

text: Department

text: of

text: Electrical

text: Engineering

text: and

text: Computer

text: Sciences,

text: University

text: of

text: ﬁnite

text: The

text: evolution

text: of

text: a

text: transition

text: system

text: is

text: described

text: by

text: California,

text: Berkeley,

text: scoogan,arcak

text: @eecs.berkeley.edu.

text: Ebru

text: That

text: is,

text: a

text: transition

text: system

text: is

text: initialized

text: in

text: some

text: state

text: q

text: Aydin

text: Gol

text: is

text: formerly

text: with

text: the

text: Division

text: of

text: Systems

text: Engineering,

text: Boston

text: Q

text: S

text: and,

text: given

text: an

text: action

text: s

text: the

text: next

text: state

text: of

text: the

text: transition

text: University,

text: ebruaydin@gmail.com.

text: Calin

text: Belta

text: is

text: with

text: the

text: Department

text: of

text: Mechanical

text: Engineering,

text: Boston

text: University,

text: cbelta@bu.edu

text: system

text: is

text: chosen

text: nondeterministically

text: from

text: q

text: q

text: s

text: q


text: 2 ∈ S ⊆ L so that each s , s denotes a set of links in the ∈ 2 3 6 7 nSetwork that may be actuated simultaneously{. W}e identify s 1 (cid:96) 10 with its constituent phases so that s = s ∈V, and we S v v interpret as the set of allowed inputs to the trafﬁc network. 4 5 8 9 When a link is actuated, a maximum of c vehicles are L (cid:96) allowed to ﬂow from link (cid:96) to links out per time step where η((cid:96)) Fig. 1. A typical trafﬁc network with 11 links and 7 signalized intersections. c is the known saturation ﬂow for link (cid:96), [4]. The turn ratio In the ﬁgure, Ldown = {(cid:96),7,8,10}, Lup = {1,2,5}, and Ladj = {3,4}. At β(cid:96) denotes the fraction of vehicles exiting link (cid:96) that are each time step, (cid:96)a signal actuates a subs(cid:96)et of upstream links. (cid:96) (cid:96)k (cid:54) routed to link k, [2]. The(cid:88)n β(cid:96)k = 0 only if η((cid:96)) = τ(k), and III. SIGNALIZED NETWORK TRAFFIC MODEL ≤ β 1. (6) L (cid:96)k A signalized trafﬁc network consists of a set of links and k∈Lout V ∈ L ∈ V η((cid:96)) a set of signalized intersections. For (cid:96) , let η((cid:96)) ∈ denote the downstream intersection of link (cid:96) and let τ((cid:96)) Strict inequality in (6) implies that a fraction of vehicles on V ∪∅ de∅note the upstream intersection of link (cid:96). A link (cid:96) with link (cid:96) are routed off the network via unmodeled roads that exit τ((cid:96)) = serves as an entry-point into the network, and we the network. Trafﬁc ﬂow can occur only if there is available (cid:54) ∈ L aks(cid:54)=sum(cid:96) eisηu(p(cid:96)s)tr=eamτ(o(cid:96)f) lfinokr a(cid:96)lilf(cid:96)η(k) =(iτ.e(.(cid:96),),ndooswenlfs-tlroeoapms)o.fLliinnkk cthaepafrcaitcytiodnowonfsltirnekamk’.sTcoapthacisiteynadv,atihlaebslueptpolylinrakti(cid:96)odαu(cid:96)srkivndgepnhoateses ∈ S − (cid:96) if τ(k) = η((cid:96)), and adjacent to link (cid:96) if τ(k) = τ((cid:96)). Roads s . That is, link (cid:96) may only send αsv(xcap x [t]) ex∈itinVg the trafﬁLc netw{ork| are not mo}deLled expl{icit|ly. For each} vvehiclesτ(tko)link k in time period t under input s(cid:96)vk. Askthe sukpply v , deﬁne in = (cid:96) η((cid:96)) = v , out = (cid:96) τ((cid:96)) = v is only divided among actuated incoming links, it follows that ∈vL v ∈ L and for each (cid:96) , deﬁne for each k (cid:88) L { ∈ L | } up = k η(k) = τ((cid:96)) (1) ∀ ∈ S (cid:54) ∅ Ldow(cid:96)n = {k ∈ L | τ(k) = η((cid:96))} ∪ {(cid:96)} (2) ∈ α(cid:96)skv = 1 sv τ(k), sv = . (7) L(cid:96) { ∈ L | }\{ } (cid:96) sv adj = k τ(k) = τ((cid:96)) (cid:96) (3) (cid:96) Constant turn and supply ratios are a common modeling assumption justiﬁed by empirical observations; see [25] for L so that down includes link (cid:96) and the links downstream of further discussion. L(cid:96) L link (cid:96), and up and adj are the links upstream and adjacent (cid:96) (cid:96) L ∩ L ∅ We are now in a position to deﬁne the dynamics of the link to (cid:96), respectively, see Fig. 1. We have down adj = and L ∩L ∅ (cid:96) L (cid:96)∩L (cid:54) ∅ queues. As we will see subsequently, the ﬂow of vehicles out u(cid:96)p a(cid:96)dj = , but note that it is possible for d(cid:96)own u(cid:96)p = , of link (cid:96) is only a function of the state of links in Ldown, and in particular, if there is a cycle of length two in the network. (cid:96) L L L ∪ L ∪ L the update of link (cid:96)’s state is only a function of links in loc. Let loc = down up adj be links “local” to link (cid:96). { } { } (cid:96) rte∈pErNeasc(cid:96)eh(cid:44)ntl{iin0ng,k1(cid:96)t,h(cid:96)2e,∈.n.u.m}L(cid:96)bwephroesroesf(cid:96)exsvsceeahpsiicsaletshqeuoecnuaepliancxki(cid:96)ty[(cid:96)t]oaft∈litnimk[0e,(cid:96).xsWc(cid:96)taeppe] xl(cid:96)oLc[ett] =x[{t]xk=[t]}kx∈(cid:96)L[l(cid:96)toc]. T(cid:96)∈hLe,ouxtd(cid:96)ﬂoowwn[to]f l=ink (cid:96)x∈k[tL] iks∈aLsd(cid:96)fowonl,loawnsd: (cid:96)  (cid:26) (cid:110) (cid:111)(cid:27) amlloodwelxo(cid:96)ftotrabfeﬁca cﬂoonwtineuvooulvsinqguainntistylo,tttheudstaimdoepatisngina[ﬂ1]u–id[3-l]i.ke f(cid:96)out(xd(cid:96)own, sη((cid:96))) = byMmoavsesm-ceonntseorfvavtieohnicllaews samanodngthleinsktatqeueoufestheis sgigonvaelrinzeedd min x(cid:96)[t], c(cid:96), minβk(cid:96)ks(cid:54)=.t.0 αβs(cid:96)kη(cid:96)(k(cid:96)) (xckap − xk∈[t]) (8) intersections. A link is said to be actuated if outgoing ﬂow if (cid:96) s η((cid:96)) from link (cid:96) is allowed as determined by the state of the trafﬁc 0 else. signal at intersection η((cid:96)). At each intersection v, The interpretation of (8) is that the ﬂow of vehicles exiting Sv ⊆ 2Livn (4) a link (cid:96) when actuated is the minimum of the link’s queue length, its saturation ﬂow, and the downstream supply of ca- pacity, weighted appropriately by turn and supply ratios. This ∈ denotes the set of available signal phases, that is, each s modeling approach is based on the cell transmission model S ⊆ L v , s in denotes a set of incoming links at intersection v of trafﬁc ﬂow [26] which restricts ﬂow if there is inadequate v v v that may be actuated simultaneously. We deﬁne capacity downstream. A consequence of (8) is that inadequate capacity on one downstream link at an intersection causes S {∪ | ∈ S ∀ ∈ V} ⊆ L congestion that blocks incoming ﬂow to other downstream = ∈Vs s v 2 (5) v v v v links. This phenomenon, sometimes called the ﬁrst-in-ﬁrst- out property, has been widely studied in the transportation ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine## ##LTLine##

text: S

text: L

text: so

text: that

text: each

text: s

text: s

text: denotes

text: a

text: set

text: of

text: links

text: in

text: the

text: nSetwork

text: that

text: may

text: be

text: actuated

text: simultaneously{.

text: W}e

text: identify

text: s

text: with

text: its

text: constituent

text: phases

text: so

text: that

text: s

text: s

text: ∈V,

text: and

text: we

text: S

text: v

text: v

text: interpret

text: as

text: the

text: set

text: of

text: allowed

text: inputs

text: to

text: the

text: trafﬁc

text: network.

text: When

text: a

text: link

text: is

text: actuated,

text: a

text: maximum

text: of

text: c

text: vehicles

text: are

text: L

text: allowed

text: to

text: ﬂow

text: from

text: link

text: to

text: links

text: out

text: per

text: time

text: step

text: where

text: Fig.

text: A

label: caption

text: typical

text: trafﬁc

text: network

text: with

text: links

text: and

text: signalized

text: intersections.

text: c

text: is

text: the

text: known

text: saturation

text: ﬂow

text: for

text: link

text: The

text: turn

text: ratio

text: In

text: the

text: ﬁgure,

text: Ldown

text: Lup

text: and

text: Ladj

text: At

text: denotes

text: the

text: fraction

text: of

text: vehicles

text: exiting

text: link

text: that

text: are

text: each

text: time

text: step,

text: signal

text: actuates

text: a

text: of

text: upstream

text: links.

text: routed

text: to

text: link

text: k,

text: only

text: if

text: τ(k),

text: and

text: III.

text: SIGNALIZED

text: NETWORK

text: TRAFFIC

text: MODEL

text: β

text: L

text: A

text: signalized

text: trafﬁc

text: network

text: consists

text: of

text: a

text: set

text: of

text: links

text: and

text: k∈Lout

text: V

text: L

text: V

text: a

text: set

text: of

text: signalized

text: intersections.

text: For

text: let

text: denote

text: the

text: downstream

text: intersection

text: of

text: link

text: and

text: let

text: Strict

text: inequality

text: in

text: implies

text: that

text: a

text: fraction

text: of

text: vehicles

text: on

text: V

text: de∅note

text: the

text: upstream

text: intersection

text: of

text: link

text: A

text: link

text: with

text: link

text: are

text: routed

text: off

text: the

text: network

text: via

text: unmodeled

text: roads

text: that

text: exit

text: serves

text: as

text: an

text: entry-point

text: into

text: the

text: network,

text: and

text: we

text: the

text: network.

text: Trafﬁc

text: ﬂow

text: can

text: occur

text: only

text: if

text: there

text: is

text: available

text: L

text: lfinokr

text: S

text: if

text: τ(k)

text: and

text: adjacent

text: to

text: link

text: if

text: τ(k)

text: Roads

text: s

text: That

text: is,

text: link

text: may

text: only

text: send

text: αsv(xcap

text: x

text: [t])

text: ex∈itinVg

text: the

text: trafﬁLc

text: netw{ork|

text: are

text: not

text: mo}deLled

text: expl{icit|ly.

text: For

text: each}

text: vvehiclesτ(tko)link

text: k

text: in

text: time

text: period

text: t

text: under

text: input

text: Askthe

text: sukpply

text: v

text: deﬁne

text: in

text: v

text: out

text: v

text: is

text: only

text: divided

text: among

text: actuated

text: incoming

text: links,

text: it

text: follows

text: that

text: ∈vL

text: v

text: L

text: and

text: for

text: each

text: deﬁne

text: for

text: each

text: k

text: L

text: L

text: up

text: k

text: η(k)

text: S

text: {k

text: L

text: τ(k)

text: sv

text: τ(k),

text: sv

text: L

text: sv

text: adj

text: k

text: τ(k)

text: Constant

text: turn

text: and

text: supply

text: ratios

text: are

text: a

text: common

text: modeling

text: assumption

text: justiﬁed

text: by

text: empirical

text: observations;

text: see

text: for

text: L

text: so

text: that

text: down

text: includes

text: link

text: and

text: the

text: links

text: downstream

text: of

text: further

text: discussion.

text: L

text: link

text: and

text: up

text: and

text: adj

text: are

text: the

text: links

text: upstream

text: and

text: adjacent

text: L

text: L

text: We

text: are

text: now

text: in

text: a

text: position

text: to

text: deﬁne

text: the

text: dynamics

text: of

text: the

text: link

text: to

text: respectively,

text: see

text: Fig.

text: We

text: have

text: down

text: adj

text: and

text: L

text: ∩L

text: L

text: queues.

text: As

text: we

text: will

text: see

text: subsequently,

text: the

text: ﬂow

text: of

text: vehicles

text: out

text: but

text: note

text: that

text: it

text: is

text: possible

text: for

text: of

text: link

text: is

text: only

text: a

text: function

text: of

text: the

text: state

text: of

text: links

text: in

text: Ldown,

text: and

text: in

text: particular,

text: if

text: there

text: is

text: a

text: cycle

text: of

text: length

text: two

text: in

text: the

text: network.

text: L

text: L

text: L

text: L

text: L

text: the

text: update

text: of

text: link

text: state

text: is

text: only

text: a

text: function

text: of

text: links

text: in

text: loc.

text: Let

text: loc

text: down

text: up

text: adj

text: be

text: links

text: “local”

text: to

text: link

text: l=ink

text: samanodngthleinsktatqeueoufestheis

text: sgigonvaelrinzeedd

text: min

text: (xckap

text: xk∈[t])

text: intersections.

text: A

text: link

text: is

text: said

text: to

text: be

text: actuated

text: if

text: outgoing

text: ﬂow

text: if

text: s

text: from

text: link

text: is

text: allowed

text: as

text: determined

text: by

text: the

text: state

text: of

text: the

text: trafﬁc

text: else.

text: signal

text: at

text: intersection

text: At

text: each

text: intersection

text: v,

text: The

text: interpretation

text: of

text: is

text: that

text: the

text: ﬂow

text: of

text: vehicles

text: exiting

text: Sv

text: a

text: link

text: when

text: actuated

text: is

text: the

text: minimum

text: of

text: the

text: link’s

text: queue

text: length,

text: its

text: saturation

text: ﬂow,

text: and

text: the

text: downstream

text: supply

text: of

text: ca-

text: pacity,

text: weighted

text: appropriately

text: by

text: turn

text: and

text: supply

text: ratios.

text: This

text: denotes

text: the

text: set

text: of

text: available

text: signal

text: phases,

text: that

text: is,

text: each

text: s

text: modeling

text: approach

text: is

text: based

text: on

text: the

text: cell

text: transmission

text: model

text: S

text: L

text: v

text: s

text: in

text: denotes

text: a

text: set

text: of

text: incoming

text: links

text: at

text: intersection

text: v

text: of

text: trafﬁc

text: ﬂow

text: which

text: restricts

text: ﬂow

text: if

text: there

text: is

text: inadequate

text: v

text: v

text: v

text: that

text: may

text: be

text: actuated

text: simultaneously.

text: We

text: deﬁne

text: capacity

text: downstream.

text: A

text: consequence

text: of

text: is

text: that

text: inadequate

text: capacity

text: on

text: one

text: downstream

text: link

text: at

text: an

text: intersection

text: causes

text: S

text: S

text: V}

text: L

text: congestion

text: that

text: blocks

text: incoming

text: ﬂow

text: to

text: other

text: downstream

text: ∈Vs

text: s

text: v

text: v

text: v

text: v

text: v

text: links.

text: This

text: phenomenon,

text: sometimes

text: called

text: the

text: ﬁrst-in-ﬁrst-

text: out

text: property,

text: has

text: been

text: widely

text: studied

text: in

text: the

text: transportation

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##

text: ##LTLine##