PDA

View Full Version : Now for something completely different


martin
March 6th, 2008, 09:23 AM
I've done this before, asking the Yi about computer programming. Not that I ever got
anwers that I could make much sense of, and perhaps the Yi is not really interested in
such questions. But it's fun and who knows .. :)

This time I asked how to make a program that I'm working on faster.
The program is board game program that currently only plays traditional chess, but with
a few adaptations it can also play other chess variants or games like chess (technically
'zero-sum games with complete information').
Such programs search large trees of positions to find the best move and that costs a lot
of time. Even when the program evaluates more than a million positions/sec (mine
gets on average close to 2 million/sec on this computer).
There are known tricks to speed up the search, but I'm looking for new (and hopefully
better) ideas. :cool:

So I asked the Yi: How to speed up the search (in a new way)?

40.2.4>2 ..
I have the feeling that there is something in this answer, not sure what though.
Decide early? With less searching? Oh yes, if that would be possible, but how?

What do you think?

meng
March 6th, 2008, 11:44 AM
hmm, 40 is freed up, 2 is opened up. Line 2 discovers extraneous steps or critters slowing down the works. Line 4 releases dependence on a small appendage.

I have no idea how this might apply to a computer program, but it seems to point to streamlining, maybe freeing up RAM?

martin
March 6th, 2008, 06:54 PM
I like that, thanks. :)
It's not a RAM problem but it's clear that the search gets stuck sometimes. The program stumbles into pits and doesn't know how to escape fast (40).
I think I will try to figure out exactly where and why that happens or let the program figure it out.

Quite amazing this answer of the Yi, it does seem to make sense. Perhaps the sages up there are into computer programming too nowadays? :D

dobro
March 6th, 2008, 08:28 PM
Hi Martin. 40's about release from difficulties, and 2's about enegetically taking on authoritative guidance.

I'd say the message is: the path to release from your problem (the relative slowness issue) is not to be found on your own, but under the tutelage or direction or inspiration of another person. You provide energy and skills, they provide the direction.

martin
March 6th, 2008, 10:05 PM
Interesting, that didn't occur to me.
The thing is, I know what others do. Not always in detail, but it's easy to find out the details because there is a lot of strong open source. I can follow 'their lead' (2) and then I will get a strong program with little effort.
I don't find that interesting, though. The whole fun for me is in trying to find new ways.
On the other hand, I realize that I can be too stubborn sometimes. I'm not very much inclined to follow the lead of others.
So okay, I will think about it ..
Thank you! :)

dobro
March 6th, 2008, 11:14 PM
You asked how to speed up the search in a new way.

The interpretation I saw might apply either to the way of speeding up the search (the actual programming changes) or it might apply to the way you go about finding those programming changes (ie working with somebody else).

For what it's worth, the background to my thinking on this is found in these two threads. I'm enthusiastic about it, cuz for me at least, it's a true insight.

http://www.onlineclarity.co.uk/friends/showthread.php?t=5316

http://www.onlineclarity.co.uk/friends/showthread.php?t=5323&page=2 (the ideas I'm linking to start near the bottom of Page 2 and continue on Page 3 of this thread)

The mare, the master, the getting new friends/losing old friends - it all points to taking on a new, higher, authoritative guidance.

martin
March 7th, 2008, 12:58 AM
Yes, the answer can be interpreted in at least two ways. As so often with the Yi. :)
I'm thinking about your 'new higher, authoritative guidance' now.

Where is that guidance? It could only be about implementation details, because I know the general principles, I'm not new in this field. That means studying open source ... brrrr, reading code of other programmers, horrible! Self torture! :eek:

But okay, perhaps I could learn something. Although a lot is probably useless for my purposes. It is worth the trouble?
And maybe this guidance is not out there but in here, in my own higher mind or something?

You are aware that I'm trying to escape (40), aren't you? :rofl:

dobro
March 7th, 2008, 02:41 AM
Is there anybody else you know of who's interested in the same thing? They might be inspired, and inspiring.

linerider
March 7th, 2008, 04:15 AM
Since the solid lines are changing to broken, maybe you should take a more passive approach to the problem in your code and,or in your pursuit of the answer. I think trying to simplify the code would be more effective than pursuing the answer in other people's code (that feels yang, not yin).

martin
March 7th, 2008, 08:07 AM
Is there anybody else you know of who's interested in the same thing?

Yes, I know many others who are interested in the same thing. Some of them personally, not only through the internet I mean.
But I see now that you probably got the impression that this is all new to me, because I didn't give enough background information. My fault.
I'm not a newbie in this field, I'm working on this and similar problems already for a long time and I know all the ins and outs. That's why I don't expect much from experts out there. What they know I also know. Apart from implementation details perhaps, but their details are probably useless for me, because I'm off the beaten path now. On purpose, I know that path all too well, I want to try something else.

So I'm pretty much on my own here and I want to be. I'm not looking for help from others and anyway, I don't think they can help, this is new territory.
Still, if I can contact a higher mindmare and follow its lead ... :)

martin
March 7th, 2008, 08:15 AM
Since the solid lines are changing to broken, maybe you should take a more passive approach to the problem in your code and,or in your pursuit of the answer. I think trying to simplify the code would be more effective than pursuing the answer in other people's code (that feels yang, not yin).

Yes, I think so too. One of the objectives of this program is in fact to keep things as simple as possible. Keep it minimalist, sort of.
So whenever I feel like adding something, make it more complicated, I first sit on my hands for at least a minute and repeat the mantra "Is this really necessary?" :D