1. A method of statistical inference, the method comprising: (a) providing a computing platform comprising a Central Processing Unit (CPU) and a Graphical Processing Unit (GPU); (b) generating a one or more level arc-based recognition network for a problem, comprising: a plurality of epsilon arcs; a plurality of non-epsilon arcs; a plurality of states that may be interconnected by one or more epsilon or non-epsilon arcs; and (c) selectively flattening the levels of the recognition network so as to improve inference speed; (d) wherein the recognition network is executed on the CPU and the GPU; (e) wherein the selectively flattening step comprises replacing one or more epsilon arcs with non-epsilon arcs, wherein semantics of the recognition network are preserved; (f) generating an incoming array for a target state in the recognition network, said incoming array comprising: a set of incoming states pointing to the target state; and a corresponding weight that each incoming state will traverse to the target state; (g) selectively pruning the incoming array to remove states with a corresponding probability below a threshold, thereby resulting in a reduced incoming state array; and (h) mapping the reduced incoming state array to a port array.