Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: Representing Complex but Static Data in Perl

by dragonchild (Archbishop)
on Apr 07, 2005 at 14:25 UTC ( #445695=note: print w/replies, xml ) Need Help??


in reply to Re^2: Representing Complex but Static Data in Perl
in thread Representing Complex but Static Data in Perl

That's a lot of memory ... oh - you're also going to have to work out things like blocking pieces (for non-knights) and the like. To tell you the truth, I'm not seeing a huge gain here. Pawns have to have the state of the board to determine ep. Granted, you have a set of optimizers to make the ep check pretty cheap, but it's still there.

Frankly, I would drop into XS and write the move generation code there. That is, of course, if the speed is that poor.

Also, a question no-one (including me) has approached is whether or not your original algorithm was good or not. 90% of all speedups happen in better algorithm choice.

  • Comment on Re^3: Representing Complex but Static Data in Perl

Replies are listed 'Best First'.
Re^4: Representing Complex but Static Data in Perl
by cyocum (Curate) on Apr 07, 2005 at 14:50 UTC

    My algorithem choice was alphabeta and it is pretty slow probably due to the fact that I am still learning all the ins and outs of this kind of programming. Once I learn about how to write a good alphabeta, I will then move to something more interesting like MTD(f).

    To work out the blocking pieces, you just run along the list of moves and check the square represented against the board, which can be passed to the function as a reference. Since the board is stored internally as a 8x8 multi-dim array, it is pretty easy to see if there is something there and of what color. I have a function called isOccupied to check and isColor to tell me the color.

    Of course, this could all be negated by using bitboards but I am not comfortable enough with the idea yet to try it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://445695]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (9)
As of 2018-10-16 18:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    When I need money for a bigger acquisition, I usually ...














    Results (86 votes). Check out past polls.

    Notices?