Russell Wallace wrote:
On 3/18/07, *Charles D Hixson* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Perhaps it would be best to have, say, four different formats for
different classes of problems (with the understanding that most
problems
are mixed). E.g., some classes of problems are best represented via a
priority queue, others via a tree that can be alpha-beta pruned, etc.
For internal processing images might be best implemented via some
derivative of SVG, though the external representations a plausibly bit
maps. Etc.
But datawise a priority queue is just a set of things with priority
numbers attached. The fact that you are going to _use_ it as a
priority queue is a property of the code module, not the data.
Similarly, the alpha-beta algorithm is, well, an algorithm - not a
reason to create an incompatible format. And see earlier comments
about graphics being semantically represented as logic, even if the
implementation uses specialized data structures for efficiency.
Yes, "datawise a priority queue is just a set of things with priority
numbers attached" and "the alpha-beta algorithm is, well, an algorithm",
but neither of those is propositional logic. Yes, you CAN represent
them as logic (you can represent anything as logic ... at least once you
include some extensions for probabilities, etc.), but that's quite
cumbersome. There are reasons why people use programming languages
rather than boolean logic propositions for programming. And there are
reasons why there are several DIFFERENT programming languages, even
though most of them are Turing complete. The reasons boil down to the
match of the language against the problem domain ... otherwise known as
efficiency. I consider it quite possible that I have drastically
underestimated the number of different data formats necessary (Yes,
Alpha-Beta is an algorithm, but efficient implementation of it implies a
particular subset of data structures), I don't think I have
overestimated them.
Now I'll grant that on some basic level what one is doing is processing
logic terms. It's true -- well at least to the extent that processing
high vs. low voltages, or negative vs. positive, or whatever the
semiconductor technique of the year is doing counts as processing
logic. (It's not quite an isomorphism, but it comes pretty close.)
This doesn't make it a reasonable approach on a higher level. Using
logic on higher levels needs it's own separate justification. There are
areas where it is the optimal choice, but I don't believe they cover
everything. To me it seems that sometimes it's better to have a
translation interface than to implement everything in logic.
(OTOH, I'm still floundering as to exactly what representations I should
chose. At least you've got a clear path in front of you.)
These are just my opinions. I wouldn't even try to prove them.
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?list_id=303