278
Should We Believe in Numbers Computed by Loopy Belief Propagation? Pascal O. Vontobel Information Theory Research Group Hewlett-Packard Laboratories Palo Alto CIOG Workshop, Princeton University, November 3, 2011 c 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice

Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Should We Believe

in Numbers Computed

by Loopy Belief Propagation?Pascal O. VontobelInformation Theory Research GroupHewlett-Packard Laboratories Palo Alto

CIOG Workshop, Princeton University, November 3, 2011

c© 2011 Hewlett-Packard Development Company, L.P.

The information contained herein is subject to change without notice

Page 2: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Page 3: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Question: in how many ways can we place 8 non-attacking rooks

on a chess board?

Page 4: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Row condition: exactly one rook per row.

Page 5: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Column condition: exactly one rook per column.

Page 6: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Question: in how many ways can we place 8 non-attacking rooks

on a chess board?

Page 7: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Page 8: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Page 9: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Question: in how many ways can we place 8 non-attacking rooks

on this modified chess board?

Page 10: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Page 11: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Page 12: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Chess Board

Question: in how many ways can we place 8 non-attacking rooks

on this modified chess board?

Page 13: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

Page 14: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Page 15: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Question: how many Sudoku arrays are there?

(More technically: how many valid configurations are there?)

Page 16: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Row condition: numbers 1, . . . , 9 appear exactly once.

Page 17: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Column condition: numbers 1, . . . , 9 appear exactly once.

Page 18: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Sub-block condition: numbers 1, . . . , 9 appear exactly once.

Page 19: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sudoku

1

9 5 2

3 7 4

6 8 1

8 1 6

2 3 9

5 4 7

7 9 8

4 3

5

6

2

4 6 3

1 2 8

7 5 9

9 3 7

5 8 4

1 2

2 4 1

8 7 5

3 9 6

6

7

6

3

4

1

9

5

2

8

1

5

4

2

6

8

3

9

7

8

9

2

5

7

3

1

4

6

Question: how many Sudoku arrays are there?

(More technically: how many valid configurations are there?)

Page 20: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Other Sudoku Setups

Page 21: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Other Sudoku Setups

Page 22: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

1D constraints in communications

Page 23: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

RLL Constraints

0 0 0 0 0 0 0 01 1 1 1 1

A (d, k) RLL constraint imposes:

At least d zero symbols between two ones.

At most k zero symbols between two ones.

Page 24: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

RLL Constraints

0 0 0 0 0 0 0 01 1 1 1 1

A (d, k) RLL constraint imposes:

At least d zero symbols between two ones.

At most k zero symbols between two ones.

Question: how many sequences of length T fulfill these constraints?

Page 25: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

RLL Constraints

0 0 0 0 0 0 0 01 1 1 1 1

A (d, k) RLL constraint imposes:

At least d zero symbols between two ones.

At most k zero symbols between two ones.

Question: how many sequences of length T fulfill these constraints?

Answer: typically, the answer to such questions looks like

N(T ) = exp(

C · T + o(T ))

.

Page 26: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

RLL Constraints

0 0 0 0 0 0 0 01 1 1 1 1

A (d, k) RLL constraint imposes:

At least d zero symbols between two ones.

At most k zero symbols between two ones.

Question: how many sequences of length T fulfill these constraints?

Answer: typically, the answer to such questions looks like

N(T ) = exp(

C · T + o(T ))

.

C: “capacity” or “entropy.”

Page 27: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

RLL Constraints

0 1 0 1 0 1 11 0 0 0 0 0 0 0 1

A (d, k) RLL constraint imposes:

At least d zero symbols between two ones.

At most k zero symbols between two ones.

Question: how many sequences of length T fulfill these constraints?

Answer: typically, the answer to such questions looks like

N(T ) = exp(

C · T + o(T ))

.

C: “capacity” or “entropy.”

Page 28: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

2D constraints in communications

Page 29: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Two-Dimensional RLL Constraints

Page 30: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Two-Dimensional RLL Constraints

A (d1, k; d2, k2) RLL constraint imposes:

. . .

. . .

Page 31: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Two-Dimensional RLL Constraints

A (d1, k; d2, k2) RLL constraint imposes:

. . .

. . .

Question: How many arrays of size m× n

fulfill these constraints?

Page 32: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Two-Dimensional RLL Constraints

A (d1, k; d2, k2) RLL constraint imposes:

. . .

. . .

Question: How many arrays of size m× n

fulfill these constraints?

Answer: Typically, the answer to such

questions looks like

N(m,n) = exp(

C ·mn+ o(mn))

.

Page 33: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Two-Dimensional RLL Constraints

A (d1, k; d2, k2) RLL constraint imposes:

. . .

. . .

Question: How many arrays of size m× n

fulfill these constraints?

Answer: Typically, the answer to such

questions looks like

N(m,n) = exp(

C ·mn+ o(mn))

.

C: “capacity” or “entropy.”

Page 34: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a graphical model

Page 35: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

Question: in how many ways can we place 8 non-attacking rooks

on a chess board?

Page 36: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

Page 37: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

Page 38: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A8,8A8,1

A3,1

A2,1

A1,1 A1,2 A1,3 A1,8

Page 39: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

Page 40: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

grow,8

grow,8(a8,1, . . . , a8,8) ,

1 exactly one rook

0 otherwise

Page 41: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

gcol,8

gcol,8(a1,8, . . . , a8,8) ,

1 exactly one rook

0 otherwise

Page 42: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

Page 43: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

Page 44: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

Page 45: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...

Page 46: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...

gcol,8

gcol,2

gcol,1

...

Page 47: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Page 48: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Page 49: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Page 50: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Page 51: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Page 52: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Total sum:

Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Page 53: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Total sum (partition function):

Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Page 54: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Total sum (partition function):

Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Use of loopy belief propagation

for approximating Z?

Page 55: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Total sum (partition function):

Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Use of loopy belief propagation

for approximating Z?

Page 56: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Towards a Graphical Model

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Total sum (partition function):

Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Use of loopy belief propagation

for approximating Z?

Page 57: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Some considerations

on counting algorithms

Page 58: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 59: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 60: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 61: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 62: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 63: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 64: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 65: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 66: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 67: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Coloring the Surfacesof a Closed Strip

Page 68: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011
Page 69: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Page 70: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Page 71: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

4

Page 72: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

4 2

Page 73: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

44+22 = 3 2

Page 74: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

· · ·�

Page 75: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

· · ·�

4 2 4 2

Page 76: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The permanent of a matrix

Page 77: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

Consider the matrix θ =

θ11 θ12 θ13

θ21 θ22 θ23

θ31 θ32 θ33

.

Page 78: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

Consider the matrix θ =

θ11 θ12 θ13

θ21 θ22 θ23

θ31 θ32 θ33

.

The determinant of θ:

det(θ) = +θ11θ22θ33 + θ12θ23θ31 + θ13θ21θ32

− θ11θ23θ32 − θ12θ21θ33 − θ13θ22θ31.

Page 79: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

Consider the matrix θ =

θ11 θ12 θ13

θ21 θ22 θ23

θ31 θ32 θ33

.

The determinant of θ:

det(θ) = +θ11θ22θ33 + θ12θ23θ31 + θ13θ21θ32

− θ11θ23θ32 − θ12θ21θ33 − θ13θ22θ31.

The permanent of θ:

perm(θ) = + θ11θ22θ33 + θ12θ23θ31 + θ13θ21θ32

+ θ11θ23θ32 + θ12θ21θ33 + θ13θ22θ31.

Page 80: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

The determinant of an n× n-matrix θ

det(θ) =∑

σ

sgn(σ)∏

i∈[n]

θi,σ(i).

where the sum is over all n! permutations of the set [n] , {1, . . . , n}.

Page 81: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

The determinant of an n× n-matrix θ

det(θ) =∑

σ

sgn(σ)∏

i∈[n]

θi,σ(i).

where the sum is over all n! permutations of the set [n] , {1, . . . , n}.

The permanent of an n× n-matrix θ:

perm(θ) =∑

σ

i∈[n]

θi,σ(i).

Page 82: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Determinant vs. Permanentof a Matrix

The determinant of an n× n-matrix θ

det(θ) =∑

σ

sgn(σ)∏

i∈[n]

θi,σ(i).

where the sum is over all n! permutations of the set [n] , {1, . . . , n}.

The permanent of an n× n-matrix θ:

perm(θ) =∑

σ

i∈[n]

θi,σ(i).

The permanent turns up in a variety of context, especially in

combinatorial problems, statistical physics (partition function), . . .

Page 83: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Exactly Computing the Permanent

Page 84: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Exactly Computing the Permanent

Brute-force computation:

O(n · n!) = O(

n3/2 · (n/e)n)

arithmetic operations.

Page 85: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Exactly Computing the Permanent

Brute-force computation:

O(n · n!) = O(

n3/2 · (n/e)n)

arithmetic operations.

Ryser’s algorithm:

Θ(n · 2n) arithmetic operations.

Page 86: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Exactly Computing the Permanent

Brute-force computation:

O(n · n!) = O(

n3/2 · (n/e)n)

arithmetic operations.

Ryser’s algorithm:

Θ(n · 2n) arithmetic operations.

Complexity class [Valiant, 1979]:

#P (“sharp P” or “number P”),

where #P is the set of the counting problems associated with the

decision problems in the set NP. (Note that even the computation

of the permanent of zero-one matrices is #P-complete.)

Page 87: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

More efficient algorithms are possible if one does not want to compute

the permanent of a matrix exactly.

Page 88: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

More efficient algorithms are possible if one does not want to compute

the permanent of a matrix exactly.

For a matrix that contains positive and negative entries:

→ “constructive and destructive interference of terms

in the summation.”

Page 89: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

More efficient algorithms are possible if one does not want to compute

the permanent of a matrix exactly.

For a matrix that contains positive and negative entries:

→ “constructive and destructive interference of terms

in the summation.”

For a matrix that contains only non-negative entries:

→ “constructive interference of terms in the summation.”

Page 90: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

FROM NOW ON: we focus on the case where all entries of the

matrix are non-negative, i.e.

θij ≥ 0 ∀i, j.

Page 91: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

FROM NOW ON: we focus on the case where all entries of the

matrix are non-negative, i.e.

θij ≥ 0 ∀i, j.

Markov chain Monte Carlo based methods: [Broder, 1986], . . .

Page 92: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

FROM NOW ON: we focus on the case where all entries of the

matrix are non-negative, i.e.

θij ≥ 0 ∀i, j.

Markov chain Monte Carlo based methods: [Broder, 1986], . . .

Godsil-Gutman formula based methods: [Karmarkar et al., 1993],

[Barvinok, 1997ff.], [Chien, Rasmussen, Sinclair, 2004], . . .

Page 93: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

FROM NOW ON: we focus on the case where all entries of the

matrix are non-negative, i.e.

θij ≥ 0 ∀i, j.

Markov chain Monte Carlo based methods: [Broder, 1986], . . .

Godsil-Gutman formula based methods: [Karmarkar et al., 1993],

[Barvinok, 1997ff.], [Chien, Rasmussen, Sinclair, 2004], . . .

Fully polynomial-time randomized approximation schemes

(FPRAS): [Jerrum, Sinclair, Vigoda, 2004], . . .

Page 94: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent

FROM NOW ON: we focus on the case where all entries of the

matrix are non-negative, i.e.

θij ≥ 0 ∀i, j.

Markov chain Monte Carlo based methods: [Broder, 1986], . . .

Godsil-Gutman formula based methods: [Karmarkar et al., 1993],

[Barvinok, 1997ff.], [Chien, Rasmussen, Sinclair, 2004], . . .

Fully polynomial-time randomized approximation schemes

(FPRAS): [Jerrum, Sinclair, Vigoda, 2004], . . .

Bethe-approximation-based / sum-product-algorithm-based

methods: [Chertkov et al., 2008], [Huang and Jebara, 2009], . . .

Page 95: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent of a Matrix

From [Huang/Jebara, 2009].

Page 96: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Estimating the Permanent of a Matrix

From [Huang/Jebara, 2009].

Page 97: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Valid Rook Configurationsand Permanents

Number of valid rook configurations

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 98: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Valid Rook Configurationsand Permanents

Number of valid rook configurations

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 99: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Valid Rook Configurationsand Permanents

Number of valid rook configurations

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 0 0 1 1 1

1 1 1 0 0 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 100: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Valid Rook Configurationsand Permanents

Number of valid rook configurations

= perm

1 0 1 1 0 1 1 1

1 1 1 0 0 0 1 0

1 1 0 1 1 0 1 1

0 0 1 1 0 1 0 1

0 1 0 1 1 1 0 1

1 1 1 0 1 0 0 1

1 1 1 1 1 0 1 1

1 1 0 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 101: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and PermanentsNumber of valid perfect matchings

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 102: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and PermanentsNumber of valid perfect matchings

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 103: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and PermanentsNumber of valid perfect matchings

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 0 0 1 1 1

1 1 1 0 0 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 104: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and PermanentsNumber of valid perfect matchings

= perm

1 0 1 1 0 1 1 1

1 1 1 0 0 0 1 0

1 1 0 1 1 0 1 1

0 0 1 1 0 1 0 1

0 1 0 1 1 1 0 1

1 1 1 0 1 0 0 1

1 1 1 1 1 0 1 1

1 1 0 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 105: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and PermanentsNumber of valid perfect matchings

= perm

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

=∑

σ

i∈[8]

θi,σ(i)

Page 106: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and Permanents

θi,ji jTotal sum of weighted perf. matchings

= perm

θ11 θ12 θ13 θ14 θ15 θ16 θ17 θ18

θ21 θ22 θ23 θ24 θ25 θ26 θ27 θ28

θ31 θ32 θ33 θ34 θ35 θ36 θ37 θ38

θ41 θ42 θ43 θ44 θ45 θ46 θ47 θ48

θ51 θ52 θ53 θ54 θ55 θ56 θ57 θ58

θ61 θ62 θ63 θ64 θ65 θ66 θ67 θ68

θ71 θ72 θ73 θ74 θ75 θ76 θ77 θ78

θ81 θ82 θ83 θ84 θ85 θ86 θ87 θ88

=∑

σ

i∈[8]

θi,σ(i)

Page 107: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Perfect Matchings and Permanents

θi,ji jTotal sum of weighted perf. matchings

= perm

θ11 θ12 θ13 θ14 θ15 θ16 θ17 θ18

θ21 θ22 θ23 θ24 θ25 θ26 θ27 θ28

θ31 θ32 θ33 θ34 θ35 θ36 θ37 θ38

θ41 θ42 θ43 θ44 θ45 θ46 θ47 θ48

θ51 θ52 θ53 θ54 θ55 θ56 θ57 θ58

θ61 θ62 θ63 θ64 θ65 θ66 θ67 θ68

θ71 θ72 θ73 θ74 θ75 θ76 θ77 θ78

θ81 θ82 θ83 θ84 θ85 θ86 θ87 θ88

=∑

σ

i∈[8]

θi,σ(i)

Page 108: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

A1,1

A2,1

A7,1

A8,1

...

A2,2

A1,2

A7,2

A8,2

...

A1,3

A8,8

...

...

...grow,8

grow,2

grow,1

gcol,8

gcol,2

gcol,1

...

...

(function nodes are suitably defined based on θ)

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Permanent:

perm(θ) = Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Page 109: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , ai,8)

Permanent:

perm(θ) = Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Page 110: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Many short cycles.

The vertex degrees are high.

Page 111: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Many short cycles.

The vertex degrees are high.

Both facts might suggest that the

application of the sum-product algo-

rithm to this factor graph is rather

problematic.

Page 112: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Many short cycles.

The vertex degrees are high.

Both facts might suggest that the

application of the sum-product algo-

rithm to this factor graph is rather

problematic.

However, luckily this is not the

case.

Page 113: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Many short cycles.

The vertex degrees are high.

Both facts might suggest that the

application of the sum-product algo-

rithm to this factor graph is rather

problematic.

However, luckily this is not the

case.

For an SPA suitability assessment,

the overall cycle structure and the

types of functions nodes are at least

as important.

Page 114: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor graphs and the

sum-product algorithm

Page 115: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

A factor graph can be

used to represent a

multivariate function:

f(x1, x2, x3)

f

X1 X2

X3

Page 116: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

A factor graph can be

used to represent a

multivariate function:

f(x1, x2, x3)

f

X1 X2

X3

Variable nodes: for each variable we draw

a variable node (empty circles).

Page 117: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

A factor graph can be

used to represent a

multivariate function:

f(x1, x2, x3)

f

X1 X2

X3

Variable nodes: for each variable we draw

a variable node (empty circles).

Function nodes: for each function we draw

a function node (filled squares).

Page 118: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

A factor graph can be

used to represent a

multivariate function:

f(x1, x2, x3)

f

X1 X2

X3

Variable nodes: for each variable we draw

a variable node (empty circles).

Function nodes: for each function we draw

a function node (filled squares).

Edges: there is an edge between a variable

node and a function node if the

corresponding variable is an argument of

the corresponding function.

Page 119: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

A factor graph can be

used to represent a

multivariate function:

f(x1, x2, x3)

f

X1 X2

X3

Variable nodes: for each variable we draw

a variable node (empty circles).

Function nodes: for each function we draw

a function node (filled squares).

Edges: there is an edge between a variable

node and a function node if the

corresponding variable is an argument of

the corresponding function.

Bipartite graph: the resulting graph is a

bipartite graph, i.e. there are only edges

between vertices of different types.

Page 120: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

General references for factor graphs are:

F. R. Kschischang, B. J. Frey and H.-A. Loeliger, “Factor graphs

and the sum-product algorithm,” IEEE Trans. on Inform. Theory,

IT–47, Feb. 2001.

H.-A. Loeliger, “An introduction to factor graphs,” IEEE Signal

Processing Magazine, Jan. 2004.

Page 121: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

We assume that we know more about the internal structure of the

function f(x1, x2, x3), e.g.

f(x1, x2, x3) = fA(x1, x2) · fB(x2, x3).

Page 122: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

We assume that we know more about the internal structure of the

function f(x1, x2, x3), e.g.

f(x1, x2, x3) = fA(x1, x2) · fB(x2, x3).

Then we can take advantage of this fact and the factor graph represents

this structure.X1 X2 X3

fA fB

Page 123: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

We assume that we know more about the internal structure of the

function f(x1, x2, x3), e.g.

f(x1, x2, x3) = fA(x1, x2) · fB(x2, x3).

Then we can take advantage of this fact and the factor graph represents

this structure.X1 X2 X3

fA fB

f(., ., .) is called the global function.

Page 124: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphs

We assume that we know more about the internal structure of the

function f(x1, x2, x3), e.g.

f(x1, x2, x3) = fA(x1, x2) · fB(x2, x3).

Then we can take advantage of this fact and the factor graph represents

this structure.X1 X2 X3

fA fB

f(., ., .) is called the global function.

fA(., .) and fB(., .) are called local functions.

Page 125: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphsf(x1, x2, x3, x4, x5)

= fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

Page 126: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphsf(x1, x2, x3, x4, x5)

= fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

X1 X2 X3 X4 X5

fA fB fC fD fE

Page 127: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphsf(x1, x2, x3, x4, x5)

= fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

X1 X2 X3 X4 X5

fA fB fC fD fE

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 128: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graphsf(x1, x2, x3, x4, x5)

= fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

X1 X2 X3 X4 X5

fA fB fC fD fE

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Note: One and the same function can be represented by graphs with

different structures: some are more pleasing than others.

Page 129: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Factor Graph of an LDPC Code

In the context of channel coding, we usually take a factor graph to represent

the factorization of the joint pmf/pdf of all occuring variables, i.e. uncoded

symbols, coded symbols, and received symbols. Here it is shown when using

a quasi-cyclic repeat-accumulate LDPC code (binary [44, 22, 8] linear code).

BitInfo-BitChannel-BitInfo-/Channel-BitXOR-FunctionChannel-Function

Page 130: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Let us consider again the following factor graph (which is a tree).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

The global function is

f(x1, x2, x3, x4, x5)

= fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

Page 131: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe global function is

f(x1, x2, x3, x4, x5) = fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

Page 132: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe global function is

f(x1, x2, x3, x4, x5) = fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

Very often one wants to calculate marginal functions. E.g.

ηX1(x1) =∑

x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

=∑

x2,x3,x4,x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

Page 133: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe global function is

f(x1, x2, x3, x4, x5) = fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

Very often one wants to calculate marginal functions. E.g.

ηX1(x1) =∑

x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

=∑

x2,x3,x4,x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

ηX3(x3) =∑

x1,x2,x4,x5

f(x1, x2, x3, x4, x5)

=∑

x1,x2,x4,x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5).

etc.

Page 134: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

Page 135: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

︸ ︷︷ ︸

x5

fE(x3, x5) · 1︸︷︷︸

︸ ︷︷ ︸

︸ ︷︷ ︸

︸ ︷︷ ︸

Page 136: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

︸ ︷︷ ︸

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

︸ ︷︷ ︸

︸ ︷︷ ︸

Page 137: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

︸ ︷︷ ︸

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

︸ ︷︷ ︸

Page 138: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

︸ ︷︷ ︸

Page 139: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

︸ ︷︷ ︸

Page 140: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

Page 141: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

Page 142: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

Page 143: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

Page 144: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

Page 145: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

The objects µXi→fj(xi) and µfj→Xi

(xi):

Page 146: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

The objects µXi→fj(xi) and µfj→Xi

(xi):

They are called messages.

Page 147: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

The objects µXi→fj(xi) and µfj→Xi

(xi):

They are called messages.

They can be associated with the edge between the vertex Xi and the vertex fj .

Page 148: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

The objects µXi→fj(xi) and µfj→Xi

(xi):

They are called messages.

They can be associated with the edge between the vertex Xi and the vertex fj .

They are functions of xi, i.e. their domain is the alphabet of Xi.

Page 149: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmηX1

(x1) =∑

x2

x3

x4

x5

fA(x1) · fB(x2) · fC(x1, x2, x3) · fD(x3, x4) · fE(x3, x5)

= fA(x1)︸ ︷︷ ︸

µfA→X1(x1)

x2

x3

fC(x1, x2, x3) fB(x2)︸ ︷︷ ︸

µfB→X2(x2)

︸ ︷︷ ︸

µX2→fC(x2)

x4

fD(x3, x4) · 1︸︷︷︸

µX4→fD(x4)

︸ ︷︷ ︸

µfD→X3(x3)

x5

fE(x3, x5) · 1︸︷︷︸

µX5→fE(x5)

︸ ︷︷ ︸

µfE→X3(x3)

︸ ︷︷ ︸

µfX3→fC(x3)

︸ ︷︷ ︸

µfC→X1(x1)

The objects µXi→fj(xi) and µfj→Xi

(xi):

They are called messages.

They can be associated with the edge between the vertex Xi and the vertex fj .

They are functions of xi, i.e. their domain is the alphabet of Xi.

Note: similar manipulations can be performed for calculating ηX2(x2), ηX3

(x3), ηX4(x4),

ηX5(x5).

Page 150: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 151: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 152: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 153: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 154: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 155: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 156: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 157: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 158: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 159: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX1(x1).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 160: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Messages necessary for calculating ηX3(x3).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 161: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe figure shows the messages that are necessary for calculating ηX1

(x1), ηX2(x2),

ηX3(x3), ηX4

(x4), and ηX5(x5).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 162: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe figure shows the messages that are necessary for calculating ηX1

(x1), ηX2(x2),

ηX3(x3), ηX4

(x4), and ηX5(x5).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Edges: Messages are sent along edges.

Page 163: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe figure shows the messages that are necessary for calculating ηX1

(x1), ηX2(x2),

ηX3(x3), ηX4

(x4), and ηX5(x5).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Edges: Messages are sent along edges.

Processing: Taking products and doing summations is done in the vertices.

Page 164: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product AlgorithmThe figure shows the messages that are necessary for calculating ηX1

(x1), ηX2(x2),

ηX3(x3), ηX4

(x4), and ηX5(x5).

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Edges: Messages are sent along edges.

Processing: Taking products and doing summations is done in the vertices.

Reuse of messages: We see that messages can be “reused” in the sense that

many partial calculations are the same; so it suffices to perform them only

once.

Page 165: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

f1

f2

f3

f4X

µX→f4(x)

µX→f4(x) = µf1→X(x) · µf2→X(x) · µf3→X(x)

Page 166: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

f1

f2

f3

f4X

µX→f4(x)

µX→f4(x) = µf1→X(x) · µf2→X(x) · µf3→X(x)

X1

X3

µf→X4(x4)

f X4

X2

µf→X4(x4) =∑

x1

x2

x3

f(x1, x2, x3, x4) · µX1→f (x1) · µX2→f (x2) · µX3→f (x3)

Page 167: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

f2

X

f1

f3

f4

Computation of marginal at variable node:

ηX(x) = µf1→X(x) · µf2→X(x)

· µf3→X(x) · µf4→X(x)

Page 168: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

f2

X

f1

f3

f4

Computation of marginal at variable node:

ηX(x) = µf1→X(x) · µf2→X(x)

· µf3→X(x) · µf4→X(x)

f

X2

X1

X4

X3

Computation of marginal at function node:

ηf (x1, x2, x3, x4) = f(x1, x2, x3, x4)

· µX1→f (x1) · µX2→f (x2)

· µX3→f (x3) · µX4→f (x4)

Page 169: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Factor graph without loops: in this case it is obvious what

messages have to be calculated when.

⇒ Mode of operation 1

Page 170: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Sum-Product Algorithm

Factor graph without loops: in this case it is obvious what

messages have to be calculated when.

⇒ Mode of operation 1

Factor graph with loops: one has to decide what update schedule

to take.

⇒ Mode of operation 2

Page 171: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Comments on theSum-Product Algorithm

If the factor graph has no loops then it is obvious what messages

have to be calculated when.

If the factor graphs has loops one has to decide what update

schedule to take.

Depending on the underlying semi-ring one gets different versions

of the summary-product algorithm.

For 〈R,+, · 〉 one gets the sum-product algorithm.

(This is the case discussed above.)

For 〈R+,max, · 〉 one gets the max-product algorithm.

For 〈R,min,+〉 one gets the min-sum algorithm.

etc.

Page 172: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition function (total sum)

Page 173: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Page 174: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

ηX1(x1) =∑

x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

ηX2(x2) =∑

x1,x3,x4,x5

f(x1, x2, x3, x4, x5)

......

Page 175: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

ηX1(x1) =∑

x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

ηX2(x2) =∑

x1,x3,x4,x5

f(x1, x2, x3, x4, x5)

......

Define:

ZX1 =∑

x1

ηX1(x1)

ZX2 =∑

x2

ηX2(x2)

......

Page 176: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

ηX1(x1) =∑

x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

ηX2(x2) =∑

x1,x3,x4,x5

f(x1, x2, x3, x4, x5)

......

Define:

ZX1 =∑

x1

ηX1(x1) = Z

ZX2 =∑

x2

ηX2(x2) = Z

......

Page 177: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Page 178: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

......

ηfC(x1, x2, x3) =

x4,x5

f(x1, x2, x3, x4, x5)

......

Page 179: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

......

ηfC(x1, x2, x3) =

x4,x5

f(x1, x2, x3, x4, x5)

......

Define:

......

ZfC=

x1,x2,x3

ηfC(x1, x2, x3)

......

Page 180: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

Z =∑

x1,x2,x3,x4,x5

f(x1, x2, x3, x4, x5)

Recall:

......

ηfC(x1, x2, x3) =

x4,x5

f(x1, x2, x3, x4, x5)

......

Define:

......

ZfC=

x1,x2,x3

ηfC(x1, x2, x3) = Z

......

Page 181: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Page 182: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z = ZX1 = ZX2 = ZX3 = ZX4 = ZX5 = ZfA = ZfB = ZfC = ZfD = ZfE

Page 183: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z = ZX1 = ZX2 = ZX3 = ZX4 = ZX5 = ZfA = ZfB = ZfC = ZfD = ZfE

Claim:

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

(Note: exponents in denominator equal variable node degrees.)

Page 184: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z = ZX1 = ZX2 = ZX3 = ZX4 = ZX5 = ZfA = ZfB = ZfC = ZfD = ZfE

Claim:

Z =Z#vertices

Z#edges=

ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

(Note: exponents in denominator equal variable node degrees.)

Page 185: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z = ZX1 = ZX2 = ZX3 = ZX4 = ZX5 = ZfA = ZfB = ZfC = ZfD = ZfE

Claim:

Z =Z#vertices

Z#edges=

ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

(Here we used the fact that for a graph with one component and no cycles it holds

that #vertices = #edges + 1.)

Page 186: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 187: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 188: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 189: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 190: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 191: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · γZfD · γZfE · ZX1 · ZX2 · γZX3 · γZX4 · γZX5

Z2X1

· Z2X2

· γ3Z3X3

· γ1Z1X4

· γ1Z1X5

Page 192: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =γ5

γ5· ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 193: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 194: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fBrescaled by γ

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Remarkable: this expression is invariant to rescaling of

function-node-to-variable-node messages!

Page 195: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z =ZfA · ZfB · ZfC · ZfD · ZfE · ZX1 · ZX2 · ZX3 · ZX4 · ZX5

Z2X1

· Z2X2

· Z3X3

· Z1X4

· Z1X5

Page 196: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z =

f Zf · ∏

X ZX∏

X Zdeg(X)X

Page 197: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z =

f Zf · ∏

X ZX∏

X Zdeg(X)X

Bethe approximation:

Use the above type of expression also when factor graph has cycles.

Page 198: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Partition Function

X4

X5

fD

fE

X3

X2

X1

fC

fA

fB

Z =

f Zf · ∏

X ZX∏

X Zdeg(X)X

Bethe approximation:

Use the above type of expression also when factor graph has cycles.

→ Z ′Bethe

Page 199: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Partition Function

Page 200: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Partition Function

Basically, we can evaluate the expresion for Z ′Bethe at any iteration

of the SPA.

Page 201: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Partition Function

Basically, we can evaluate the expresion for Z ′Bethe at any iteration

of the SPA.

Factor graph without cycles:

We have Z ′Bethe = Z only at a fixed point of the SPA.

Page 202: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Partition Function

Basically, we can evaluate the expresion for Z ′Bethe at any iteration

of the SPA.

Factor graph without cycles:

We have Z ′Bethe = Z only at a fixed point of the SPA.

Factor graph with cycles:

Therefore, we call Z ′Bethe a (local) Bethe partition function only if

we are at a fixed point of the SPA.

Page 203: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Partition Function

Basically, we can evaluate the expresion for Z ′Bethe at any iteration

of the SPA.

Factor graph without cycles:

We have Z ′Bethe = Z only at a fixed point of the SPA.

Factor graph with cycles:

Therefore, we call Z ′Bethe a (local) Bethe partition function only if

we are at a fixed point of the SPA.

Factor graph with cycles: the SPA can have multiple fixed points.

We define the Bethe partition function to be

ZBethe , maxfixed points of SPA

Z ′Bethe.

Page 204: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , xi,8)

Permanent:

perm(θ) = Z =∑

a1,1,...,a8,8

g(a1,1, . . . , a8,8)

Page 205: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

(function nodes are suitably defined based on θ)

(variable nodes have been omitted)

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , xi,8)

Bethe Permanent:

permB(θ) , ZBethe

Page 206: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , xi,8)

Bethe Permanent:

permB(θ) , ZBethe

However, the SPA is a locally operating algorithm and so has its

limitations in the conclusions that it can reach.

Page 207: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Graphical Model for Permanent

grow,1

grow,2

grow,3

grow,4

grow,5

grow,6

grow,7

grow,8

gcol,1

gcol,2

gcol,3

gcol,4

gcol,5

gcol,6

gcol,7

gcol,8

Global function:

g(a1,1, . . . , a8,8)

=∏

j

gcol,j(a1,j, . . . , a8,j)×

i

grow,i(ai,1, . . . , xi,8)

Bethe Permanent:

permB(θ) , ZBethe

This locality of the SPA turns out to be well-captured by so-called

finite graph covers, especially at fixed points of the SPA.

Page 208: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

A combinatorial interpretation

of the Bethe permanent

Page 209: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Combinatorial Characterizationof the Permanent

Page 210: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Combinatorial Characterizationof the Permanent

Consider the matrix

θ =

θ1,1 θ1,2

θ2,1 θ2,2

with perm(θ) = θ1,1θ2,2 + θ2,1θ1,2.

Page 211: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Combinatorial Characterizationof the Permanent

Consider the matrix

θ =

θ1,1 θ1,2

θ2,1 θ2,2

with perm(θ) = θ1,1θ2,2 + θ2,1θ1,2.

In particular,

θ =

1 1

1 1

with perm(θ) = 1 · 1 + 1 · 1 = 2.

Page 212: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Combinatorial Characterizationof the Permanent

Recall that the permanent of a zero/one matrix like

θ =

1 1

1 1

equals the number of perfect matchings in the following bipartite graph:

2

11

2

Page 213: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Combinatorial Characterizationof the Permanent

Recall that the permanent of a zero/one matrix like

θ =

1 1

1 1

equals the number of perfect matchings in the following bipartite graph:

2

11

2

Namely,

2

11

2 2

11

2

Page 214: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

A Combinatorial Interpretationof the Bethe Permanent

Consider the non-negative matrix θ of size n× n.

Let PM×M be the set of all permutation matrices of size M ×M .

For every positive integer M , we define ΨM be the set

ΨM ,

{

P ={

P(i,j)}

(i,j)∈[n]2

∣ P(i,j) ∈ PM×M

}

.

For P ∈ ΨM we define the P-lifting of θ to be the following

(nM)× (nM) matrix

θ =

θ1,1 · · · θ1,n...

...

θn,1 · · · θn,n

P-lifting−→of θ

θ↑P ,

θ1,1P(1,1) · · · θ1,nP

(1,n)

......

θn,1P(n,1) · · · θn,nP

(n,n)

.

Page 215: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Degree-M Bethe Permanent

Definition: For any positive integer M , we define the degree-M Bethe

permanent of θ to be

permB,M(θ) , M

perm(

θ↑P)

P∈ΨM

.

Theorem:

permB(θ) = lim supM→∞

permB,M(θ).

Page 216: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

We want to obtain some appreciation why the Bethe permanent of θ is

close to the permanent of θ, and where the differences are.

Page 217: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

We want to obtain some appreciation why the Bethe permanent of θ is

close to the permanent of θ, and where the differences are.

As before, consider the matrix

θ =

θ1,1 θ1,2

θ2,1 θ2,2

with perm(θ) = θ1,1θ2,2 + θ2,1θ1,2.

Page 218: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

We want to obtain some appreciation why the Bethe permanent of θ is

close to the permanent of θ, and where the differences are.

As before, consider the matrix

θ =

θ1,1 θ1,2

θ2,1 θ2,2

with perm(θ) = θ1,1θ2,2 + θ2,1θ1,2.

In particular,

θ =

1 1

1 1

with perm(θ) = 1 · 1 + 1 · 1 = 2.

Page 219: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

For this θ, a P-lifting looks like

θ↑P =

1 ·P1,1 1 ·P1,2

1 ·P2,1 1 ·P2,2

=

P1,1 P1,2

P2,1 P2,2

.

Page 220: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

For this θ, a P-lifting looks like

θ↑P =

1 ·P1,1 1 ·P1,2

1 ·P2,1 1 ·P2,2

=

P1,1 P1,2

P2,1 P2,2

.

Applying some row and column permutations, we obtain

perm(

θ↑P)

= perm

I I

I P−12,1P2,2P

−11,2P1,1

.

Page 221: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

For this θ, a P-lifting looks like

θ↑P =

1 ·P1,1 1 ·P1,2

1 ·P2,1 1 ·P2,2

=

P1,1 P1,2

P2,1 P2,2

.

Applying some row and column permutations, we obtain

perm(

θ↑P)

= perm

I I

I P−12,1P2,2P

−11,2P1,1

.

Therefore,

permB,M(θ) , M

perm

I I

I P′2,2

P′

2,2∈PM×M

.

Page 222: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

For M = 2 we have

permB,2(θ) , 2

perm

I I

I P′2,2

P′

2,2∈P2×2

Page 223: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

For M = 2 we have

permB,2(θ) , 2

perm

I I

I P′2,2

P′

2,2∈P2×2

corresponds to computing the average number of perfect matchings in

the following 2-covers (and taking the 2nd root):

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

4 2

Page 224: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

For M = 2 we have

permB,2(θ) =2

1

2!· (4 + 2)

corresponds to computing the average number of perfect matchings in

the following 2-covers (and taking the 2nd root):

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

4 2

Page 225: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

For M = 2 we have

permB,2(θ) =2

1

2!· (4 + 2)

=3

1

2!· 6 =

2√3 ≈ 1.732

corresponds to computing the average number of perfect matchings in

the following 2-covers (and taking the 2nd root):

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

4 2

Page 226: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

For M = 2 we have

permB,2(θ) =2

1

2!· (4 + 2)

=3

1

2!· 6 =

2√3 ≈ 1.732 <

2√4 = 2 = perm(θ)

corresponds to computing the average number of perfect matchings in

the following 2-covers (and taking the 2nd root):

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

4 2

Page 227: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

Page 228: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

For this graph, the perfect matchings are

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

Page 229: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

For this graph, the perfect matchings are

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

Because this double cover consists of two independent copies of the

base graph, the number of perfect matchings is 22 = 4.

Page 230: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

Page 231: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

For this graph, the perfect matchings are

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

Page 232: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

2′

2′′

1′′

1′

1′

2′

2′′

For this graph, the perfect matchings are

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

The coupling of the cycles causes this graph to have fewer than

22 perfect matchings!

Page 233: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-2 Bethe Permanent for n = 2

On the other hand, for M = 2 we have

permB,2(θ) =2

1

2!· (4 + 2)

=3

1

2!· 6 =

2√3 ≈ 1.732 <

2√4 = 2 = perm(θ)

corresponds to computing the average number of perfect matchings in

the following 2-covers (and taking the 2nd root):

1′′

2′

2′′

1′′

1′

1′

2′

2′′

1′′

2′

2′′

1′′

1′

1′

2′

2′′

4 2

Page 234: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

On the other hand, for M = 3 we have

permB,3(θ) , 3

perm

I I

I P′2,2

P′

2,2∈P3×3

Page 235: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

On the other hand, for M = 3 we have

permB,3(θ) , 3

perm

I I

I P′2,2

P′

2,2∈P3×3

corresponds to computing the average number of perfect matchings in

the following 3-covers (and taking the 3rd root):

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

8 4 4 4 2 2

Page 236: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

On the other hand, for M = 3 we have

permB,3(θ) =3

1

3!· (8 + 4 + 4 + 4 + 2 + 2)

corresponds to computing the average number of perfect matchings in

the following 3-covers (and taking the 3rd root):

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

8 4 4 4 2 2

Page 237: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

On the other hand, for M = 3 we have

permB,3(θ) =3

1

3!· (8 + 4 + 4 + 4 + 2 + 2)

=3

1

3!· 24 =

3√4 ≈ 1.587

corresponds to computing the average number of perfect matchings in

the following 3-covers (and taking the 3rd root):

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

8 4 4 4 2 2

Page 238: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

On the other hand, for M = 3 we have

permB,3(θ) =3

1

3!· (8 + 4 + 4 + 4 + 2 + 2)

=3

1

3!· 24 =

3√4 ≈ 1.587 <

3√8 = 2 = perm(θ)

corresponds to computing the average number of perfect matchings in

the following 3-covers (and taking the 3rd root):

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

8 4 4 4 2 2

Page 239: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

Page 240: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

For this graph, the perfect matchings are

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

Page 241: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Degree-3 Bethe Permanent for n = 2

Let us have a closer look at the perfect matchings in the graph

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

For this graph, the perfect matchings are

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

1′′

1′′′

2′

2′′

2′′′

1′′

1′′′

1′

1′

2′

2′′

2′′′

The coupling of the cycles causes this graph to have fewer than

23 perfect matchings!

Page 242: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Special Case:Deg.-M Bethe Permanent for n = 2

For general M we obtain

permB,M(θ) = M√

ζSM=

M√M + 1,

ζSM: cycle index of the symmetric group over M elements.

Page 243: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Gibbs free energy function

Page 244: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

FGibbs(p)The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

Page 245: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

p∗

− log(ZGibbs) FGibbs(p)The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

Page 246: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

p∗

− log(ZGibbs) FGibbs(p)The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

is defined such that its minimal value is related to the partition function:

Z = exp

(

−minp

FGibbs(p)

)

.

Page 247: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

p∗

− log(ZGibbs) FGibbs(p)The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

is defined such that its minimal value is related to the partition function:

perm(θ) = Z = exp

(

−minp

FGibbs(p)

)

.

Page 248: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

p∗

− log(ZGibbs) FGibbs(p)The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

is defined such that its minimal value is related to the partition function:

perm(θ) = Z = exp

(

−minp

FGibbs(p)

)

.

Nice, but it does not yield any computational savings by itself.

Page 249: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Gibbs Free EnergyFunction

p

p∗

− log(ZGibbs) FGibbs(p)

F ′(p)

− log(Z ′)

p′

The Gibbs free energy function

FGibbs(p) , −∑

a

pa · log(

g(a))

+∑

a

pa · log(pa).

is defined such that its minimal value is related to the partition function:

perm(θ) = Z = exp

(

−minp

FGibbs(p)

)

.

But it suggests other optimization schemes.

Page 250: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

The Bethe approximation

Page 251: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

The Bethe approximation to the Gibbs free energy function yields such

an alternative optimization scheme.

Page 252: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

The Bethe approximation to the Gibbs free energy function yields such

an alternative optimization scheme.

This approximation is interesting because of the following theorem:

Theorem (Yedidia/Freeman/Weiss, 2000):

Fixed points of the sum-product algorithm (SPA) correspond to

stationary points of the Bethe free energy function.

Page 253: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

The Bethe approximation to the Gibbs free energy function yields such

an alternative optimization scheme.

This approximation is interesting because of the following theorem:

Theorem (Yedidia/Freeman/Weiss, 2000):

Fixed points of the sum-product algorithm (SPA) correspond to

stationary points of the Bethe free energy function.

Definition: We define the Bethe permanent of θ to be

permB(θ) = ZBethe = exp

(

−minβ

FBethe(β)

)

.

Page 254: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

However, in general, this approach of replacing the Gibbs free energy by

the Bethe free energy comes with very few guarantees:

Page 255: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

However, in general, this approach of replacing the Gibbs free energy by

the Bethe free energy comes with very few guarantees:

The Bethe free energy function might have multiple local minima.

Page 256: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

However, in general, this approach of replacing the Gibbs free energy by

the Bethe free energy comes with very few guarantees:

The Bethe free energy function might have multiple local minima.

It is unclear how close the (global) minimum of the Bethe free

energy is to the minimum of the Gibbs free energy.

Page 257: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

However, in general, this approach of replacing the Gibbs free energy by

the Bethe free energy comes with very few guarantees:

The Bethe free energy function might have multiple local minima.

It is unclear how close the (global) minimum of the Bethe free

energy is to the minimum of the Gibbs free energy.

It is unclear if the sum-product algorithm converges (even to a

local minimum of the Bethe free energy).

Page 258: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

Luckily, in the case of the permanent approximation problem, the

above-mentioned normal factor graph N(θ) is such that the Bethe free

energy function is very well behaved. In particular, one can show that:

Page 259: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

Luckily, in the case of the permanent approximation problem, the

above-mentioned normal factor graph N(θ) is such that the Bethe free

energy function is very well behaved. In particular, one can show that:

The Bethe free energy function (for a suitable parametrization)

is convex and therefore has no local minima [V., 2010, 2011].

Page 260: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

Luckily, in the case of the permanent approximation problem, the

above-mentioned normal factor graph N(θ) is such that the Bethe free

energy function is very well behaved. In particular, one can show that:

The Bethe free energy function (for a suitable parametrization)

is convex and therefore has no local minima [V., 2010, 2011].

The minimum of the Bethe free energy is quite close to the

minimum of the Gibbs free energy. (More details later.)

Page 261: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Bethe Approximation

Luckily, in the case of the permanent approximation problem, the

above-mentioned normal factor graph N(θ) is such that the Bethe free

energy function is very well behaved. In particular, one can show that:

The Bethe free energy function (for a suitable parametrization)

is convex and therefore has no local minima [V., 2010, 2011].

The minimum of the Bethe free energy is quite close to the

minimum of the Gibbs free energy. (More details later.)

The sum-product algorithm converges to the minimum of the

Bethe free energy. (More details later.)

Page 262: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Relationship betweenPermanent and Bethe Permanent

permB(θ)

Theorem (Gurvits, 2011)↓≤ perm(θ)

Conjecture (Gurvits, 2011)↓≤

√2n · permB(θ)

Page 263: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Relationship betweenPermanent and Bethe Permanent

permB(θ)

Theorem (Gurvits, 2011)↓≤ perm(θ)

Conjecture (Gurvits, 2011)↓≤

√2n · permB(θ)

This can be rewritten as follows:

1

nlog permB(θ)

Theorem↓≤ 1

nlog perm(θ)

Conjecture↓≤ 1

nlog permB(θ) + log(

√2)

Page 264: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Relationship betweenPermanent and Bethe Permanent

Problem: find large classes of random matrices such that w.h.p.

permB(θ)

Theorem (Gurvits, 2011)↓≤ perm(θ) ≤ O(

√n) · permB(θ).

Page 265: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Relationship betweenPermanent and Bethe Permanent

Problem: find large classes of random matrices such that w.h.p.

permB(θ)

Theorem (Gurvits, 2011)↓≤ perm(θ) ≤ O(

√n) · permB(θ).

This can be rewritten as follows:

1

nlog permB(θ)

Theorem↓≤ 1

nlog perm(θ) ≤ 1

nlog permB(θ) +O

(

1

nlog(n)

)

Page 266: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sum-Product Algorithm Convergence

Theorem: Modulo some minor technical conditions on the initial

messages, the sum-product algorithm converges to the (global)

minimum of the Bethe free energy function [V., 2010, 2011].

Page 267: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Sum-Product Algorithm Convergence

Theorem: Modulo some minor technical conditions on the initial

messages, the sum-product algorithm converges to the (global)

minimum of the Bethe free energy function [V., 2010, 2011].

Comment: the first part of the proof of the above theorem is very

similar to the SPA convergence proof in

Bayati and Nair, “A rigorous proof of the cavity method for counting

matchings,” Allerton 2006.

Note that they consider matchings, not perfect matchings. (Although

the perfect matching case can be seen as a limiting case of the matching

setup, the convergence proof of the SPA is incomplete for that case.)

Page 268: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Page 269: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Page 270: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

Page 271: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

However, there are interesting setups where it works very well.

Page 272: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

However, there are interesting setups where it works very well.

Complexity of the permanent estimation based on the SPA is

remarkably low. (Hard to be beaten by any standard convex

optimization algorithm that minimizes the Bethe free energy.)

Page 273: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

However, there are interesting setups where it works very well.

Complexity of the permanent estimation based on the SPA is

remarkably low. (Hard to be beaten by any standard convex

optimization algorithm that minimizes the Bethe free energy.)

If the Bethe approximation does not work well, one can try better

approximations, e.g., the Kikuchi approximation.

Page 274: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

However, there are interesting setups where it works very well.

Complexity of the permanent estimation based on the SPA is

remarkably low. (Hard to be beaten by any standard convex

optimization algorithm that minimizes the Bethe free energy.)

If the Bethe approximation does not work well, one can try better

approximations, e.g., the Kikuchi approximation.

Note: One can also give a comb. interpr. of the Kikuchi part. func.

Page 275: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Conclusions

Loopy belief propagagion is no silver bullet.

However, there are interesting setups where it works very well.

Complexity of the permanent estimation based on the SPA is

remarkably low. (Hard to be beaten by any standard convex

optimization algorithm that minimizes the Bethe free energy.)

If the Bethe approximation does not work well, one can try better

approximations, e.g., the Kikuchi approximation.

Note: One can also give a comb. interpr. of the Kikuchi part. func.

Inspired by the approaches mentioned in this talk, Ryuhei Mori

recently showed that many replica method computations can be

simplified and made quite a bit more intuitive.

Page 276: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

Thank you!

Page 277: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011

References

P. O. Vontobel, “Counting in graph covers: a combinatorial

characterization of the Bethe entropy function,” submitted to IEEE

Trans. Inf. Theory, Nov. 2010, arxiv: 1012.0065.

P. O. Vontobel, “The Bethe permanent of a non-negative matrix,”

Proc. 48th Allerton Conf. on Communications, Control, and

Computing, Allerton House, Monticello, IL, USA, Sep. 29 – Oct. 1,

2010.

P. O. Vontobel, “A combinatorial characterization of the Bethe and the

Kikuchi partition functions,” Proc. Inf. Theory Appl. Workshop, UC

San Diego, La Jolla, CA, USA, Feb. 6–11, 2011.

R. Mori, “Connection between annealed free energy and belief

propagation on random factor graph ensembles,” Proc. ISIT 2011, St.

Petersburg, Russia, Jul. 31 – Aug. 5, arxiv: 1102.3132.

Page 278: Should We Believe in Numbers Computed by Loopy Belief …people.csail.mit.edu/andyd/CIOG_slides/vontobel_talk_ciog2011.pdf · CIOG Workshop, Princeton University, November 3, 2011