Artificial Intelligence Innovation Practice Reference Answer

 

table of Contents

 

Artificial intelligence overview

Collection and relationship practice training

1. The concept of collection

2. Basic operations of sets

3. The law of set operations

4. Relationship


Artificial intelligence overview

 

 

Collection and relationship practice training

 

1. The concept of collection

#coding=utf-8

import sympy as sym

# 定义符号a-h。
#***** Begin *****#
a,b,c,d,e,f,g,h = sym.symbols("a, b, c, d, e, f, g, h")

#***** End *****#

# 创建有限集A和B,A包含元素a-d,B包含元素e-h。
#***** Begin *****#
A = sym.FiniteSet(a, b, c, d)
B = sym.FiniteSet(e, f, g, h)

#***** End *****#

# 打印A,B两个集合。
#***** Begin *****#
print(A)
print(B)

#***** End *****#


# 判断元素a 是否在集合A中, 输出判断结果。
#***** Begin *****#
print(A.has(a))

#***** End *****#

# 判断元素a 是否在集合B中,输出判断结果。
#***** Begin *****#
print(B.has(a))

#***** End *****#


# 创建并输出集合C,C包含10以内的偶数。
#***** Begin *****#
C = sym.FiniteSet(0,2,4,6,8,10)
print(C)
#***** End *****#

# 创建并输出空集D。
#***** Begin *****#
D = sym.FiniteSet()
print(D)
#***** End *****#


# 按照相关知识中子集的第一个形式来验证子集的第四个性质。
#***** Begin *****#
A = sym.FiniteSet(1,2,3)      # 创建集合A={1,2,3}
B = sym.FiniteSet(1,2,3,4)    # 创建集合B={1,2,3,4}
C = sym.FiniteSet(1,2,3,4,5)  # 创建集合C={1,2,3,4,5}
print(True)                 # 判断A是否为B的子集
print(True)                 # 判断B是否为C的子集
print(True)                 # 判断A是否为C的子集
#***** End *****#

 

2. Basic operations of sets

#coding=utf-8

import sympy as sym

# 创建有限集A和B,A包含元素1-5,B包含元素2,3,5,7。
#***** Begin *****#
A = sym.FiniteSet(1, 2, 3, 4, 5)
B = sym.FiniteSet(2, 3, 5, 7)

#***** End *****#

# 打印A,B两个集合。
#***** Begin *****#
print(A)
print(B)

#***** End *****#

# 输出A, B的交集。
#***** Begin *****#
C = sym.Intersection(A, B) # 使用交运算函数
print(C) # 输出结果集合C

#***** End *****#

# 输出A, B的并集。
#***** Begin *****#
C = sym.Union(A, B) # 使用并运算函数
print(C) # 输出结果集合C

#***** End *****#

# 输出A, B的差集。
#***** Begin *****#
C = A - B
print(C) # 输出结果集合C

#***** End *****#

# 验证A-B与A-A交B是否相等。
#***** Begin *****#
C = A - B
D = A - sym.Intersection(A, B) 
print(C == D)
#***** End *****#

# 验证A,B的对称差与(A-B)并(B-A)是否相等
#***** Begin *****#
C = sym.Union(A, B) - sym.Intersection(A, B)
D = sym.Union(A-B, B-A)
print(C == D)
#***** End *****#

3. The law of set operations

#coding=utf-8

import sympy as sym


# 创建有限集A,B和C,A包含元素1-4,B包含元素3-6,C包含元素1,3,5。
#***** Begin *****#
A=sym.FiniteSet(1,2,3,4)
B=sym.FiniteSet(3,4,5,6)
C=sym.FiniteSet(1,3,5)
#***** End *****#

# 设置全集E,E包含元素1-6
#***** Begin *****#
E=sym.FiniteSet(1,2,3,4,5,6)
E.is_UniversalSet
#***** End *****#

# 验证第一个幂等律,输出验证结果。
#***** Begin *****#
print(sym.Intersection(A,A) == A and sym.Union(A, A) == A) 
#***** End *****#

# 验证第一个分配律,输出验证结果。
#***** Begin *****#
print(sym.Intersection(A,sym.Union(C, B)) == sym.Union(sym.Intersection(A,B),sym.Intersection(A,C)) and sym.Union(A,sym.Intersection(C, B)) == sym.Intersection(sym.Union(A,B),sym.Union(A,C)))
#***** End *****#


# 验证第一个吸收律,输出验证结果。
#***** Begin *****#
print(sym.Intersection(A, sym.Union(A,B)) == A and sym.Union(A, sym.Intersection(A,B)) == A)
#***** End *****#

# 验证德摩根律,输出验证结果。
#***** Begin *****#
print(sym.Intersection(A,B).complement(E)==sym.Union(A.complement(E),B.complement(E)) and sym.Union(A,B).complement(E)==sym.Intersection(A.complement(E),B.complement(E)))

#***** End *****#


# 证明对任何集合X和Y,(X-Y)交(Y-X)=空集,输出验证结果(空集用 sym.EmptySet() 表示)。
#***** Begin *****#
print(sym.Intersection((A-B),(B-A)) == sym.EmptySet())

#***** End *****#

4. Relationship

#coding=utf-8

import sympy as sym

# 定义符号a-f。
#***** Begin *****#
a,b,c,d,e,f = sym.symbols("a, b, c, d, e, f")

#***** End *****#

# 创建有限集A和B,A包含元素1,2,3,B包含元素a,b,c。
#***** Begin *****#
A=sym.FiniteSet(1,2,3)
B=sym.FiniteSet(a,b,c)
#***** End *****#

# 打印A,B两个集合。
#***** Begin *****#
print(A)
print(B)
#***** End *****#


# 输出集合A,B的笛卡儿积。
#***** Begin *****#
AxB=sym.cartes(A,B)
for pair in AxB:
    print(pair)

#***** End *****#

# 输出集合B,A的笛卡儿积。
#***** Begin *****#
BxA=sym.cartes(B,A)
for pair in BxA:
    print(pair)

#***** End *****#


# 设集合A={1,2,3}, B={a,b,c}, C={d,e,f}, R={<1,b>,<3,c>}, S={<b,f>},
# 使用关系矩阵计算R·S,输出结果矩阵。
#***** Begin *****#
R=sym.Matrix([[0,1,0],[0,0,0],[0,0,1]])
S=sym.Matrix([[0,0,0],[0,0,1],[0,0,0]])
R_S = R*S
sym.pprint(R_S)
#***** End *****#

 

 

Guess you like

Origin blog.csdn.net/qq_40602000/article/details/105454985