xkapastel has quit [Quit: Connection closed for inactivity]
xkapastel has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
jibanes has quit [Ping timeout: 246 seconds]
jibanes has joined #picolisp
<
Regenaxer>
razzy: Look what I said yesterday: This program is usable for 3 to 7 tree levels"
<
Regenaxer>
"typically up to 5 on a fast machine"
<
Regenaxer>
It is a tree, the search time grows exponentially
_whitelogger has joined #picolisp
orivej has joined #picolisp
<
razzy>
yeah, i love keeping my machine busy
<
razzy>
why not keep search tree in RAM and only work on additions?
<
Regenaxer>
What is
*not* in RAM?
<
Regenaxer>
you mean chess?
<
razzy>
i think search tree is not stored, right?
<
Regenaxer>
It is generated for each move
<
razzy>
i know that it cannot be stored whole. but at least half of computation could be stored
<
Regenaxer>
It is not even generated
<
Regenaxer>
there is no tree physically
<
Regenaxer>
Just recursive calls
<
razzy>
i think i have idea
<
razzy>
how much time would storing cost?
<
Regenaxer>
What would you store?
<
razzy>
board layout, 2-3 value(cost) functions
<
razzy>
for every step
<
Regenaxer>
You mean some cache
<
Regenaxer>
hash board positions and store them with value
<
Regenaxer>
You could use a b-tree from the DB
<
Regenaxer>
or idx in memory
<
razzy>
you could broadly call it that,
<
razzy>
i am still scared :]
<
Regenaxer>
An 'idx' tree in memory would suffice, and be the fastest
<
Regenaxer>
Not sure how much time it saves for the search
<
Regenaxer>
You could even use the 'cache' memoizer function directly
<
Regenaxer>
Speeds up some things a
*lot* (see misc/fibo.l)
<
Regenaxer>
You just need a hash, eg a large number encoding a board position uniquely
<
Regenaxer>
I thought about such things back then, but wanted to keep it simple
<
Regenaxer>
Another possibility is to parallelize the 'game' function
<
razzy>
when you have tree of possibilities worked out and stored, you could work on it nonstop
<
razzy>
in parael thread
<
razzy>
Regenaxer: reading it, you put together whole universal board-game simulator :]
<
razzy>
very general, with moves and such
<
Regenaxer>
The 'game' function in @lib/simul.l ?
<
razzy>
i think i could go away with half of functions :] for specific chess move :]
<
razzy>
hashing board possitions is marvelous idea :]
<
Regenaxer>
It needs to be incorporated into 'game', i.e. an optional function argument
<
razzy>
maybe have hash table of 2GB of precomputed possitions and most used store there
<
Regenaxer>
Zobrist hashing
<
razzy>
he he , feels nice
* razzy
needs to forget premature optimizations :D
<
Regenaxer>
hehe :)
<
razzy>
only took me half an hour
<
razzy>
i remember taking me weeks to forget premature optimizations
xkapastel has joined #picolisp
razzy has quit [Ping timeout: 245 seconds]
_whitelogger has joined #picolisp
razzy has joined #picolisp
_whitelogger has joined #picolisp
razzy has quit [Ping timeout: 246 seconds]
ubLIX has joined #picolisp
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
ubLIX has quit [Quit: ubLIX]
Nistur has quit [Remote host closed the connection]
alexshendi has joined #picolisp
ubLIX has joined #picolisp
alexshendi has quit [Ping timeout: 252 seconds]
razzy has joined #picolisp
<
razzy>
<razzy> when i have loop, i think that behaviour is undefined am i right?
<
razzy>
<razzy> when i have two (T (= A B)) (T (= A B)) statements [22:49]
<
razzy>
<razzy> i mean when i have two (T (= A B)) (T (= C D)) statements in loop
<
razzy>
<razzy> (T (or (statement) (statement))) is also semi-working
<
razzy>
sorry for ugliness
<
razzy>
Regenaxer: i am scared :]
<
beneroth>
what is undefined? the statements are evaluated in order.
ubLIX has quit [Quit: ubLIX]
<
razzy>
there are 15 2 times
<
razzy>
should end it
<
razzy>
do you see?
<
beneroth>
they might be from (println (rand 1 19)) ?
<
beneroth>
you dont put everything into R which you print.
<
razzy>
i copied it from rossetta i will check
<
beneroth>
you have two print statements, one is related to the termination check, one isn't
<
razzy>
ah i see now
<
beneroth>
stop expecting such easy bugs in picolisp so lightly ;-)
<
beneroth>
there are probably bugs, but there pretty hard to find.
<
razzy>
i am expecting bugs in world in general :]
<
beneroth>
yeah, but with picolisp most bugs are located in the user, not in picolisp.
<
beneroth>
its old software, most stuff is pretty well tested
<
beneroth>
good night :)
ubLIX has joined #picolisp
ubLIX has quit [Ping timeout: 252 seconds]