How to implement the belief functions Arnaud Martin
[email protected] Universit´ e de Rennes 1 - IRISA, Lannion, France Autrans, April, 5 2011
1/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
2/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
2/45 How to implement the belief functions?, A. Martin
07/03/11
Natural order or Binary order
(1/5) Order DST Framework bbas
Discernment frame: Θ = {θ1 , θ2 , . . . , θn } Power set: all the disjunctions of Θ: 2Θ = {∅, {θ1 }, {θ2 }, {θ1 ∪ θ2 }, . . . , Θ} Natural order: 2Θ = {∅, {θ1 }, {θ2 }, {θ1 ∪ θ2 }, {θ3 }, {θ1 ∪ θ3 }, {θ2 ∪ θ3 }, {θ1 ∪ θ2 ∪ θ3 }, {θ4 }, . . . , Θ}
3/45 How to implement the belief functions?, A. Martin
07/03/11
(2/5) Order DST Framework bbas
Natural order or Binary order
Natural order: ∅ 0 θ3 4 = 23−1 + 1 θ4 8 = 24−1 + 1 θi i−1 2 +1
θ1 1 θ 1 ∪ θ3 5 ...
θ2 2 θ2 ∪ θ3 6 ...
θ1 ∪ θ2 3 = 22 − 1 θ1 ∪ θ2 ∪ θ3 7 = 23 − 1 ...
...
...
Θ 2n
4/45 How to implement the belief functions?, A. Martin
07/03/11
Natural order or Binary order
(3/5) Order DST Framework bbas
Bba in Matlab: Example: m1 (θ1 ) = 0.5, m1 (θ3 ) = 0.4, m1 (θ1 ∪ θ2 ∪ θ3 ) = 0.1 m2 (θ3 ) = 0.4, m2 (θ1 ∪ θ3 ) = 0.4 F1=[1 4 7]’; F2=[4 5]’; M1=[0.5 0.4 0.1]’; M2=[0.4 0.6]’;
5/45 How to implement the belief functions?, A. Martin
07/03/11
(4/5) Order DST Framework bbas
Natural order or Binary order
Combination
mConj (X) =
X
m1 (Y1 )m2 (Y2 )
(1)
Y1 ∩Y2 =X
θ1 ∩ (θ1 ∪ θ3 ): 1 ∩ 5 In binary on base 3: 1=100 and 5=101=100 |001 100&101 = 100
6/45 How to implement the belief functions?, A. Martin
07/03/11
Natural order or Binary order
(5/5) Order DST Framework bbas
In Matlab: sizeDS=3; F1=[1 4 7]’; F2=[4 5]’; M1=[0.5 0.4 0.1]’; M2=[0.4 0.6]’; Fres=[]; Mres=[]; for i=1:size(F1) for j=1:size(F2) Fres=[Fres bi2de(de2bi(F1(i),sizeDS)&de2bi(F2(j),sizeDS))]; Mres=[Mres M1(i)*M2(j)]; end end 7/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
8/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
8/45 How to implement the belief functions?, A. Martin
07/03/11
Smets codes for DST
Order (1/9) DST Framework bbas
Smets gaves the codes of the Mobius transform (see Only Mobius Transf) for conversions: I
bba and belief: mtobel, beltom
I
bba and plausibility: mtopl, pltom
I
bba and communality: mtoq, qtom
I
bba and implicability: mtob, btom
I
bba to pignistic probability: mtobetp
I
etc...
e.g. in Matlab: m1=[0 0.4 0.1 0.2 0.2 0 0 0.1]’; mtobel(m1) gives: 0 0.4000 0.1000 0.7000 0.2000 0.6000 0.3000 1.0000 9/45 How to implement the belief functions?, A. Martin
07/03/11
Order (2/9) DST Framework bbas
Smets code Conjunctive combination X
mConj (X) =
m Y
mj (Yj )
Y1 ∩...∩Ym =X j=1
The practical way: q(X) =
m Y
qj (X)
j=1
Disjunctive combination X
mDis (X) =
m Y
mj (Yj )
Y1 ∪...∪Ym =X j=1
The practical way: b(X) =
m Y
bj (X)
j=1 10/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (3/9) DST Framework bbas
In Matlab For the conjunctive rule of combination: m1=[0 0.4 0.1 0.2 0.2 0 0 0.1]’; m2=[0 0.2 0.3 0.1 0.1 0 0.2 0.1]’; q1=mtoq(m1); q2=mtoq(m2); qConj=q1.*q2; mConj=qtom(qConj) mConj = 0.4100 0.2200 0.2000 0.0500 0.0900 0 0.0200 0.0100
11/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (4/9) DST Framework bbas
In Matlab For the disjunctive rule of combination: m1=[0 0.4 0.1 0.2 0.2 0 0 0.1]’; m2=[0 0.2 0.3 0.1 0.1 0 0.2 0.1]’; b1=mtob(m1); b2=mtob(m2); bConj=b1.*b2; bDis=b1.*b2; mDis=btom(bDis) mDis = 0 0.0800 0.0300 0.3100 0.0200 0.0800 0.1300 0.3500
12/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (5/9) DST Framework bbas
Once bbas are combined, to decide just use the functions mtobel, mtopl or mtobetp, etc. In Matlab mtopl(mConj) 0 0.2800 0.2800 0.5000 0.1200 0.3900 0.3700 0.5900 mtobetp(mConj) 0.4209 0.4040 0.1751 mtopl(mDis) 0 0.8200 0.8200 0.9800 0.5800 0.9700 0.9200 1.0000 mtobetp(mDis) 0.3917 0.3667 0.2417
13/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (6/9) DST Framework bbas
DST code for the combination: I criteria=1 Smets criteria I criteria=2 Dempster-Shafer criteria (normalized) I criteria=3 Yager criteria I criteria=4 disjunctive combination criteria I criteria=5 Dubois criteria (normalized and disjunctive combination) I criteria=6 Dubois and Prade criteria (mixt combination) I criteria=7 Florea criteria I criteria=8 PCR6 I criteria=9 Cautious Denoeux Min for non-dogmatics functions I criteria=10 Cautious Denoeux Max for separable functions I criteria=11 Hard Denoeux for functions sous-normales I criteria=12 Mean of the bbas 14/45 How to implement the belief functions?, A. Martin
07/03/11
Order (7/9) DST Framework bbas
PCR6 (Martin et Osswald, 2006, 2007)
Transfers the partial conflict on focal elements given this conflict proportionnaly to the masses. mPCR5 (X) = mConj (X) +
X Y ∈2Θ ,
m1 (X)2 m2 (Y ) m2 (X)2 m1 (Y ) + m1 (X) + m2 (Y ) m2 (X) + m1 (Y )
X∩Y =∅
mPCR6 (X)
=
mConj (X) s −1 Y mσ (j 0 ) (Yσ (j 0 ) ) j j j 0 =1 s − 1 X m (X)+ m (Y ) j σ (j 0 ) σ (j 0 )
+
s X
2
mi (X)
j=1
X
s−1 ∩ Yσ (j 0 ) ∩X=∅ j j 0 =1 (Yσ (1) ,...,Yσ (s−1) )∈(2Θ )s−1 j j
j 0 =1
j
j
15/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (8/9) DST Framework bbas
decisionDST code for the decision: I
criteria=1 maximum of the plausibility
I
criteria=2 maximum of the credibility
I
criteria=3 maximum of the credibility with rejection
I
criteria=4 maximum of the pignistic probaiblity
I
criteria=5 Appriou criteria
16/45 How to implement the belief functions?, A. Martin
07/03/11
DST code
Order (9/9) DST Framework bbas
test.m: m1=[0 0.4 0.1 0.2 0.2 0 0 0.1]’; m2=[0 0.2 0.3 0.1 0.1 0 0.2 0.1]’; m3=[0.1 0.2 0 0.4 0.1 0.1 0 0.1]’; m3d=discounting(m3,0.95); M comb Smets=DST([m1 m2 m3d],1); M comb PCR6=DST([m1 m2],8); class fusion=decisionDST(M comb Smets’,1) class fusion=decisionDST(M comb PCR6’,1) class fusion=decisionDST(M comb Smets’,5,0.5) 17/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
18/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST Framework bbas
Plan
I
Natural order
I
Smets codes
I
General framework How to obtain bbas?
I
I I I
Random bbas Distance based model probabilistic based model
18/45 How to implement the belief functions?, A. Martin
07/03/11
General framework
Order DST (1/12) Framework bbas
I
Main problem of the DST code: all element must be coded (not only the focal elements)
I
Only usable for belief functions defined on power set (2Θ )
I
General belief functions framework works for power set and hyper power set (DΘ )
19/45 How to implement the belief functions?, A. Martin
07/03/11
Order DST (2/12) Framework bbas
DSmT DSmT introduced by Dezert, 2002. I
DΘ closed set by union and intersection operators
I
DΘ is not closed by complementary, A ∈ DΘ ; A ∈ DΘ
I
if |Θ| = n: 2Θ