CYK算法

✍ dations ◷ 2025-07-26 06:42:40 #算法,形式语言,分析算法

CYK算法(英语:Cocke–Younger–Kasami algorithm,缩写为CYK algorithm)是由约翰·科克,Younger和嵩忠雄(日语:嵩忠雄)共同研究出来大约发表于1965年的一个算法,它是一个用来判定任意给定的字符串   w Σ {\displaystyle ~w\in \Sigma ^{*}} i:= 1 n V i , i := { X V   |   X σ i   i n   P } {\displaystyle V_{i,i}:=\{X\in V~|~X\rightarrow \sigma _{i}~in~P\}} l:= 1 n-1 i:= 1 n-l   V i , i + l := {\displaystyle ~V_{i,i+l}:=\varnothing } k:= i i+l-1   V i , i + l := V i , i + l { X   |   X Y Z , Y V i , k , Z V k + 1 , i + l } {\displaystyle ~V_{i,i+l}:=V_{i,i+l}\cup \{X~|~X\rightarrow YZ,Y\in V_{i,k},Z\in V_{k+1,i+l}\}} S V 1 , n {\displaystyle S\in V_{1,n}} accept reject

扩展CYK算法

简介

对于上述CYK算法作一个小改动,也就是说记住每次的k,就可以自动产生一个由该上下文无关语言的推导树。

 i:= 1  n                                V                      i            ,            i                          :=        {        X                V                           |                         X                          σ                      i                                   i        n                 P        }              {\displaystyle V_{i,i}:=\{X\in V~|~X\rightarrow \sigma _{i}~in~P\}}   l:= 1  n-1     i:= 1  n-l                                                V                      i            ,            i            +            l                          :=                      {\displaystyle ~V_{i,i+l}:=\varnothing }   k:= i  i+l-1                                                    V                      i            ,            i            +            l                          :=                  V                      i            ,            i            +            l                                  {        (        X        ,        k        )                           |                         X                Y        Z        ,        Y                          V                      i            ,            k                          ,        Z                          V                      k            +            1            ,            i            +            l                          }              {\displaystyle ~V_{i,i+l}:=V_{i,i+l}\cup \{(X,k)~|~X\rightarrow YZ,Y\in V_{i,k},Z\in V_{k+1,i+l}\}}                               k        :        (        S        ,        k        )                          V                      1            ,            n                                {\displaystyle \exists k:(S,k)\in V_{1,n}}   accept  reject

通过对下面的方法递归运行就可以生成推导树。

Tree(X,i,j):    i=j  RETURN                                        σ                      i                                {\displaystyle ~\sigma _{i}}     选择一个 k 使                     (        X        ,        k        )                          V                      i            ,            j                                {\displaystyle (X,k)\in V_{i,j}}      选择 Y 和 Z 使                     X                Y        Z        ,        Y                          V                      i            ,            k                          ,        Z                          V                      k            +            1            ,            j                                {\displaystyle X\rightarrow YZ,Y\in V_{i,k},Z\in V_{k+1,j}}      RETURN Tree(X,Tree(Y,i,k),Tree(Z,k+1,j))

例子

给定一个乔姆斯基范式的上下文无关文法   G = ( { S , A , B , C } , { a , b } , S , P ) {\displaystyle ~G=(\lbrace S,A,B,C\rbrace ,\lbrace a,b\rbrace ,S,P)} ,其中规则 P 如下:

问:字符串 bbabaa 能不能通过该文法产生?

CYK算法可以通过一个表格来运算,表中 i 列 j 行表示由哪几个非终结符可以产生字字符串 σ i σ j {\displaystyle \sigma _{i}\dots \sigma _{j}}

如果在表格的最左下角一格中有文法的开始非终结符 S ,那么字符串 bbabaa 就能由上面给出文法 G 产生。

相关

  • 以色列历史以色列人的先祖是居住在美索不达米亚哈兰地区的闪族人,后来因神要求亚伯兰(后改名为亚伯拉罕)迁至“应许之地”的原故,迁居至迦南(Canaan),并结合当地的游牧文化,定居至约旦河西岸,即
  • 生发中心生发中心(英语:Germinal center,又译生长中心)是淋巴器官包括淋巴结及脾脏中B细胞繁殖、分化以及抗体基因变异的区域。在机体发挥正常免疫功能对抗感染时,抗体在生发中心会改变它
  • 精英主义精英主义(英语:Elitism)是从现实主义出发来理解和阐释政治与社会的结构及其发展的一种理论,认为应该由少数具备知识、财富与地位的社会精英,来进行政治决策,主导社会走向。其同义
  • 国际社会国际社会一词,通常被用来指涉:国际社会的成员受国际法与国际习惯法的期待约束,而对和平、人权、人性尊严等普世价值均负有一定的道德责任。
  • 丙二醇丙二醇可以指:
  • 天母棒球场台北市立天母棒球场(英语:Taipei Tianmu Baseball Stadium),简称天母棒球场,是一座位于台湾台北市士林区天母的棒球场。1997年3月25日开始兴建,1999年8月15日落成启用。球场主体座
  • 台湾性产业台湾性产业,根据现行之《社会秩序维护法》,只有在各县市政府指定区域内经营者合法;但尚未有地方政府规划专区,导致性交易“形式合法,实质非法”的矛盾现况。目前台湾性交易已非《
  • 斯卡圭史凯威(英语:Skagway),是美国阿拉斯加州的一座城市。该市的人口在2000年为862人,2010年有968人。
  • 内志酋长国内志酋长国,又称内志第二王国或第二沙特王国,是继德拉伊耶酋长国之后内志地区的第二个由沙特家族统治的国家,存在于19世纪。先前的德拉伊耶酋长国在1818年被奥斯曼帝国击败,内志
  • 台北市立成渊高级中学坐标:25°03′40″N 121°31′07″E / 25.0611853°N 121.5186297°E / 25.0611853; 121.5186297台北市立成渊高级中学(英语:Taipei Municipal Chengyuan Senior High School),简