图形化语法

2.1 定义

2019-10-14  本文已影响0人  bigfacewo

以下定义是相当标准的。 由于在数学,计算机科学和统计学的各种应用中,诸如关系之类的单词使用的方式有所不同,因此我们尝试尽可能地给它们一个通用的符号和结构。 这意味着我们的符号可能与某些专业领域中使用的符号不同。 选择抽象级别和细节级别并不容易。 当抽象不符合我们的目的时,我们已尝试避免抽象,并且仅在为了清楚起见需要它们时才包含这些术语。

2.1.1 Sets 集

集合是唯一对象的集合,我们用大写字母表示(例如X)。 集合中的对象称为集合中的元素或成员。 我们用小写字母(例如x)表示元素,并用x\in X 表示状态“xX的元素”。 我们用花括号(例如)X=\{a,b,c\}分隔集合中的元素。 我们将表示为的集合的补码定义为所有不在X中的元素的集合。

空集(\oslash)是一个空集或没有元素的集。 我们用R表示实数集,用Z表示整数,用N表示自然数(大于零的整数)。我们用A=\{a:a\in R,a>0\}表示法表示“ A是元素a的集合,每个a是一个成员 如果集合A的每个元素也是集合B的元素,则AB的子集,表示为A\subseteq B如果AB的子集,但B中至少有一个元素不在A中,则AB的适当子集,表示为A\subset B

如果将A的每个元素与B的元素配对,从而A的每个元素恰好出现一次,而B的每个元素恰好出现一次,则在配对中,我们说AB是等价的,表示为。 如果集合A等于整数集合的子集,我们说集合A是可数的。 如果Anull或等效于集合\{1,2,...,m\},其中m为正整数,则我们说A为有限集。 有限集的基数为m,即元素的数量。 索引集是\{(1,a_1,(2,a_2),...,(m,a_m)\}形式的集合。

是允许重复元素的集合。 我们用方括号对袋子中的元素进行定界,例如B=<a,b,b,c>。 列表是有序的包。 定义列表的另一种方法是说它是一个索引集。 定义列表的另一种方法是说它是零个或多个元素的完全有序的序列。

两个实数aa<b确定R中的区间。两种类型的区间是:
\begin{align} (a,b) &= \{x:a<x<b\} 开区间\\ [a,b] &= \{x:a\le x\ge b\} 闭区间 \end{align}

我们也可能在左边关闭并在右边打开,或者在左边打开并在右边关闭。

A\cap B表示的两个集合A和B的交集是集合A\cap B = \{x:x \in A \ and\ x \in B\}
如果A=\{1,2\}B=\{2,3,4\},则A\cap B=\{2\}。如果两个集合不相交A\cap B=\oslash两个集合A和B的并集(用A\cup B表示)是集合A\cup B=\{x:x\in A\ or \ x\in B\}

举个例子,如果A=\{1,2\}B=\{2,3,4\},则A\cup B=\{1,2,3,4\}

A\sqcup B表示的两个集AB不相交并集产生了一个集合,其成员是带标签的元素。 带标签的元素是x:$形式之一,其中x\in X是元素,而符号$是标记。 标签有时称为标识符或颜色。 它可以是字符串,数字值或其他信息。 使用不相交的并集,我们用包含该元素的集合的名称标记一个元素。 例如,如果A = \{1,2\}并且B = \{2,3,4\},则A\sqcup B= \{1:A,2:A,2:B,3:B,4:B\}。标签只是标签,它们不参与数值计算。

集合A的一个分区是其并集为A的非空、成对不相交子集的集合\{A_1,...,A_n\}。这些子集称为。如果P_1的每个块都包含在P_2的某个块中,则一个分区P_1被称为细化另一个分区P_2。在关于聚类和决策树的文献中,连续细化(P_1细化P_2细化P_3…)被称为递归分割(e.g.,breiman et al.,1984)。

集合AB的(笛卡尔)乘积(用A\times B表示)是集合A\times B = \{(a,b):a\in A \ and \ b \in B\}

对于我们的例子,A\times B= \{(1,2), (1,3), (1,4), (2,2), (2,3), (2,4)\}

我们称(a,b)有序对或元组。 尽管此表示法与开放区间的表示法相同,但从上下文中应清楚其含义。 我们称(a_1,a_2,...,a_n)为一个n元组。 我们将n元组中的项a_i(i = 1,...,n)称为条目。 n元组的度为n,我们用R^n表示实数对的乘积集。

2.1.2 关系

ABAB之间的二进制关系RA\times B的子集。 给定A\times B中的元组(a,b),如果(a,b)\in R我们说a通过R相关。 一个例子是实数集合R与本身给出的“小于或等于”关系通过R=\{(x,y):x\le y,x\in R,y\in R\}。 另一个例子是集合之间的性别名称关系R
\begin{align} A &= \{"boy", "girl"\} , \mbox{和}\\ B &= \{"Mary", "John", "Jean", "Pittsburgh"\} , \mbox{由}\\ R &= \{("boy", "John"), ("boy", "Jean"), ("girl", "Mary"), ("girl", "Jean")\} \end{align}

A的某些成员可能不通过RB的任何成员相关,B的某些成员可能不通过RA的任何成员相关(除非我们假定某人可能被称为匹兹堡!)。

\{A_1\times A_2\times ... A_n\}上的n元关系R是\{A_1\times A_2\times ... A_n\}的子集。一些作者通过标记来表示这种关系,例如:
R=\{(a_{11}:A_1,a_{12}:A_2,...,a_{1n}:A_n),...(a_{m1}:A_1,a_{m2}:A_2,...,a_{mn}:A_n)\}a_(ij) \in A_j

2.1.3 函数

假设我们为集合A的每个元素分配了集合B的唯一元素。这些分配的集合是一个函数,也称为从AB的映射。表示fB的元素分配给的元素 A,我们写做f:A \rightarrow B

我们称Af的域,Bf的值域。 元素f(a)\in BBf分配给a\in A的唯一元素。 我们将这些元素的集合\{f(a):a\in A\}称为f下或f范围内的A的图像。描述函数的另一种方法(无需明确命名)是使用符号。 在这种用法中,“a\mapsto b”的意思是“将b分配给a的函数”。

像函数一样的对象可以看作是黑盒子,可以接收输入并返回输出。 对于每个输入,只有一个可能的输出。 该输出不必是单个数字或字符串。 输出是值域B元素采用的任何形式。 许多不同的输入可能会产生相同的输出,但是对于给定的输入,我们可能不只有一个带标签的输出。 这个黑匣子定义包括函数f(x)=x^2以及函数f(二叉树)= 其父子关系列表。

2.1.4 图

对于每个函数f:A \rightarrow B,都有一个A\times B子集,\{(a,f(a):a\in A)\}

我们称之为f的图。函数f(x)= x^2的图形,其中x属于实数集,是所有元组(x,x^2)的集合,它是实数集与其自身交叉的子集。 函数f(二叉树)= 其父子关系列表的图是由(二叉树,其父子关系列表)定义的所有元组的集合,它是相交的子集 所有二叉树的集合与所有父子关系列表的集合。 函数图唯一地确定函数,反之亦然。 例如,如果(2,4)f的图,则f(2)= 4

2.1.5 组成

合成是由功能链形成的功能。 设f:X \rightarrow Yg:Y' \rightarrow Zf的值域是g(即,Y\subseteq Y')的域的子集的函数。 由规则:
(g\circ f)(x)=g(f(x))\; \mbox{for all}\; x\in X
所定义的函数g\circ f:X \rightarrow Zfg的组成或复合函数。

例如,如果fg是字符串函数,并且f的功能规则是<大写最左字母>,而g的规则是<大写字母数>,则将定义以下组成,因为所有输入都是集合的成员 字符串和f的任何输出是g的合法输入。

g(f("wow")) = 1
g(f("Wow")) = 1
g(f("123")) = 0
g(f("")) = 0

组成范围是g的范围,即非负整数的集合。 同样,空字符串是字符串集的成员。 如果我们以C之类的语言实现这些功能,则必须确保正确处理null值。

2.1.6 转换

转换是将集合A映射到自身的函数f:A\rightarrow A。 所有转换都是函数,但并非所有函数都是转换。 因为转换将集合映射到自身,所以转换的组成就是转换。

例如,如果fg是文本字符串转换,并且f的规则是<大写最左字母>,而g的规则是<附加感叹号>,则以下组合都是转换。

g(f("wow")) = "Wow!"
f(f("wow")) = "Wow"
g(g("wow")) = "wow!!"
f(g(f("wow"))) = "Wow!"
g(f(g("wow"))) = "Wow!!"
f(g("")) = "!"

2.1.7 代数

代数是

  1. 集合
  2. 集合上的算子
  3. 这些算子组合的规则的集合。

该定义包含的代数比基于实数的普通算术的经典代数更通用,更受限或更抽象。

运算符概括了转换的概念。 集合X上的运算符是在集合X\times X \times \dots X上定义的函数,该函数在X中返回一个值。运算符为一元或一元的(具有一个参数,即在X上定义,因此有一个转换),二进制或二元函数(具有两个参数,即在X\times X上定义)或n元(具有很多参数,即在X与自身的n倍积上定义)。 代数规则指定运算符的组成方式。 一个示例是由(a,b)\mapsto a+b定义的集合R上的运算符“ +”。

2.1.8 变量

变量X是映射f:O\rightarrow V,我们将其视为三元组:
X=[O,V,f]
定义域O是对象的集合,值域V是值的集合,函数fO中的每一个元素分配给V中对应的值。

f下的O图像包含X的值。我们将可能的值表示为x,其中x\in V。 我们将对象的值表示为X(o),其中o\in O。 如果V是一个间隔,则变量是连续的。 如果在V和整数的有限子集之间存在等价变量,则该变量为类别变量

变量可以是多维的。X是由p个一维变量组成的p维变量:
\begin{align} X&=(X_1,...,X_P)\\ &=[O,V_i,f],i=1,...,p\\ &=[O,V,f] \end{align}
元素x=(x_1,...,x_p),x\in VXp维值。

2.1.9 变量集

我们称这样的三元组:
X=[V,\tilde{O},f]为一个变量集。这个词代表变量集。

varset反转用于变量的映射。 也就是说,定义域V是一组值,值域\tilde{O}是所有可能的对象包的集合,函数fV的每个元素分配\tilde{O}中的一个元素。

为了简化变量集上图形代数运算的定义,我们将通常用于变量的映射进行了反转。 为此,我们还将变量的对象集替换为varset的包集。 我们在值域中使用包,因为一个值可能多次映射到一个对象(如重复测量)。

2.1.10 框架

框架是一组元组(x_1,...,x_p),范围覆盖p维变量集域中的所有可能值。因此框架依赖于代数表达式。框架作为计算美学的参考结构。通俗的作家常把框架称为用轴划分的矩形界限,类似于画框。这种流行的观念有几个问题。首先,轴是坐标系的参考线;它们不是空间的边界。第二,框架不仅仅是位置的;例如,我们可以用一个生成颜色空间的代数表达式构造一个颜色框架。第三,框架不是矩形;它们是元组的集合。

上一篇 下一篇

猜你喜欢

热点阅读