zoukankan      html  css  js  c++  java
  • 信息与计算科学导论复习笔记一

    信息与计算科学导论一

    罗素悖论

    考虑这么一个集合:
    (S=left{T|T otin S ight})
    考虑一个集合内的元素(x),若(xin S),则根据定义(x otin S),矛盾
    (x otin S),则根据定义有(xin S),矛盾
    我们找不到这样一个集合,这就是大名鼎鼎的罗素悖论

    公理集合论

    悖论的源头在于构建集合的描述性方法,我们在使用这个方法的时候出现了所谓“自引用”的情况
    为了体系的和谐与自洽,数学家们提出了公理集合论,创造了“类”(class)的概念。
    一个集合是一个类,但是所有的类不都是集合。对于那些不是集合的类我们称之为真类(proper class)
    可以存在set的set但是不能存在class的class,这样就可以比较和谐地处理一些问题了

    关于公理集合论的的具体内容可以看wiki,这里给了一个比较重要的公理——正则公理
    (S)为一集合,要么(S=varnothing),要么(exists xin S)使得(xcap S=varnothing)
    这排除了一些看起来是集合然而不太和谐的真类,比如说(left{left{left{dots ight} ight} ight})

    例子:不存在集合(A)(B)使得(Ain B)(Bin A)
    证明:假设存在集合,由集合公理得到(left{A,B ight})也是一个集合,这个集合与正则公理矛盾

    例子:不存在(left{S_0,S_1,S_2,dots ight})使得(forall iinmathbb N)都有(S_iin S_{i+1})
    证明:和上面的例子类似,反证然后用正则公理推出矛盾

    集合运算

    然后介绍了差集(set difference)的概念,即(Aackslash B=Aackslash left(Acap B ight)=Acap overline B)
    差集没有交换律,考虑这个例子:(Acap B=varnothing),显然(Aackslash B eq Backslash A)
    差集也没有结合律,考虑这个:(Acap B eq varnothing)(A eq B=C),则显然(Aackslashleft(Backslash C ight) eqleft(Aackslash B ight)ackslash C)

    然后介绍了De Morgan Law:(Aackslashleft(Bcup C ight)=left(Aackslash B ight)capleft(Aackslash C ight))
    证明:考虑用上面差集定义,那么(Aackslashleft(Bcup C ight)=Acapleft({overline{Bcup C}} ight)=Acapleft({overline Bcapoverline C} ight)\=left(Acapoverline B ight)capleft(Acapoverline C ight)=left(Aackslash B ight)capleft(Aackslash C ight))
    当然证明左右互相为对面的子集也是可以的

    接下来引入了笛卡尔积(cartesian product)的概念
    定义(A imes B=left{left(x,y ight)|xin A, yin B ight})
    其中(left(x,y ight))是一个有序二元组(tuple),它的集合定义是(left{x,left{x,y ight} ight})(left{left{varnothing, left{x ight} ight},left{left{y ight} ight} ight})

    但是n元组却不能简单地类似定义,例如(left(x,left(y,z ight) ight))(left(left(x,y ight),z ight))是等价的3元组,但是在这种嵌套方式下它们不等价,所以很多时候数学的表达方式都不是最严谨的。。(比如说zhongsheng老湿的lecture notes)

    关系

    定义在集合(A)上的二元关系(binary relation)指(R=A imes A=A^2),类比还有n元关系
    关系有一下四种性质,不同的关系满足其中一个或多个

    1. 自反性(reflexive):若(xin ARightarrowleft(x,x ight)in R),则称这个关系具有自反性
    2. 对称性(symmetric):若(left(x,y ight)in Riff left(y,x ight)in R)
    3. 反对称性(anti-symmetric):若(left(x,y ight)in R)(left(y,x ight)in RRightarrow x=y)
    4. 强反对称性(strongly anti-symmetric):若(left(x,y ight)in RRightarrow left(y,x ight) otin R)
    5. 传递性(transitive):若(left(x,y ight),left(y,z ight)in RRightarrow left(x,z ight)in R)

    传递闭包

    然后讲了传递闭包,也就是所谓的(Warshall- Floyd)算法,也就是最短路。。
    证明思路留坑,反正也不难,来填坑了
    (Warshall)算法的过程可以表述如下:

    1. 枚举一个中间元素(k)
    2. 枚举一个元素(i)
    3. 枚举一个元素(j)
    4. (left(i,k ight)in R)(left(k,j ight)in R),则将(left(i,j ight))加入(R)
    5. 最后得到的(R=R^star)

    由于(k)是递增的,我们就可以根据(k)来归纳。我们说一条路径(< a , b >)指的是(left(a,c_1 ight),left(c_1,c_2 ight),dots,left(c_m,b ight))这样首尾相连的关系链,再定义(k)-路径为除了首尾以外的点编号都不超过k的路径,记为(< a, b >_k)

    那么第0次循环时,所有的路径都是0-路径,这个很简单
    假设做到了第k+1次循环,那么对于(R^star)中的关系有两种情况:

    1. 这条路径上的最大点小于k+1,那么这条路径已经在前面的循环中被找出来加入(R)
    2. 这条路径上的最大点恰好等于k+1,那么此时从k+1处断开,剩下的两条链都已经在前面的循环中被加入了(R),于是这里可以一步做完
    3. 大于k+1,什么都没有发生……

    等价类的概念

    如果一个集合(X)上的二元关系是自反的、对称的、传递的,那么这个关系就可以被称为一个等价关系(equivalence relation)
    定理:集合(X)上的一个等价关系提供了(X)的一个划分(partition)
    (X)的一个划分为(Y),当且仅当(forall x,yin Y)都有(xcap y=varnothing),且(cup Y=X)

    若两个元素有等价关系,则我们称它们属于同一个等价类(equivalent class)

    证明:首先由自反性可知等价关系至少包含了所有元素,因此只需要证明这些等价类不相交就可以了
    反证法:假设存在一个元素(z)同时属于等价类(X)(Y)(X eq Y)
    任取(xin X,yin Y),则(left(x,z ight)in R)(left(y,z ight)in R),由传递性可知(left(x,y ight)in R),即(X=Y),矛盾

    函数

    接下来是函数基于二元关系的新定义。即(f: Amapsto D)可以理解为(A imes D)的一个子集,满足每个A(定义域)中的元素只出现了一次

    单射(injective)、双射(bijective)、满射(surjective)都很好理解,不说
    函数的复合、求逆也很好理解,只需要注意复合运算的顺序就行了

    再然后介绍了函数的函数(算子、泛函)的概念,提了一嘴函数式编程(functional programming),只要知道lambda验算和图灵机是等价的应该就行了
    需要注意的是,计算一个函数有时候是一件很难的事情(难以找到确定关系、复杂度不可接受)

    还有非确定函数的概念(functionality),这个在密码学中运用的比较广泛。比如给出一个输入(L),输出一个长度为(L)的随机二进制串使得它满足一定的概率分布等等

    本文来自博客园,作者:jjppp。本博客所有文章除特别声明外,均采用CC BY-SA 4.0 协议

  • 相关阅读:
    机器学习基石笔记12——机器可以怎样学习(4)
    机器学习基石笔记11——机器可以怎样学习(3)
    机器学习基石笔记10——机器可以怎样学习(2)
    机器学习基石笔记9——机器可以怎样学习(1)
    机器学习基石笔记8——为什么机器可以学习(4)
    机器学习基石笔记7——为什么机器可以学习(3)
    转)C++中extern “C”含义深层探索
    CNN图像定位与物体探测_七月算法5月深度学习班第6次课程笔记
    Python 学习之Virtualenv
    电脑使用小技巧
  • 原文地址:https://www.cnblogs.com/jjppp/p/14243918.html
Copyright © 2011-2022 走看看