% ========================================================================== % $Id: color.pl,v 1.1 2014/01/28 06:18:50 jlang Exp $ % CSI2120 example Code for lecture 7 % ========================================================================== % (C)opyright: % % Jochen Lang % SITE, University of Ottawa % 800 King Edward Ave. % Ottawa, On., K1N 6N5 % Canada. % http://www.eecs.uottawa.ca/~jlang % % Creator: jlang (Jochen Lang) % Email: jlang@eecs.uottawa.ca % ========================================================================== % $Log: color.pl,v $ % Revision 1.1 2014/01/28 06:18:50 jlang % Added tree and graph examples. % % ========================================================================== color(g(Ns,Edges),Colors,GC):- generate(Ns,Colors,GC), test(Edges,GC). generate([],_,[]). generate([N|Ns],Colors,[(N,C)|Q]):- member(C,Colors), generate(Ns,Colors,Q). test([],_). test([edge(N1,N2,_)|Ns],GC):- member((N1,C1),GC), member((N2,C2),GC), C1\=C2, test(Ns,GC).