gpt4 book ai didi

prolog -\+ 在 Prolog 中做什么?

转载 作者:行者123 更新时间:2023-12-04 05:59:51 25 4
gpt4 key购买 nike

我正在研究这段代码,颜色函数中有一个 +,我不知道它的作用。我对此感到非常困惑,我基本上坚持这一点,因为我无法理解它的作用。

/* prolog  tutorial 2.9 Map coloring redux */
adjacent(X,Y,Map) :- member([X,Y],Map) ; member([Y,X],Map).
find_regions([],R,R).
find_regions([[X,Y]|S], R,A) :-
(member(X,R) ->
(member(Y,R) -> find_regions(S,R,A) ; find_regions(S,[Y|R],A)) ;
(member(Y,R) -> find_regions(S,[X|R],A) ; find_regions(S,[X,Y|R],A) ) ).

color(Map,Colors,Coloring) :-
find_regions(Map,[],Regions),
color_all(Regions,Colors,Coloring),
\+ conflict(Map,Coloring).
color_all([R|Rs],Colors,[[R,C]|A]) :-
member(C,Colors),
color_all(Rs,Colors,A).
color_all([],_,[]).


conflict(Map,Coloring) :-
member([R1,C],Coloring),
member([R2,C],Coloring),
adjacent(R1,R2,Map).

map1([[1,2],[1,3],[1,4],[1,5],[2,3],[2,4],[3,4],[4,5]] ).

最佳答案

这是一个否定,参见here有关示例的详细说明。您基本上可以将其理解为等同于“不”,或者更准确地说,“不可证明”。

关于prolog -\+ 在 Prolog 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com