Comments/Ratings for a Single Item
However, I noticed that Ryugi was missing.
Oh, I completely missed that one.I added it now. 9 hours is pretty extreme. That was on 2 ply? There must be an enormous search explosion in quiescence search. I guess the problem is jumping generals, which can always make captures, mostly bad ones. And the diagram's AI doesn't use a transposition table yet. So if you have several generals, it will be trying all their captures in combinatorially many orders. In my Tenjiku Shogi engine 'Inferno' I solved that by riguorously pruning any H x protected L capture in QS.
Anyway, the diagram behaves badly for long thinking times, because the search is done by the main thread. This triggers complaints from the browser ("a script is slowing down your browser") if it takes more than 10 sec. I mus figure out how to delegate the search to a 'worker thread' that runs in the background; this is what Jocly does for ist AI. (In the 2-vs-1 checkmating appletI solved it by generating the EGT in steps, having each step schedule the next through a timeout, so that it could attend to other browser functions (such as actually displaying and formatting the step results) in between.)
I left diagrams where I was in doubt out of the list. That included most large Shogi variants, also my own 13x13 variants. These can be added later if they check out OK. Perhaps dai Shogi should not even be in the list; I never tried that one. Sac Chess also seems to give problems, at least at > 2 ply.
Hectochess now has a diagram with playable AI. I also made a new variant, Banner Xiangqi, which has its own playable diagram as well.
OK, I added those to the list.
Some time ago I slimmed down the Quiescence Search of the diagram's AI, because in large variants with many powerful pieces it was still prone to search explosion. (It now unconditionally searches only Low x High captures that capture the last-moved piece, or punish moving away a (soft-)pinned piece; other captures need to consume part of any remaining depth budget.) Because of this diagrams that used impractically long thinking time might now perform acceptably. For instance, after this change I had no problems having the Diagram play Macadamia Shogi against Ai Ai. (But I still don't want to add Macadamia Shogi to the list, because it is not possible to enter the triple capture of the Lion Dog. Even though in practice there probably will never be an opportunity to make such a capture.)
Suzumu Shogi and Mitsugumi Shogi have been moved to different pages. There is no longer a hyphen separating the words "suzumu/mitsugumi" and "shogi," so if those could be updated that would be greatly appreciated.
Also, Hanten Shogi and Gyaku-sama Shogi no longer exist, so they can be removed from the list.
Mitsugumi Shogi seems to be missing. It doesn't have as many problem pieces as its big brother Suzumu Shogi, so it can be added to the list without much trouble. I've also successfully tested a modified NextLeg function, which relieves the AI from having to use cumbersome recursive functions to vet moves for the range capturing pieces, which I will implement in the CVP articles soon.
(Same as old page, but with the hyphen removed)
HI respected H.G. M, could you do me a favor by telling me how to get an unblockable aA? In aA, it's blocked. How do I get an unblocked thing? My sincere gratitude for your precious aid and suggestions. --adelle
I don't understand what you mean by 'unblockable aA'. If the piece you want would be on h8 of a 16x16 board, where should it be able to move to?
With blocked version such as a, af, we could create numerous amusing new checkmating patterns or puzzles. For instance, lamed horse, lamed Dababba, lamed camel, lamed zebra, etc., once released from being lamed, it could combine with checking bigger pieces, achieve a lot of valuable positions or pieces. And we could intentionaly lame ( block) or unlame (unblock) our own pieces for tactical benefits.
With unblocked DX, DY, AX, AY, etc., we could combine them with lame-able pieces to spice up combinatorial checking or tactical effects.
h.g.m, thanks so much. my sincere gratitude for what you've done.
Dear respected H.G. Muller, how can I, using lamed or blocked system, get blocked forward wide horses (2 horses)?
How to write blocked backward-left wide horse ( only 1 horse), by using afsW system?
Thanks so much.
Dear respected h.g.muller, could you do me a favor by answering some questions? 1aa. With cannon in location A1, and pao buttress in A2, how to cannon the target at location A4? how to target A6? I know that A1----A2 (buttress) --->A3 (target) is: paW. But how to write A1----A2 (buttress) --->A4 (target)? 1ab. With cannon in A1, and pao buttress in A3, how to cannon target at A4, is it possible? And how to target A6? Let me summarize: A1----A3 (buttress) --->A4 (target)? A1----A3 (buttress) --->A6 (target)? 1ac. On diagonal Pao. With cannon in A1, and buttress in D4, how to cannon target E5? How to target F6? How to target G7? How to target H8? How to target I9? How to target J10 ? Thank you so much! My sincere gratitude for your precious suggestions. And could I suggest that we could design a much more specific or clear-in-each-detail cannoning system? It's so much fun, to lauch cannons, with Different Buttress Holding Locations, from different directions, e.g., prF. And a in-each-detail-specific cannoning system could add huge amounts of amusing physics, accurate counting-targeting, logic, and other tactic puzzles or situations never encountering before. And this in-depth detailed research will elicit much more sense of probability winning control on chesses playing or designing. Could you design more cannoning gadgets, or other specific detailed appliances, dear h.g.muller? Thanks so much. You are brilliant.
1aa. With cannon in location A1, and pao buttress in A2, how to cannon the target at location A4? how to target A6? I know that A1----A2 (buttress) --->A3 (target) is: paW. But how to write A1----A2 (buttress) --->A4 (target)?
Note that the a1-a2-a3 hopper would be pafW. If you do not restrict the direction of the second leg, like in paW, it would also allow a1-a2-b2.
For a1-a2-a4 it depends on whether you want to put any conditions on a3. If that must be empty for the move to be allowed, you would write pafafW. So you would start with a 'hop on' leg (p) far reaching the 'mount', and then continue with two more steps in the same direction (f) instead of just a single step. By default the target square of a non-final leg must be empty, so anything on a3 would block the move. If you don't want that, you have to overrule the default by explicitly writing what the target square can contain: empty (m) or any piece (p). So you get pafmpafW when you want to allow the move in all cases (and thus effectively ignore a3).
1ac. On diagonal Pao. With cannon in A1, and buttress in D4, how to cannon target E5? How to target F6? How to target G7? How to target H8? How to target I9? How to target J10 ?
The diagonal hopper that must land directly behind the mount, but can have this mount at any distance (sliding towards it) would be written as the corrsponding slider (so B for diagonal), but to indicate that it no longer slides beyond the mount you would write an extra y before the a: pyafB. If you would want it to land two squares behind the mount, this would become pyafmpafB. The mp would indicate that the square between the mound and where the piece lands can be either empty of contain a piece. If you want to require it is empty you should have written pyafafB, which by default is the same as pyafmafmcB.
Thanks very much. I'm so grateful for your cherishable suggestions. After trying some of the cannon-distance-predestined system, it's so much fun, and very controllable in winning many moves, or board positions, or combinatorial tactical arraying of different-firing-range of different types of cannons, will hit desired targets in different board positions.
Thank you for your precious help on this amusing yet very accurate-counting-planning-pre-required chess variant. Voce ist eine beautiful star en el ciel.
Dear respected h.g.muller? why your applet page is not working now ? could you tell me what is happening? Thank you very much.
sincerely yours, Adella Hardy.
@H.G.Muller,
..Respected Mr. muller,
Question: How to express Non-crossable board positions such as D, H, WX, DX, HX, WXX, etc.?
Huge benefits with non-crossable board positions. could create thousands of fun chess variants, suitable for brain exercise mental computation and body fare.
Thank you so much!
@ H.G.Muller,
I do not think mr. hgm could answer my chess question in my precious posts.
so pass my previous question over.
i do not need answered by
Sorry, but I don't understand what you mean by "non-crossable board position". Do you mean non-jumping? That would be nD or nH. But in the Interactive Diagram it is imperfectly implemented, and for leaps that are too large it would not work correctly.
@H.G.Muller,
Thanks for the answer.
In real life, when there are people or objects ahead
of me, then i'm blocked and cannot pass
through.
Currently, D, H, etc row points all pass through.
This is [[ Un-real-life. ]]
Real life- Non-passable D, H, WX, DX, HX, WXX,
DXX, etc. board row points, could contribute to
chess variants design and play tremendously.
You could use passing or unpassing row points as
tactics. Also, could design huge number of new
chess variants of high quality for everyday fun
brain exercise and real chess ability.
++++++++++++++++++++ ++++++++++++++++++++
Blocking Methods 1aaa.
A row point's immediate, First neighbor, if
occupied, then this point is non-passable, or
blocked.
--- (Note: indicate this blocking neighbor to
be on right or left side, or on either side of the
point. I would suggest, for this week, try on
either side, for next week, try left or right side. )
Blocking Methods 1aab.
A row point's immediate 1st , And, 2nd, neighbor,
if occupied, then this point is non-passable, or
blocked.
Blocking Methods 1aac.
A row point's immediate 1st , Or, 2nd, neighbor,
if occupied, then this point is non-passable, or
blocked.
Blocking Methods 1aad.
A row point's immediate 1st , And , 2nd, And,
3rd, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aae.
A row point's immediate 1st , Or, 2nd, And, 3rd,
neighbor, if occupied, then this point is non-
passable, or blocked.
Blocking Methods 1aaf.
A row point's immediate 1st , And, 2nd, Or, 3rd,
neighbor, if occupied, then this point is non-
passable, or blocked.
Blocking Methods 1aag.
A row point's immediate 1st , And , 2nd, And,
3rd, And, 4th, neighbor, if occupied, then this
point is non-passable, or blocked.
Blocking Methods 1aah.
A row point's immediate 1st , And , 2nd, And,
3rd, Or, 4th, neighbor, if occupied, then this
point is non-passable, or blocked.
Blocking Methods 1aai.
A row point's immediate 1st , And , 2nd, Or, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aaj.
A row point's immediate 1st , And , 2nd, Or, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aak.
A row point's immediate 1st , Or , 2nd, And, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aal.
A row point's immediate 1st , Or , 2nd, Or, 3rd,
And, 4th, neighbor, if occupied, then this point
is non-passable, or blocked.
Blocking Methods 1aam.
A row point's immediate 1st , Or , 2nd, Or, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
Blocking Methods 1aam.
A row point's immediate 1st , Or , 2nd, And, 3rd,
Or, 4th, neighbor, if occupied, then this point is
non-passable, or blocked.
----------To be continued. ..........
Attempting to get things clear here...
Are you talking about rows on the board that orthogonal leapers can't go beyond?
As I understand it this is all about how pieces with distant moves could be 'non-jumping', and specifying in detail which squares have to be empty for the move to be allowed. As the number of possibilities for this grows combinatorially with the length of the leap (there are 2 to the power N patterns of occupied vs empty squares if there are N squares between origin and destination, and for each of those it could be independently chosen whether the move is allowed or not, for a total of 2^(2^N) possibilities), this can obviously not be indicated with different modifier prefixes. The original Betza notation supported only a few cases, through the n and j modifiers (i.e. only if all empty, or only if exactly one occupied, while the default is 'irrespective of any occupants').
In XBetza it is already possible to specify each pattern, by defining the move as a multi-leg move consisting of K steps specifying the trajectory, and give each of the non-final steps a p, m or mp mode (for 'must be occupied', 'must be empty' (the default) or 'don't care', respectively). So if we use the H leap as an example (2 intermediate squares), afmpafW would be possible only if the first square was empty, mpafafW only if the second square was empty, afafW would require both to be empty (for which the shorthand nH exists), pafafW would require the first to be occupied, the second to be empty, etc. To get OR-like behavior you can simply specify all allowed possibilities; afmpafWmpafafW would mean either the first or second square (or both) should be empty, while afpafWpafafW would mean one square must be empty, the other occupied (shorthand jH).
@H.G.Muller,
Thanks very much for the reply. It's cool. The following is the report on jD, jH, jsWX, jsDX,
jsHX, jsWXX, jsDXX, jsHXX, jsWXXX performance. [[[[ I would suggest you might try, for
different weeks, different blocking Methods, for the Collections Sets or Effect-Systems of j. ]] [
E.g., addition, subtraction, multiplication, division could be used. For e.g., sWX (5 = 1+4,
5=2+3)---- could use 1st, or 4th, neighbor(s) for blocking or SettingUp jumping effect system.
It's fun and scientifically valuable, and, to chesses and brain manipulating, and probability
control.
-------- Report on this week's j-Effect system setUp: --- jD works fine, if, 1st neightbor, is occupied. --- jH works fine, if: Either one, or, Both, of the starter's neighbors, is or are occupied. --- jsWX (4th row point) works fine, if, the starter's 2nd neighbor, is occupied. (e.g., 2nd
only, or, 2nd + 3rd, +1st , all fine. ) --- jsDX (5th row point) works fine, if, the starter's 2nd, Or, 3rd, neighbor is occupied. (e.g.,
2nd+ 1st , or, 2nd+4th, or, 3rd+1st, , or, 3rd+ 4th, all acceptable ).
--- jsHX (6th row point) works fine, if,, 2nd, Or, 4th, neighbor, is occupied. ( HInt on one of
the blocking methods, by using addition: 6 = 2 + 4. So, it follows. ) --- jsWXX (7th row point) works fine, if, the 3rd, Or, 4th, neighbor, is occupied. (HInt on one
of the blocking methods, by using addition: 7 = 3 + 4. Hence, it follows. )
--- To be continued. Thank you.
There is no reason to figure this out experimentally; it follows from how it was coded. And it is coded in a different way for the AI and highlighting in the move diagrams. The latter only ever test two intermediate squares for occupancy, at 1/3 and 2/3 of the leap. The AI attempts to loop through all intermediate squares, but the step it uses for this is only 1 for leaps of length 2, 3 or 4, and it might even get stuck in an infinite loop when it steps per 2 squares, and skips over the destination square.
Anyway, there is no guarantee any of the incorrect behavior will persist; I can change it at any time it would be needed. But so far I never encountered any lame leapers that move further than 4 squares.
@H.G.Muller.
Respected h.g.muller,
Thanks for your answer. The following are some findings:
1aa. [[[ jH -jumper -testing. : Self pieces (need 1st, Or,
2nd, support to jump) ---( However, Enemy piece can kill, not needing any support).
]]]
1ab. jD follows same situation as above, differentiating self and enemy pieces.
1ac. nD, nH, should also differentiate from enemy and self pieces.
--- regards, thanks.
25 comments displayed
Permalink to the exact comments currently displayed.
This is a very nice index you have so far. However, I noticed that Ryugi was missing. While it is admittedly not my favourite game, it is just as simple for AI to play as Yangsi, if not simpler. If you can add Ryugi to the list that would be great.
Also, my larger Shogi variants have diagrams that an AI can play as well, though not including these is sort of understandable, as the AI would of course take a very long time to make a move. I actually had the AI play a game of Taishin Shogi (my largest game) for the first 60 or so moves, and in the worst case it took upwards of 9 hours for the AI to make a move due to the sheer size and complexity of the game, which only increased as more moves were made, although this would theoretically lessen as the board thins.