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\)

Made with Slides.com