CYK算法

✍ dations ◷ 2025-04-04 11:08:47 #算法,形式语言,分析算法

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 产生。

相关

  • 喉入口喉入口(laryngeal inlet、laryngeal aditus、laryngeal aperture)是连接咽部及喉部的开口处。其边界由以下三方形成:喉部,咽部和舌头的深层解剖、后视图。喉部,咽部和舌头的深层
  • 猎头/挖角猎头(Headhunting或Executive Search),是一种于欧美十分流行的人才招聘方式,意思即指“网罗高级人才”。猎头与一般的企业招聘、人才推荐和职业介绍服务的不同是,猎头追逐的目标
  • 阿塞拜疆总统阿塞拜疆共和国施行总统共和制,阿塞拜疆总统是阿塞拜疆共和国的国家元首,而总理是阿塞拜疆的政府首脑。阿塞拜疆现任总统为伊利哈姆·盖达尔·奥格雷·阿利耶夫。1995年11月12
  • 连续概率概率分布(德语:Wahrscheinlichkeitsverteilung;英语:probability distribution)或简称分布,是概率论的一个概念。使用时可以有以下两种含义:称X和Y为同分布的随机变量,当且仅当对任
  • 李先闻李先闻(1902年10月10日-1976年7月4日),字达聪,中国农学家。四川省江津县(今属重庆市江津区)长冲场登杆坡人,祖籍广东省梅县。农学家,1914年进入清华留美预备学校,1923年赴美,1926年毕业
  • 1997年国际足联联合会杯1997年国际足联联合会杯(英语:1997 FIFA Confederations Cup),是国际足联接手已举办2届的“法赫德国王杯”主办权后举办的首届联合会杯。比赛于1997年12月12日至21日在沙特阿拉
  • 乔治·肖乔治·肖(英语:George Shaw,1751年12月10日-1813年7月22日)是一名英国的植物学家及动物学家。肖生于白金汉郡的一个村落内,于牛津大学莫德林学院受教育,于1772年取得其硕士学位,并成
  • 何金寿何金寿(1834年-1882年),字铁生,湖北江夏(今湖北省武汉市武昌)人,同治元年壬戌科进士,名列榜眼。清朝末年的循吏、政治人物。咸丰五年,乡试中举。同治元年,登进士一甲第二名(榜眼),初授翰林
  • 台巴子台巴子(上海话拼音:dhebazi,发音:'"`UNIQ--templatestyles-00000001-QINU`"')是中国大陆人或非台湾人士对台湾人的歧视语,意为“来自台湾的乡巴佬”,不同语境下亦包含凯子、傻瓜和
  • 自行车行动主义自行车行动主义(Cycling activism)是一项目的在于使自行车成为主流交通工具的游说活动。该主张的目标在于减少能源花费和空气污染、以及增进健康。除了推广宣传自行车之外,也说