This repository has been archived on 2026-03-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
TP-PL/TP5.pl
Super_JK 00cec73a26 ajout TP
2022-06-05 15:44:11 +02:00

71 lines
1022 B
Prolog

% Pt 6
% Ex 2
positive(X) :- X>0.
filter(_,[],[]).
filter(F,[H1|L1], [H1|L2]):-
call(F,H1),!,
filter(F,L1,L2).
filter(F,[_|L1],L2):-
filter(F,L1,L2).
% ex 7
vertex(a).
vertex(b).
vertex(c).
vertex(d).
vertex(e).
vertex(f).
edge(a,b).
edge(a,c).
edge(a,d).
edge(a,e).
edge(a,f).
edge(b,c).
edge(b,e).
edge(b,f).
edge(c,d).
edge(d,e).
edge(e,f).
color(rouge).
color(vert).
color(jaune).
color(bleu).
all_vertices(Vertices):-
findall(V, vertex(V), Vertices).
create_coloring([],[]).
create_coloring([Vertex|Vertices], [c(Vertex, Color)| Colors]):-
color(Color),
create_coloring(Vertices, Colors).
valid_coloring([c(V,C)|Colors])
.
goal(Colors):-
all_vertices(Vertices),
create_coloring(Vertices,Colors),
valid_coloring(Colors).
colored_vertex(X,C):-
vertex(X),
color(C).
ok_vertices(X,Y):-
X \= Y,
edge(X,Y),
colored_vertex(X,C1),
colored_vertex(Y,C2),
C2 \= C1.
goal2(Colors):-
vertex(Y),findall(vertex(X),ok_vertices(X,Y),Colors).