• Aucun résultat trouvé

i Result All the : All the a such that Q(a) holds

waysν to colorT such thatQ0 holds onν(T) Fortechnical reasonsit will be simpler to:

Write the choice for variablesas colors on the tree

Replace the non-Boolean queryQby a Boolean queryQ0

Enumerate theways to color the tree 13/35

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,3,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels

Valuation: {2,3,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

14/35

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,3,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {27→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

14/35

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

14/35

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,3,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

The tree automatonAaccepts

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {27→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

The tree automatonArejects

→ Theresultsthat we want to enumerate are allvaluationsofT that makeAaccept

14/35

Uncertain trees

Now: Boolean query on a tree where the color of nodes isuncertain 1

5

6 7 2

4 3

Avaluationof a tree decides whether to keep(1) ordiscard(0) node labels Valuation: {2,77→1, ∗ 7→0}

A:“Is there both a pink and a blue node?”

The tree automatonAaccepts

Set circuits

We want to represent these results as aset circuit:

×

x

>

×

y

Directed acyclic graph ofgates

Outputgate:

Variablegates: x

Constantgates: >

Internalgates: ×

15/35

Set circuits

We want to represent these results as aset circuit:

×

x

>

×

y

Directed acyclic graph ofgates

Outputgate:

Variablegates: x

Constantgates: >

Internalgates: ×

Set circuits

We want to represent these results as aset circuit:

×

x

>

×

y

Directed acyclic graph ofgates

Outputgate:

Variablegates: x

Constantgates: >

Internalgates: ×

15/35

Set circuits

We want to represent these results as aset circuit:

×

x

>

×

y

Directed acyclic graph ofgates

Outputgate:

Variablegates: x

Constantgates: >

Internalgates: ×

Set circuits

We want to represent these results as aset circuit:

×

x

>

×

y

Directed acyclic graph ofgates

Outputgate:

Variablegates: x

Constantgates: >

Internalgates: ×

15/35

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Semantics of set circuits

Every gategcapturesa setS(g)

Variablegate with labelx:S(g) :={{x}}

Set circuit for a query on a tree

Set circuitfor automatonAon uncertain treeT:

Variable gates: nodes ofT

Condition:Letνbe a valuation ofT, thenA acceptsν(T)iff the setS(g0)of the output gateg0 contains{n∈T |ν(n) =1}.

Query:Is there both a pink and a blue node?

×

Set circuit for a query on a tree

Set circuitfor automatonAon uncertain treeT:

Variable gates: nodes ofT

Condition:Letνbe a valuation ofT, thenA acceptsν(T)iff the setS(g0)of the output gateg0 contains{n∈T |ν(n) =1}.

Query:Is there both a pink and a blue node?

×

Set circuit for a query on a tree

Set circuitfor automatonAon uncertain treeT:

Variable gates: nodes ofT

Condition:Letνbe a valuation ofT, thenA acceptsν(T)iff the setS(g0)of the output gateg0 contains{n∈T |ν(n) =1}.

Query:Is there both a pink and a blue node?

×

Set circuit for a query on a tree

Set circuitfor automatonAon uncertain treeT:

Variable gates: nodes ofT

Condition:Letνbe a valuation ofT, thenA acceptsν(T)iff the setS(g0)of the output gateg0 contains{n∈T |ν(n) =1}.

Query:Is there both a pink and a blue node?

×

Set circuit for a query on a tree

Set circuitfor automatonAon uncertain treeT:

Variable gates: nodes ofT

Condition:Letνbe a valuation ofT, thenA acceptsν(T)iff the setS(g0)of the output gateg0 contains{n∈T |ν(n) =1}.

Query:Is there both a pink and a blue node?

×

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Building set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build a set circuitofAonTinO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Set circuit restrictions

To haveefficient enumeration, we needrestrictionson the set circuit:

d-DNNF set circuit:

are alldeterministic: The inputs aredisjoint

(= no set is captured by two inputs)

× are alldecomposable: The inputs areindependent (= no variablexhas a path to two

Set circuit restrictions

To haveefficient enumeration, we needrestrictionson the set circuit:

d-DNNF set circuit:

are alldeterministic: The inputs aredisjoint

(= no set is captured by two inputs)

× are alldecomposable: The inputs areindependent

×

> x

×

y {{x}} {{x,y}}

{{x},{x,y}}

Building d-DNNF set circuits

Theorem

For any bottom-uptree automatonAand inputtreeT, we can build ad-DNNFset circuitofAonT inO(|A| × |T|)

Alphabet:

Automaton:“Is there both a pink and a blue node?”

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue

Example query:

Q(X1,X2) :P (x)∧P (y) Data:

1

2 3

Results: X1 X2

1 2

1 3

Set circuit:

× X1(1) ∪

X2(2) X2(3)

{X2(2),X2(3)}

{(X1(1),X2(2)),(X1(1),X2(3))}

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Q(X1,X2) :P (x)∧P (y) Data:

1

2 3

Results: X1 X2

1 2

1 3

Set circuit:

× X1(1) ∪

X2(2) X2(3)

{X2(2),X2(3)}

{(X1(1),X2(2)),(X1(1),X2(3))}

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Q(X1,X2) :P (x)∧P (y) Data:

1

2 3

Results:

X1 X2

1 2

1 3

Set circuit:

× X1(1) ∪

X2(2) X2(3)

{X2(2),X2(3)}

{(X1(1),X2(2)),(X1(1),X2(3))}

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Meaning of the set circuit

→ Theset circuitofQis now afactorized representation which describes all the tuples that makeQtrue Example query:

Q(X1,X2) :P (x)∧P (y) Data:

1

2 3

Results:

X1 X2

1 2

1 3

Set circuit:

× X1(1) ∪

X2(2) X2(3)

{X2(2),X2(3)}

{(X1(1),X2(2)),(X1(1),X2(3))}

Documents relatifs