Special case

From Wikipedia, the free encyclopedia

In logic, especially as applied in mathematics, concept A is a special case or specialization of concept B precisely if every instance of A is also an instance of B, or equivalently, B is a generalization of A. For example, all circles are ellipses (but most ellipses are not circles); therefore the circle is a special case of the ellipse. See also degenerate case.

In some other fields, a special case is generally an unexpected circumstance which may occur but should usually not.

For example, in computer science, in which computers are used to solve problems by transforming input data into output data, algorithms are designed to be able to handle most common input cases, but may not work in all conditions. Special cases are the particular unusual conditions which stress a system or algorithm to generate unusual results, such as low speed, or unexpected effects.

[edit] History

Many algorithms have historically been better or less equipped to deal with special cases. A common characteristic is to ignore the uncommon special cases to focus on what will happen 90, 99, or 99.9 percent of the time. The tradeoff in efficiency and speed for a slight usability or completion improvement in some special cases is often not beneficial.

[edit] Examples

For example, a system to tell documents apart using a hash function will usually function because different documents should generate different hashes. However, a special case of this is when by amazing mathematical coincidence two documents generate the same hash. This is a special case, and the algorithm will either have erroneous results in this case, or it will have to be made slower and less efficient due to additional checks. It is up to the programmer to include the checks, or to count on the programming being faster 99 percent of the time.


In other languages