Python概率统计
上QQ阅读APP看书,第一时间看更新

1.2 事件的关系与运算

本节介绍事件之间的关系与运算规律。

1.2.1 事件的关系与运算

由于事件是样本空间的一个子集,因而事件的关系与运算就是集合的关系与运算。事件的运算主要有并、交、差等。

(1)并集:“事件AB至少有一个发生”的事件称为事件AB的并集,记为AB

(2)交集:“事件AB同时发生”的事件称为事件AB的交集,记为ABAB

(3)差集:“事件A发生而事件B不发生”的事件称为AB的差集,记为A-B;“事件B发生而事件A不发生”的事件称为BA的差集,记为B-A

事件的关系主要有包含、相等、相容、互斥、对立等。

(1)包含:如果事件A发生必然导致事件B发生,则称事件B包含事件A,记作AB

(2)相等:如果ABBA,则称事件A=B。也就是说,AB由完全相同的试验结果构成,它们是同一事件,只是说法不同而已。

(3)相容与互斥:如果AB=∅,则称事件AB不相容,或AB互斥;如果AB≠∅,则称事件AB相容。互斥的事件不能同时发生。

(4)对立:如果AB=∅且AB=S,则称事件AB对立,或AB互为对立事件。也就是说,每次试验事件AB必有一个发生,并且仅有一个发生。A的对立事件记为

例1-2】 设ABC是随机事件,则结论正确的是(  )。

A.当AB=AC时,必有B=C

B.当ABAC时,必有BC

C.当AB=∅且A=B时,必有A=∅

D.当AB=A时,必有A=B

解:A=BAB=∅时,有A=A,必有A=∅,即选C。

例1-3】 从一批产品中每次抽一件不放回,如此抽取三次,用Aii=1,2,3)表示事件“第i次取到的产品为正品”。

(1)用文字叙述下列事件:A1A2A2A3A1A3

(2)用Aii=1,2,3)表示下列事件:至少取到2件次品,最多取到2件正品。

解:(1)A1A2A2A3A1A3表示至少取到2件正品或最多取到1件次品。表示至少取到1件次品或最多取到2件正品。

(2)至少取到2件次品:;最多取到2件正品:

1.2.2 事件的运算律

事件的运算满足以下规律。

(1)交换律:AB=BAAB=BA

(2)结合律:(AB)∪C=A∪(BC);(AB)∩C=A∩(BC)。

(3)分配律:A∩(BC)=(AB)∪(AC),A∪(BC)=(AB)∩(AC)。

(4)对偶律或德摩根律:

例1-4】 设ABC是随机事件,A的发生必然导致BC最多有一个发生,则有(  )。

A.ABC

B.ABC

C.

D.

解:BC最多有一个发生就是BC不能同时发生,即A导致了就是 ,也就是,选D。

例1-5】 设AB满足关系式,则必有(  )。

A.A-B=∅

B.AB=∅

C.

D.

解:因为,所以,即,也就是AB=∅。选B。

例1-6】 设ABC是随机事件,则结论正确的是(  )。

A.当AC=BC时,就有B=A

B.当A-C=B-C时,就有B=A

C.当A-B=C时,就有A=BC

D.当时,就有ABC=∅

解:时,有。选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)
     #结合律
     print('结合律:')
     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]
     结合律:
     (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]