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

Reply via email to