Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- check_path([], _, _, classX).
- check_path([StateA|Path], StateA, StateB, Class):-
- check_path2(Path, StateB,Class).
- check_path([X |Path], StateA, StateB, Class):-
- X \= StateA,
- check_path(Path, StateA, StateB, Class).
- check_path2([], _, classA).
- check_path2([A|Path], A, classAB).
- check_path2([A|Path], B, Class):-
- A \= B,
- check_path2(Path,B, Class).
- insert_path(Path, classAB, PartialAB, PartialA, [Path|PartialAB], PartialA).
- insert_path(Path, classA, PartialAB, PartialA, PartialAB, [Path|PartialA]).
- insert_path(Path, classX, PartialAB, PartialA, PartialAB, PartialA).
- proces_paths([], _, _, PathsAB, PathsA, PathsAB, PathsA).
- proces_paths([Path|RestPaths], StateA, StateB, PartialAB, PartialA, PathsAB, PathsA):-
- check_path(Path, StateA, StateB, Class),
- insert_path(Path, Class, PartialAB, PartialA, NewAB, NewA),
- proces_paths(RestPaths, StateA, StateB, NewAB, NewA, PathsAB, PathsA).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement