Joint Seminar:
Matthias van der Hallen
Matthias van der Hallen
31/10/2019
Matthias van der Hallen
Education
- Secondary school in Essen: Latin - Greek
- Engineering @ KU Leuven: Computer Science (minor Electrical)
Matthias van der Hallen
Hobbies
- Sports: Cycling, running, duathlon, ...
Graph Mining:
+ example
Candidate for \(\mathcal{G}\)
- example
Find a graph \(\mathcal{G}\) such that:
- homomorphisms exist with the + examples
- no homomorphisms exist with the - examples
First-Order Logic
- A domain of non-logical objects: \(alice, bob, charly ...\)
- Predicates: \(Person(alice), Person(bob), Dog(charly)\)
- Functions: \(Owner(charly)=alice\)
Introduce variables representing non-logical objects:
\(\forall x : Person(x) \lor Dog(x).\)
"Everything is either a dog or a person."
Second-Order Logic
Also introduce variables representing predicates & functions:
\(\exists P : P(alice) \land P(bob).\)
"There is a set that contains both \(alice\) and \(bob\)."
Critical Friendship
Divide \(n\) people over \(k\) cars such that
nobody has to sit with someone they dislike.
Critical Friendship
Observations:
- We can model 'dislikes' as a graph
- Proper division is a \(k\)-coloring
Alice
Bob
David
Charles
Alice
Bob
David
Charles
Critical Friendship
Model:
type Person. % The Person type, corresponding to nodes
type Car. % The Car type, corresponding to colours
dislike :: (Person, Person). % A predicate encoding dislikes
sitsIn :: (Person)→Car
∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b).
Note that we introduce a vocabulary \(V\) of predicates and functions (dislike, sitsIn)
Critical Friendship
"Does a coloring exist?"
=> Perform model generation/expansion
∃ sitsIn :: Person -> Car ::
∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b).
Actually, solving a second-order formula \(\exists V : \phi\)
Critical Friendship
"Minimal number of cars?"
=> Perform 'minimization'
Actually: solving a second-order formula
\(\exists V : \phi \land \forall V' : \phi' \Rightarrow T(V) < T(V') \)
Critical Friendship
Find critical friendship pairs: two distinct people \(p1,p2\) s.t. there would not exist a proper division if they would dislike each other.
"All valid colorings assign \(p1\) and \(p2\) the same color"
Critical Friendship
type Person. % The Person type, corresponding to nodes
type Car. % The Car type, corresponding to colours
dislike :: (Person, Person). % A predicate encoding dislikes
p1 :: Person. % A person constant
p2 :: Person. % A second person constant
p1 ≠ p2.
∃sitsIn :: (Person)→Car:
∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b).
∀sitsIn :: (Person)→Car:
(∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b))
⇒ sitsIn(p1)=sitsIn(p2).
Model:
Find critical friendship pairs: two distinct people \(p1,p2\) s.t. there would not exist a proper division if they would dislike each other.
Critical Friendship
type Person. % The Person type, corresponding to nodes
type Car. % The Car type, corresponding to colours
dislike :: (Person, Person). % A predicate encoding dislikes
p1 :: Person. % A person constant
p2 :: Person. % A second person constant
p1 ≠ p2.
∃sitsIn :: (Person)→Car:
∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b).
∀sitsIn :: (Person)→Car:
(∀ a,b :: Person: dislike(a,b) ⇒ sitsIn(a) ≠ sitsIn(b))
⇒ sitsIn(p1)=sitsIn(p2).
Alice
Bob
David
Charles
Alice
Bob
David
Charles
Second Order Logic
Many interesting second-order constraints;
often implemented as specific inferences.
Second Order Logic
ASP systems provide special interfaces for computing cautious consequences by means of query answering. But sometimes one has to do more, such as answering a complex query over the cautious consequences [...] So far, ASP solvers provide no support for such tasks. Instead, computations like this have to be done outside ASP systems, which hampers usability and limits the potential of ASP.
- Faber, Woltran
SOGrounder
A system with support for second-order logic:
- Resembles IDP3
- Grounds to QBF
-
Allow reuse of logic theories
- Takes the form of templates
Thank you
Solving QBF: QCDCL
PCNF \(\phi\)
Extend Assignment
\(\phi[A]\) = T/F
Propagation
T: Learn Cube
F: Learn Clause
No
UNSAT
\(\empty\) Clause
\(\empty\) Cube
SAT
Backtrack
Cube/Clause \(\neq\empty\)
Joint Seminar: Matthias
By krr
Joint Seminar: Matthias
- 998