ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: | Check also for more information
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
<Regenaxer> :)
<razzy> why not keep search tree in RAM and only work on additions?
<Regenaxer> ?
<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
<razzy> thx :]
<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
<razzy> fuck :]
<Regenaxer> hehe :)
<Regenaxer> wise
<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> [22:46]
<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> [22:50]
<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> beneroth: sometimes loop did not end at right place
<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
<razzy> thx
<beneroth> stop expecting such easy bugs in picolisp so lightly ;-)
<razzy> :D
<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 :)
<razzy> good night
<razzy> and thanks
ubLIX has joined #picolisp
ubLIX has quit [Ping timeout: 252 seconds]