- Python概率統(tǒng)計
- 李爽編著
- 1786字
- 2024-12-27 19:43:16
1.2 事件的關(guān)系與運算
本節(jié)介紹事件之間的關(guān)系與運算規(guī)律。
1.2.1 事件的關(guān)系與運算
由于事件是樣本空間的一個子集,因而事件的關(guān)系與運算就是集合的關(guān)系與運算。事件的運算主要有并、交、差等。
(1)并集:“事件A與B至少有一個發(fā)生”的事件稱為事件A與B的并集,記為A∪B。
(2)交集:“事件A與B同時發(fā)生”的事件稱為事件A與B的交集,記為A∩B或AB。
(3)差集:“事件A發(fā)生而事件B不發(fā)生”的事件稱為A與B的差集,記為A-B;“事件B發(fā)生而事件A不發(fā)生”的事件稱為B與A的差集,記為B-A。
事件的關(guān)系主要有包含、相等、相容、互斥、對立等。
(1)包含:如果事件A發(fā)生必然導(dǎo)致事件B發(fā)生,則稱事件B包含事件A,記作A?B。
(2)相等:如果A?B且B?A,則稱事件A=B。也就是說,A與B由完全相同的試驗結(jié)果構(gòu)成,它們是同一事件,只是說法不同而已。
(3)相容與互斥:如果A∩B=?,則稱事件A與B不相容,或A與B互斥;如果A∩B≠?,則稱事件A與B相容。互斥的事件不能同時發(fā)生。
(4)對立:如果A∩B=?且A∪B=S,則稱事件A與B對立,或A與B互為對立事件。也就是說,每次試驗事件A與B必有一個發(fā)生,并且僅有一個發(fā)生。A的對立事件記為。
【例1-2】 設(shè)A、B和C是隨機(jī)事件,則結(jié)論正確的是( )。
A.當(dāng)AB=AC時,必有B=C
B.當(dāng)AB?AC時,必有B?C
C.當(dāng)AB=?且A=B時,必有A=?
D.當(dāng)AB=A時,必有A=B
解:當(dāng)A=B且AB=?時,有A=A,必有A=?,即選C。
【例1-3】 從一批產(chǎn)品中每次抽一件不放回,如此抽取三次,用Ai(i=1,2,3)表示事件“第i次取到的產(chǎn)品為正品”。
(1)用文字?jǐn)⑹鱿铝惺录?i>A1A2∪A2A3∪A1A3,。
(2)用Ai(i=1,2,3)表示下列事件:至少取到2件次品,最多取到2件正品。
解:(1)A1A2∪A2A3∪A1A3表示至少取到2件正品或最多取到1件次品。表示至少取到1件次品或最多取到2件正品。
(2)至少取到2件次品:;最多取到2件正品:
。
1.2.2 事件的運算律
事件的運算滿足以下規(guī)律。
(1)交換律:A∩B=B∩A;A∪B=B∪A。
(2)結(jié)合律:(A∪B)∪C=A∪(B∪C);(A∩B)∩C=A∩(B∩C)。
(3)分配律:A∩(B∪C)=(A∩B)∪(A∩C),A∪(B∩C)=(A∪B)∩(A∪C)。
(4)對偶律或德摩根律:。
【例1-4】 設(shè)A、B和C是隨機(jī)事件,A的發(fā)生必然導(dǎo)致B與C最多有一個發(fā)生,則有( )。
A.A?BC
B.A?BC
C.
D.
解:B與C最多有一個發(fā)生就是B與C不能同時發(fā)生,即 。A導(dǎo)致了
就是
,也就是
,選D。
【例1-5】 設(shè)A和B滿足關(guān)系式,則必有( )。
A.A-B=?
B.AB=?
C.
D.
解:因為,所以
,即
,也就是
,AB=?。選B。
【例1-6】 設(shè)A、B和C是隨機(jī)事件,則結(jié)論正確的是( )。
A.當(dāng)A∪C=B∪C時,就有B=A
B.當(dāng)A-C=B-C時,就有B=A
C.當(dāng)A-B=C時,就有A=B∪C
D.當(dāng)時,就有ABC=?
解:當(dāng)時,有
。選D。
事件的運算律,代碼如下:
#第1章/1-1.py import numpy as np #全集 Omega = np.array(range(23)) A = np.array([0, 3, 4, 5, 23, 7]) B = np.array([3, 5, 14, 15, 18, 7, 9]) C = np.array([13, 5, 0, 15, 18, 17, 19]) print('樣本空間為', Omega) print('集合A為', A) print('集合B為', B) print('集合C為', C) #交換律 print('交換律:') AB = np.intersect1d(A, B) BA = np.intersect1d(B, A) AB2 = np.union1d(A, B) BA2 = np.union1d(B, A) print('A交B等于', AB) print('B交A等于', BA) print('A并B等于', AB2) print('B并A等于', BA2) #結(jié)合律 print('結(jié)合律:') t1 = np.union1d(np.union1d(A, B), C) print('(A并B)并C為', t1) t2 = np.union1d(A, np.union1d(B, C)) print('A并(B并C)為', t2) t1 = np.intersect1d(np.intersect1d(A, B), C) print('(A并B)并C為', t1) t2 = np.intersect1d(A, np.intersect1d(B, C)) print('A并(B并C)為', t2) #分配律 print('分配律:') t1 = np.intersect1d(A, np.union1d(B, C)) t2 = np.union1d(np.intersect1d(A, B), np.intersect1d(A, C)) print('A交(B并C)為', t1) print('(A交B)并(A交C)為', t2) t1 = np.union1d(A, np.intersect1d(B, C)) t2 = np.intersect1d(np.union1d(A, B), np.union1d(A, C)) print('A并(B交C)為', t1) print('(A并B)交(A并C)為', t2) #對偶律 print('對偶律:') a = np.intersect1d(A, B) t1 = np.setdiff1d(Omega, a) print('(A交B)的補集為', t1) t2 = np.union1d(np.setdiff1d(Omega, A), np.setdiff1d(Omega, B)) print('A補并B補為', t2) a = np.union1d(A, B) t1 = np.setdiff1d(Omega, a) print('(A并B)的補集為', t1) t2 = np.intersect1d(np.setdiff1d(Omega, A), np.setdiff1d(Omega, B)) print('A補并B補為', t2)
輸出如下:
樣本空間為[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] 集合A為[0 3 4 5 23 7] 集合B為[3 5 14 15 18 7 9] 集合C為[13 5 0 15 18 17 19] 交換律: A交B等于[3 5 7] B交A等于[3 5 7] A并B等于[0 3 4 5 7 9 14 15 18 23] B并A等于[0 3 4 5 7 9 14 15 18 23] 結(jié)合律: (A并B)并C為[0 3 4 5 7 9 13 14 15 17 18 19 23] A并(B并C)為[0 3 4 5 7 9 13 14 15 17 18 19 23] (A并B)并C為[5] A并(B并C)為[5] 分配律: A交(B并C)為[0 3 5 7] (A交B)并(A交C)為[0 3 5 7] A并(B交C)為[0 3 4 5 7 15 18 23] (A并B)交(A并C)為[0 3 4 5 7 15 18 23] 對偶律: (A交B)的補集為[0 1 2 4 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] A補并B補為[0 1 2 4 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] (A并B)的補集為[1 2 6 8 10 11 12 13 16 17 19 20 21 22] A補并B補為[1 2 6 8 10 11 12 13 16 17 19 20 21 22]
- jQuery Mobile Web Development Essentials(Third Edition)
- Node.js Design Patterns
- JavaScript Unlocked
- 數(shù)據(jù)結(jié)構(gòu)簡明教程(第2版)微課版
- Python高級機(jī)器學(xué)習(xí)
- HDInsight Essentials(Second Edition)
- Oracle JDeveloper 11gR2 Cookbook
- 碼上行動:用ChatGPT學(xué)會Python編程
- 劍指Java:核心原理與應(yīng)用實踐
- C語言程序設(shè)計
- NoSQL數(shù)據(jù)庫原理
- Create React App 2 Quick Start Guide
- Python編程:從入門到實踐(第3版)
- TypeScript全棧開發(fā)
- Getting Started with JUCE