CYK не дает ожидаемого ответа

Я реализовал алгоритм CYK для проверки входной строки с заданной грамматикой.
И если у меня есть следующая грамматика

S->AB|BC
A->BA|a
B->CC|b
C->AB|a

и если я проверю строку ab алгоритм говорит, что это в грамматике. Но если у меня есть грамматика, такая как ниже,

S->ABC
A->a
B->i
C->h

и если я передам строку aihалгоритм говорит, что это не в грамматике. Но, как вы можете видеть, ясно aih создаст нетерминалы ABC и они равны S, Так что я запутался в этом. Пожалуйста, укажите мне, если я ошибаюсь.. Заранее спасибо.

   1    2     3

 1 A    null  null

 2 B    null

 3 C 

РЕДАКТИРОВАТЬ: выше показывает, как алгоритм строит слова. в (1,3) его ноль. так что это не в грамматике. Это проблема с моей грамматикой?

0 ответов

Другие вопросы по тегам