Computer science “有什么用?”;相对+&引用;操作人员

Computer science “有什么用?”;相对+&引用;操作人员,computer-science,regular-language,Computer Science,Regular Language,我在看书。其中描述了一种指定复合事件的方法,该方法类似于正则表达式。让我解释一下基本原理:有事件历史。这些是一组基本事件,每个都有一个唯一的时间戳(因此可以将它们视为序列,但可以对它们使用set操作)。还有事件表达式。这些都是从历史到历史的函数。应用于h(E[h])的表达式E是h的子集,其中满足E。例如,原语表达式a与a的匹配: a[a,b,a,c,b]=a,a(时间戳隐式) 有一个运算符相对(E,F),其定义如下: 设E_i[h]为E[h]中出现的第i个事件;通过删除时间戳小于或等于E_i[h

我在看书。其中描述了一种指定复合事件的方法,该方法类似于正则表达式。让我解释一下基本原理:有事件历史。这些是一组基本事件,每个都有一个唯一的时间戳(因此可以将它们视为序列,但可以对它们使用set操作)。还有事件表达式。这些都是从历史到历史的函数。应用于
h
E[h]
)的表达式
E
h
的子集,其中满足
E
。例如,原语表达式
a
与a的匹配:
a[a,b,a,c,b]=a,a
(时间戳隐式)

有一个运算符
相对(E,F)
,其定义如下: 设
E_i[h]
E[h]
中出现的第i个事件;通过删除时间戳小于或等于
E_i[h]
的时间戳的所有事件,从
h
获取
h_i
。然后
相对(E,F)[h]=所有i:sf[h_i]上的并集
。较不正式地说,
relative(E,F)
h
中的事件发生,假设在
E
发生的
h
中的某个事件发生后立即开始历史,则满足
F
的要求。例如,
相对(a,b)[b,c,a,c,b]=b
(第二个b,因为它前面有一个a)

现在,有一个操作符
relative+(E)
,我不理解它的意义。定义为:
relative_1(E)=E

相对i(E)=相对(相对i-1(E),E)

relative+(E)=所有正i:s relative_i(E)上的并集


relative+(E)
E
有何不同?按照我的理解,
relative(E,E)[h]
始终是
E[h]
的一个子集,所以它们的并集等于
E[h]

我算出了。要查看
E[h]
relative+(E)[h]
的结果之间的差异,
E
需要比匹配特定类型的所有事件的基本表达式更复杂的东西。例如:假设我们有一个事件表达式
first
,它总是匹配历史中的第一个事件。然后
first[h]
当然是
h
的第一个元素,而
relative+(first)[h]
h
本身,因为它是
h
的第一个,然后是
h
的第一个之后的第一个,等等