このディレクトリの索引

重みつきグラフ(0,1,2).
重みつきグラフ(0,3,3).
重みつきグラフ(1,2,5).
重みつきグラフ(1,3,4).
重みつきグラフ(2,3,10).
重みつきグラフ(3,4,7).

重みつきグラフと隣接行列(LL) :-
        節ならび(_節ならび),
        findall(L,(
                    append(_,[N|_],_節ならび),
                    findall(X,(
                                append(_,[M|_],節ならび),
                                枝が存在するか(N,M,X)),
                            L)),
                LL).

節ならび(_節ならび) :-
        finsetof(_節,(
                    節(_節)),
                _節ならびの一),
        sort(_節ならびの一,_節ならび).

節(_節) :-
        重みつきグラフ(_節,_,_).
節(_節) :-
        重みつきグラフ(_,_節,_).

枝が存在するか(N,N,0) :- !.
枝が存在するか(N,M,_重み) :-
       重みつきグラフ(N,M,_重み),!.
枝が存在するか(N,M,_重み) :-
       重みつきグラフ(M,N,_重み),!.
枝が存在するか(_,_,(-1)).