Download presentation

Presentation is loading. Please wait.

Published byOswaldo Wamsley Modified over 3 years ago

1
Graph Colouring The Team : Aymen Dammak Sébastien Jagueneau Florian Lajus Xavier Loubatier Cyril Rayot Mathieu Rey Mentor : Paul-Yves Gloess

2
First Definitions A graph is a set of vertices linked by edges A graph

3
Neighbours A vertex is a neighbour of another vertex if they are linked by an edge

4
**Colouring Notions A colour is associated to each vertex**

A graph is well-coloured if no neighbouring vertices share the same colour A well-coloured graph

5
Degree Notions The vertex degree is the number of neighbours of this vertex The graph degree is the maximum degree of its vertices

6
The Theorem Choose randomly a vertex H which has all its neighbours well-coloured Choose randomly a color C unused by the neighbours of H Color H with C and graph is still well-coloured Imagine (with these pictures, it’s easier) that you have a well colored graph (non oriented as we can see). Bla bla And it’s true for a n degree graph if you have n+1 choices of color. It is the interresant fact: A n degree graph can be colored with only n +1 colors

7
**What is PVS ? PVS : Prototype Verification System Proof assistant**

SRI international (by the way) A big place for computer science, it was there where the mouse and the first graphic interface was invented ( in 1968 ) So Why a proof assistant? Why do we need an assistant? proving is so hard, so difficult that we need an assistant? In fact, yes. It’s a very fastidious task. Indeed when you prove something manually you can skip many step which seems obvious. But a 100% sure theorem require to be proofed whithout admitting some obvious fact (or at least the minimum). So, this assistant is used to help us to automatically proove some obvious fact (but this has to be done) and divide some theorem to make them easier to prove. Of course we can say, that the proof given by PVS rely on the fact that PVS funcionate well. But how to prove it? With a proof assistant. That’s a bit anoying, but the scientific community agreed pvs is sure.

8
Divide and Conquer Type Checking -> TCC : Type Correctness Condition Corrections Definition of degree Graph non oriented After correction, 3 TCCs required to be proved Coloring_vertex_TCC1 Coloring_vertex_TCC2 Coloring_TCC5 So to prove it, we have differents lemmas that has to be proved and the typecheking function of pvs has been really helpful to do it. This function split a lemma into different TCCs Type corectness conditon => that is to say: Statements that must hold in order to prove that a term has a given type. So it’s a kind of tiny proof. Most of the TCCs was proved automatically and by the other student last year. But errors has been found in their algorythm: First: the defnition of degree was false. Vertexes was counted twice... (quite anoying) An hypothesis was missing (unless the theorem can’t be proved) : graphs are non-oriented. It means that if a vertex “a” is in relation with a vertex “b”, the vertex “b” is in relation with “a”. : Finally after that some TCCs has been automatically proved and there was only 3 tccs left:

9
**Proof of coloring_vertex_tcc1**

Main idea : nonempty (difference (below (1+degree (R)), image (f, neighbours (R) (t))) below (1+degree (R)): N+1 colours of the graph image (f, neighbours (R) (t)): colours of t neighbours The set of colours used to colour the neighbours of vertex T, can not include all the graph colours.

10
**Proof of coloring_vertex_tcc1**

Graph colours:

11
**Proof of coloring_vertex_tcc1**

Colours of vertex V neighbours: There is always a colour left for vertex V, different from the colours of its neighbours.

12
**Proof of coloring_vertex_tcc1**

Proof idea: If a set has more elements than another one, the difference between these two sets is not empty. The notion of cardinality Three new lemmas to prove the tcc1

13
**Proof of coloring_vertex_tcc1**

Encountered problems: Not acquainted with the PVS syntax Too strong hypothesis in one of the three lemmas not easy to prove The card_subset_difference_nonempty, the strong hypothesis is: subset?(tsA,tsB)

14
**Proof of coloring_vertex_tcc2**

Main idea : a well coloured graph can be created by adding a coloured vertex to a well coloured graph.

15
**Proof of coloring_vertex_tcc2**

A well-coloured graph

16
**Proof of coloring_vertex_tcc2**

A vertex is selected

17
**Proof of coloring_vertex_tcc2**

An unused colour is selected

18
**Proof of coloring_vertex_tcc2**

The coloured vertex is added to the well-coloured graph

19
**Proof of coloring_vertex_tcc2**

Two steps : Modification of the colouring function. Modification of the well-coloured graph.

20
**Proof of coloring_tcc5 Main idea :**

Set “S” representing the vertices (coloured or not) of a graph Strict subset “s” of the set (coloured vertices) An element “x” not part of the subset (vertex about to be coloured) The number of vertices to be coloured is always decreasing

21
**Proof of coloring_tcc5 A subset, a strict subset and an element**

Yellow area : vertices remaining uncoloured X

22
**Proof of coloring_tcc5 Adding the element to the subset**

Yellow area becomes the green one X

23
Proof of coloring_tcc5 Green area strict subset of the yellow area X X

24
Proof Result In order to compare: last year, at the end of their project, they had 36 proved and 6 unproved lemmas with 11 TCCs for a total of nearly 21 seconds.

25
**Conclusion Proofs are complete Using PVS Finishing the project**

Think whether what we are writing is correct and why Step by step correction Mathematical logic Finishing the project

26
**Thanks for your attention**

Similar presentations

Presentation is loading. Please wait....

OK

We will resume in: 25 Minutes.

We will resume in: 25 Minutes.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google