En informatique théorique et en théorie des langages, l'algorithme de Cocke-Younger-Kasami (CYK) est un algorithme d'analyse syntaxique pour les grammaires non contextuelles, publié par Itiroo Sakai en 1961[1],[2]. Il permet de déterminer si un mot est engendré par une grammaire, et si oui, d'en donner un arbre syntaxique. L'algorithme est nommé d'après les trois personnes qui l'ont redécouvert indépendamment, J. Cocke, dont l'article n'a jamais été publié[3], D. H. Younger[4] et T. Kasami qui a publié un rapport interne aux US-AirForce[5].
L'algorithme opère par analyse ascendante et emploie la programmation dynamique. L'algorithme suppose que la grammaire est en forme normale de Chomsky. Cette restriction n'est pas gênante dans la mesure où toute grammaire non contextuelle admet une grammaire en forme normale de Chomsky équivalente[6]. Le temps de calcul de cet algorithme est en , où est la longueur du mot à analyser et est la taille de la grammaire.
<ref>
incorrecte : aucun texte n’a été fourni pour les références nommées Cocke
<ref>
incorrecte : aucun texte n’a été fourni pour les références nommées Younger
<ref>
incorrecte : aucun texte n’a été fourni pour les références nommées Kasami