具体数学笔记 第3章高德纳数的证明与取模二元运算

本文深入探讨了高德纳数的定义及其证明过程,通过反证法展示了Kn⩾n的正确性,同时介绍了递归关系、取余运算及分配率等计算机科学中的重要概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高德纳数的证明:
假设有一个高德纳数,定义为递归式

(3.16)K0=1Kn+1=1+min(2K⌊n/2⌋,3K⌊n/3⌋),n⩾0 \tag{3.16} \begin{aligned} K_0 &= 1\\ K_{n_+1} &= 1 + min(2K_{\lfloor n/2 \rfloor} ,3K_{\lfloor n/3 \rfloor}), n \geqslant 0 \end{aligned} K0Kn+1=1=1+min(2Kn/2,3Kn/3),n0(3.16)

求证:

Kn⩾n K_{n} \geqslant n Knn

这个用直接证明法是有难度的,书上也没有给出直接证明的方法. 不过它有习题2.5的答案. 我尝试结合例题答案,给出我自己的证明过程:
复习一下反证法:反证用条件语句p→qp\to qpq等价于它的倒置$ \lnot q \to \lnot p的事实意味着条件语句的事实意味着条件语句p\to q可以用它的倒置可以用它的倒置 \lnot q \to \lnot p$来证明.

在高德纳数中, ppp(3.16)(3.16)(3.16), qqqKn⩾nK_{n} \geqslant nKnn
直接由ppp 求证qqq比较困难,于是尝试$ \lnot q \to \lnot p$
$ \lnot q 是是K_{n} < n$

也就是说:K⌊n′/2⌋&lt;⌊n′/2⌋, K⌊n′/3⌋&lt;⌊n′/3⌋K_{\lfloor n&#x27;/2 \rfloor} &lt; \lfloor n&#x27;/2 \rfloor {\footnotesize ,}\ K_{\lfloor n&#x27;/3 \rfloor} &lt;\lfloor n&#x27;/3 \rfloorKn/2<n/2, Kn/3<n/3

代入(3.16)(3.16)(3.16), 可得K0⩽0K_0 \leqslant 0K00 但实际上K0=1K_0 = 1K0=1. 因此(3.16)(3.16)(3.16)不成立.
也就是$ \lnot q \to \lnot p$

所以可知p→qp \to qpq, 也就是(3.16)(3.16)(3.16)可以推出K_{n} \geqslant n$

含有底和顶的递归关系经常在计算机科学中出现.
(3.17)n=⌈n/2⌉+⌊n/2⌋ n= \lceil n/2 \rceil + \lfloor n/2 \rfloor \tag{3.17} n=n/2+n/2(3.17)

3.4 mod:二元运算

这一小节没什么内容,主要是介绍一下取余运算.
一些定义:
n=m⌊n/m⌋⎵商+nmod&ThinSpace;&ThinSpace;m⎵余数 n = \underbrace{m\lfloor n/m \rfloor}_{\text{商}} + \underbrace{n \mod m }_{\text{余数}} n=mn/m+余数nmodm
(3.21)xmod&ThinSpace;&ThinSpace;y=x−y⌊x/y⌋,y̸=0 x \mod y = x-y\lfloor x/y \rfloor, y \not= 0 \tag{3.21} xmody=xyx/y,y̸=0(3.21)
(3.22)xmod&ThinSpace;&ThinSpace;0=x x \mod 0 = x \tag{3.22} xmod0=x(3.22)
分配率, 分配率是mod最重要的代数性质
(3.23)c(xmod&ThinSpace;&ThinSpace;y)=(cx)mod&ThinSpace;&ThinSpace;(cy) \tag{3.23} c(x \mod y) = (cx) \mod (cy) c(xmody)=(cx)mod(cy)(3.23)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值