public void TestHugeWeights() {
var productions = new List<Production> {
CFGParser.Production(@"<S> -> <A> <B> [3000000000]"),
CFGParser.Production(@"<S> -> <C> <A> [3000000000]"),
CFGParser.Production(@"<S> -> ε [3000000000]"),
CFGParser.Production(@"<A> -> 'a'"),
CFGParser.Production(@"<B> -> 'b'"),
CFGParser.Production(@"<C> -> 'c'"),
};
var g = new CNFGrammar(productions, Nonterminal.Of("S"));
Helpers.AssertNear(1.0 / 3.0, g.Cyk(Sentence.FromLetters("")));
Helpers.AssertNear(1.0 / 3.0, g.Cyk(Sentence.FromLetters("ab")));
Helpers.AssertNear(1.0 / 3.0, g.Cyk(Sentence.FromLetters("ca")));
}