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/packages/ProbLog/problog_examples/office.pl
Theofrastos Mantadelis 9ee83ddf6c problog examples fix
2010-12-02 15:04:42 +01:00

29 lines
777 B
Prolog

%%% -*- Mode: Prolog; -*-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ProbLog program describing an office window
% example for using hybrid ProbLog
% $Id: office.pl 4970 2010-10-21 08:47:36Z bernd $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
:- use_module(library(problog)).
(W,gaussian(2,1)) :: width(W).
(L,gaussian(9,3)) :: length(L).
0.8 :: office_has_window.
0.001 :: corridor_has_window.
in_office :- width(W),length(L), in_interval(W,2,4), in_interval(L,2,4).
in_corridor :- width(W),length(L), below(W,2.5), above(L,3).
room_has_window:-
in_office, office_has_window.
room_has_window:-
in_corridor,corridor_has_window.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% query ?- problog_exact(room_has_window, Prob, Status).
% Prob = 0.01517076,
% Status = ok ?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%