Re: Prolog problem




"A.L." <alewando@xxxxxxxxxxxxxx> wrote in message
news:bjpdl1h1ldeqsnv11oglarthdgvhn54lnt@xxxxxxxxxx
> On Wed, 19 Oct 2005 21:03:50 +0200, "Martijn Smeets"
> <info[at]msphotographics.nl> wrote:
>
>>I have the following prolog problem, I just don't know how to solve..
>>I hope somebody is able to help me out...
>>
> [...]
>>
>>Who's able to write such a programm. I guess it shouldn't be too hard, but
>>I'm just not good at prolog. I have to have a solution by this weekend.
>
> What university?...

Does it matter?

this is what I have so far:



tour(graph(Knopen,Takken),Tour) :-
Knopen = [_|_],
Takken = [_|_],
pickpoint(Knopen,X),
cycle(graph(Knopen,Takken),X,[X]).


cycle(graph(Knopen,Takken),From,Tour) :-
try(From,Takken,Y,Knopen,Tour),
append(RToue,[Y],Newtour),
cycle(graph(Knopen,Takken),Y,Newtour).


pickpoint(Knopen,X) :-
Knopen = [H|_],
X = H.

pickpoint(Knopen,X) :-
Knopen = [_|T],
pickpoint(T,X).


try(From,Takken,To,_,Tour):-
Takken = [HT|_],
HT = [From|To],
not(intour(To,Tour)).

try(From,Takken,To,Knopen,Tour):-
Takken = [_|TT],
probeerstap(From,TT,To,Knopen,Tour).

try(From,Takken,_,Knopen,Tour):-
completetour(Knopen,Tour),
laststep(From,Tour,Takken),
writetour(Tour).



intour(Knoop,Tour) :-
Tour = [HR|_],
HR = Knoop.

intour(Knoop,Tour) :-
Tour = [_|TR],
inrondgang(Knoop,TR).


completetour(Knopen,Tour) :-
Knopen = [HK|TK],
intour(HK,Tourg),
completetour(TK,Tour).

completetour(Knopen,_) :-
Knopen = [].


laststep(From,Tour,Takken) :-
Takken = [HT|_],
Tour = [HR|_],
HT = [From||HR].

laststep(From,Tour,Takken) :-
Takken = [_|TT],
laatstestapmogelijk(From,Tour,TT).

writetour(Tour) :-
%writes tour



What do you think...?
I cant use if-then's, and disjunctions by with ;

Martijn


.



Relevant Pages

  • Re: Prolog problem
    ... >I have the following prolog problem, I just don't know how to solve.. ... > A program that checks a Directed Graph if there's a cycle that ends at ... Martijn ... Prev by Date: ...
    (comp.lang.prolog)
  • Re: Prolog problem
    ... >>>I have the following prolog problem, I just don't know how to solve.. ... > Does it matter? ... Martijn ... Prev by Date: ...
    (comp.lang.prolog)