%%%% %%%% Decision of the direction by a coin tossing -- direction.psm %%%% %%%% This program has just one random switch named `coin'. %%%% %%%% Copyright (C) 2004,2006,2008 %%%% Sato Laboratory, Dept. of Computer Science, %%%% Tokyo Institute of Technology %%------------------------------------- %% Sample session %% %% (1) Load this program: %% ?- prism(direction). %% %% (2) Get a sample: %% ?- sample(direction(D)). %% %% (3) Display the information about the switch `coin': %% ?- show_sw. %% %% (4) Set the probability distribution to the switch `coin': %% ?- set_sw(coin,[0.7,0.3]). %% %% (5) Display the switch information again with the distribution set %% at step 4: %% ?- show_sw. %% %% (6) Get a sample again with the distribution set at step 4: %% ?- sample(direction(D)). %% %% [Note1] %% Since 1.9, without any extra settings, the probability distribution %% of every switch is set to a uniform distribution. %% %% [Note2] %% If you go (3) with skipping (2), nothing should be displayed. This %% is because any random switch will not be registered by the system until %% it is explicitly used or referred to. values(coin,[head,tail]). % The switch `coin' takes `head' or `tail' as its value direction(D):- msw(coin,Face), % Make a coin tossing ( Face==head -> D=left ; D=right). % Decide the direction according to % the result of coin tossing