Golden Chess

Quick User’s guide

 

Introduction

The main function of a database should be the search of the information in it contained as fast as possible with the available technical facilities. For this, the tools used to build it are decisive, as well as the technical and thematic knowledge correctly applied in its design, construction and maintenance.

The selected tools were: (a) the generic engine MySQL Server 5.0 (of free distribution), we consider that it is the most powerful in its area and working range. Therefore the databases, charts, and designed or generated indexes for all the products Golden Chess, are fully compatible with this tool; (b) the programming platform Framework 2.0 to assure the total compatibility of the products Golden Chess with the Microsoft operating systems; (c) the programming language Visual Basic. NET with completely managed code, to make easier the learning and the future understanding of all those programmers and/or chess players that might be interested in participating actively in this project, any way they want to, collaborating or even working. In this sense, it will be very important to see the evolution of the Golden Chess community, as the different upgrades come out. You can be integrated, starting from now! In some point, in some topic, with some collaboration. You can locate yourself at different levels, as a chess player, as a programmer, or simply with your opinion like an expert user.

 Come and join us.

 

First time using Golden Chess.

Once installed the program, when it runs, it begins with the following operation screen:

Gráfico1-eng.jpg

Read carefully  the description for each object in the above screen.

Then click the lapel <Main Board>, the following screen should appear::

Grafico2-eng.jpg

Again, read carefully and identify all the elements that are described in the above screen. Some elements will be detailed later on, for the time being it is enough to be able to face the following challenge.

Challenge. A database should be able to respond to such typical applications like this:

“I want to see the games of two world champions of American origin, Capablanca (I ignore if he is called José or Raúl) and "Bobby" Fischer, against any player, but only those that have been played in the cities of Buenos Aires, Mar del Plata, Palm of Mayorca (I ignore if Mayorca is written with "ll" or with "y") and Reikiavic (I know how it is pronounced but I don't know how it is written)"   Is this possible with Golden Chess?

Obviously, yes it is possible. We have not still developed an interface that he/she answers in the natural language (but we are in our way), however, having the question in mind and managing very basic searching concepts in our database we can, with an appropriate sequence of "clicks" and entering the key data to obtain the sought result. To begin the practice we will define:

OBJECTIVE 1.  To bring to the RAM memory all the games of the precedent requirement and visualize it in the main board.

Key data. 

·        Good:

¨      the last names of the two players <Capablanca and Fischer>, and

¨      the names of the cities <Buenos Aires and Mar del Plata>

·        Doubtful:

¨      the names of the two players <José and "Bobby">, and

¨      the names of the cities <Palm of Mayorca and Reikiavic>

 

PROCEDURE: STEP BY STEP. (We make a very intensive use of the mouse, which will be mentioned from now on as less as possible, in order to have clearer and shorter explanations, we will only make reference to it with the word "click".)

1.      We click in the lapel <Database>, a reduced list will appear from the 32570 contained players in the DEMO base, ordered alphabetically by last name and name.

2.      We enter for omission in the lapel <Select Players>. If it was not this way, we select it. In the input box <From Name> we write letter by letter <C, a, p, a, b> and we observe what’s happening. We can already see the name Capablanca: appears José Raúl, and the accents are not there. Note: Although they should be there.

3.      In the input box <To Name> we type "Fisc". NOTE: we are defining that it "filters" the players alphabetically ordered from those that begin with "Capab" until those that begin with "Fisc"

4.      We apply the players filter: We click in the icon of the funnel. filterSet.png (from now on <to apply filter>) that has an arrow down. After some seconds of processing the applied filter reduces our list to 3830 players. Headed by the one that interests us.

5.      We check with a click the column <filter> the "check box" of the player identified with the <Id=1179> that is José Raúl Capablanca.

6.         With the right displacement bar we drag the movement button completely down. We see several players that call themselves Fischer. For previous knowledge we know that the appellative "Bobby" is applied in English to Robert. So, of the whole list we only mark "Fischer" with the <filter> on those with the <Id=29273>, and <Id=2533>, with only two additional clicks. It must be one of them!

7.      We go for the cities. We click the lapel <Select Sites>, we see a very similar appearance to the lapel of players' selection, but the list is empty. To bring it to the screen, we click directly in the button <to apply filter>, without typing anything. It bring us a list of 1351 cities.

8.         We write in <From Name> "Buenos", and in <To Name> "Palm" and in <Site names> "avi". With this we try to filter alphabetically the cities that are ordered, from those that begin with "Buenos" until those that begin with "Palm" plus those that contain the syllables "avi" that it is the only thing we know almost for sure of how Reikiavic is written. Again, we click in the button <to apply filter>. We see that it brings us a list of 681 cities, it begins with Aviles, then Aymavilles continues, and third is Buenos Aires, we check the <filter> for it <Id=1078, Buenos Aires>. We search with the displacement bar, the cities that begin with "M", until we find Mar del Plata, check the <filter> for it <Id=1093, Mar del Plata>. 

We continue moving down until we find almost at the end of the list that Palm of Majorca is written with "ll", and we check the <Id=1291, Palm of Majorca>, besides, three more lines below you see "Reykjavik"!! It is written with "y", with "j" and with "k" (at least this way is in this list), finally we also check the filter for the <Id=1192, Reykjavik>. NOTE: as first conclusion we observe that for querying  any Database, it is necessary to have at least, good and/or doubtful previous knowledge, about the objective that we want to achieve. The magic and the riddle don't have room, here, it is necessary to know how to interrogate!  

9.         Everything looks very pretty, but How do we unite both filters?. We are already under conditions of applying a combination of both filters: just besides the icon of <to apply filter> there is an icon with a binocular filterSearch.png(it Combines all the filters and then search), we click it. An emergent screen appears whose title is <Config the filters to search>, which allows us to interrogate with some few clicks, either looking for the union, and/or looking for the intersection of the different filters. We have not put filters for “Events”, for “Openings”, for “Positions”, for “Games” neither for “Other Item”, therefore, we remove the mark respectively the following "check box": <Events>, <Openings>, <Positions>, <Games> and <Other items>. But, we leave the marks in the "check boxes" corresponding to <White players>, <Black players> and <Sites> that are the previously defined ones.

10. Just to the right of the frame <Include previous Set> there is a text square that contains a global definition, this one is good to filter for the Union and/or the Intersection of the different previous filters. E.g.: If we want to look for only the games between Capablanca and Fischer, we should use the intersection (AND), obviously that gives us an empty group, since they never played to each other. On the contrary if we want to look for all the games played by Capablanca or Fischer,  we should use the union (OR) of the two groups. In our case we will use OR. On the other hand, we want to restrict the search to the selected cities, then to the result of the search for players (OR), we will apply the intersection (AND) with the group of the cities. Hint: to change an operator AND/OR it is necessary to click on this operator.

11. We define a maximum limit to the quantity of results (games in this case) that we expect, for omission at the beginning is in 100. We choose to increase it at 1500 for e.g. writing "1500" in the input box of <Limit the count of items to search> 

Our screen should look just like this:

 ConfigFiltersDemo.jpg

12.     Lastly, we give the order of searching by clicking the button <Search>

13.      After some seconds, it changes the lapel and it returns us a <Games result Set>, this means that the result of our search is a group (Set) or a lists of games that fulfill the requested conditions. The result should turn this way:

 

Grafico3-eng.jpg 

 

 

In the example we obtained a result of 172 games, ordered by <Game Dates> that is the Date of each game, and exactly in the 4 cities we requested. Very important: this results list should always be finally filtered to indicate which of these games interest us to analyze or to see in particular.

14. In this case, all of them interest us, and we can select them to visualize in the main board with a single click on the icon FilterSelectAll.png <to Select all the items>. We do it. We see how the program fills the <Filter> column with "checks". Done that, we are already under conditions of transferring these games to the RAM memory of our PC, where we will be able to see them and to analyze them in the lapel of the main board.

15. Loading the games in RAM: once selected the games of our <Result Set>, those that we want to transfer to the main board, use the iconfilter2board.png <Paste the selected games to boards>. A single click will be enough to generate in memory as many boards as necessary and verifying the legality of each movement in each one of the games. Now, simply, we click on this icon. After some instants, Golden Chess 2008-M commute to the lapel <Main Board>, showing us one expanded list with the 172 games: it has generated in memory 14.362 boards, and analyzed the legality for 442.484 moves possible from each one of them. It looks this way:

Gráfico4-eng.jpg

To contract the chart with the list of games, we click in the vertical bar located on the left of the chart, and it shows us the last game of the list in the main board. To change the game, we click in the same bar again, we move with the lateral right bar, dragging the central button until seeing the game that we want to use, we mark it with a click of the mouse on the selected line, and then we contract the chart again. In  this case it interests us the 8th. game of the match Fischer-Spassky that we see has in our base an <Id=89997>, we select it and we pass it to the main board. In particular we want to see the position after the white played 14.Qd2, we simply click on the algebraic notation of it and in our screen should appear the following:

Gráfico5-eng.jpg

1.      Visualization and surfing of the matches on the database: we can reproduce the game back and forward with the surfing buttons (second line of icons under the superior clock) or we can point to some move in the text box with the algebraic notation (English) and click directly on it to reach the corresponding position. This is everything for the first session.

 

If you arrived up to here, following step by step, this quick guide, you have reached the first objective. We recommend you to practice similar exercises. That you obtain the wanted results only depends on your imagination and your ability to outline the queries. As you will see, we have taken much more in explaining that in achieving an objective: once you have it in mind, the clicks come alone. Everything is speed up within the reach of some few clicks of the mouse, no matter how complex is the requirement against the database.

 

Welcome to the community Golden Chess! Enjoy its superior speed…

 

Second session of use with Golden Chess 2008-M Demo

To work orderly, although it is not necessary if you have enough practice, we close the program and we run it again. This way we make sure of cleaning completely all the charts, boards and searches generated in the first session. We go for second session:

Challenge. A good database should also respond to more demanding queries, not so typical, such as this

“I will play a tournament and I want to get ready studying two openings, the varying Sicilian Najdorf (but I ignore which is the corresponding ECO) and the opening of the Two Horses variant Morphy. Specifically I do want to see games played in tournaments of  USA and  the old USSR"  is possible this with Golden Chess?..

Answer: Yes, of course, let us see how.

OBJECTIVE 2. Bring to the RAM memory all the games in a chart filtered by the precedent application and to visualize it in the main board.

§         Data key. 

·        Good:

¨      the name of the openings in english: Varying Sicilian Najdorf and Two Horses variant

¨      the abbreviation of the two countries: USA and USSR

·        Unknown:

¨      the ECOs of both openings

 

PROCEDURE STEP BY STEP.

1.      We click in the lapel <Database>, and then in the lapel <Select Events>. An empty list appears.

2.     To bring it to the screen, we click directly in the button <to apply filter>, without writing anything. It deploys us a list of 3878 events, alphabetically ordered. We explore with the displacement bar button and quickly we notice that the events of USA begin with USA- and those of USSR with URS- .

3.      In the input box <From Name> we write "urs - ", in the input box <To Name> we write "ursz" and in the input box <or Event name is like as> we write "usa- ". With entering this we pretend the program to filter us the chart of events with all the names that begin with "urs - ", until those that begin with "ursz" (Observe the trick: we place a "z" instead of the slash); plus those that contain the letters "usa- ". Also observe that the entrances can also be written in CAPITALS, it is the same thing. Now we apply the filter with a click on its icon filterSet.png and we obtain 137 events:

Grafico6.jpg

Exploring with the displacement bar we verify that all the events that begin with "USA-" are also there.

4.     We select all of them with a single click on the icon FilterSelectAll.png of <to Select all the items>. 

5.    We go for the openings. First we select the lapel <Select Ecos>. Then, we see the following screen:

Gráfico7-eng.jpg

We can see that here exist the input boxes <From Eco>, <To Eco> and <Contain something like>, which allows us to define the filters for openings:  from Eco…, until Eco… and with the name of the opening seemed to…, respectively. Additionally a button switch appears (AND/OR) that we can use to define the intersection (and) or the union (or) of both groups. As in our case we don't know the code eco we leave all the input boxes empty and we proceed to fill the chart of openings applying the filter. We obtain a list of 10451 opening names! Ordered by ECO, with its description in English and Spanish. Too much to look for the eco one by one. Then, we write "najdorf" in the box <Contain something like>, and we apply the filter: now it returns us a much more governable list of 238. A quick exploration allows us to conclude that the ECOs that interest us go from B90.1 to B99.9, then we write "b90" in the box <From Eco>, and "b99z" (remember the trick of the "z") in the box <To Eco>, we erase the word  "najdorf" from  <Contain something like>, and we apply the filter: It excludes the variable Sozin-Najdorf and the program leaves us 230 variants. Well, we lack to add the variable Morphy of the two horses.

6.     Since we want to "add" the variable Morphy, this indicates us that we should "unite" both groups, therefore, we proceed to click on the switch (AND/OR) so that the word <OR> appears, that we will use for this union.

7.     We write "Morphy" in the input box <Contain something like>, and we apply the filter: now we obtain 260 variants, we have added 30 with the word Morphy, but we are not interested to include in the search neither the first one (ECO = B21.22), or the last variant of the list whose ECO is C77.1, neither the ECOs C32.7 and C33.37. The most practical method is to select what we want, exactly in this case, it is first to select everything with a click in the icon FilterSelectAll.png, and after unselecting the 4 variants that we don't want, one by one, clicking on each one of them to unmark its <filter> and to exclude them of the search.

8.      We are already under conditions of combining both groups of filters, the one of events (event set) and the one of openings (opening set). For that we click on the binocular filterSearch.png (remember that it is good to combine and to look for) and we configure the screen in the following way:

Gráfico8.jpg

That is to say, we remove the mark from <White players>, <Black players>, <Sites>, <Positions>, <Games> and <Other items>. AND we only leave the mark in <Events> and in <Openings>. we Increase the limit of prospective results to 2500 and we leave the connector <AND event [SET]> and  the connector <AND opening [SET]>, just as automatically the program configures it. Observe that AND is the intersection for the group of games related to the events played in USA or USSR, with the group of openings selected previously and gives us the result "the games of the database that carry out both conditions"; if we used the connector OR of the union we would obtain all the game plays in USA or USSR plus all the games with the variable Najdorf of the Sicilian or the variable Morphy of the two horses, that is to say, "the games of the database that fullfill one or another condition."  

We click <Search> and after a few seconds it returns us 595 games in the lapel <Result Set>.

9.     Load the games in RAM: to pass them to the main board we select all them with a click in FilterSelectAll.png <to Select all the items>, and in  filter2board.png <Paste the selected games to boards>, after some instants, Golden Chess 2008-M commute to the lapel <Main Board>, showing us a chart expanded with the 595 games: it has generated in memory 47.819 boards, and analyzed the legality for 1.558.255 possible moves from each one of them. When reaching this screen we have been able to complete our second objective: 

Gráfico9.jpg

 

  Now what we have left is the chess work: to study and to get ready for our tournament!

 

 

If you arrived up to here, following step by step, the second session, and you have some previous experience with other chess bases you have probably appreciated that the search power working with big groups of data, and its superior speed, have not still been achieved on the outside of Golden Chess 2008.  Choose your favourite lines and in few minutes you will have the whole background of available material and ready for your training..

 

Join! the community Golden Chess is beginning to walk……

PD: Please, if you dare, don't close Golden Chess, by finishing the previous session we have leaved the prepared land for the next session.   .  

 

Third session using Golden Chess 2008-M Demo

A standard search engine for chess databases should can to also look for certain positions. The answer speed usually depends on the good design, the optimization and the quality of the underlying programming. In Golden Chess to those three factors it has added as bonus value a new mathematical theory of combinatory numbers that develops the search speed at surprising levels:  you will find the position that you look for, much quicker and more easily than with any other well-known tool before. Surprise you!

Challenge. Taking as base the group of games that I am studying (the 595 games found in the second session)

 “I am studying the games and I found a position in the game Kamsky - Wolff (31/12/1992) USA-ch. After the white move 10.g4…, I want to add to my selection all the games of the database that contain this position."   Is it very difficult this with Golden Chess? How slow can get to look for them?. 

Answer: No, it is very easy and the time of search is smaller to 1 second. Verify it yourself.

NOTE: from now on we will call "View" to the table in memory where are the games residents in RAM.

OBJECTIVE 3. to Add to the "View" all the games of the precedent application.

Data key. 

·        Good:

¨      The position that is in screen in the "Main Board", from the game Kamsky - Wolff (31/12/1992)

 

 PROCEDURE STEP BY STEP.

1.      given the following position:

Gráfico10.jpg, that find starting from the search in the second session, we make click in the lapel <Database> and then in the lapel <Search Positions>

2.      he/she observes the description of the items of the following screen carefully::

Gráfico11-eng.jpg 

To bring the position that we want to look for from the main board to a little board, we simply click on the button  <to Bring the position from the "MainBoard">, then the mouse changes its shape and we point on the board where we want to overturn this position, there we click and that’s all.

3.     Then we click on the button <to Look for position in the database>, the mouse changes its shape again, and we point on the previous position.Position11.jpg.

 

4.     When clicking on it, the following dialogue square appears:SearchDialog.jpg  just on top of the above position.

The meaning of each "check box" to check to configure the search characteristics is from above to bottom, 1. Quantity of Pieces, 2. material Balance, 3. Position of the white pawns, 4. Position of the black pawns, 5. Position of <NBRQs> white, 6. Position of <NBRQs> black, that is to say of horses, bishops, rooks and queen 7. the kings' Position, 8. <Flags> Flags (turn to move, castle, pawn column to the passant capture, counts of 50 moved, counter of 3rd repetition) and finally a "check box" <deep search> to begin a “deep search”. If two positions are the similar  they should be the same in the items from the 1 to 7.. If they are also equal in the item 8, then we say that they are exactly same or that it is the same position.  If we mark the box of deep search, automatically the program marks the boxes from the item 1 to 7. We do it and with a click in the button <Search> the search begins. In less than a second Golden Chess finds the 4 coincident positions of among approximately 38,5 million positions that it contains the base of the Demo (500 left K). This is the result: Gráfico12.jpg Note: it is necessary to keep in mind that this list, from the point of view of the filters is equivalent (or of the same level) to the one that have defined for the groups of Players, Cities, Events, Openings, etc. that is to say, as anyone of those groups we can combine it to make an even more complex search..

5.     To pass to the main board these additional games we select them with a click in the icon FilterSelectAll.png, and then with another click in the icon filterSearch.pngof combining filters we configure it so that it filters and only combines by positions. That is to say, we remove the mark in <White players>, <Black players>, <Sites>, <Events>, <Games>, <Openings> and <Others items>. And we only leave the mark in <Positions>.  We filter everything with a click on the button <Search>, and in the lapel <Games Result Set> we select those that we want to pass to the main board with the button filter2board.png <Paste the selected games to boards>.. 

6.      After carrying out the previous point they are added to the current "View", at the end of the list, the following four games: 

Gréfico13.jpg                                               ready in RAM for their visualization and study.

We could leave the exercise here and consider our objective completed, but…, as everything in life one thing takes to the other, and we want  this time to enlarge our original objective and to add to it all the games that also coincide with the position Position12.jpg that takes place after the white move 8 Bg2  in the game Ye Jiangchuan vrs. Gelfand, Boris (1-0) FIDE World Cup KO, Shenyang, Round: 1.2, 07/09/2000., the one that we are seeing in the main board

 

1.     For it, in the lapel of <Search positions>, in the area of position buttons BotonesPosicion.jpg, the last on the right is the one that allows to fade the list of games completely with coincident positions to begin a new search. Click on this button BotonLimpiarListaPosiciones.jpg, we clean our list.

2.      We pass the position to look for with the button BotonPasarDesdeMain.jpg of copying to some board.

3.      We configure the search approaches with the button BotonBuscarPosicion.jpg of looking for positions in the database, just as we made in the previous point 3, we give the order of searching by clicking the button <Search>. After some seconds (between 2 and 10, according to the speed of our CPU) we obtain 127 additional positions. We click on the button FilterSelectAll.png of selecting all.

4.      With the button filterSearch.png far-reaching we configure the combination of filters just as we made in the previous point 4 (we only leave the mark for the group of <Positions>) and when making the combined search we obtain the following result set:

Gráfico14.jpg

 and in the same lapel <Games Result Set> we select all of them and we pass them to the main board with the button filter2board.png <Paste the selected games to boards>.

7.      Concluded the previous point, to the current "View" of 597 games is added, at the end of the list, the 127 recently found games:

Grafico15.jpg                           Now, we have a total of 709 games ready in RAM for their visualization and study. 

So now, we consider accomplished the enlarged objective of the third session… The team of Golden Chess wishes you the best omens for what is left of the 2008, and we hope confidently you go for more…, Golden Chess Premium extends the database to more 4.311.000 games up to the 26-05-2008 and our service of weekly Upgrade will always maintain you up-to-date with the last games played in the entire world; for further information  you can link to www.torreblanca.org.ar  or  www.chesshop.net.  

Enjoy Golden Chess! And use the time that it saves you...for what you wish...