title: What is the typical alphabet size of Finite State Machines?
body: <p>Not quite sure if this is the correct forum, but it was suggested at Theoretical Computer Science that I move it here...</p>
  
  <p>What is the typical alphabet size of Finite State Machines?</p>
  
  <p>I am currently busy implementing a high-performance FA library and need to make some design considerations before continuing. My state space will be in the order of 2 147 483 647 (<code>Integer.MAX_VALUE</code>) which I feel is more than enough, even for non-general use. Now, all that remains is the alphabet space.</p>
  
  <p>Is there any merit in assuming that the alphabet would usually only consist of all displayable characters (in which case it can be stored as a <code>byte</code> which would result in really good performance)? Or should alphabet symbols rather be translated into <code>String</code>s so that you rather have alphabet labels? In this case I would need to keep a Map that translates a <code>String</code> into either a <code>int</code>, <code>short</code> or <code>byte</code>, depending on how large I want to make it.</p>