Tuesday, December 3, 2013

On sorting efficiency.

Sorting comes as an intuition to us human beings: we see a randomized list of objects, and we feel this innate urge for order, whether it be putting it in alphabetical order, in size... whatever the case may be. It's what keeps us sane in this mess of a world. We keep objects in organized groups, such that anything and everything can be at our beck and call.

Humans look at a group of objects, and can tell relatively quickly which objects are bigger than others. Computers, however, do not look at it in such a holistic point of view. Instead they opt for a more analytic algorithm with comparisons between two objects at a time. Humans also possess that capability, though they reserve it for ordering of objects with small differences between them.

The human mind is complex, and our sorting algorithms in computer science currently cannot hope to match it in power; instead, they rely on their rate of calculation to beat us at our own game. We still should aim to increase the power of these sorting algorithms, as a good sorting algorithm can greatly reduce the time to sort a certain amount of objects without needing a new processor. We learnt about a few of the sorting algorithms in class (selection sort, merge sort, etc.), and I think the key to the future is the decision making between such algorithms. It's been proven in class that certain algorithms work better in certain situations, and I believe the human mind also uses different algorithms in different situations. The mind knows when to use which algorithm for the best sort, and I believe the key to increasing the power of computers in the future is to find a decision making algorithm that can know which sorting algorithm to use given a certain set of data.