Computer science “有什么用?”;相对+&引用;操作人员
我在看书。其中描述了一种指定复合事件的方法,该方法类似于正则表达式。让我解释一下基本原理:有事件历史。这些是一组基本事件,每个都有一个唯一的时间戳(因此可以将它们视为序列,但可以对它们使用set操作)。还有事件表达式。这些都是从历史到历史的函数。应用于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
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
的第一个之后的第一个,等等