2011-03-17 76 views
0

不太确定这是否是正确的论坛,但在理论计算机科学上建议我在此处将其移动...有限状态机的典型字母大小是什么?

有限状态机的典型字母大小是多少?

我目前正在忙于实施高性能FA库,需要在继续之前进行一些设计考虑。我的状态空间大约是2 147 483 647(Integer.MAX_VALUE),我觉得这已经足够了,即使是非常用也是如此。现在,剩下的就是字母表空间。

假设字母表通常只包含所有可显示的字符(在这种情况下,它可以存储为byte这会导致非常好的性能)是否有任何优点?或者应该将字母符号翻译成String,这样您就可以拥有字母标签了?在这种情况下,我需要保留一个Map,将String转换为intshortbyte,具体取决于我想创建多大。

回答

2

真的,有限状态机的字母表是任何类型的数学“集合”。没有什么限制集合的内容,它可以是1和0,A-Z或苹果橙子。本身没有“典型的”FSM字母大小。你有没有为你的图书馆考虑用户?

+0

我意识到字母表的理论界限。我在优化/性能方面更加思考,多大的*我应该*使字母增长。用户将主要是寻求经验数据的研究人员。 – 2011-03-17 08:22:15

+0

@Nico - 仍然取决于研究人员和所涉及的数据。为什么不根据不同的近似集大小做出几个不同的实现,实际上并不是那么多的代码... – Eric 2011-03-17 08:48:15

+0

看到这个线程似乎已经死亡,我会将其标记为正确的答案。我已决定目前将字母限制在256位,但设计为稍后易于更改。 – 2011-03-24 10:57:37