Hi Kerneels, I'm sorry. I truly don't understand much of what you said. But Thank you for trying. As I was writing my question yesterday, I was thinking of two things. I had heard about this tree thing that everyone's talking about. It seems like a whole lot of computing power is involved, so I was wondering if there might be another way to approach the problem in Chess. I hope I can find the site or article again that sparked the idea. It goes something like this, but it was aimed at humans. If, instead of memorizing the right moves in various strategies, you can get familiar with different patterns, like recognizing various positions that might come up in games, you might be able to learn to play better faster. I was thinking that if you could tell your program that in given positions certain moves are good because we've worked that out already, that maybe it would be less memory intensive to get it to pick out good moves. Without being educated in this area, it seems that it's a waste of time to look through every possibility. I know that when I play, I don't think that way. I say to myself "Hmm, I think that I would like to end up in this configuration." Then I say "If my opponent could do nothing to stop me, what would I have to move to get there." Then, I start to say something like "Now that I know which moves to make, how is he likely to stop me?" I don't think that something like that could include every possible move. I'm sorry if I'm not saying this clearly. I don't talk in code very well. The second thing I was thinking is this. I know I could just use a chess engine for this and forget about it, but I was trying to think of a little project to do in my Java learning when I get this far, and I'm not sure when that would be, as in how much I have to learn to do it, but the project is to make a program that can, among other things, check chess game listings to make sure the moves are valid. The program would not be able to play against anyone. It would just check to see if the moves you type in, or that it reads from a game score are OK. I would give it other functions later, but I want the project to be small for now on purpose. And I'm trying to figure out at which point in my Java book I will know enough to do the project with objects. I think that the project would teach me how to plan an object oriented program and code it. I don't know if it would include all the stuff about classes that the book will have taught up to that point, but it will be a stab at pulling the concepts together. I think I'd like to do it in such a way that I could make the classes so that I can run the program from the console at first, then, when I learn GUI, they'd still work. And if I move the interface to the web, they would still work. If you can make Java use a dll, maybe I would learn to do that and I'd suddenly have an accessible front end to a chess engine. But that's just a lot of ideas floating around right now. I'm just trying to keep myself enthused about OO and Java so that I have the energy to work on it with the other stuff I'm doing and keep moving forward. Thanks. Jim Jim Homme, Usability Services, Phone: 412-544-1810. Skype: jim.homme Internal recipients, Read my accessibility blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>. Discuss accessibility here<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>. Accessibility Wiki: Breaking news and accessibility advice<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%20Wiki/Forms/AllPages.aspx> From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Kerneels Roos Sent: Friday, February 18, 2011 3:18 AM To: programmingblind@xxxxxxxxxxxxx Subject: Re: What's The Name Of This Gaming Thing? Hi Jim, Nice question! The problem of solving strategy games such as chess and tic tac toe and drafts involves generating a search tree that represents as many possibilities for each move at each level as you have resources for, and then, by searching finding the best possible next move with an eventual favourable end in mind. In essense, the program looks ahead into the future to avoid being duped by sub optimal moves which might yeald short term benefits but eventual damnation! A big part of this is searching the tree or graph of possibilities efficiently, representing the structures efficiently and employing huristics (rules of thumb) to keep things from exploding into too large to handle data sets. It's part of the field of classic AI and it has been studied for decades now. It's sometimes also referred to as symbolic AI as it deals with discrete values and usually involves a type of math called discrete math (as aposed to calculas for example, that deals with continuous systems, values approaching 0, values approaching infinity and fractions). All this might sound fairly complicated but I can assure you it's actually not, and many of these classic AI problems have been solved sufficiently. For example, there are chess systems that can't be beaten. Yes, the machines can beat us at very narrowly defined games such as chess, and it can only beat the world champions with significant effort on the machine designer's part, to such an extent that it's debatable if the contest is even fair or not. For example, in the whole Deep Blue saga, IBM programmed their system to beat Gary Kasparov in particular. Had another world champion shown up for the tournament it might have had different results -- an indication of what an amazing game chess is and how hard it is to beat the best mind on earth. Moving on from classic AI, there is a very interesting field which have been termed CI (Computational Intelligence) which concerns it'itself with some of the same goals as classic AI, but it does this with things like artificial neural networks (symulation of how a brain functions), particle swarm optimisation (modelling how swarms of living insects operate to find solutions to complex problems) and many other models of real life living systems that exhibit intelligent behaviour. Wow, where has the time gone! Cheers, Kerneels On 2/17/2011 11:17 PM, qubit wrote: So did your coffee working yield the answer? *smile* --le ----- Original Message ----- From: Homme, James<mailto:james.homme@xxxxxxxxxxxx> To: programmingblind@xxxxxxxxxxxxx<mailto:programmingblind@xxxxxxxxxxxxx> Sent: Thursday, February 17, 2011 2:43 PM Subject: RE: What's The Name Of This Gaming Thing? Hay Laura, I asked the question before my coffee started working this morning. Jim Jim Homme, Usability Services, Phone: 412-544-1810. Skype: jim.homme Internal recipients, Read my accessibility blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>. Discuss accessibility here<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>. Accessibility Wiki: Breaking news and accessibility advice<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%20Wiki/Forms/AllPages.aspx> From: programmingblind-bounce@xxxxxxxxxxxxx<mailto:programmingblind-bounce@xxxxxxxxxxxxx> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of qubit Sent: Thursday, February 17, 2011 3:35 PM To: programmingblind@xxxxxxxxxxxxx<mailto:programmingblind@xxxxxxxxxxxxx> Subject: Re: What's The Name Of This Gaming Thing? heuristics are just educated guesses. I suppose it can be useful in developing strategies, but it's not the only part of the science... Hey Jim, this must have been a good question with all the attention it has received...*smile* --le ----- Original Message ----- From: Christopher<mailto:ccoale427@xxxxxxxxx> To: programmingblind@xxxxxxxxxxxxx<mailto:programmingblind@xxxxxxxxxxxxx> Sent: Thursday, February 17, 2011 2:29 PM Subject: Re: What's The Name Of This Gaming Thing? Heuristics, perhaps? On 2/17/2011 12:25 PM, Haden Pike wrote: Artificial Intelligence? Logic, perhaps? Just tossing ideas out there. Haden On 2/17/2011 7:58 AM, Homme, James wrote: Hi, I'm not sure how to ask this question since I don't have the background yet. When you have a program that is playing a game, let's say a simple game, like TicTacToe, and it tries to figure out what the best move is, what is that whole subject called? Or when you have a game where you are moving two people around and you don't want them to run into one-another, is that the same subject? Thanks. Jim Jim Homme, Usability Services, Phone: 412-544-1810. Skype: jim.homme Internal recipients, Read my accessibility blog<http://mysites.highmark.com/personal/lidikki/Blog/default.aspx>. Discuss accessibility here<http://collaborate.highmark.com/COP/technical/accessibility/default.aspx>. Accessibility Wiki: Breaking news and accessibility advice<http://collaborate.highmark.com/COP/technical/accessibility/Accessibility%20Wiki/Forms/AllPages.aspx> This e-mail and any attachments to it are confidential and are intended solely for use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please notify the sender immediately and then delete it. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this e-mail without the author's prior permission. The views expressed in this e-mail message do not necessarily represent the views of Highmark Inc., its subsidiaries, or affiliates. -- Kerneels Roos Cell: +27 (0)82 309 1998 Skype: cornelis.roos "There are only two kinds of programming languages in the world; those everyone complains about, and those nobody uses."