"CYK" redirects here. For other uses, see Cyk (disambiguation).
Cocke–Younger–Kasami algorithm (CYK)
Class
Parsing with context-free grammars
Data structure
String
Worst-case performance
, where:
is length of the string
is the size of the CNF grammar
In computer science, the Cocke–Younger–Kasami algorithm (alternatively called CYK, or CKY) is a parsing algorithm for context-free grammars published by Itiroo Sakai in 1961.[1][2] The algorithm is named after some of its rediscoverers: John Cocke, Daniel Younger, Tadao Kasami, and Jacob T. Schwartz. It employs bottom-up parsing and dynamic programming.
The standard version of CYK operates only on context-free grammars given in Chomsky normal form (CNF). However any context-free grammar may be algorithmically transformed into a CNF grammar expressing the same language (Sipser 1997).
The importance of the CYK algorithm stems from its high efficiency in certain situations. Using big O notation, the worst case running time of CYK is , where is the length of the parsed string and is the size of the CNF grammar (Hopcroft & Ullman 1979, p. 140). This makes it one of the most efficient [citation needed] parsing algorithms in terms of worst-case asymptotic complexity, although other algorithms exist with better average running time in many practical scenarios.
^Grune, Dick (2008). Parsing techniques : a practical guide (2nd ed.). New York: Springer. p. 579. ISBN 978-0-387-20248-8.
^Itiroo Sakai, “Syntax in universal translation”. In Proceedings 1961 International Conference on Machine Translation of Languages and Applied Language Analysis, Her Majesty’s Stationery Office, London, p. 593-608, 1962.
Cocke–Younger–Kasami algorithm (alternatively called CYK, or CKY) is a parsing algorithm for context-free grammars published by Itiroo Sakai in 1961. The algorithm is named...
Cyk or CYK may refer to: CYKalgorithm, a grammar-related algorithmCyk, Greater Poland Voivodeship (west-central Poland) Cyk, Masovian Voivodeship (east-central...
expressions CYKalgorithm: an O(n3) algorithm for parsing context-free grammars in Chomsky normal form Earley parser: another O(n3) algorithm for parsing...
used to perform a first pass. Algorithms which use context-free grammars often rely on some variant of the CYKalgorithm, usually with some heuristic to...
tree. Recognition using the GLR algorithm has the same worst-case time complexity as the CYKalgorithm and Earley algorithm: O(n3).[citation needed] However...
significance, CNF conversion is used in some algorithms as a preprocessing step, e.g., the CYKalgorithm, a bottom-up parsing for context-free grammars...
demonstrated that an algorithm similar to the use of dynamic programming and state-sets in Earley's algorithm (1970), and tables in the CYKalgorithm of Cocke, Younger...
complexity of mathematical operations CYKalgorithm, §Valiant's algorithm Freivalds' algorithm, a simple Monte Carlo algorithm that, given matrices A, B and C...
in an order of magnitude. CYKalgorithm Context-free grammar Parsing algorithms Kegler, Jeffrey. "What is the Marpa algorithm?". Retrieved 20 August 2013...
Dantzig algorithm for shortest path in a graph with negative edges 1967 – Viterbi algorithm proposed by Andrew Viterbi 1967 – Cocke–Younger–Kasami (CYK) algorithm...
parsing algorithms are capable of recognizing this example. However, this grammar can be used by a general CFG parser like the CYKalgorithm. However...
pushdown automata and can be parsed in polynomial time, for example by the CYKalgorithm. Unambiguous context-free grammars can be nondeterministic. For example...
radio station, Winnipeg, Canada, later CBW (AM) CYKalgorithm or Cocke–Younger–Kasami algorithm, usually CYK but sometimes CKY Conakry International Airport...
the line terminator we can apply the packrat algorithmCYKalgorithm Context-free grammar Parsing algorithms Earley parser Ford, Bryan (2006). "Packrat...
named for its inventor. Another chart parsing algorithm is the Cocke-Younger-Kasami (CYK) algorithm. Chart parsers can also be used for parsing computer...
correcting codes. He was the earliest to publish the key ideas for the CYKalgorithm, separately discovered by Daniel Younger (1967) and John Cocke (1970)...
handled by parsers like Generalized LR parser, the Earley parser, or the CYKalgorithm that can simultaneously compute all possible parse trees in one pass...
triangular matrices, triangular arrays are used in several algorithms. One example is the CYKalgorithm for parsing context-free grammars, an example of dynamic...
a simple modification to Viterbi. A modification that can be applied to CYK tables, proposed by Antoine Rozenknop, consists in subtracting e from all...
design and theory of compilers, ..., and ...; co-developed the CYK parsing algorithm Alain Colmerauer, creator of Prolog Richard W. Conway, for the introductory...