kamilosxd678

[SEM4][labSI] Sieci bayessowe

May 27th, 2013
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 14.05 KB | None | 0 0
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % Zestaw 16                               %
  3. % http://si-lab.cba.pl/bayes_utrata2.htm  %
  4. % Obliczyc P(D) oraz P(Pr|D) teoretycznie %
  5. % oraz P(Pr|D) za pomoca monte carlo      %
  6. % v0.001 - zrobiona czesc teoretyczna     %
  7. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  8.  
  9. % Metody teoretyczne
  10.  
  11. clear
  12. N=1; T=2; % falsz, prawda
  13.  
  14. %zadawanie wartosci prawdopodobienstw
  15. %Pr - błąd programisty
  16. %B - błąd w systemie
  17. %N - skok napięcia
  18. %D - błąd na dysku
  19. %U - utrata danych
  20. %Prawdopodobieństwa dane:
  21.  
  22. % blad programisty
  23. pPr(T) = 0.70;
  24. pPr(N) = 1 - pPr(T);
  25. % skok napiecia
  26. pN(T) = 0.07;
  27. pN(N) = 1 - pN(T);
  28. % blad w systemie
  29. pBPr(T,T) = 0.13;
  30. pBPr(T,N) = 0.05;
  31. pBPr(N,T) = 1 - pBPr(T,T);
  32. pBPr(N,N) = 1 - pBPr(T,N);
  33. % blad na dysku
  34. pDNB(T,T,T) = 0.80;
  35. pDNB(T,N,T) = 0.15;
  36. pDNB(T,T,N) = 0.45;
  37. pDNB(T,N,N) = 0.06;
  38. pDNB(N,T,T) = 1 - pDNB(T,T,T);
  39. pDNB(N,N,T) = 1 - pDNB(T,N,T);
  40. pDNB(N,T,N) = 1 - pDNB(T,T,N);
  41. pDNB(N,N,N) = 1 - pDNB(T,N,N);
  42. %Utrata danych
  43. pUDB(T,T,T) = 0.50;
  44. pUDB(T,N,T) = 0.30;
  45. pUDB(T,T,N) = 0.20;
  46. pUDB(T,N,N) = 0.05;
  47. pUDB(N,T,T) = 1 - pUDB(T,T,T);
  48. pUDB(N,N,T) = 1 - pUDB(T,N,T);
  49. pUDB(N,T,N) = 1 - pUDB(T,T,N);
  50. pUDB(N,N,N) = 1 - pUDB(T,N,N);
  51. % tablica prawdopodobienstw lacznych
  52. %Pr - błąd programisty
  53. %B - błąd w systemie
  54. %N - skok napięcia
  55. %D - błąd na dysku
  56. %U - utrata danych
  57. for Pr=1:2
  58.   for B=1:2
  59.     for N=1:2
  60.       for D=1:2
  61.         for U=1:2
  62.           p(Pr,B,N,D,U)=pPr(Pr)*pN(N)*pBPr(B,Pr)*pDNB(D,N,B)*pUDB(U,D,B);                  
  63.         end
  64.       end
  65.     end
  66.   end
  67. end
  68.  
  69. % Sprawdzenie czy suma wszystkich prawdopodobienstw jest rowna 1
  70. sum(sum(sum(sum(sum(p)))))
  71.  
  72.  
  73. % Na podstawie tablicy prawdopodopienstw lacznych mozna obliczyc dowolne prawdopodobienstwo, np.P(A|S)=P(A,S)/P(S)
  74. pD = sum(sum(sum(sum((p(:,:,:,2,:))))))
  75. pPrD = sum(sum(sum(p(2,:,:,2,:))))/pD
  76.  
  77. %pwas=sum(sum(sum(p(2,:,2,:,:))))/sum(sum(sum(sum(p(:,:,2,:,:)))))
  78. %pwnas=sum(sum(sum(p(1,:,2,:,:))))/sum(sum(sum(sum(p(:,:,2,:,:)))))
  79.  
  80. % -------------------------------------------------------
  81. % Metody Monte Carlo
  82.  
  83. K=10000; % jednorazowa porcja taktow
  84. close
  85. hold on                             % polecenie zostawia wykres, nastepne beda rysowane na tym samym
  86. plot([1 1000],[pPrD pPrD])          % wykres P(A|S) wyznaczonego teoretycznie
  87. axis([0 1000 0 0.9])                % zadanie skali rysunku
  88.  
  89.  
  90.  
  91. for j=1:1000
  92.     pr=rand(1,K)<pPr(T);
  93.     d=rand(1,K)<pD(T);
  94.     aNN=rand(1,K)<pwawu(T,N,N);
  95.     aNT=rand(1,K)<pwawu(T,N,T);
  96.     aTN=rand(1,K)<pwawu(T,T,N);
  97.     aTT=rand(1,K)<pwawu(T,T,T);
  98.     a=(w&u&aTT)|(w&~u&aTN)|(~w&u&aNT)|(~w&~u&aNN);
  99.  
  100.     % ......itd.............
  101.     % obliczenie czestosci w j-tym kroku na podstawie odpowiednich tablic jedynek, np. P(A|S)= sum(a&s)/sum(s)
  102.     % usrednienie czestosci dla wszystkich dotychczasowych krokow
  103.     % narysowanie wykresu: plot([1:j], tablica_srednich_czestosci)
  104.     pause
  105.  
  106. end
  107.  
  108.                                                           .;;,                    
  109.                                                         :      `.                
  110.                                                       .          ,                
  111.                                                      ,                            
  112.                                                                    :              
  113.                                                     ,                            
  114.                                                         #####       ;            
  115.                                                    :    #   `#                    
  116.                                                    ;    #   ;; ##                
  117.                                                    :    #####  #                  
  118.                                                    ;    #      #                  
  119.                                                    :    #      #                  
  120.                                                         #      #    '            
  121.                                                     :                            
  122.                                                                    ;              
  123.                                                                   :              
  124.                                                                  ;                
  125.                                                         :      ,                  
  126.                                                            `,                    
  127.                                                             .                    
  128.                                                             .                    
  129.                                                             .                    
  130.                                                             .                    
  131.                                                             .                    
  132.                                                             .                    
  133.                                                             .                    
  134.                                                             .                    
  135.                                                             .                    
  136.                                                             .                    
  137.                                                             .                    
  138.                                                             .                    
  139.                                                             .                    
  140.                                                             .                    
  141.                                                             .                    
  142.                                                             .                    
  143.                                                             .                    
  144.                                                            `,.                    
  145.                                                            ##,                    
  146.                                                            .#                    
  147.                                                             ,                    
  148.      `:     ;                                           `:     '                  
  149.     ,         '                                        .         '                
  150.    `           '                                      `           '              
  151.   `             ;                                    `             ;              
  152.  :                                                  :                            
  153.         #   #    :                                        #####     :            
  154.         #`  #                                             #   ,'                  
  155. :       ##  #                                      :      #   ,:                  
  156. '       #.; #     `                                ;      #####      `            
  157. ;       # # #                                      ;      #    #                  
  158. .       #  ##                                      .      #    #                  
  159.        `#  ##    `                                        #####;    `            
  160.  :      #   #    :                                  ;               :            
  161.                                                                                  
  162.   :                                                  :                            
  163.    ,            :                                     ,                          
  164.      ,       :   `                                   `  ,       :                
  165.        :';',                                         :    :';',                  
  166.                   ;                                                              
  167.                                                     '                            
  168.                    ,                                             ,                
  169.                     .                              .             ;                
  170.                                                    .             ;                
  171.                      '                                           .                
  172.                                                   '                              
  173.                       ,                                                          
  174.                        .                         :                                
  175.                                                  `                .              
  176.                         '                       `                 ;              
  177.                                                 :                 ;              
  178.                          .                                        .              
  179.                           ,                    '                                  
  180.                                                                                  
  181.                            '                  .                                  
  182.                                               .                    ,              
  183.                             .                                      ;              
  184.                              ,               '                     ;              
  185.                                `           `                       .              
  186.                               ##           ##;                                    
  187.                              ,##   '. `:;  '#.                                    
  188.                                # ,        ';                                      
  189.                                `           .                        .            
  190.                                             `                       ;            
  191.                               .              ;                      ;            
  192.                              `      ###'                            .            
  193.                              :      #  .#     .                                  
  194.                                     #    #    '                                  
  195.                                     #    #    :                                  
  196.                                     #    #    :                      .            
  197.                                     #    #    '                      ;            
  198.                              ,      #  `#     .                      ;            
  199.                              ,      ###'                             .            
  200.                               `              ;                                    
  201.                                             `                                    
  202.                                `                                                  
  203.                                  .        '                           .          
  204.                                   `;`  .'                             ;          
  205.                                            ,                          ;          
  206.                                             :                         .          
  207.                                              ;                                    
  208.                                               ;                                  
  209.                                                ;                                  
  210.                                                 '                      .          
  211.                                                  '                     ;          
  212.                                                   '                    ;          
  213.                                                    ;                   .          
  214.                                                     ;                            
  215.                                                      :                            
  216.                                                       :                          
  217.                                                        ,                .        
  218.                                                         .               ;        
  219.                                                          .              ;        
  220.                                                           `             .        
  221.                                                            `                      
  222.                                                                           `      
  223.                                                                        .##,      
  224.                                                                         '#        
  225.                                                                          #        
  226.                                                                  #    '`   :,    
  227.                                                                 ##  '         .  
  228.                                                                 :#;            ,  
  229.                                                                   ,             ,
  230.                                                                  ,                
  231.                                                                        #    #    ;
  232.                                                                 `      #    #    `
  233.                                                                 ;      #    #    
  234.                                                                 '      #    #    
  235.                                                                 '      #    #    
  236.                                                                 ;      #    #    
  237.                                                                        #    #    `
  238.                                                                  `      ####     ,
  239.                                                                  .                
  240.                                                                   :              
  241.                                                                    ,           .  
  242.                                                                     :        .    
  243.                                                                       ,;``.'
Advertisement
Add Comment
Please, Sign In to add comment