C/C++에서 CYK algorithm을 구현하고 싶습니다. 그러나 다양한 웹 사이트 의사 코드에서 사용할 수 있으므로이를 효율적으로 구현하는 방법에 대한 대답이 없습니다. 나는지도와 세트 같은 stl 구조체를 사용하는 버전을 작성했지만 매우 느립니다. 바이너리 연산만을 사용하여 구현을 개선하려고 생각했지만 세트로 테이블을 저장하는 방법을 모르겠습니다. 비 터미널에는 8 개의 심볼을, 터미널에는 26 개의 심볼 만 가질 수 있습니다. 나는 프로덕션에 관한 정보를 저장하기 위해 unsigned chars (2^8 -> 0 - 1의 8 가지 위치) 테이블을 사용하려고 생각했지만 저장 방법을 모른다.C++에서 CYK 알고리즘의 속도를 높이려면 어떻게해야합니까?
도움이나 단서를 줄 수 있습니까?
재미있을 수도 있습니다.이 이전 질문 (http://stackoverflow.com/questions/13728581/pseudocode-for-cyk-algorithm-please)은이 C++ 구현을 인용합니다. http://nitishkr.wordpress.com/2011/03/29/cyk-algorithm-implementation/ –
지도와 세트를 어떻게 사용합니까? 여기에있는 의사 코드는 http://en.wikipedia.org/wiki/CYK_algorithm에서 부울 배열을 사용합니다. 유일한 세트는 규칙 세트입니다. – Sebastian