Information Technology Reference
In-Depth Information
hypothesis. What is missing is information such as “results for previous methods
indicated an asymptotic cost of
(
)
”. It is the role of the connecting argument
to show that the evidence does indeed support the hypothesis, and to show that
conclusions have been drawn correctly.
In constructing an argument, it can be helpful to imagine yourself defending your
hypothesis to a colleague, so that you play the role of inquisitor. That is, raising
objections and defending yourself against them is a way of gathering the material
that is needed to convince the reader that your argument is correct. Starting from
the hypothesis that “the new string hashing algorithm is fast because it doesn't use
multiplication or division” you might debate as follows:
log n
￿
I don't see why multiplication and division are a problem.
On most machines they use several cycles, or may not be implemented in hardware
at all. The newalgorithm instead uses two exclusive-or operations per character and
a modulo in the final step. I agree that for pipelined machines with floating-point
accelerators the difference may not be great.
￿
Modulo isn't always in hardware either.
True, but it is only required once.
￿
So there is also an array lookup? That can be slow.
Not if the array is cache-resident.
What happens if the hash table size is not 2 8 ?
Good point. This function is most effective for tables of size 2 8 ,2 16 , and so on.
In an argument you need to rebut likely objections while conceding points that
can't be rebutted, while also admitting when you are uncertain. If, in the process of
developing your hypothesis, you raised an objection but reasoned it away, it can be
valuable to include the reasoning in the paper. Doing so allows the reader to follow
your train of thought, and greatly helps the reader who independently raises the same
objection. That is, you need to anticipate concerns the reader may have about your
hypothesis. Likewise, you should actively search for counter-examples.
If you think of an objection that you cannot refute, don't just put it aside. At the
very least you should raise it yourself in the paper, but it may well mean that you
must reconsider your results.
A hypothesis can be tested in a preliminary way by considering its effect, that
is, by examining whether there is a simple argument for keeping or discarding it.
For example, are there any improbable consequences if the hypothesis is true? If so,
there is a good chance that the hypothesis is wrong. For a hypothesis that displaces
or contradicts some currently held belief, is the contradiction such that the belief can
only have been held out of stupidity? Again, the hypothesis is probably wrong. Does
the hypothesis cover all of the observations explained by the current belief? If not,
the hypothesis is probably uninteresting.
Always consider the possibility that your hypothesis is wrong. It is often the case
that a correct hypothesis at times seems dubious—perhaps in the early stages, before
it is fully developed, or when it appears to be contradicted by initial experimental
￿
Search WWH ::




Custom Search