12:17:44 <cwenner> okay, welcome everyone to the first recent article discussion night. we'll discus the GP article to begin with and Dan's QSpan in about 2 hours
12:18:23 <cwenner> both authors has showed an interest in participating, (Amikoace and DanF_DrC) but also mentioned they might not make it
12:18:37 <cwenner> we'll see if they show up/return, and if so, perhaps give them a virtual applauce
12:19:16 <cwenner> i wish to stress that this is a discussion, not a debate and some guidelines can be found at http://www.sabakigo.com/ai/guidelines.html
12:20:13 <cwenner> the first one is especially important since i suspect many of the channel regulars haven't read the articles or taken a broad course yet
12:20:16 <cwenner> * We are here to get a deeper understanding of the subject and learn. Feel free to participate and ask questions even if you do not quite grasp the discussion - as long as everyone are humble and behave civilized things should go smoothly.
12:21:10 <cwenner> any questions before chessguy so introduces the first article with a deep dedication?
12:22:43 <cwenner> could we perhaps get an idea how many will actually be listening to (or participating in) the discussion? give us a hint if you're alive
12:23:03 * chessguy raises his hand
12:23:04 <daYZman> me
12:23:18 <cwenner> okay, we're four at least :)
12:23:20 <paros> use the moderatin function +m
12:23:21 <daYZman> i would like to, once i get home :)
12:23:35 <daYZman> ..in 20mins
12:23:36 <cwenner> paros: we'll try not to
12:23:49 <cwenner> the floor is your's, chessguy
12:23:52 <daYZman> i shall go then
12:24:15 <chessguy> ok, first of all, thanks to cwenner for moderating this discussion. it's a great idea, and i hope to see more like it
12:25:04 <chessguy> So, this first article is very interesting to me. While I'm not an expert by any means in AI or even in genetic programming, I am working on my own GP implementation of evolving chess strategies
12:25:36 <chessguy> it was encouraging to me to see that I'm not the only one taking such an innovative approach to the development of chess-playing programs.
12:27:20 <chessguy> Which brings us to a question: Why do we need an innovative approach to chess?
12:27:43 <chessguy> grrr, can someone on efnet get rid of that bot?
12:28:22 <chessguy> i guess i'll just /ignore +AIrelay until it's resolved
12:28:30 <cwenner> go on for now at least
12:28:32 <chessguy> That's much quieter
12:28:55 <AIrelay> <HappyFung@ef> i won't be able to add anything to the conversation if AIrelay is ignored
12:29:06 <chessguy> I think Hauptman and Sipper sum up the state of affairs quite well in this article, in motivating a new approach
12:29:12 <AIrelay> <cwenner@ef> i'm on both, i could forward it
12:29:22 <chessguy> The fact is that the chess tree is inherently intractable
12:29:34 <chessguy> it's astronomical, even in endgames, as they say.
12:29:56 <chessguy> So deep searches are really very hard to do
12:30:09 <AIrelay> <cwenner@ef> could an op do something about this?
12:30:20 <chessguy> Not only that, but we know that chess can be played without large-scale searches
12:30:29 <chessguy> Because humans do it
12:30:57 <chessguy> Rarely do humans search more than maybe a few dozen positions, much less millions, as traditional engines do.
12:31:13 <chessguy> So while I don't agree with everything in the approach these authors have taken, I think it's a great start.
12:31:23 <chessguy> And it's a move in an important direction.
12:31:39 <chessguy> Now I'll open the floor to any other comments and questions
12:32:04 <AIrelay> <Motivez@ef> ugh
12:32:09 <AIrelay> <Motivez@ef> sorry, he changed idents on me again
12:32:17 <AIrelay> <cwenner@ef> thanks
12:32:21 <Cerin> What about their approach don't you agree with?
12:32:27 <cwenner> you can unignore AIRelay again
12:32:36 <chessguy> thanks Motivez and cwenner
12:32:46 <AIrelay> <HappyFung@ef> humans consider families of strategies, using various heuristics and tests to determine which to use, correct?
12:33:27 <chessguy> Cerin: For one thing, I think the notion of assigning a particular "score" to a position is unnatural and unnecessary
12:33:41 <chessguy> Particularly if our goal is a human-like algorithm
12:33:55 <Cerin> chessguy: What do you mean by "position"? A specific board placement?
12:34:02 <chessguy> Cerin: right.
12:34:33 <Cerin> chessguy: How would you gauge fitness then?
12:35:07 <chessguy> Rarely will you hear a human say that a particular feature of a position is worth a score or a penalty of a fraction of a pawn, as engines do. This is a holdover from the alphabeta algorithm, and should be abandoned if we are going to abandon that algorithm anyway
12:35:28 <chessguy> Cerin: these scores are not used to evaluate 'fitness' in a genetic sense.
12:35:46 <AIrelay> <HappyFung@ef> do humans exhibit transitivity in their move preferences?
12:35:54 <paros> We know that a chess game is highly dependent on the first 5 to 10 moves. Also, human players get "lost" when looking at a chess board with pieces placed randomly. Its not practical to consider the King in the middle of the board somewhere.
12:36:00 <cwenner> the opening, in case the bot destroyed it: sabakigo.com/ai/chessguy_gpopening.html
12:36:01 <AIrelay> <Motivez@ef> Alright, I abnned the entire domain for when there's no identd, and I've banned the bot's nick
12:36:03 <AIrelay> <Motivez@ef> I hope that'll fix it
12:36:05 <AIrelay> <Motivez@ef> sorry again guys
12:36:33 <chessguy> HappyFung: could you elaborate on your question?
12:36:42 - - - nick: Pennywis1 -> Pennywise
12:36:58 <chessguy> paros: that depends on the position. in many endgames the king is indeed rushed to the center of the board
12:37:08 <AIrelay> <HappyFung@ef> can humans put moves into order by simply saying that one is better than another or do they have circular preferences?
12:37:50 <chessguy> HappyFung: yes, it is common to say that, in a given position, a particular move is 'better' than another
12:38:10 <chessguy> and if move a is better than move b, and move b is better than move c, certainly move a is better than move c
12:38:28 <AIrelay> <HappyFung@ef> that's transitivity
12:38:42 <AIrelay> <HappyFung@ef> ok
12:39:11 - - - join: daYZman_ (n=kh.moc.elbackh.541-731-81-16mc|namZYad#kh.moc.elbackh.541-731-81-16mc|namZYad) joined #ai
12:39:56 <chessguy> Cerin: to come back to your question: basically, each individual in the population, the way they do it, is capable of evaluating any position and giving a score
12:40:31 <chessguy> so to choose a move for a given position, they generate all possible succesor positions, score each, and choose the one that gives the highest score
12:40:57 <chessguy> my preference would be to evolve something which is capable of directly choosing a move
12:41:11 <paros> It seems to me only looking one successive move ahead is a rough approximation of its score. Too rough?
12:41:21 <cwenner> utility theory says that utilities are merely an extension of the preference on the numeric domain. unless probability is involed, all actually will matter in the selection will however be the order of the involved utilities
12:41:59 <cwenner> i can agree though that basing it on generating these values instead of preference amongst moves might lead to worse play
12:42:23 <paros> Is it possible to look at chess as a game of eliminating your opponents pieces with minimal losses of your own? It seems to me that would be a more robust metric.
12:42:29 <chessguy> paros: in my opinion, that depends on the position. this is a typical answer in chess. some positions absolutely require you to do some calculations - sometimes very deeply
12:43:16 <chessguy> paros: you have to be careful with that. for example, there's a very famous Morphy game in which Morphy sacrifices most of his pieces, but winds up delivering checkmate
12:43:38 <chessguy> the ending position is comical, because he has so few pieces compared to his opponent, yet he won
12:44:54 <paros> So chess is simply a matter of trapping the king. Perhaps a fitness metric would be keeping the king in check?
12:45:29 <chessguy> the difficulty with chess is, there's no one metric that works in every position
12:45:58 <chessguy> keeping the opponent's king in check at the cost of disorganizing your own forces can be a very bad thing to do
12:47:00 <AIrelay> <HappyFung@ef> people have been playing chess for hundreds of years
12:47:02 <chessguy> because you eventually run out of checks, and then your forces are too disorganized to stop the inevitable counterattack
12:47:48 <paros> What is the result of running a minimax against itself? Do those games reach a draw?
12:48:17 <chessguy> well, no two programs implement minimax in exactly the same way
12:48:50 <chessguy> the static scoring of positions alone can vary greatly
12:48:56 <paros> Well say its the same algorithm.
12:50:19 <chessguy> i don't know of specific experiments that have done this
12:51:11 <chessguy> it wouldn't be hard to run such an experiment, but i doubt it would be that interesting. most likely a draw
12:52:03 <AIrelay> <HappyFung@ef> chessguy, i am very interested in hearing your suggestion
12:52:05 - - - quit: qsrv ("Leaving")
12:53:08 <chessguy> Well, as mentioned, one thing I would do differently is to evolve an algorithm which can directly choose a move
12:53:20 <chessguy> I think this is much more natural
12:53:39 <cwenner> that seems to be rather easy to add here and would be interesting to see
12:54:02 <cwenner> they built it on types and so called terminals, they could easily add a terminal that takes moves as input and others which iterates over the available moves
12:54:03 <paros> DO you mean a database which matches the board position to a move?
12:54:08 <chessguy> I also would prefer not to give the genome so much a priori knowledge
12:54:46 <chessguy> what i mean is, that before an engine starts, it generates all the legal moves, and then can investigate them as it sees fit
12:55:23 <chessguy> for example, a vector of moves, and maybe one gene is something like isCapture(3), which returns a boolean which indicates whether the third move is a capture
12:55:57 <AIrelay> <HappyFung@ef> gene?
12:55:59 <paros> Perhaps you could look at chess as a collection of unique peices.
12:56:05 <chessguy> functions and terminals
12:56:18 <paros> Where each pawn has "pawn genome" and each knight has "knight genome" and so forth.
12:56:27 <paros> The peices could work togethor as a team effort.
12:56:45 <chessguy> paros: the problem is, only one piece can move at a time anyway
12:57:21 <AIrelay> <HappyFung@ef> chessguy: each piece could give a priority with its move
12:57:52 <paros> The piece with the highest score could take the next move?
12:58:10 <chessguy> well, i think you're probably out of the realm of GP and this paper now
12:58:26 <AIrelay> <HappyFung@ef> i'm not sure how well the idea would work into chessguy's plans
12:58:33 <AIrelay> <HappyFung@ef> only a suggestion
12:59:15 <cwenner> happyfung: then you could easily add each piece's tree into a new tree with terminals on top of that
12:59:49 <chessguy> Regarding the a priori knowledge, for example, what they call Complex terminals in their paper: i would prefer to use Koza's idea of automatically defined functions to evolve these during a particular run, and then build them into the genome in the next run
13:00:19 <AIrelay> <HappyFung@ef> cwenner: very easily
13:00:24 - - - quit: AIrelay (Remote closed the connection)
13:00:29 - - - join: AIrelay (n=43.26.252.46|zevitom#43.26.252.46|zevitom) joined #ai
13:00:33 <paros> chessguy Have you considered Prototype board positions?
13:00:46 <chessguy> paros; what do you mean?
13:01:49 <paros> you could associate strategies with known board positions, and any specific board position could be measured by its 'distance' from a prototype
13:02:33 <chessguy> that's difficult because a very slight distance from a prototype position could (and likely will) change the strategy greatly
13:02:46 <chessguy> chess is very sensitive to these kinds of perturbations
13:03:04 <AIrelay> <HappyFung@ef> koza's book chapter on automatically defined functions is available here: http://www.genetic-programming.com/jkpdf/aigp1994lawn.pdf
13:03:04 <cwenner> happyfung: what i meant was that you might as well start off with giving the GP the terminals that either piece has, plus the terminals used to combine the trees and thereby make it possible for it to evolve the structure you suggested and others which wouldn't be possible without that setup.
13:03:59 <chessguy> HappyFung: is that from his second book?
13:04:32 <AIrelay> <HappyFung@ef> chessguy: i am pretty new to koza, so i really can't say
13:04:53 <cwenner> thanks, happyfung
13:04:58 <chessguy> ok. his second book, Genetic Programming II, is pretty much all about ADFs
13:06:08 <chessguy> another thing i'm not sure i like about their work is their choice of positions to play from
13:06:19 <paros> Could one construct a database of how often certain piece types are moved by grandmaster?
13:06:26 <AIrelay> <HappyFung@ef> i'm concerned that evolved adfs could miss important features of the strategy space
13:06:47 <chessguy> HappyFung: how so?
13:06:57 <cwenner> paros: yes, but that's a bit off the topic :)
13:06:59 <chessguy> paros: one could do a great many things, but not too many are related to this paper
13:07:20 <AIrelay> <HappyFung@ef> bobby fisher wrote a great book on checkmating your opponent with sacrifices
13:07:46 <chessguy> yes, that was my first chess book. Bobby Fischer Teaches Chess
13:08:02 <AIrelay> <HappyFung@ef> could adfs spot opportunities such as those presented in that book?
13:08:15 <cwenner> (ADF = automatically defined function, i.e. constructed by a GP)
13:09:13 <chessguy> HappyFung: i believe that the ideal chess-playing algorithm would recognize from features of the position the possibility that such a sacrifice could exist, and then perform a deeper search as a result
13:10:14 <chessguy> unfortunately, the paper doesn't address ADFs at all, so i don't know if they were used or not. or if so, how
13:11:56 <paros> What kind of function are you evolving? NN? Finite state machine?
13:12:22 <cwenner> but the article's doesn't allow that, does it? the only thing that seems to be able to take into account more than 3 plies are highly specific terminals - OppPieceCanBeCaptured, IsOppNotForking
13:12:28 <chessguy> an ADF is simply a separate tree, which is also evolved, which can be called from the main tree
13:12:40 <cwenner> (reading several moves ahead). it seems weird it can play that well without that feature
13:13:41 <chessguy> well, calculating ahead isn't really required much in the positions they chose
13:14:26 <chessguy> personally, i'd almost rather just start right from the starting position of chess
13:14:59 <cwenner> okay, that's true, they seem to have at most 3 pieces on each side and only the later could arguably need it
13:15:35 <chessguy> such positions as they use are very rare kinds of positions anyway
13:15:48 <chessguy> in practical play
13:16:28 <cwenner> you are aware that you can follow the references for some perhaps interesting articles? they did mention that GP had been applied to other parts of chess
13:16:40 - - - quit: Synous (Client Quit)
13:17:05 <chessguy> yes
13:17:18 <chessguy> i haven't had a chance to really dig through those references yet
13:17:32 <cwenner> what did everyone besides chessguy think of the article then? was it a good one, enlightning, trivial?
13:17:40 <cwenner> -n
13:17:49 <chessguy> most of the references involve either GP or chess, but not both
13:18:47 <cwenner> not that great of a turn up
13:19:04 <cwenner> more time for us then it seems
13:19:26 - - - quit: deus_ex_machina (Read error: 104 (Connection reset by peer))
13:19:47 <AIrelay> <ninevolt@ef> in highschool i was supposed to make a chess game where the night just moves around the whole board without touching the same spot twice… i ignored the directions and made it randomly move and try to figure out new ways to do it
13:20:08 - - - join: deus_ex_machina (n=es.mehmoc.dnabderb.51-441-152-38c|ekcoj#es.mehmoc.dnabderb.51-441-152-38c|ekcoj) joined #ai
13:20:08 <chessguy> yes, it's called a knight tour
13:20:22 <chessguy> very famous problem
13:21:28 <AIrelay> <HappyFung@ef> how is optimality judged of chess-playing algorithms?
13:21:41 <AIrelay> <ninevolt@ef> could there be a chess computer called "brute force" that statistically calculates its next move based on random strategy
13:21:53 <AIrelay> <ninevolt@ef> :P
13:22:19 <chessguy> HappyFung: unfortunately, it's really impossible to "prove" that an algorithm is optimal, other than experiental proof
13:22:49 <chessguy> one common process is to test the algorithm against a number of positions in which the solution is "known"
13:23:13 <cwenner> we wish to prove that it's optimal when it comes to move selection - and that is possible, just not practically yet
13:23:29 <chessguy> where by "known" i mean that the strongest players say so, and nobody's proved them wrong :)
13:23:35 <AIrelay> <HappyFung@ef> chessguy: there are sundry proofs of optimality in existence for various algorithms
13:24:13 <chessguy> such as?
13:25:12 <AIrelay> <HappyFung@ef> first, did you mean "experiental," or was it a typo?
13:25:32 - - - quit: nclife (Read error: 110 (Connection timed out))
13:25:53 <chessguy> experiential meaning based on experience. i.e., nobody can beat it.
13:26:48 <AIrelay> <HappyFung@ef> here's an optimal algorithm: http://www3.cc.gatech.edu/classes/AY2002/cs6210_fall/papers/MutualExForNetwork.pdf#search=%22optimal%20algorithm%22
13:27:33 <AIrelay> <HappyFung@ef> any comparison sort is optimal at O(n log n)
13:27:51 <chessguy> oh, are you talking about time efficiency?
13:28:39 <AIrelay> <HappyFung@ef> so what do you mean by optimality?
13:28:51 <chessguy> i mean choosing the best move every time
13:29:20 <AIrelay> <HappyFung@ef> an exhaustive search is optimal
13:29:26 <chessguy> well sure
13:29:30 <chessguy> but awfully impractical
13:29:37 <AIrelay> <HappyFung@ef> next speaker please
13:30:04 <AIrelay> <HappyFung@ef> (j/k, chessguy)
13:30:44 <cwenner> well, now that you're on the same page, go on with the original question :)
13:30:58 - - - quit: Chromix ("No host to route")
13:31:09 <cwenner> <HappyFung@ef> how is optimality judged of chess-playing algorithms?
13:31:39 - - - join: nclife (i=xm.moc.enilnoelbac.691.851.59.002|rialcnis#xm.moc.enilnoelbac.691.851.59.002|rialcnis) joined #ai
13:31:44 <AIrelay> <ninevolt@ef> "One is awakened when mutual exclusion is invoked" —Words of Wisdom
13:31:54 - - - join: Shadow_mil2 (i=ten.letlla.pi.17.82.96.26h|wodahS#ten.letlla.pi.17.82.96.26h|wodahS) joined #ai
13:31:56 <chessguy> by giving it a number of positions with known best moves and seeing how many it gets right. or simply by having it play other programs and/or humans
13:31:57 <AIrelay> <isLandDer@ef> say what?
13:32:32 <cwenner> how is it judged when it comes to time compelxity?
13:33:08 <chessguy> well, in typical engines, you often compare nodes per second
13:33:33 <chessguy> (typical meaning alpha-beta based)
13:33:37 <cwenner> that's a constant!
13:33:48 <Sotek> A* search is optimal given a heuristic that never overestimates.
13:33:51 <AIrelay> <ninevolt@ef> i was just quoting the article
13:34:04 <chessguy> yes cwenner
13:34:11 - - - join: mrevelle (n=101.231.571.96|elleverm#101.231.571.96|elleverm) joined #ai
13:34:14 <cwenner> well that's true, in the brute-force approach, you tend to do experiments and take the average branching factor after various pruning
13:34:24 <cwenner> hence NP
13:35:19 <cwenner> but there should be some other approaches in the shadows. i'm interested, could someone mention a few?
13:35:23 <AIrelay> <ninevolt@ef> so do you want to win in the shortest moves or measure the destruction of your opponent as moving towards the goal
13:36:03 <chessguy> the number of moves is really irrelevant. the important thing, ultimately, is checkmat
13:36:04 <chessguy> e
13:36:45 <cwenner> it's been almost two hours, could i get an idea of how many wishes to stick to this topic a bit longer and who would like to move on to the next article
13:36:50 <AIrelay> <ninevolt@ef> this kind of thing should be what people learn in school
13:36:50 <cwenner> a bit over two hours*
13:36:52 <AIrelay> <ninevolt@ef> :)
13:37:34 <chessguy> i'm always willing to discuss this
13:38:31 <cwenner> anyone?
13:39:20 <cwenner> 95% are here to idle
13:39:33 <AIrelay> <ninevolt@ef> http://www.eventsounds.com/wav/chess.wav
13:39:38 <cwenner> well, let's stick to this for a bit longer or we'll have one person to discuss with himself
13:40:22 <cwenner> who wants to inquire?
13:40:26 <AIrelay> <HappyFung@ef> is there anything in this article which is applicable to a real-world problem?
13:40:36 <chessguy> ah, good question
13:41:25 <chessguy> i think that GP in general, with its notion of telling the computer WHAT to solve instead of HOW to solve it is very applicable to real life
13:41:49 <AIrelay> <HappyFung@ef> why?
13:42:12 <paros> some things defy a high-level ontology
13:42:35 <chessguy> because i think we get trapped into a mode of thinking that there's only one way to go about solving a particular problem when we need to be open to other possible solutions
13:42:38 <AIrelay> <HappyFung@ef> paros: true; i haven't had any ontology classes yet though
13:42:51 <chessguy> there may be a radically different way of playing chess that hasn't occurred to us
13:44:08 <chessguy> not to mention, we don't really know how humans play chess
13:44:32 <cwenner> what do you mean, paros? that the complexity is so immense some details must be given? if so - cannot it be generated in the same sense it has for us?
13:44:52 <chessguy> so this is an interesting exploration into trying to formalize something that we don't quite understand
13:45:00 <AIrelay> <HappyFung@ef> chess has been going out of style since the defeat of kasparov and the arrest of fischer
13:45:24 <AIrelay> <HappyFung@ef> if i'm not mistaken, koza didn't get tenure at stanford
13:45:41 <chessguy> and your point?
13:46:03 <paros> cwenner given that the common answer is "it depends on teh position" it becomes more and more difficult to establish a high-level ontology
13:46:12 <paros> (in chess)
13:46:12 <AIrelay> <HappyFung@ef> i'm not trying to say anything bad about koza, kasparov, fischer, or chess, but for an article like this to be published, there has to be something worthwhile in it
13:47:05 - - - quit: utis (Connection timed out)
13:47:14 <chessguy> i think GP is certainly worthwhile
13:48:01 <AIrelay> <HappyFung@ef> i suspect that gp is dominated by some other paradigm, but i don't happen to know what it is
13:48:23 <chessguy> what do you mean by paradigm?
13:48:30 <AIrelay> <HappyFung@ef> gp is merely a stochastic beam search, after all
13:48:30 - - - quit: Shadow_mil (Connection timed out)
13:48:49 <AIrelay> <HappyFung@ef> it depends on a gradual descent to the solution
13:49:04 <AIrelay> <HappyFung@ef> paradigm? problem-solving paradigm
13:49:13 <chessguy> or ascent :)
13:50:16 <paros> I think there may be other problems in AI where a "fitness metric" does not exist. Such as a 9-block puzzle
13:50:36 <AIrelay> <HappyFung@ef> they didn't use a fitness metric?
13:57:10 <cwenner> does it really affect the performance that much to have three separate trees? cannot they merely have introduced three terminals - AtAdvantage, AtLosing, et.c. (~> MaterialDiff >,=,<). it seems to me it's something that would does it really affect the performance that much to have three separate trees? cannot they merely have introduced three terminals - AtAdvantage, AtLosing, et.c. (~> MaterialDiff >,=,<). it seems to
13:57:10 <cwenner> wouldn't make it harder to take these factors into account while on the other hand, cannot it gain some "insights" in the situations it may advance to.
13:58:40 <chessguy> i think that seems a little artificial too
13:58:59 <chessguy> as in some positions it doesn't matter whether you're winning or losing, the principles that should drive your strategy are the same
13:59:55 - - - join: So2ek (n=ten.tsacmoc.ed.1dsh.62-461-842-96-c|ketos#ten.tsacmoc.ed.1dsh.62-461-842-96-c|ketos) joined #ai
13:59:55 - - - quit: Sotek (Read error: 110 (Connection timed out))
14:00:16 <AIrelay> <HappyFung@ef> is this the paper: http://www.cs.bgu.ac.il/~sipper/papabs/eurogpchess-final.pdf
14:00:36 <chessguy> yes, that's it
14:01:05 <cwenner> we'll make sure to ask them to update the ef topic as well nexct time
14:01:29 <AIrelay> <HappyFung@ef> was this paper in a journal?
14:01:50 <cwenner> it was
14:01:55 <AIrelay> <HappyFung@ef> which journal?
14:02:19 <chessguy> it's in the proceedings of the 8th eurpoean conference on GP
14:02:31 <AIrelay> <HappyFung@ef> oh
14:02:33 - - - quit: grandrew_ (Read error: 104 (Connection reset by peer))
14:04:04 - - - nick: So2ek -> Sotek
14:04:09 <chessguy> wb, Sotek
14:04:26 <Sotek> thanks.
14:04:28 <chessguy> what are your thoughts on this paper?
14:04:34 <cwenner> are there constraints on the size of the articles in that journals? the article seems thin to me, i would very much like to see a number of variations in the tests
14:04:58 <chessguy> i agree cwenner. or at least a sample individual or two
14:05:56 - - - join: badon (i=ten.tsacmoc.tu.1dsh.841-121-661-76-c|LCYXCK#ten.tsacmoc.tu.1dsh.841-121-661-76-c|LCYXCK) joined #ai
14:05:58 <cwenner> they should've asked you instead, eh? ;)
14:06:16 <chessguy> eh?
14:06:29 <cwenner> to write an article on chess GP
14:06:43 <chessguy> nah. i don't have a working system
14:06:44 <chessguy> yet.
14:07:02 <cwenner> what improvements (not complete rewrittions) would you (not only chessguy) want to see or do to their app?
14:07:06 <cwenner> algo*
14:07:30 <chessguy> i suggested some already
14:08:00 <cwenner> most of those were rather fundamental though
14:09:33 <chessguy> i'm not sure there is enough info in the article to be give more specific improvements
14:10:30 <cwenner> well, should we move on to the other article then
14:10:37 <cwenner> hopefully we have someone whose willing to discus
14:10:52 <cwenner> the article is http://www.df-cad.dk/web/ai/Autodidact.pdf
14:10:52 - - - quit: deus_ex_machina ("Ex-Chat")
14:10:55 <chessguy> ok, thanks for the discussion everyone. i think i'm going to take off then
14:11:08 - - - join: Wagoo (n=hc.niweulb.tsuc.26.302.13.842|oogaw#hc.niweulb.tsuc.26.302.13.842|oogaw) joined #ai
14:11:11 <cwenner> how about a summary or a few last words, chessguy?
14:11:38 <chessguy> i think chess has long been in need of some true innovation
14:12:03 <chessguy> for 50 years, we've assumed that alphabeta is the be-all and end-all of chess algorithms
14:12:24 <chessguy> and yet, these engines are still only producing results comparable to humans
14:12:55 <chessguy> these engines search millions of positions per second, and yet aren't that much (if at all) better than humans who only see a few positions
14:13:11 <AIrelay> <HappyFung@ef> how fast is ibm's fastest supercomputer?
14:13:32 <chessguy> i think the attempt to do something more innovative in chess will lead to great advances in thinking differently about AI in general
14:13:45 <chessguy> this paper is a great first step in that direction
14:14:04 <chessguy> thanks
14:14:13 <AIrelay> <HappyFung@ef> deep blue could analyze 200 million moves/sec
14:14:40 <AIrelay> <HappyFung@ef> i'm pretty sure that they can do trillions of moves/sec nowadays
14:14:51 <chessguy> nah
14:15:13 - - - quit: Wagoo (Read error: 104 (Connection reset by peer))
14:15:33 <chessguy> a few hundred million nodes per second is the max that's been done
14:15:55 <chessguy> and on most machines, of course, it's far less than that
14:15:57 <AIrelay> <HappyFung@ef> no one sees a reason to do more?
14:16:09 <chessguy> deep blue had very specialized hardware
14:16:29 <cwenner> i read something about a successor, "deeper blue", but cannot find anything about it
14:16:32 <chessguy> it's hard to do, HappyFung
14:16:42 <AIrelay> <HappyFung@ef> i've met the deep blue team
14:16:52 <chessguy> ok, time to go watch the Penn State Notre-dame game
14:16:55 <AIrelay> <HappyFung@ef> they didn't say anything about plans for the future
14:16:56 <chessguy> ta
14:16:58 - - - join: Wagoo (n=hc.niweulb.tsuc.26.302.13.842|oogaw#hc.niweulb.tsuc.26.302.13.842|oogaw) joined #ai
14:17:20 <AIrelay> <HappyFung@ef> later, chessguy
14:17:38 <cwenner> okay, deeper blue was just deep blue
14:17:51 <cwenner> deep blue, the second
14:18:41 <AIrelay> <HappyFung@ef> by my calculations, the partial derivative of the squared error function is 2x_{ij}\hat{y}_i
14:19:28 <AIrelay> <HappyFung@ef> you sure i should ask in #math about gradient descent?
14:20:17 <AIrelay> <cwenner@ef> hat?
14:20:35 <cwenner> Has anyone else read Dan's article? Autodidact - Qspan?
14:21:23 - - - quit: oogaw (Read error: 110 (Connection timed out))
14:21:53 - - - join: grandrew_ (n=ur.ten-utm.eoppp.402-73-732-38ppp|werdnarg#ur.ten-utm.eoppp.402-73-732-38ppp|werdnarg) joined #ai
14:22:38 <AIrelay> <HappyFung@ef> cwenner: i may have miscalculated; i'll try again
14:22:41 <cwenner> it seems we unfortunately won't get much more out of it. the turn out was rather low, hopefully better next time, thanks for the discussions though, they were fruitful
Discussion060909
page_revision: 3, last_edited: 1157983917|%e %b %Y, %H:%M %Z (%O ago)





