2013-10-07 00:21:19 +0000 <maverick_> dwcook: I don't really know where to start
2013-10-07 00:21:44 +0000 <maverick_> dwcook: I made a function that computes a minimax Tree, so now I have to use that function somehow in my makeMove function
2013-10-07 00:34:02 +0000 <dwcook> maverick_, what type is the tree-computing function?
2013-10-07 00:34:23 +0000 <maverick_> dwcook: minimax :: Player -> Rose Board -> Rose Int
2013-10-07 00:34:46 +0000 <dwcook> maverick_, where do you get a Rose Board from?
2013-10-07 00:35:07 +0000 <maverick_> Computing a gameTree
2013-10-07 00:35:17 +0000 <maverick_> gameTree :: Player -> Board -> Rose Board
2013-10-07 00:35:30 +0000 <dwcook> Doesn't that suggest something to you?
2013-10-07 00:35:38 +0000 <dwcook> makeMove accepts a player and a board, and so does gameTree
2013-10-07 00:36:47 +0000 <maverick_> dwcook: Correct, I have this now minimax p (gameTree p b)
2013-10-07 00:37:05 +0000 <maverick_> dwcook: But the type of it is Rose Int , so it isn't the final product ye
2013-10-07 00:37:30 +0000 <maverick_> dwcook: But it computes the minimax tree of the given Player and Board
2013-10-07 00:37:40 +0000 <dwcook> What's the significance of the Int?
2013-10-07 00:38:42 +0000 <dwcook> (I'm assuming Rose Int, in some sense, *contains* Ints)
2013-10-07 00:38:47 +0000 <maverick_> It are numbers for the minimax Tree, -1 is lost, 1 is won, 0 is draw if you look at it in AI perspective
2013-10-07 00:39:09 +0000 <dwcook> Okay, how do you define "optimal"?
2013-10-07 00:39:40 +0000 <maverick_> The move with highest win ratio
2013-10-07 00:39:53 +0000MedDev(~MDev@68-187-73-233.dhcp.unas.ut.charter.com)
2013-10-07 00:40:00 +0000 <maverick_> Or yeah, the highest chance of winning
2013-10-07 00:40:26 +0000 <dwcook> Do you see it yet?
2013-10-07 00:40:47 +0000 <maverick_> Nope
2013-10-07 00:41:01 +0000 <dwcook> How would you compute the chance of a move leading ultimately to a win?
2013-10-07 00:41:29 +0000 <maverick_> By picking the move that contains a 1
2013-10-07 00:41:38 +0000 <maverick_> In the minimaxtree
2013-10-07 00:41:44 +0000 <dwcook> Well, you certainly would like there to be a 1
2013-10-07 00:41:58 +0000 <dwcook> But there isn't a 1 in every tree
2013-10-07 00:42:32 +0000 <dwcook> Besides, some moves contain *more* 1s than others
2013-10-07 00:42:37 +0000 <dwcook> Some moves are uniformly bad
2013-10-07 00:43:49 +0000 <maverick_> Hmm
2013-10-07 00:45:08 +0000 <dwcook> In your definition of "optimal", it sounds like you assume your opponent picks a move at random. Is that right?
2013-10-07 00:45:15 +0000 <dwcook> Or does your opponent *also* try to play optimally?
2013-10-07 00:45:29 +0000 <maverick_> The AI plays optimally
2013-10-07 00:46:04 +0000 <dwcook> I'm asking whether both players play optimally.
2013-10-07 00:47:05 +0000 <dwcook> If your opponent chooses at random as opposed to playing optimally, that means you want the tree with the *most* 1s; but if they play optimally, you need to discount those 1s that come from your opponent making a move they would discount.
2013-10-07 00:47:37 +0000 <maverick_> It is player vs AI