29 lines
777 B
Prolog
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 ?
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|