离散编程,求偏序关系的极大元与极小元
- 格式:rtf
- 大小:5.40 KB
- 文档页数:2
离散数学试题(A 卷及答案)一、证明题(10分)1)(⌝P ∧(⌝Q ∧R))∨(Q ∧R)∨(P ∧R)⇔R证明: 左端⇔(⌝P ∧⌝Q ∧R)∨((Q ∨P)∧R)⇔((⌝P ∧⌝Q)∧R))∨((Q ∨P)∧R)⇔(⌝(P ∨Q)∧R)∨((Q ∨P)∧R)⇔(⌝(P ∨Q)∨(Q ∨P))∧R ⇔(⌝(P ∨Q)∨(P ∨Q))∧R ⇔T ∧R(置换)⇔R2)∃x(A(x)→B(x))⇔ ∀xA(x)→∃xB(x)证明 :∃x(A(x)→B(x))⇔∃x(⌝A(x)∨B(x))⇔∃x ⌝A(x)∨∃xB(x)⇔⌝∀xA(x)∨∃xB(x)⇔∀xA(x)→∃xB(x) 二、求命题公式(P ∨(Q ∧R))→(P ∧Q ∧R)的主析取范式和主合取范式(10分)证明:(P ∨(Q ∧R))→(P ∧Q ∧R)⇔⌝(P ∨(Q ∧R))∨(P ∧Q ∧R))⇔(⌝P ∧(⌝Q ∨⌝R))∨(P ∧Q ∧R) ⇔(⌝P ∧⌝Q)∨(⌝P ∧⌝R))∨(P ∧Q ∧R)⇔(⌝P ∧⌝Q ∧R)∨(⌝P ∧⌝Q ∧⌝R)∨(⌝P ∧Q ∧⌝R))∨(⌝P ∧⌝Q ∧⌝R))∨(P ∧Q ∧R) ⇔m0∨m1∨m2∨m7 ⇔M3∨M4∨M5∨M6三、推理证明题(10分)1) C ∨D, (C ∨D)→ ⌝E, ⌝E →(A ∧⌝B), (A ∧⌝B)→(R ∨S)⇒R ∨S证明:(1) (C ∨D)→⌝E(2) ⌝E →(A ∧⌝B)(3) (C ∨D)→(A ∧⌝B) (4) (A ∧⌝B)→(R ∨S) (5) (C ∨D)→(R ∨S)(6) C ∨D(7) R ∨S2) ∀x(P(x)→Q(y)∧R(x)),∃xP(x)⇒Q(y)∧∃x(P(x)∧R(x))证明(1)∃xP(x) (2)P(a)(3)∀x(P(x)→Q(y)∧R(x)) (4)P(a)→Q(y)∧R(a) (5)Q(y)∧R(a) (6)Q(y) (7)R(a) (8)P(a) (9)P(a)∧R(a) (10)∃x(P(x)∧R(x)) (11)Q(y)∧∃x(P(x)∧R(x))四、设m 是一个取定的正整数,证明:在任取m +1个整数中,至少有两个整数,它们的差是m 的整数倍证明 设1a ,2a ,…,1+m a 为任取的m +1个整数,用m 去除它们所得余数只能是0,1,…,m -1,由抽屉原理可知,1a ,2a ,…,1+m a 这m +1个整数中至少存在两个数s a 和t a ,它们被m 除所得余数相同,因此s a 和t a 的差是m 的整数倍。
第4章 习题解答4.1 A :⑤; B :③; C :①; D :⑧; E :⑩4.2 A :②; B :③; C :⑤; D :⑩; E :⑦4.3 A :②; B :⑦; C :⑤; D :⑧; E :④分析 题4.1-4.3 都涉及到关系的表示。
先根据题意将关系表示成集合表达式,然后再进行相应的计算或解答,例如,题4.1中的}2,2,1,2,2,1,1,1{},2,2,1,1{><><><><=><><=s s E I};2,2,2,1,1,1{><><><=s I而题4.2中的}.1,4,4,3,1,2,4,1,1,1{><><><><><=R为得到题4.3中的R 须求解方程123=+y x ,最终得到}.1,9,2,6,3,3{><><><=R求R R 有三种方法,即集合表达式、关系矩阵和关系图的主法。
下面由题4.2的关系分别加以说明。
1°集合表达式法将ranR ran domR domR,, 的元素列出来,如图4.3所示。
然后检查R 的每个有序对,若R y x >∈<,,则从domR 中的x 到ranR 中的y 画一个箭头。
若danR 中的x 经过2步有向路径到达ranR 中的y ,则R R y x >∈<,。
由图4.3可知}.1,3,4,2,1,2,4,4,1,44,1,1,1{><><><><>><<><=R R如果求G F ,则将对应于G 中的有序对的箭头画在左边,而将对应于F 中的有序对的箭头画在右边。
对应的三个集合分别为ranF domF ran domG ,, ,然后,同样地寻找domG 到ranF 的2步长的有向路径即可。
第一章部分习题及参考答案1 设p、q的真值为0;r、s的真值为1,求下列各命题公式的真值。
(1)p∨(q∧r)(2)(p↔r)∧(﹁q∨s)(3)(⌝p∧⌝q∧r)↔(p∧q∧﹁r)(4)(⌝r∧s)→(p∧⌝q)2.判断下面一段论述是否为真:“π是无理数。
并且,如果3是无理数,则2也是无理数。
另外6能被2整除,6才能被4整除。
”3.用真值表判断下列公式的类型:(1)(p→q) →(⌝q→⌝p)(2)(p∧r) ↔(⌝p∧⌝q)(3)((p→q) ∧(q→r)) →(p→r)4.用等值演算法判断下列公式的类型,对不是重言式的可满足式,再用真值表法求出成真赋值.(1) ⌝(p∧q→q)(2)(p→(p∨q))∨(p→r)(3)(p∨q)→(p∧r)5.用等值演算法证明下面等值式:(1)(p→q)∧(p→r)⇔(p→(q∧r))(2)(p∧⌝q)∨(⌝p∧q)⇔(p∨q) ∧⌝(p∧q)6.求下列公式的主析取范式与主合取范式,并求成真赋值(1)(⌝p→q)→(⌝q∨p)(2)⌝(p→q)∧q∧r(3)(p∨(q∧r))→(p∨q∨r)7.在自然推理系统P中构造下面推理的证明:(1)前提:p→q,⌝(q∧r),r结论:⌝p(2)前提:q→p,q↔s,s↔t,t∧r结论:p∧q8.在自然推理系统P中用附加前提法证明下面推理:前提:p→(q→r),s→p,q结论:s→r9.在自然推理系统P中用归谬法证明下面各推理:前提:p→⌝q,⌝r∨q,r∧⌝s结论:⌝p参考答案:1.(1)p∨(q∧r)⇔0∨(0∧1) ⇔0(2)(p↔r)∧(﹁q∨s) ⇔(0↔1)∧(1∨1) ⇔0∧1⇔0(3)(⌝p∧⌝q∧r)↔(p∧q∧﹁r) ⇔(1∧1∧1)↔ (0∧0∧0)⇔0 (4)(⌝r∧s)→(p∧⌝q) ⇔(0∧1)→(1∧0) ⇔0→0⇔12.p: π是无理数 1q: 3是无理数0r: 2是无理数 1s: 6能被2整除 1t: 6能被4整除0命题符号化为:p∧(q→r)∧(t→s)的真值为1,所以这一段的论述为真。
一、填空题1设集合A,B,其中A={1,2,3}, B= {1,2}, 则A - B=____________________; (A) - (B)= __________________________ .2. 设有限集合A, |A| = n, 则 |(A×A)| = __________________________.3.设集合A = {a, b}, B = {1, 2}, 则从A到B的所有映射是__________________________ _____________, 其中双射的是__________________________.4. 已知命题公式G=(PQ)∧R,则G的主析取范式是_________________________________________________________________________________________.5.设G是完全二叉树,G有7个点,其中4个叶点,则G的总度数为__________,分枝点数为________________.6设A、B为两个集合, A= {1,2,4}, B = {3,4}, 则从AB =_________________________; AB=_________________________;A -B= _____________________ .7. 设R是集合A上的等价关系,则R所具有的关系的三个特性是______________________, ________________________,_______________________________.8. 设命题公式G=(P(QR)),则使公式G为真的解释有__________________________,_____________________________,__________________________.9. 设集合A={1,2,3,4}, A上的关系R1 = {(1,4),(2,3),(3,2)}, R1 = {(2,1), (3,2),(4,3)}, 则 R1R2 = ________________________,R2R1=____________________________, R12=________________________.10. 设有限集A, B,|A| = m, |B| = n, 则| |(AB)| =_____________________________.11设A,B,R是三个集合,其中R是实数集,A = {x | -1≤x≤1, xR}, B = {x |0≤x < 2, xR},则A-B = __________________________ , B-A =__________________________ ,A∩B = __________________________ , .13.设集合A={2, 3, 4, 5, 6},R是A上的整除,则R以集合形式(列举法)记为__________________________________________________________________.14. 设一阶逻辑公式G = xP(x)xQ(x),则G的前束范式是__________________________ _____.15.设G是具有8个顶点的树,则G中增加_________条边才能把G变成完全图。
北京交通大学2007-2008学年第二学期《离散数学基础(信科专业)》期末考试卷(A)学院:____________ _专业:___________________ 班级____________姓名:学号:□选修□必修一、填空题(共10分,每空1分)1.在推理理论中,推导过程中如果一个或多个公式重言蕴涵某个公式,则这个公式就可以引入推导过程中,这一推理规则叫做(T规则)。
2.设A={a,{b}},则A的幂集是P (A)= {Φ, a,{b}, {a,{b}};3.设R 是集合A上的二元关系,如果关系R同时具有自反性、反对称性和传递性,则称R是A上的一个偏序关系。
4.既是满射,又是单射的映射称为1-1映射(双射)。
5.设S为非空有限集,代数系统<P(S),∪>的单位元和零元分别为S和φ。
6.具有n个顶点的无向完全图共有n(n-1)/2条边。
7.简单图是指无环、无重边的图。
8.k-正则图是指所有顶点的度数均为k的的图。
9.Hamilton通路是指通过图中所有顶点一次且仅一次的通路。
10.设G=(E,V)是图,如果G是连通的,则P(G)= 1 。
11.命题公式(P→Q) ∧ (P→R)的主析取范式中包含极小项( A )A.P∧Q∧R;B.P∧Q∧⌝R;C .P ∧⌝Q ∧R ;D .P ∧⌝Q ∧⌝R12. 下列谓词公式中( A )不正确。
A .(∃x)(A(x) →B) ⇔ (∃x) A(x) →B ; B .(∃x)(B →A(x)) ⇔ B →(∃x) A(x);C .(∀x)(B →A(x)) ⇔ B →(∀x) A(x);D .(∀x)(A(x)∨B) ⇔(∀x)A(x)∨B ;13. 设S = {2,a ,{3},4},R ={{a},3,4,1},指出下面的写法中正确的是( D )(A )R=S ; (B ){a,3}⊆S ; (C ){a}⊆R ;(D )φ⊆R ;14. 下列命题公式不是重言式的是 C 。
第7章二元关系2主要内容1. 有序对与卡氏积2. 二元关系(包括空关系,恒等关系,全域关系等)及其表示(关系矩阵,关系图)3. 关系的五种性质(自反性,反自反性,对称性,反对称性,传递性)4. 二元关系的幂运算5. 关系的三种闭包(自反闭包,对称闭包,传递闭包)6. 等价关系和划分(包括等价类,商集,划分块等)7. 偏序关系(包括哈斯图,最大元,最小元,极大元,极小元,上界,下界,最小上界,最大下界等)学习要求1. 掌握:有序对及卡氏积的概念及卡氏积的性质2. 掌握:二元关系,A到B的二元关系,A上的二元关系,关系的定义域和值域,关系的逆,关系的合成,关系在集合上的限制,集合在关系下的象等概念,掌握关系的定义域、值域、逆、合成、限制、象等的主要性质3. 掌握:关系矩阵与关系图的概念及求法4. 掌握:集合A上的二元关系的主要性质(自反性,反自反性,对称性,反对称性,传递性)的定义及判别法,对某些关系证明它们有或没有中的性质5. 掌握:A上二元关系的n次幂的定义及主要性质6. 掌握A上二元关系的自反闭包、对称闭包、传递闭包的定义及求法7. 掌握:等价关系、等价类、商集、划分、等概念,以及等价关系与划分之间的对应8. 掌握:偏序关系、偏序集、哈斯图、最大元、最小元、极大元、极小元、上界、下界、上确界、下确界等概念典型习题1. 下列等式中哪些成立?哪些不成立?为什么?2. 设A={1,2,3}, R={<x,y>|x,y∈A且x+3y<8},S={<2,3>,<4,2>},求下列各式:3. 说明下列关系是否是自反的、对称的、传递的或反对称的。
4. 设R是二元关系,设S={<a,b>|存在某个c,使得<a,c>∈R且<c,b>∈R}。
证明如果R是等价关系,则S也是等价关系。
5. 设R是Z上的模n等价关系,即x~y当且仅当x≡y(mod n),试给出由R确定的Z的划分π。
《离散数学》模拟题北航10秋学期《离散数学》模拟题⼀⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)1.∑中所有有限长度的串形成的集合记为∑* ,容易证得∑*上的连接运算不满⾜交换律,但满⾜( A ) A .结合律 B .分配律 C .幂等律 D .吸收律 2.Klein 群中元素a,b,c 的阶为( B )。
A .1B .2C .3D .4 3.群G 的元素x 的所有幂的集合为G 的⼦群,称由x ⽣成的⼦群。
记为( A ). A . B .(x) C .x D .[x] 4.交换环是指乘法满⾜( A )。
A .交换律B .结合律C .分配律D .吸收律 5.⾄少有( B )元素的含单位元、⽆零因⼦环称为除环。
A .⼀ B .⼆ C .三 D .四 6.∨,∧满⾜( C )的格称为分配格A .交换律B .结合律C .分配律D .幂等律 7.若L 为有限布尔代数,则( B )正整数n ,L 与含有n 个元素的集合A 的幂集同构。
A .不存在 B .存在 C .有可能存在 8.有向图D 的顶点v 作为边的始点的次数之和称为v 的出度,记为d +(v), v 作为边的终点的次数之和称为v 的⼊度,记为d -(v),v 的度数d(v)= ( A )。
A .d +(v)+d -(v)B .d +(v)C .d -(v)D .d +(v)*d -(v) 9.若通路Г=v 0e 1v 1e 2…e 1v 1 中所有顶点互不相同(所有边⾃然互不相同)时称为( B ) A .初级回路 B .路径 C .复杂通路D .迹 10.在n 阶图中,若⼀顶点存在到⾃⾝的回路,则必存在从该顶点到⾃⾝的长度不超过( B )的回路。
A .n-1 B .n C .n+1 D .2n 11.“⼈总是要死的”谓词公式表⽰为( C )。
(论域为全总个体域)M(x):x 是⼈;Mortal(x):x 是要死的。
A .)()(x Mortal x M →; B .)()(x Mortal x M ∧C .))()((x Mortal x M x →?; D .))()((x Mortal x M x ∧?12. 公式))()((x Q x P x A →?=的解释I 为:个体域D={2},P(x):x>3, Q(x):x=4则A 的真值为( A )。
求偏序集中的极大元与极小元
成绩: 10 / 折扣: 0.9
输入
输入偏序集 <A, £ > , A 中的元素数不超过 20 个,分别用单个小写的英文字母表示。
输入的第一行给出 A 中的各个元素,两个相邻的元素之间用逗号隔开。
输入的第二行给出偏序关系£,用有序对的形式给出,如 <a,b>,<c,a> 等等,两个相邻的有序对之间用逗号隔开。
输出
输出 A 的极小元与极大元。
输出的第一行给出各个极小元,两个相邻元素之间用逗号隔开,输出的元素要求按照英文字母的自然顺序排列输出。
输出的第二行给出各个极大元,两个相邻元素之间用逗号隔开,输出的元素要求按照英文字母的自然顺序排列输出。
测试输入期待的输出时间限制内存限制额外进程
测试用例 1 以文本方式显示
1.a,b,c,d↵
2.<a,b>,<c,d>,<a,a>,<b,b>,<c,c>,<d,d>↵
以文本方式显示
1.a,c↵
2.b,d↵
无限制 1024KB 0
测试用例 2 以文本方式显示
1.a,b,c,d,e,f↵
2.<a,b>,<c,d>,<e,f>,<a,a>,<b,b>,<c,c>,<d,d>,<e,e>,<f,f>↵
以文本方式显示
1.a,c,e↵
2.b,d,f↵
无限制 1024KB 0
源程序
#define N 100
#include"stdio.h"
#include"string.h"
int main( )
{ char b[N],c[N],d[N],e[N]; /* b放元素,c放偏序关系,d放极小元,e放极大元 */ int i,j,m=0,n=0,len1,len2,s;
scanf ( "%s%s",b,c );
len1 = strlen( b );
len2 = strlen( c );
for ( i=0;i<len1; ) /* 求极小元,则它除自反关系外不在关系的后者中出现 */ { for ( j=3;j<len2; )
{ s=j-2;
if ( (( c[s]==c[j] ) || ( b[i]!=c[j] )) && j!=(len2-2) ) j=j+6;
else if ( (( c[s]==c[j] ) || ( b[i]!=c[j] )) && (len2-j==2) )
{ d[m]=b[i];
m++;
i=i+2;
j=j+6;
}
else
{ i=i+2;
break;
}
}
}
for ( i=0;i<len1; ) /* 求极大元,则它除自反关系外不在关系的前者中出现*/
{ for ( j=1;j<len2; )
{ s=j+2;
if ( (( b[i]!=c[j] )||( c[j]==c[s] )) && j!=(len2-4) ) j=j+6;
else if ( (( b[i]!=c[j] ) || ( c[j]==c[s] )) && ( len2-j==4 ) )
{ e[n]=b[i];
i=i+2;
n++;
j=j+6;
}
else
{ i=i+2;
break;
}
}
}
m=m-1;n=n-1;
for ( i=0;i<m; )
{ printf ( "%c",d[i] );
printf ( "," );
i++;
}
printf ( "%c\n",d[i] );
for ( i=0;i<n; )
{ printf ( "%c",e[i] );
printf ( "," );
i++;
}
printf ( "%c\n",e[i] );
}。