重定向

此博客已停止更新,新址: http://blog.scicooking.net


2006年12月21日星期四

模式的数学定义

转自 axgle

模式(pattern),是个很普遍的概念.设计模式里讲模式,正则表达式中也说模式.那么模式到底如何定义呢?
我想用数学中的集合来给模式下一个定义:
给定集合U,若存在映射F,使得S=F(U)并且S⊆U,则映射F就是集合U上的一个模式(pattern).
上面用数学语言描述,是最精确的,但往往不符合人们的直觉;而若用直觉性的例子来描述,则又欠准确.注意,我下面就用例子来描述:
考虑一下我们的”需求”,按照模式的定义,人类的需求就是一种模式:对于任意事物U,存在需求F,使得S=F(U)并且S⊆U.这是什么意思?
通俗的说,我们人类面对的是千千万万,无穷无尽的东西,但我们并不对所有的东西感兴趣,所以只筛选我们需要的一部分.正是在需求的模式下,让我们去匹配和寻找我们想要的东西,所以说,需求是一种模式.
同样的,设计模式也是模式,正则表达式中的模式也是模式,都符合我对模式的数学定义.
根据模式的定义可以看出,在模式的作用下,集合S⊆U,换句话说,集合S是集合U的子集.奇妙的事情就发生在这里:自由与束缚的悖论由此产生…

没有评论: