一、前言 
不同的数学式子之间相对而言的复杂度肯定是不相同的,但是,我们该如何衡量这里所说的“复杂度”呢?
在本文中,「荒原之梦考研数学」基于乘除法和加减法计算难度的不同,提出了一种衡量式子复杂度的新方式。
二、正文 
如果我们基于一个数学式子中含有的数字和其他符号的多少来定义一个数学式子的复杂度,势必会导致研究复杂问题的式子比研究简单问题的式子更复杂,没有体现出来复杂度的相对性。
同时,在包含“加、减、乘、除”的四则运算中,加法和减法是一种相对于乘法和除法而言更简单的运算方法。
所以,「荒原之梦考研数学」这里就从另一个视角出发,通过乘法或者除法在一个式子中含量的百分比,来定义一个式子的复杂程度,这种复杂度定义应具有的性质为:
$\textcolor{#7d6f4a}{\blacktriangle}$ 如果一个式子含有较多的加法或者减法,那么,就认为这是一个较简单的式子。
$\textcolor{#7d6f4a}{\blacktriangle}$ 如果一个式子含有较多的乘法或者除法,那么,就认为这是一个较复杂的式子;
因此,关于式子复杂度定义的核心思路是:
加减法越多,式子越简单:加减法越多,分母越大;
乘除法越多,式子越复杂:乘除法越多,分子越大。
根据乘法运算的分配律,括号外边的乘除法实际上对括号内每一个参与加减运算的元素都施加了一次乘除运算,因此,对于含有括号的式子,实际的乘除法数量应为:适用于乘法分配律的乘除符号的数量 $\mathbf{MD}$ 乘以乘法分配律运算中括号内参与加减运算的元素数量 $\mathbf{\hat{AS}}$.
次幂运算其实也包含着乘法运算,例如 $a^{3}$ $=$ $a \times a \times a$. 因此,次幂运算所对应的乘法数量也应该算在整个式子的所有乘除法运算的总量中。
此外,为了防止一个式子没有加减法而导致的公式分母为 $0$, 在分母中,我们还需要在分母中额外加上数字 $1$.
于是,根据加法(Addition)、减法(Subtraction)、乘法(Multiplication)和除法(Division)对应的首字母,我们用:
$\textcolor{lightgreen}{ \mathbf{MD} }$ 表示参与乘法分配律运算的乘法符号数量;
$\textcolor{lightgreen}{ \mathbf{\hat{AS}} }$ 表示乘法分配律运算中括号内参与加减运算的元素数量;
$\textcolor{lightgreen}{ \mathbf{md} }$ 表示不参与乘法分配律运算或次幂运算的单独的乘法符号数量;
$\textcolor{lightgreen}{ \mathbf{n} }$ 表示次幂;
$\textcolor{lightgreen}{ \mathbf{as} }$ 表示式子中所有参与加减运算的元素数量;
$\textcolor{lightgreen}{ \mathbb{C} }$ 表示式子的复杂度,
则:
$$
\textcolor{lightgreen}{ \mathbb{C} = \frac{\mathbf{\hat{MD}} \times \mathbf{\hat{AS}} + \mathbf{md} + \mathbf{n} – 1 }{ \mathbf{as} + 1 } } \tag{1}
$$
当然,上面的公式用中文表示就是:
$$
\textcolor{lightgreen}{ \mathbb{C} = \frac{ \text{乘除法运算的总量} }{ \text{加减法运算的总量} + 1 } }
$$
于是,根据公式 $\textcolor{lightgreen}{(1)}$, 我们可以计算出下面这些式子的复杂度:
式 子 | $\mathbf{MD}$ | $\mathbf{\hat{AS}}$ | $\mathbf{md}$ | $\mathbf{n}$ | $\mathbf{as}$ | 复杂度 |
---|---|---|---|---|---|---|
$a$ $\times b$ | $0$ | $0$ | $1$ | $0$ | $0$ | $100 \%$ |
$a$ $\times b$ $\times c$ | $0$ | $0$ | $2$ | $0$ | $0$ | $200 \%$ |
$a$ $+ b$ $+ c$ | $0$ | $0$ | $0$ | $0$ | $2$ | $0 \%$ |
$(a + 2)$ $\times b$ | $1$ | $2$ | $0$ | $0$ | $1$ | $100 \%$ |
$(a + b + c)$ $\times d$ | $1$ | $3$ | $0$ | $0$ | $2$ | $100 \%$ |
$a^{3}$ $+b$ | $0$ | $0$ | $0$ | $3$ | $1$ | $100 \%$ |
式子 | $\mathbf{MD}$ | $\mathbf{\hat{AS}}$ | $\mathbf{md}$ | $\mathbf{n}$ | $\mathbf{as}$ | 复杂度 |
从上面的计算可以看出,公式 $\textcolor{lightgreen}{ (1) }$ 认为,加减法运算对式子复杂度的贡献基本为零,该公式主要关注了乘除法对式子复杂度的贡献。
综上可知,「荒原之梦考研数学」在本文中所提出的如下基于乘除法相对含量的式子复杂度计算公式,对于式子复杂度的计算虽然并不是非常“精细”,存在一定的“误差”,但仍然可以较明确地反映出一个式子的相对复杂度:
$$
\textcolor{lightgreen}{ \mathbb{C} = \frac{\mathbf{\hat{MD}} \times \mathbf{\hat{AS}} + \mathbf{md} + \mathbf{n} – 1 }{ \mathbf{as} + 1 } }
$$
当然,上面的计算公式还有继续改进的空间,例如给不同数量的加减法和乘除法添加不同的权重,或者根据是否存在括号等区分不同运算的复杂度,甚至将积分运算、求导运算、对数运算等对式子复杂度的影响考虑在内。
高等数学
涵盖高等数学基础概念、解题技巧等内容,图文并茂,计算过程清晰严谨。
线性代数
以独特的视角解析线性代数,让繁复的知识变得直观明了。
特别专题
通过专题的形式对数学知识结构做必要的补充,使所学知识更加连贯坚实。