更改

跳到导航 跳到搜索
大小无更改 、 2024年12月29日 (日) 13:37
第42行: 第42行:  
* 由 <math>\div</math> 组成的分支:对于任意 <math>(a \div b)</math>,如果 <math>\nu(b) \neq 0</math>,则 <math>\nu((a \div b)) = \nu(a) / \nu(b)</math>。
 
* 由 <math>\div</math> 组成的分支:对于任意 <math>(a \div b)</math>,如果 <math>\nu(b) \neq 0</math>,则 <math>\nu((a \div b)) = \nu(a) / \nu(b)</math>。
   −
我们称算术表达式 <math>a</math> 是''可求值''的(evaluable),如果 <math>\nu(a)</math> 有定义。除非另有说明,下文中我们只讨论可求值的算术表达式。
+
我们称算术表达式 <math>a</math> 是''可估值''的(evaluable),如果 <math>\nu(a)</math> 有定义。除非另有说明,下文中我们只讨论可估值的算术表达式。
   −
给定任意算术表达式 <math>a</math>(无论是否可求值),我们都可以得到它的树形表示。若一个节点 <math>l</math> 为叶节点,它对应的子表达式 <math>s</math> 是一个数字,因此我们将其视为已经“求过值”。若一个节点 <math>b</math> 为分支节点,对应的子表达式 <math>s</math> 是一个表达式,此时我们可以对它应用 <math>\nu</math> 得到一个数 <math>\nu(s)</math>。通过一个自底向上的递归求值过程,子表达式可以一个接一个地被求值,直到得到最终的表达式估值。
+
给定任意算术表达式 <math>a</math>(无论是否可估值),我们都可以得到它的树形表示。若一个节点 <math>l</math> 为叶节点,它对应的子表达式 <math>s</math> 是一个数字,因此我们将其视为已经“已估值”。若一个节点 <math>b</math> 为分支节点,对应的子表达式 <math>s</math> 是一个表达式,此时我们可以对它应用 <math>\nu</math> 得到一个数 <math>\nu(s)</math>。通过一个自底向上的递归估值过程,子表达式可以一个接一个地被估值,直到得到最终的表达式估值。
    
但是一般来讲,表达式的估值顺序通常并不唯一。
 
但是一般来讲,表达式的估值顺序通常并不唯一。
   −
'''定义:''' 对一个算术表达式 <math>a</math> 的''求值顺序'',指的是对其树形表示中所有分支节点进行的一种排序方式,使得每个子节点(子表达式)都在其父节点之前被求值。
+
'''定义:''' 对一个算术表达式 <math>a</math> 的''估值顺序'',指的是对其树形表示中所有分支节点进行的一种排序方式,使得每个子节点(子表达式)都在其父节点之前被估值。
   −
例如,对于上图中的算术表达式,其可能的求值顺序包括:
+
例如,对于上图中的算术表达式,其可能的估值顺序包括:
    
* <math>1 \times 2 \rightarrow \underline{2}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; 2 + 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
 
* <math>1 \times 2 \rightarrow \underline{2}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; 2 + 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
第56行: 第56行:  
* <math>1 \times 2 \rightarrow \underline{2}; 2 + 1 \rightarrow \underline{3}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
 
* <math>1 \times 2 \rightarrow \underline{2}; 2 + 1 \rightarrow \underline{3}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
 
* <math>2 + 1 \rightarrow \underline{3}; 1 \times 2 \rightarrow \underline{2}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
 
* <math>2 + 1 \rightarrow \underline{3}; 1 \times 2 \rightarrow \underline{2}; \underline{2} \times 2 \rightarrow \underline{4}; \underline{4} - 1 \rightarrow \underline{3}; \underline{3} \times \underline{3} \rightarrow \underline{9}; \underline{9} - 6 \rightarrow 3</math>
其中带有下划线的数字表示在求值过程中得到的中间结果。
+
其中带有下划线的数字表示在估值过程中得到的中间结果。
    
==参考文献==
 
==参考文献==
    
本节的内容主要来自苑明理的[https://github.com/mountain/aeg-paper 研究手稿]。
 
本节的内容主要来自苑明理的[https://github.com/mountain/aeg-paper 研究手稿]。
19

个编辑

导航菜单