This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/lo/travellers/SCRIPT

45 lines
1.2 KiB
Plaintext
Raw Normal View History

=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.22.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
% start by loading the example:
| ?- logtalk_load(lo_travellers(loader)).
...
% build a route by adding one town at a time:
| ?- incremental::route([london, brighton, portsmouth, exeter, oxford, aberystwyth], Route).
Route = oxford~london~portsmouth~brighton~exeter~aberystwyth ?
yes
% presort towns by geographical distance before using the incremental algorithm:
| ?- presort::route([london, brighton, portsmouth, exeter, oxford, aberystwyth], Route).
Route = brighton~london~oxford~portsmouth~exeter~aberystwyth ?
yes
% come home after the journey:
| ?- circular::route([london, brighton, portsmouth, exeter, oxford, aberystwyth], Route).
Route = london~brighton~portsmouth~exeter~aberystwyth~oxford~london ?
yes
% blind search by generating permutations of the list of towns:
| ?- permute::route([london, brighton, portsmouth, exeter, oxford, aberystwyth], Route).
Route = (aberystwyth~exeter~portsmouth~brighton~london~oxford,273.6237583942784) ?
yes