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
FirstOrder Logic
 A domain of nonlogical objects: \(alice, bob, charly ...\)
 Predicates: \(Person(alice), Person(bob), Dog(charly)\)
 Functions: \(Owner(charly)=alice\)
Introduce variables representing nonlogical objects:
\(\forall x : Person(x) \lor Dog(x).\)
"Everything is either a dog or a person."
SecondOrder 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 secondorder formula \(\exists V : \phi\)
Critical Friendship
"Minimal number of cars?"
=> Perform 'minimization'
Actually: solving a secondorder 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 secondorder 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 secondorder 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