RE: What's The Name Of This Gaming Thing?

  • From: "Homme, James" <james.homme@xxxxxxxxxxxx>
  • To: "programmingblind@xxxxxxxxxxxxx" <programmingblind@xxxxxxxxxxxxx>
  • Date: Fri, 18 Feb 2011 07:49:22 -0500

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."

Other related posts: