Basic idea: finding a tight pattern
The challenging part is to show:
Theorem
For any queryQclosed under homomorphisms andunbounded,PQE(Q)is#P-hard
Idea: find atight pattern, i.e., a graph with three distinguished edges such that:
•
• •
• satisfiesQ
but •
•
•
•
•
• violatesQ
Theorem
Any unbounded query closed under homomorphisms has a tight pattern
Basic idea: finding a tight pattern
The challenging part is to show:
Theorem
For any queryQclosed under homomorphisms andunbounded,PQE(Q)is#P-hard Idea: find atight pattern, i.e., a graph with three distinguished edges such that:
•
• •
• satisfiesQ
but •
•
•
•
•
• violatesQ
Theorem
Any unbounded query closed under homomorphisms has a tight pattern
8/12
Basic idea: finding a tight pattern
The challenging part is to show:
Theorem
For any queryQclosed under homomorphisms andunbounded,PQE(Q)is#P-hard Idea: find atight pattern, i.e., a graph with three distinguished edges such that:
•
• •
• satisfiesQ
but
•
•
•
•
•
• violatesQ
Theorem
Any unbounded query closed under homomorphisms has a tight pattern
Basic idea: finding a tight pattern
The challenging part is to show:
Theorem
For any queryQclosed under homomorphisms andunbounded,PQE(Q)is#P-hard Idea: find atight pattern, i.e., a graph with three distinguished edges such that:
•
• •
• satisfiesQ
but •
•
•
•
•
• violatesQ
Theorem
Any unbounded query closed under homomorphisms has a tight pattern
8/12
Basic idea: finding a tight pattern
The challenging part is to show:
Theorem
For any queryQclosed under homomorphisms andunbounded,PQE(Q)is#P-hard Idea: find atight pattern, i.e., a graph with three distinguished edges such that:
•
• •
• satisfiesQ
but •
•
•
•
•
• violatesQ
Theorem
Any unbounded query closed under homomorphisms has a tight pattern
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ... ... except we needmorefrom the tight pattern!
9/12
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ... ... except we needmorefrom the tight pattern!
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ... ... except we needmorefrom the tight pattern!
9/12
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ...
... except we needmorefrom the tight pattern!
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ...
... except we needmorefrom the tight pattern!
9/12
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ...
... except we needmorefrom the tight pattern!
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ...
... except we needmorefrom the tight pattern! 9/12
Using tight patterns to show hardness of PQE
•
Fix the queryQand thetight pattern:•
is coded as
•
Idea:possible worlds at thelefthave a path that matchesQ0
iff the corresponding possible world of the TID at therightsatisfies the queryQ...
... except we needmorefrom the tight pattern! 9/12
Saving the proof
We know that we have atight pattern:
•
Consider itsiterates
for eachn∈N:
•
• • • •
•
n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
10/12
Saving the proof
We know that we have atight pattern:
• Consider itsiterates
for eachn∈N:
•
• • • •
•
n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
10/12
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
10/12
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained
Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
10/12
Saving the proof
We know that we have atight pattern:
• Consider itsiteratesfor eachn∈N:
•
• • • •
• n
Case 1:some iterateviolatesthe query:
•
→ Reduce fromPQE(Q0)as we explained Case 2:all iteratessatisfythe query:
•
→ Call this aniterable pattern
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
•
Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right
11/12
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected?s
u
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right
11/12
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right
11/12
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right 11/12
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right 11/12
Using iterable patterns to show hardness of PQE
We have aniterable pattern:
• Idea:reduce from the#P-hardproblemsource-to-target connectivity:
•
Input:undirected graphwith asourcesandtargett, all edges have probability1/2•
Output: what is theprobabilitythat the source and target areconnected? su
t
1/2 1/2
1/2
is coded as
•
Idea:There is apath connectingsandtin a possible world of the graph at the left iff the queryQissatisfiedin the corresponding possible world of the TID at the right 11/12