private static IDictionary<char, List<char>> Digest(IHangDictionary dictionary) { var lib = new Dictionary<char, List<char>>(); foreach (var word in dictionary.Words) { var chars = word.ToCharArray(); for (int index = 0; index < chars.Length-1; index++) { var chr = chars[index]; if (lib.ContainsKey(chr)) { var bucket = lib[chr]; bucket.Add(chars[index+1]); }else { lib.Add(chr, new List<char>{chars[index+1]}); } } } return lib; }
public SingleCharMarkovAgent(IHangDictionary dictionary) { Library = Digest(dictionary); }
public NaturalFrequencyAgent(IHangDictionary hangDictionary) : this() { _dictionary = hangDictionary; }