comp.lang.ada
 help / color / mirror / Atom feed
* More on the “Parallel Sort” Data Sorting Program.
@ 2012-07-03 11:22 Austin Obyrne
  2012-07-03 14:43 ` Brian Drummond
  2012-07-04 14:15 ` Austin Obyrne
  0 siblings, 2 replies; 4+ messages in thread
From: Austin Obyrne @ 2012-07-03 11:22 UTC (permalink / raw)


I am promoting this as a re-invention of “Counting Sort” having being acquainted of the latter’s existence by readers, something I was truly unaware of but would like to point out that “Counting “ or “Count sort” was invented in 1954.

I quote from Wikipedia,

“Although radix sorting itself dates back far longer, counting sort, and its application to radix sorting, were both invented by Harold H. Seward in 1954.”  - Unquote       


Given the state of progress in computer development at that time this invention must surely have been more of a longhand algorithm than a computer driven program concept.

I am not an an ego-trip here but I think it’s fair to say that my implementation of “Parallel Sort” as a data sorting program written in Ada is a quite different invention.

Given that the algorithm is unique and cannot possibly be presented in some identical but different form (similar to the distinctiveness of the factoring algorithm which is also a benchmark in computing)) I am claiming that this is a bench mark for future in data sorting techniques that might even be used as a yardstick in comparing computer and language combinations.

I know that personally, I have supreme confidence that this is true of Ada.

In the course of updating my background knowledge, I made a few ‘almost’ right but not totally right statements that I would like to amend here just in case.

In the general macro study of complexity theory the highest order of a function is taken as the Big O rating and the minor terms including constants are ignored.

This is not true in data sorting theory – the constants cannot be ignored.

Example.

I have said,

1) In the expression (n Lg n) for the ‘worst case’ scenario datum in comparison type sort methods, any base will be acceptable and, 

2) Log(a) n = Log (b) n /Log(b) (a) – the constant Log(b)(a) can be ignored.

These are both wrong statements in data sort theory, only (n Ln n) is correct and if it is changed to a different base (pointless really) then the constant must be included.

Example:

Comparing my “Parallel Sort” data sort program that has linear complexity growth with ‘n’ increasing, to a comparison-based sort program as a ratio of these two would be, 

n; (n ln n) 
or,
1; (Ln n)

It would be totally worng if I was to instead say,

1; Log(b)(n)

Clearly, changing the base of the logarithm without including the constant of change would be wrong.

Suppose I substituted,
(Ln(n)) = (Log (b)(n) / log (b)(e) 

as shown it  would give a totally wrong comparison ratio not to include the constant (Log(b)(e))

I contend also that this is the first implementation in any computer language of any version of “Counting Sort) ever.

I am mooting my invention of “Parallel Sort” as a benchmark for future i.e. “Parallel Sort” in Ada is both a first in data sorting and a first in any computer language. 

I have written a few specimen comparison programs in Ada just for the hell of it and there is such a great amount of user assistance by way of conditional statements required in the source code that there is no case whatever that can be argued for retaining these in the future - they are just totally redundant.

It is time to move forward in another area of computational mathematics in my view away from comparison sorting methods – they are no longer required.

Austin O’Byrne,



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-07-04 14:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-03 11:22 More on the “Parallel Sort” Data Sorting Program Austin Obyrne
2012-07-03 14:43 ` Brian Drummond
2012-07-04 11:12   ` Austin Obyrne
2012-07-04 14:15 ` Austin Obyrne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox