[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Computer Go hardware
Hi Mark,
I think we have to be careful about how we assess progress. Dave gave
an extremely optimistic report compared to yours and I'm not inclined
to trust either too much, not because I don't think anyone is being
honest, but because these things absolutely require more than
subjective judgements and feelings. It could very well be true that
you are correct here.
The only trustworthy way to get an objective answer to my questions is
to run these old programs on their old hardware against the best
programs today on the best hardware. It makes no sense to run a
couple of games either, we would have to see 20 or 30 just to get a
rough idea, unless the score was really convincing one way or the
other. Knowing how much time each program spent is good too, but we
also would like to know if the programs in question (particularly the
old ones) care what hardware they run on. If not, their strength is
completely bounded and hardware is not the limiting factor.
> This is also not to say that other programs don't use the computer power of
> todays hardware to get a little stronger. But I believe the same level can
> be achieved with a computer that runs 100 times slower. It just would take
> more effort to do so. The discussion here is how efficiently does the
> hardware get used by current Go programs and my opinion is that that
> efficiency is very, very low.
I think you nailed it exactly. It's just my opinion, but when we
figure out how to really write Go programs correctly, they will
automatically respond to all the computing power we can give them. I
feel this way because I believe a "correct" program will be correct
precisely because it is efficient, it doesn't "waste" the hardware.
I also don't believe there is a good reason to support the notion that
only software matters, we are just at a stage where there is so much
to be done in software that it's by far the biggest factor... right
now. It's kind of like we are using bubble sort instead of quicksort,
and instead of worrying about getting a faster computer we should be
changing our sorting algorithm since it will give us much more
performance than a faster computer will. But once we have done this,
our next step would logically be to get a faster machine.
> The results against a ten year old program
> provides some proof to this. This is not necessarily a criticism of Go
> programs because I think nowadays this is the case with almost all software.
> Hardware is cheap and programmers are scarce/expensive so there's a strong
> tendency to look for solutions that reduce the amount of programming time in
> return for using more computing power.
Yes, we do things we wouldn't have even dreamed about a few years ago.
I actually look back to what we managed on 4 MGz machines with 10 MEG
hard drives. I wrote software back then that could run a business,
and we thought we had a lot to work with. It's amazing how
efficiently we could do things. We cared about each and every byte!
> Although I love hardware to get faster with more memory all the time, there
> are days when I wish for it to stop. This in the hope that software makers
> would start spending time in fixing existing problems in their software and
> make it more efficient instead for the perpetual flight forwards into more
> bells and whistles. Go programs don't fall in that category of course, any
> means by which the program can get stronger should be used.
I think we have been a little victimized by this too. It's a good
thing, but it is bad too. It's like the poor man who suddenly gets a
lot of money and throws it away foolishly. If the hardware progress
had been much slower, I'll bet we would know more about writing
efficent software.
Don