  Kulkarni and Kiyavash recently introduced a new method to establish upper
bounds on the size of deletion-correcting codes. This method is based upon
tools from hypergraph theory. The deletion channel is represented by a
hypergraph whose edges are the deletion balls (or spheres), so that a
deletion-correcting code becomes a matching in this hypergraph. Consequently, a
bound on the size of such a code can be obtained from bounds on the matching
number of a hypergraph. Classical results in hypergraph theory are then invoked
to compute an upper bound on the matching number as a solution to a
linear-programming problem.
  The method by Kulkarni and Kiyavash can be applied not only for the deletion
channel but also for other error channels. This paper studies this method in
its most general setup. First, it is shown that if the error channel is regular
and symmetric then this upper bound coincides with the sphere packing bound and
thus is called the generalized sphere packing bound. Even though this bound is
explicitly given by a linear programming problem, finding its exact value may
still be a challenging task. In order to simplify the complexity of the
problem, we present a technique based upon graph automorphisms that in many
cases reduces the number of variables and constraints in the problem. We then
apply this method on specific examples of error channels. We start with the $Z$
channel and show how to exactly find the generalized sphere packing bound for
this setup. Next studied is the non-binary limited magnitude channel both for
symmetric and asymmetric errors, where we focus on the single-error case. We
follow up on the deletion and grain-error channels and show how to improve upon
the existing upper bounds for single deletion/error. Finally, we apply this
method for projective spaces and find its generalized sphere packing bound for
the single-error case.
