1. A method for constructing a packet classifier for a computer network system, comprising: representing a set of rules for packet classification as a directed graph, where a rule sets forth values for fields in a data packet and a decision for data packets having matching field values; formulating a plurality of minimization problems from the directed graph, where subgraphs extending from non-terminal nodes in the directed graph represent a minimization problem; solving the plurality of minimization problems; combining solutions for the plurality of minimization problems to yield a reduced set of rules which form a reduced packet classifier; removing redundant rules from the reduced packet classifier; and instantiating the reduced packet classifier in a content-addressable memory device.