6.3 图的表示和图的同构
判断平面图形的同构与全等

判断平面图形的同构与全等在几何学中,我们经常需要判断两个平面图形是否同构或全等。
同构和全等是图形的重要性质,通过判断两个图形是否同构或全等,可以帮助我们解决各种几何问题。
本文将介绍判断平面图形同构和全等的方法和要点。
一、同构图形的判断同构是指两个图形之间存在一种对应关系,使得对应部分的边长比例相等,对应角度相等。
要判断两个平面图形是否同构,一般可以通过以下步骤进行:1. 判断两个图形的边长比例是否相等。
将两个图形的对应边长进行比较,如果比例相等,则说明两个图形具有同构的可能性。
2. 判断两个图形的对应角度是否相等。
将两个图形的对应角度进行比较,如果相等,则说明两个图形的角度关系也一致,进一步强化了同构的可能性。
3. 利用边长比例和角度关系,逐步构建两个图形的对应关系。
根据已知信息,寻找对应的边或角,利用已知的边长比例和角度关系,推导出其他对应部分的边长和角度。
4. 对比两个图形的对应边和角,重新确定适当的对应关系。
通过对已知和推导得出的对应边与对应角进行综合判断,最终确定两个图形是否同构。
二、全等图形的判断与同构不同,全等是指两个图形在形状和大小上完全相等,即对应边长相等,对应角度相等。
要判断两个平面图形是否全等,可以考虑以下步骤:1. 判断两个图形的对应边长是否全部相等。
如果所有对应边长都相等,那么说明两个图形的对应边关系满足全等的条件。
2. 判断两个图形的对应角度是否全部相等。
如果所有对应角度也相等,那么就进一步证明了两个图形的对应角关系满足全等的条件。
3. 对比两个图形的其他对应关系。
在已知对应边长和对应角度相等的基础上,还可以进一步研究其他对应关系,如斜边、高、面积等,以得出更强的全等结论。
综上所述,要判断平面图形的同构与全等,我们需要比较图形的边长比例、对应角度和其他对应关系。
通过不断推导和比较,可以得出最终的结论。
判断同构和全等图形的过程需要严密的推理和准确的计算,具体问题具体分析,熟练掌握相关知识和方法,才能做出正确判断。
图的同构分类

图同构
,定义
性质:自反、对称、传递 必要条件:
I度数列相等
-10.3图与子图及其分类
定义10.5
设G为n阶无向简单图,若G中每一对结点间都有边相连,则称G为n阶无向完全图,
简称n阶完全图,记作K((n>=1)o设D为n阶有向简单图,若D中每个顶点都邻接到 其余
的n-1个顶点,则称D是n阶有向完全图。设D为n阶有向简单图,若D的基图为n阶 无向完 全图,则称D是n阶竞赛图。
、定义10.7 /
设图G=<V, E>,如果有图(;=(广£),且(; =(,".£'),则称G'为图G的 子图。G为G,的母图,记作。又若Lu厂或E'uE,则称G'为G的 真子图。若厂'=厂, 则称G'为G的生成子图。
例 10.4
求
图10.16生成子图。
解:图10.16的生成子图如下
图10.16求生成子图
-图的分类及运算
-10.2图的同构
定义10.4
设图G=〈V, E〉及G,=<V,, E'〉。若存在一一映射
寸"/匚服七)* 且e=(vi, vj)(或〈vi, vj〉)是。的一条边,
当且仅当迎=(M, )•,«: )) 的点集和边集的重数相等,则
)•、".)〉:是G,的一条边,当且仅当所对应
称G与G,同构,记作G三3
O O-------O
图10.14 0-正则、1-正则、2-正则、3-正则
-10.3图与子图及其分类
补图:给定一个图G,由G中所有的结点,以及能使G成为完全图的所有添 加边所组成的图, 称为G相对于完全图的补图,简称为G的补图,记为&。
图论----同构图(详解)

图论----同构图(详解)图论当中的术语,假设G=(V,E)和G1=(V1,E1)是两个图,如果存在⼀个双射m:V→V1,使得对所有的x,y∈V均有xy∈E等价于m(x)m(y)∈E1,则称G和G1是同构的,这样的⼀个映射m称之为⼀个同构,如果G=G1,则称他为⼀个⾃同构。
简单来说,同构图的结点数必须相同,结构必须相同。
如图3.6,第⼀个图形和第⼆个图形的区别在于环的数量。
第⼀个图形为⼀个环,第⼆个为两个环,所以不是同构图。
若删去z1和u1,删去v1和w1,连接z1和w1,成为⼀个v1u1的链和z1w1x1y1的环,依旧不是同构图,因为必须环数相同,链数相同。
但这还是缺少⼀个条件,⽐如图形A存在两个环a1和a2,a1有3个结点,a2有5个结点,图形B也有两个环,b1有4个结点,b2有4个结点,依旧不是同构图,这⾥的条件就是环上或链上的借点数相同,和结点顺序⽆关。
引⼊例题,,判断两次组成的图形是否是同构图。
思路之⼀:通过并查集确定环数/链数,和环内/链内的⼈数,再排序进⾏⽐较。
排序时按照⼈数排序,若⼈数相同要按照状态排序。
注意这⼏点或许会⽐较容易过。
请先⾃⼰进⾏尝试,尝试后再参考代码。
1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #include<math.h>5 #include<vector>6 #include<algorithm>7 #include<queue>8 #include<set>9using namespace std;10int pre[10100];11struct e{12int a,b;13 };14 e s1[10010];15 e s2[10010];16int find(int x)17 {18while(x!=pre[x])19 x=pre[x];20return x;21 }22int cmp(e a,e b){23if(a.a==b.a) return a.b>b.b;24else return a.a>b.a;25 }26void init(int n)27 {28for(int i=1;i<=n;i++)29 pre[i]=i;30 }31int main()32 {33int t,cas=1;;34 scanf("%d",&t);35while(t--)36 {37for(int i=1;i<10010;i++)38 {39 s1[i].a=1;s1[i].b=0;40 s2[i].a=1;s2[i].b=0;//最开始每个都是独⽴的,默认为链41 }42bool flag=false;43int n1,m1,n2,m2;444445 scanf("%d%d",&n1,&m1);46 init(n1);47for(int i=0;i<m1;i++)48 {49int a,b;50 scanf("%d%d",&a,&b);51int dx=find(a);52int dy=find(b);53if(dx!=dy)54 {55 pre[dx]=dy;56 s1[dy].a+=s1[dx].a;57 s1[dx].a=0;//把拉⼿的孩⼦数量加起来,下同58 }59else s1[dy].b=1;//成环60 }6162 scanf("%d%d",&n2,&m2);63 init(n2);64for(int i=0;i<m2;i++)65 {66int a,b;67 scanf("%d%d",&a,&b);68int dx=find(a);69int dy=find(b);70if(dx!=dy)71 {72 pre[dx]=dy;73 s2[dy].a+=s2[dx].a;74 s2[dx].a=0;75 }76else s2[dy].b=1;77 }78if(n1==n2){7980 sort(s1+1,s1+n1+1,cmp);81 sort(s2+1,s2+n2+1,cmp);//排序,若孩⼦的数量相同则对是否是环进⾏排序,这⾥要注意8283for(int i=0;i<n1;i++)84if(s1[i].a!=s2[i].a||s1[i].b!=s2[i].b) {//判断数量,状态85 flag=true;86break;87 }88 }89if(n1!=n2) flag=true;9091if(flag) printf("Case #%d: NO\n",cas++);92else printf("Case #%d: YES\n",cas++);93 }94return0;95 }。
图论中的图的同构与同构问题

图论中的图的同构与同构问题在图论中,同构是一个重要的概念。
图的同构指的是两个图结构完全相同,只是节点的标签或者边的标签不同。
而图的同构问题则是判断两个给定的图是否同构的问题。
本文将详细探讨图的同构与同构问题。
一、图的同构图的同构是指两个图结构完全相同,只是节点的标签或者边的标签不同。
为了更好地理解图的同构,我们先来了解一些基本概念。
1.1 图的定义在图论中,图由节点(也称为顶点)和边组成。
通常用G=(V, E)来表示一个图,其中V是节点(顶点)的集合,E是边的集合。
边可以用有序或无序对(u, v)来表示,表示节点u和v之间存在一条边。
1.2 同构图的定义给定两个图G1=(V1, E1)和G2=(V2, E2),如果存在一一对应关系f: V1→V2,使得对于每条边(u, v)∈E1,有(f(u), f(v))∈E2,则称图G1与G2同构。
其中,f被成为同构映射。
二、图的同构问题图的同构问题是判断两个给定的图是否同构的问题,它是图论中的一个经典问题。
在实际应用中,图的同构问题非常重要,对于计算机视觉、网络安全等领域都有广泛应用。
2.1 图的同构问题的定义给定两个图G1=(V1, E1)和G2=(V2, E2),判断它们是否同构。
2.2 图的同构问题的解决方法图的同构问题是一个NP问题,目前还没有确定的多项式时间解决算法。
在实际应用中,为了解决图的同构问题,通常采用以下方法:(1)特征向量法:通过计算图的特征向量,并比较两个图的特征向量来判断是否同构。
(2)图分类器法:通过训练一个图分类器,将同构和非同构的图进行分类。
(3)哈希算法法:通过为图节点和边生成一个唯一的哈希值,并比较两个图的哈希值来判断是否同构。
以上方法都有各自的优缺点,在不同的应用场景下选择合适的方法。
三、图的同构性质图的同构性质是指图的某些特征在同构映射下保持不变。
在判断图的同构性质时,可以利用这些性质来简化问题。
3.1 路径在判断图的同构性质时,路径是一个重要的性质。
图论中的图的同构与同胚

图论中的图的同构与同胚图论是数学中的一个分支,研究了如何描述图以及图的性质和特征。
在图论中,同构和同胚是两个重要的概念,它们用来描述不同图之间的关系。
本文将介绍图的同构和同胚的概念、定义以及应用。
一、图的同构在图论中,如果两个图具有相同的结构,即结点和边的对应关系相同,但结点和边的标签可以不同,那么这两个图被称为同构的。
图的同构关系可以理解为,它们具有相同的拓扑结构,只是标签的不同。
二、图的同构的定义设G=(V,E)和G'=(V',E')是两个图,如果存在一个双射函数f:V→V',使得(u,v)∈E当且仅当(f(u), f(v))∈E',则称G和G'是同构的。
其中,V和V'分别表示两个图的结点集合,E和E'分别表示两个图的边集合。
三、图的同构的判断方法判断两个图是否同构是图论中一个典型的问题,有很多方法可以判断两个图是否同构,以下是几种常用的方法:1. 度序列法:图的度序列是指将图中结点按照度的大小排列得到的序列。
如果两个图的度序列相同,则它们可能是同构的。
2. 邻接矩阵法:将图用邻接矩阵表示,即一个n×n的矩阵,矩阵中的元素a[i][j]表示结点i和结点j之间是否有边。
如果两个图的邻接矩阵相同,则它们可能是同构的。
3. 搜索法:通过对图进行深度优先搜索或广度优先搜索,得到图的某种特征序列。
如果两个图的特征序列相同,则它们可能是同构的。
四、图的同胚在图论中,如果两个图具有相同的结构,即结点和边的对应关系相同,并且结点和边的标签也相同,那么这两个图被称为同胚的。
同胚可以理解为同构的一个特殊情况。
五、图的同胚的判断方法判断两个图是否同胚是图论中的一个难题,其复杂性在于需要同时考虑结点和边的对应关系。
目前还没有有效的算法可以快速地判断两个图是否同胚,只能通过试探的方法进行判断。
六、图的同构与同胚的应用图的同构和同胚在实际应用中有许多重要的应用,以下是几个典型的应用场景:1. 化学分子结构的比较:化学分子可以用图来表示,通过对比不同分子的图的同构关系,可以判断它们的相似性以及化学性质的差异。
离散数学中的图的同构与同构不变性

离散数学中的图的同构与同构不变性离散数学是数学的一个分支,研究离散的结构和对象。
图论是离散数学的一个重要分支,研究图的性质和结构。
在图论中,同构和同构不变性是两个重要的概念。
一、同构的定义和性质在图论中,如果两个图具有相同的结构,即它们的顶点集和边集相同,那么这两个图就是同构的。
具体来说,对于两个图G=(V, E)和G'=(V', E'),如果存在一个双射函数f: V→V',使得对于任意的u, v∈V,(u, v)∈E当且仅当(f(u), f(v))∈E',那么图G和图G'就是同构的,记作G≅G'。
同构是图论中的一个重要概念,它可以帮助我们研究图的性质和结构。
同构关系具有以下性质:1. 同构关系是等价关系。
即对于任意的图G,它与自身是同构的;对于任意的图G和图G',如果G与G'是同构的,则G'与G也是同构的;对于任意的图G、G'和图G'',如果G与G'是同构的,G'与G''是同构的,则G与G''也是同构的。
2. 同构关系保持图的基本性质。
如果两个图是同构的,则它们具有相同的顶点数和边数。
3. 同构关系与图的表示方式有关。
同一个图可以有不同的表示方式,而不同的表示方式可能导致不同的同构判断结果。
二、同构不变性同构不变性是指图在同构变换下保持某些性质不变。
具体来说,如果两个图是同构的,那么它们在某些性质上是相同的。
同构不变性在图论中有重要的应用,可以帮助我们简化问题的分析和求解。
在图的同构不变性中,有一些重要的性质是不变的,包括:1. 度序列:图的度序列是指图中每个顶点的度按非递减顺序排列的序列。
对于同构的图,它们的度序列是相同的。
2. 连通性:图的连通性指的是图中任意两个顶点之间存在路径。
对于同构的图,它们的连通性是相同的。
3. 路径和回路:图中的路径是指顶点之间的连续边构成的序列,回路是指起点和终点相同的路径。
6.5---同构及同态PPT课件

-
4
证明
(1) 因为G非空,显然G′非空. (2)设a’∈G′,b’∈G′,往证a’b’∈G′。
因有a,b∈G,使得 a’=σ(a), b’=σ(b),
故按σ的同态性, a’b’= σ(a)σ(b)=σ(ab),
而ab ∈G, 因而a’b’∈G′。
-
5
(3) 往证G′中有结合律成立: 设a’ ,b’,c’∈G,往证a’ (b’ c’)=(a’b’)c’。 有a,b,c∈G,使得 a’ =σ(a),b’=σ(b),c’=σ(c), 因群G中有结合律成立,所以a(bc)=(ab)c。于 是
……
用⊕表示陪集间的加法,则
1 ⊕4 =(1+N)⊕(4+N)=(1+4)+N=N= 0 ,
G 在陪集加法下是一个群,若命σ:a→a+N,
则σ是G到 G 上的同态映射,且σ的核就是N。
-
21
第三同态定理
定理6.5.4 设σ是G到G′上的一个同态映射,
若σ的核为N,则G′ G/N。 ❖例. 设G是整数加法群,
σ:x→x(mod 5),x∈G ,则 G′=σ(G)={0,1,2,3,4} 是模5的加法群,σ是G 到G′上的同态映射。 σ的核为N=5G,
G∕N =={ ,0 ,1 ,2 ,3 }4, 则G′G∕N。
-
22
证明
因为G′的元素和G∕N的元素一一对应,设在这个 一一对应之下,G′的元素a′和b′分别对应G∕N的 元素aN 和bN,其中a′=σ(a),b′=σ(b) :
b∈σ-1(a’)iff σ(b)=a′
iff σ(b)(a′)-1=1′
iff σ(b)(σ(a))-1=σ(ba-1)=1’
第6章代数

第六章 代 数 例3 (a) 考虑具有〈N, +, 0〉形式的构成成分和下述公理的代数类。 (1) a+b=b+a (2) (a+b)+c=a+(b+c) (3) a+0=a
那么〈I, ·, 1〉, 〈ρ(S), ∪, 和〈R, min, +∞〉(这里R是
包含+∞的非负实数)等, 都是这一种类的成员。
而每一非0元素 x 的逆元是(k - x) 。
第六章 代 数
(g) 设Nk是前k个自然数的集, 这里k≥2, 定义模k乘法×k如下:
x×ky = z
这里z∈Nk, 且对某一n, xy – z = nk。
即 xy/k = n …… z (余 )
( --------用于计算)
结论:
① 1是幺元 。
② 有逆元仅当x和k互质。
第六章 代 数
③ (G除去幺元b,剩下a与c ) 经考察发现:
运算表中a所在行与c 所在列的交叉元素,
以及c所在行与a所在列 的交叉元素都是幺元b。
故a与c互 逆 。
*a b c aa a b ba b c cbc c
第六章 代 数
(e) 考虑在函数的合成运算下,集合A上的所有函数的集合F。
那么恒等函数IA 是幺元,每一双射函数有一逆元。 (f) 设 Nk 是前k 个自然数的集合, 这里 k ﹥ 0 ,
在运算表中, x0所在行与列的元素,分别与表头的行与
列的元素一一对应相同 。 结论2: 在运算表中,某元素 y0 ∈ A是运算*的零元
在运算表中, y0所在行与列的元素都是y0
结论3: 运算*满足交换律
运算表中的元素 关于主对角线对称
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图的同构
6.3.2 图的表示
不带多重边的图,可以使用邻接表表示。
顶点 相邻顶点
简单图 的表示
起点
终点
有向图 的表示
6.3.2 图的表示
6.3.3 邻接矩阵
图里有许多边时,用邻接矩阵表示图,易于执行图的 算法。
G = (V, E) 是简单图,其中|V| = n.
将G的顶点任意地排列成v1, v2, … , vn. 对这个顶点 表 来说,G的邻接矩阵AG 是一个n × n 的0-1矩阵。
6.3.3 邻接矩阵
当出现多重边时,邻接矩阵不再是0-1矩阵。
例.用邻接矩阵表示下图的伪图 顶点顺序为a,b,c,d的邻接矩阵为:
a
b
3 0 1 1
c
0 1
d
2 1 2 0
a b c d
0 3
0
2
1
2
6.3.3 邻接矩阵
邻接表和邻接矩阵的选择。
邻接表:
简单图包含的边相对较少,是稀疏图时
邻接矩阵:含有的边数超过总的所有可能边数的一 半,是稠密的简单图
它满足性质:当vi 和vj 不相邻时第(i, j)项是0 ,即如 果AG = [aij], 则
若{vi , vj}是G的一条边 {vi , vj}不是G的一条边
6.3.3 邻接矩阵
例:用邻接矩阵表示下图。
a a b c d
0 1 1
b
1 0
c
1 1 0 0
d
1 0 0
1 0
1
0
6.3.3 邻接矩阵
如此以顶点的度和相邻关系为依据,寻找G的顶点集和H的顶点 集之间的一一对应关系。
6.3.5 图的同构
f(u1) = v6, f(u2) = v3, f(u3) = v4, f(u4) = v5 , f(u5) = v1, f(u6) = v2
接着通过G和H的邻接矩阵判断f是否保持边的关系。
同构
解:两图具有5个顶点,5条边, 5个2度顶点 u1与两个2度顶点u2、u5相邻, 若f(u1)= v1, v1与v3、 v4相邻 可先取f(u2)= v3, 则f(u3)= v5,
v1 v2 v3 v4 v5
6.3.4 关联矩阵
例.用关联矩阵表示下图 用各项相等的 列表示多重边
e1 e2 e3 e4 e5 e6 e7 e8
v1 v2 用恰有一项为 v 1的列表示环, 3 v4 此1对应于环 所关联的顶点 v5
用关联矩阵表示右图
6.3.5 图的同构
我们经常需要知道是否能以同样的方式画出两个图。 如:不同的化合物分子式相同但结构不同。
6.3.5 图的同构
例.判断下面两个图是否同构 两个图都为6个顶点7 条边,4个2度顶点和 2个3度顶点。
使用同构的概念继续判断两图是否同构: 图G 图H
deg(u1)=2且u1与 2个3度顶点相邻 u2与u1相邻
只有v4和v6具备相同的特性,所以f(u1)= v4 或f(u1)= v6,可先取f(u1)= v6验证,若得不出 同构再验证f(u1)= v4 所以f(u2)= v3或f(u2)= v5,可先取f(u2)= v3验证
构判 分断 两两 步个 图 是 否 同
当两个图的以上三点属 性都相同时,使用同构 的概念或者邻接矩阵证 明两个图同构。
6.3.5 图的同构
例.判断下面两个图是否同构
所以两个图不同构
1.同构的简单图有相同的顶点数: 两个图都为5个顶点 2.有相同的边数: 两个图都有6条边 3.对应顶点的度相同: 图H有1度顶点e,而图G没有1度顶点
6.3.4 关联矩阵
G = (V, E) 是无向图,顶点为v1, v2, … vn,边为 e1, e2, … em。相对于V 和E 的这个顺序的关联矩
阵是n × m 矩阵M = [mij], 其中
边ej关联vi时 边ej不关联vi时
6.3.4 关联矩阵
例.用关联矩阵表示下图
e1 e2 e3 e4 e5 e6
应用
分析出新的化学合成 物时,可检查分子图 数据库,判断是否是 已知的化合物。
可以验证由自动化工 具设计的电路是否与 最初的设计一致。 通过寻找芯片的图 模型中的最大同构 字图,来判断是否 两个芯片具有相同 的知识产权。
6.3.5 图的同构
简 单 图 G 1 = ( V 1, E 1) 和 G 2 = ( V 2, E 2) 若 存 在 一 对 一 的 和 映 上 的 从 V 1到 V 2 的 函 数 f , f 具 有 如下性质: 对 V 1 里 的 所 有 a 和 b 来 说 , a 和 b 在 G 1里 相 邻 当 且 仅 当 f ( a ) 和 f ( b ) 在 G 2里 相 邻 , 就 说 G 1和 G 2 是同构的。 这样的函数f称为同构。
同构
f(u4)= v2, f(u5)= v4
u 1u 2u 3u 4u 5
u1 u2 ������1 = u 3 u4 u5
0
1 0
v 1v 3v 5v 2v 4 v1 v3 ������2 = v 5 v2 v4
0 1 1 0 0 1 0 0 1 0
1
0 1
0
1 0
0
0 1
1
0 0
0
0 1
1
0 0
例:画出带有相对顶点顺序a,b,c,d的邻接矩阵的图。
a
a b c d
0 1 1 0
b
1 0 0 1
c
1 0 0 1
d
0 1 1 0
a
b
d
c
注意: 图的邻接矩阵依赖于所选择的顶点的顺序, n 个顶点的图有n!个不同的邻接矩阵。 简单图的邻接矩阵是对称的,aij =aji, aii =0。
用邻接矩阵表示下图
6.3.5 图的同构
例.判断பைடு நூலகம்面两个图是否同构
1.同构的简单图有相同的顶点数: 两个图都为8个顶点 2.有相同的边数: 两个图都有10条边 3.对应顶点的度相同: 都有4个2度顶点和4个3度顶点
使用同构的概念继续判断两图是否同构:
图G中deg(a) = 2,所以a必然对应图H中的2度顶点t, u, x,或y。 但a与两个3度顶点相邻,而t, u, x, y都有相邻的2度顶点,所 以两图的顶点集之间不存在同构的函数f。
定义1
6.3.5 图的同构
例.证明图G和图H同构
解: 图G中相邻的顶点: 图H中相邻的顶点:
u1与u2、u3 u 与u2、u3 u4 2 与u 4 u3 与 u4
v1与v3、v4 v2 与v3、v4
存在f(u1) = v1, f(u3) = v3,f(u2) = v4, f(u4) = v2
使得u1与u2、u3相邻时有f(u1)与f(u2) 、 f(u3) 相 邻,u4与u2、u3相邻时有f(u4)与f(u2) 、 f(u3) 相
0
1 0
1
0 1
0
1 0
0
1
0
0
1
0
0
1
1
0
同构。 f(u1)= v1, f(u2)= v2, 则f(u3)= v3, f(u4)= v4, f(u5)= v6, f(u6)= v5
不同构。
邻。
6.3.5 图的同构
事实上,通过检验每一种对应来看它是否保持相邻关 系是不可行的,尤其在顶点数很多的时候。
判断两个图的属性 是否相同,如果某 个属性只有一个图 具备,那么这两个 图不同构 1.同构的简单图有相同的顶点数 2.有相同的边数 3.对应顶点的度相同(图G中的d 度顶点v对应图H中的d度顶点 f(v)) G的邻接矩阵与H的邻接 矩阵相同,即从图G的顶 点集到图H的顶点集的函 数f保持边的关系,就说 明f是同构的。