.


:




:

































 

 

 

 





, . , : " , ?" . (burglary S alarm) =? pf burglary lightning) =? p{ burglary | alarm -lightning) =? p{ alarm -call I burglary) =?

, , .

1. :

(XiAX2 | Cond) = [ Xi I Cond} * { X, I Xi Cond)

2. : pWTfi ,,. X ...) =1

3. :

{ X | Yi ... -X ...) =

4. :

(~ | Cond) = 1 - {| Cond)

5. Cond ,
X, X
:

ccndc - Cond, - ,

X pfXiCoado) = p(XICond) * P(Y|X cond) / p{Y|Cond)

6. Cond ,
X, :

) X , (X | Cond) = (X),
, (X);

) X Parents,
pcssible_states,

piX!Cond) = £ [|} p(S|Cond}

: " , , ?" plburgiaryi alarm) =?

5:

(burglary|alarm) = (burglary) * !alarm|burglary) / (alarm)

6: [ alarm I burglary) = p(alarir,| sensor) p (sensor! burglary)

+ p(alarm|-sensor) p(-sensor|burglary)

6:

(sensor | burglary) = p (sensor i burglary lightning) plburolary

Irghtmng Iburglary) + p (sensor |-burglary lightning)


15.



p(-burglary lightning|burglary) + (sensor|burglary -lightning) pfburglaiy -lightningIburglary) + p(sensor I -burglary -lightning) p(-burglary -lightning burglary)

1-4 , , :

(sensor | burglary) - 0.9 * 0.0 2 + 0 + 0.9 * 0.98 + 0 = 0, pfalarml burglary! = 0.95 * 0. + 0.001 * (1 - 0.) - 0.8551

1, 4, 6, : p(alarm) - 0.00467929

, : (burglary|alarm) - 0.001 + 0.B551 / 0.00467929 - 0.182741

, , 15.8. X: 2 ... [XI, 2,... ]. -X not X Prolog. : prob(Proposition, Cond, P)

Proposition Cond. , .

parent (ParentNode, Node). .

(X, ParentsState, P}. , ; X , ParentsState.

! X,?!. , ; X - , .

15.9 , . 15.4. , 15.8, 15.9, . , , :

?- prob(burglary, [call], P). F = 0.232137

, , :

?- : burglary, [call, lightning], P).

p = 0.00892857

15.8.

%

% .

parent I ParentNode, Node) % (Node, ParentStates, Prob)

Prob - Node
% ParentStates, :

(alarm, [ burglary, not earthquake], 0.99) % p(Mode, Prob)

,

% prob(Event, Condition, P):
______________________

346 II. Prolog

I


* Event Condition ;

% Event - , ,

prob! [X | Xsj, Cond, ):-!, % X, Cond, Px), prob[ Xs, [X I Cond], PRest], is Px * PRest.

prob! [], _, 1):-!. %

(X, Cond, 1):-

memberf X, Cond),. % Cond

prob(X, Cond, 0):-

member! not X, Cond) r!. % Cond , X -

prob! not X, Cond, P):-!, % prob(X, Cond, P0>, P is 1 - PO.

% , X

probt , CoadO, ):-

delete (Y, CondO, Cond),

predecessor! X, Y),!, $ Y - X

probt X, Cond, Px),

probt Y, [X I Cond], PyGivenX),

prob(Y, Cond, Py>,

P is Px * PyGivenX / Py. % , > 0

,

(X, Cond, P):-

| X, ],!. % X - ,-

X, Cond, ):-!,

findallt [COBDi,Pi), p(X,COHDi,Pi), CPlist), % ,

% sum_probs(CPlist, Cond, P).

* sum_probs (CondsProbs, Cond, WeiothedSum):

% CondsProbs - ,
% WeightedSum - Conds
% Cond

sum_probs([], _, 0).

sum_probs([ (CONDI,PI) | CondsProbs], COND, P):-prob(CONDI, COND, PCI),

sum_probs(CondsProbs, COND, PRest), P is PI * PCI + PRest.

predecessor(X, not Y):- I, l Y,

% predecessor I X* y).

predecessor! x, Y):-

parent { X, Y).

predecessor! X, Z):-parent! X, Y), predecessor! y, z).

membei X, [X [)).


15.



member [X, [_ I L] }:-member! X, L).

delete! x, [x | L], L).

delete! X, [Y I L], (Y I L2])

delete (JC, l, L2).

15.9. , . 15.4, 15.8

% "sensor"

parent! burglary, sensor). %

parent(lightning, sensor). 3

parent(sensor, alarm).

parent! sensor, call).

p (burglary, 0,001.

p(lightning, 0.02}.

p(sensor, [ burglary, lightning), 0.9).

p{ sensor, [ burglary, not lightning], 0.9).

p(sensor, [ not burglary, lightning], 0.1).

p(sensor, E not burglary, not lightning], .001).

p(alarm, [ sensor], 0.95).

p[ alarm, [ not sensor], 0.001).

p (call, [ sensor], 0.9).

p(call, [ not sensor], 0.0).

, . , , .?- prob(burglary, [call, not lightning), P).

P = 0.473934

, . . , , 15.9, , . ,





:


: 2015-10-01; !; : 794 |


:

:

, .
==> ...

1561 - | 1415 -


© 2015-2024 lektsii.org - -

: 0.017 .