1 <!--#include virtual="/server/html5-header.html" -->
2 <title>(Extended) Betza notation</title>
3 <!--#include virtual="/server/banner.html" -->
4 <!--#set var="article_name" value="/server/standards/boilerplate" -->
5 <!--#include virtual="/server/gnun/initial-translations-list.html" -->
7 <h1>Extended Betza notation</h1>
9 <p>Ralph Betza invented a compact notation to encode moves of a
10 piece, which is now in wide-spread use for description of Chess
11 variants. This page describes a version of it that has been
12 extended in several ways. Some of these extensions were embraced
13 from another proposed extension scheme, '<span style=
14 "background: #00FFFF;">Bex notation</span>' by David Howe, others
15 are entirely new. These new extensions from the original Betza
16 notation are <span style="background: yellow;">marked in
19 <p>Betza notation decomposes the piece into 'atoms', which
20 represent the set of all (8-fold-)symmetry-equivalent moves of a
21 certain distance. For example all eight Knight moves, or all
22 diagonal moves of the King. Each 'atom' is written as a single
23 capital (e.g. N for the Knight moves), which is very efficient
24 when you are dealing with pieces that are maximally symmetric
25 (which most pieces indeed are). Atoms refer to single unblockable
26 leaps of a certain distance. Pieces that can repeat the same leap
27 again and again until they encounter an obstacle (sliders or
28 riders, such as Rook) are very common. Those moves are indicated
29 by writing the number of steps the piece can maximally make
30 behind the atom, <span style="background: yellow;">where '0' can
31 be used to indicate 'any number of steps'</span>.</p>
33 <p>The choice to treat moves as sets that go in all directions
34 goes at the expense of the compactness when dealing with
35 asymmetric pieces. (This is a cheap price to pay, as asymmetric
36 pieces are much less common than fully symmetric ones.) To
37 describe moves of asymmetric pieces Betza notation uses
38 <i>lower-case prefixes</i> to identify which sub-set of the atom
39 we mean. Such as f (forward) or r (right), or combinarions of
40 those like fr. E.g. fR decribes a 'Rook' that only moves in the
41 forward direction (i.e., the Shogi Lance). Lower-case prefixes
42 are also used to specify the move is not a general one (i.e.
43 valid as capture and non-capture, the normal situation in
44 Chess-like games), but can only be used in limited ways (e.g.
45 capture only, non-jumping, capture after jumping).</p>
47 <h3>The basic atoms</h3>
49 <table cellpadding="20">
52 <p>The following table describes the most important
64 <tr bgcolor="#00FFFF">
69 <td>Null move (Taikyoku-Shogi Lion can do this)</td>
77 <td>Wazir (Courier Chess)</td>
85 <td>Ferz (Shatranj)</td>
101 <td>Alfil (Shatranj)</td>
117 <td>Long Knight (aka Camel)</td>
139 <p>Laid out on the board, (standing at O),<br>
140 the move encoding is as follows:</p>
327 <p>For longer-range atoms no letters are defined. In the rare
328 cases they occur, <span style="background: #00FFFF;">these can be
329 written using the numeric coordinates of their leap
330 vector</span>, e.g. (4,1) for the Giraffe leap. Note this still
331 implies the move goes in all directions (i.e. (4,1) also means
332 (4,-1), (-4,1), (1,4), ...), and thus still does a lot for
333 compactness. A piece that only leaps 4 forward and 1 left or
334 right would be an f(4,1).</p>
336 <h3>Modifier prefixes</h3>
338 <p>The following table lists possible prefixes to the atoms.
339 Prefixes can be combined, in which case the sub-sets of move
340 types they correspond to are joined. E.g. fb means forward
341 <i>and</i> backward moves (but not sideways). So even prefixes
342 with opposite meaning are not really conflicting; they could be
343 superfluous, however. (E.g. mc would mean both non-capture and
344 capture, which is the default in absence of prefixes anyway.)</p>
356 <th colspan="3">Move modality</th>
364 <td>Captures only</td>
372 <td>Move but not capture</td>
376 <th colspan="3">Move blocking</th>
384 <td>Cannot jump over occupied square</td>
392 <td>Must jump exactly one</td>
395 <tr bgcolor="#FFFF00">
400 <td>Can jump over any number of pieces</td>
404 <th colspan="3">Hopping</th>
410 <td>Pao (=Canon)</td>
412 <td><span style="background: #FFFF00;">(Obsolete?)</span>
413 Capture if move jumps over one obstacle, non-capture if it
422 <td><span style="background: #FFFF00;">(Obsolete?)</span>
423 Must land directly behind first obstacle</td>
431 <td><span style="background: #FFFF00;">(Obsolete?)</span>
432 Basic step repeated at an angle, until it closes on
441 <td><span style="background: #FFFF00;">(Obsolete?)</span>
442 Repeat step alternates angle between two values.</td>
450 <td>wraps around on cylinder board</td>
454 <th colspan="3">directional-subset and other geometry
463 <td>most-forward single or pair of moves of
464 symmetry-equivalent moves</td>
472 <td>most-backward single or pair of moves of
473 symmetry-equivalent moves</td>
481 <td>left-most single or pair of moves of symmetry-equivalent
490 <td>right-most single or pair of moves of symmetry-equivalent
499 <td>short for lr</td>
507 <td>short for fb</td>
510 <tr bgcolor="#FFFF00">
515 <td>short for vs (default on atoms specifying complete move,
516 but can be needed in chaining)</td>
524 <td>obsolete notation for forward-most two of 8
525 symmetry-equivalent moves</td>
531 <td>forward half</td>
533 <td>forward-most four of 8 symmetry-equivalent moves</td>
539 <td>sideway-forward</td>
541 <td>fh but not f</td>
549 <td>Similar for b (bb, bh, bs), l and r</td>
552 <tr bgcolor="#00FFFF">
557 <td>Initial move only (for pieces that have not moved
561 <tr bgcolor="#FFFF00">
566 <td>equal in length to previous step, measured in board steps
567 (see section on chaining)</td>
571 <p>For example, fmWfcF is a Pawn: non-captures forward to a W
572 square, captures to the two forward F squares. Pretty
573 complicated, but the Pawn is a very complex piece (asymmetric,
574 and divergent capture/non-capture). Note that fr and rf are not
575 the same on 'oblique' (= not orthogonal or diagonal) atoms, which
576 have 8 moves, and that they might not be what you intuitively
577 think, as fs = fl + fr.</p>
581 <p><span style="background: #00FFFF;">Grouping of atoms,
582 modifiers and exponents is possible with parentheses</span>. This
583 can be done for readability, or for overruling operator
584 priorities. (fmW)(fcF) might read more easily than fmWfcF. The
585 parentheses do not have any meaning in themselves.
586 'Distributivity' also works for modifier prefixes: m(AB) where m
587 is a string of modifiers and A and B are atoms, (or expressions
588 grouped in parentheses), is defined to mean mAmB. Some shortcuts
589 for commonly used combinations of atoms exist; these can be seen
590 as implicit grouping of the involved atoms.</p>
598 <th>orthodox piece</th>
633 <tr bgcolor="#FFFF00">
641 <tr bgcolor="#FFFF00">
650 <h3>Chaining moves</h3>
652 <p>When a number of atoms is concatenated, like WF, it joins
653 their move sets. So the piece described by WF moves either as W
654 or as F, i.e. one step diagonal, or one step orthogonal. That
655 means it is the King of orthodox Chess! (From the notation you
656 cannot see whether it is royal yet; the main purpose of the
657 notation is to convey how it moves. <span style=
658 "background-color: yellow;">But a 'k' prefix could be used to
659 indicate royalty</span>, when this is of relevance.)</p>
661 <p>It is also possible to specify that certain moves have to be
662 performed sequentially, one after the other. For instance because
663 something of importance happens or should be noted on an
664 intermediate square. Such as for pieces that can be blocked on
665 squares they cannot visit ('lame leapers'), or that have to hop
666 over other pieces in a specific pattern. The simplest example of
667 this, however, is repetition of the same step in the same
668 direction, as in sliding or riding pieces, such as a Rook. The
669 far moves of such a piece can indeed be blocked by an obstacle
670 closer by on their path, although it can then always reach that
671 square itself as well. Such moves are indicated by
672 'exponentiation': a number after the atom indicates how often the
673 step may be repeated. E.g. F3 would be a piece that slides
674 diagonally (i.e. like a Bishop), upto a maximum of 3 steps. To
675 indicate an arbitrary number of steps can be taken, we use 0
676 (zero) for the exponent. (This because infinity is not in the
677 ASCII character set, and 0 would be pointless when taken at face
678 value.) So W0 would be the Rook, sliding arbitrarily far
679 orthogonally, and F0 the Bishop. (Old notation for this would be
680 WW and FF, but in the extended context these would be
681 troublesome.)</p>Not all multi-step moves are as regular as
682 simple sliders, however. Some 'bent' sliders can turn corners,
683 for instance. The 'Griffon' is an example that first moves one
684 step diagonally, and <b>then</b> continues outward as a Rook. It
685 does not have to go beyond the corner, though; just like a normal
686 Rook it can make the first step of its move only. And if it
687 encounters something on that first step, it is blocked, and never
688 gets to the rooky part of its move. To describe this trajectory
689 we cannot use exponentiation, but have to explicitly write the
690 chain: FtR. Here the 't' is the chaining operator, that
691 distinguishes this from FR, which would mean a piece that steps
692 one diagonally <b>or</b> moves like Rook (a Shogi Dragon Horse).
693 The 't' is because of 'and <b>t</b>hen', but also because the
694 move could be <b>t</b>erminated at that point, and there is no
695 requirement to visit the later parts of the specified trajectory.
697 <p>There are other forms of chaining, where the 'connecting
698 square' can not be visited. (I.e. no termination there.) The
699 Xiangqi Horse moves one orthogonal step, and then (without
700 stopping) one step diagonally outward, mimicking the move of a
701 Knight, but blockable on the intermediate square. This is written
702 as the chain W-F. The chaining operator '-' indicates the move
703 cannot be terminated at that point (ending on the connection
704 square), but must continue. If it cannot, because the square was
705 occupied, the move described by the chain is considered blocked,
706 and cannot be made.</p>
710 <th colspan="3">Overview of chaining operators</th>
718 <td>terminate on connection square (if empty or enemy) or
719 continue (if empty).</td>
722 <tr bgcolor="#FFFF00">
727 <td>must continue if connection square empty; otherwise
728 entire path is considered blocked</td>
731 <tr bgcolor="#FFFF00">
736 <td>connection square must be occupied and remains untouched;
737 move must go on from there</td>
740 <tr bgcolor="#FFFF00">
745 <td>connection square must contain own piece and remains
746 untouched; move must go on from there</td>
749 <tr bgcolor="#FFFF00">
754 <td>connection square must contain enemy and remains
755 untouched; move must go on from there</td>
758 <tr bgcolor="#FFFF00">
763 <td>connection square must contain enemy, which is captured;
764 move must go on from there</td>
767 <tr bgcolor="#FFFF00">
772 <td>connection square must be occupied, friend or foe there
773 is destroyed; must go on</td>
776 <tr bgcolor="#FFFF00">
781 <td>connection square is one step before first obstacle; must
782 continue from there</td>
786 <p>Chaining implies continuation in the most similar direction.
787 Should you need to deviate from that, e.g. because the trajectory
788 doubles back on itself, directional modifiers must be used. The
789 continuation steps are to be described in a coordinate system
790 relative to the previous step, however. So W-rW-lW makes one
791 step, (say moving North), then turns right for another step
792 (moving East), and then turns left compared to that second step,
793 meaning it is moving North again! So in the end you arrive at
794 (1,2), over (0,1) and (1,1). This is a Knight move that can only
795 be made if both the intermediate squares are empty, even worse
796 than the Xiangqi Horse (which at least did not care about (1,1))!
797 The latter would be described by W-F. The F after '-' would by
798 default mean fF, and in the orientation of the preceding
799 orthogonal step this would imply a pair of outward moves, fl +
802 <p>Some examples that use the other operators: Q+K is the
803 Grasshopper: it must move as Queen to an occupied square (the
804 'support'), (the first one it encounters, as Queens do not
805 jump!), and then continue with a single K step in the same
806 direction (leaving the occupant of the square alone), to land on
807 the square directly behind the support. where it can capture or
808 just move. mRcR+R is the Xiangqi Cannon: the first mR specifies
809 its non-capture move, which is that of a normal Rook. The
810 concatenated cR+R is the capturing alternative; it moves as R to
811 an occupied square, and then continues as R in the same direction
812 for a capture. Note that the 'c' prefix applies to the complete
813 R+R path (a once jumping Rook); the operator priorities are such
814 that the binary operators t-+xdy couple more tightly than the
815 prefix modifiers mc. The latter are only allowed in front of a
816 complete path, to specify what you can do at the end of it, and
817 not on individual steps of the path, where the chaining operators
818 already specify this.</p>
820 <h3>Weird captures</h3>
822 <p>The x operator allows description of pieces with
823 unconventional capture, as it specifies moving away from the
824 capture square. Normal in Chess is of course that you only
825 captured what was on the square you end on. But even in orthodox
826 Chess e.p. capture exists as an exception to that. It could be
827 written as frmWxlW, which, as we have seen, means frm(WxlW) This
828 expreses capture through a W step, and then turning left for a
829 second W step, so that overall you make an F step in an L form.
830 The frm prefix to this F step means that it can not capture <i>on
831 the final square</i> (the Pawn in e.p. capture always goes to an
832 empty square), to your forward right. I.e. you started moving
833 right, then turned left to move forward. So the continuation
834 square you pass over to remove the Pawn is to your right. (There
835 is no way to express that you can only do this to Pawns, however,
836 let alone to Pawns that just made a double push.)</p>
838 <p>This shows the general encoding strategy: if you capture
839 pieces not on your destination square, as 'side effect' to the
840 move, you lay out a path that tramples all the pieces that are
841 captured, so that the sub-steps are all normal replacement
842 captures. E.g. a Checker would be fmFfmFxF. There the fmF part is
843 the non-capture move, but the interesting part is the capture:
844 one step diagonal (which must be to an occupied square, which we
845 capture), and then straight on (which is now 'forward' in the
846 local frame of reference set up by the first step) to the next
847 square, for an overall A step. This step must be fmA, i.e. in one
848 of the forward diagonal directions, not capturing anything on the
849 square where it lands. 'Rifle capture' by a Rook would be RxebR,
850 i.e. first capture something in the normal way, and then
851 manditorily withdraw in the direction from which you came (b) by
852 an R move of the same length. No overall move, but the victim is
853 gone! A Ultima Withdrawer, which destroys the adjacent piece from
854 which it moves away, would be written as mQmKxbK-Q. The capture
855 part, m(KxbK-Q) specifies capture to the adjacent piece,
856 reversing that step (b) to your square of origin, and then
857 mandatorily continuing in that direction with a Queen non-capture
858 move (the victim already in your pocket). The hit-and-run or
859 double capture of a Lion would be KxaK: capture the adjacent
860 piece, after which you must continue by another King step in any
861 direction relative to the first, capturing a second victim or
862 just moving. ven the rifle capture (igui) is included in this.
863 Its turn-passing move would be K-bK. Which is different from O,
864 because it can only be done if the Lion is adacent to an empty
865 square, while a piece that has an O atom can pass uncondiionally.
866 For definiteness, when directional modifiers apply to a path that
867 results in a return to the starting square, they will be
868 referenced to the direction of the first step of the path.</p>
870 <h3>More about exponentiation</h3>
872 <p>Exponentiation by default implies repeated application of the
873 't' operator. But it can be used to indicate repeate application
874 of other operators too. <span style="background: #FFFF00;">We
875 define AmN, with A an atom or a group within parentheses, m a
876 string of modifiers, and N a number, to mean AmAmAm...mA with N
877 factors A and N-1 operators between them</span>. If the modifier
878 string m does not contain one of the chaining operators, it is
879 prefixed with the default 't'. If it does not include any
880 directional modifiers, it is suffixed with 'f'. So W3 means
881 WtfWtfW, 1 to 3 orthogonal steps in the same direction (which is
882 what the 'f' specifies). But W-3 would mean W-fW-fW, which is
883 exactly 3 such steps. And Wx3 would be exactly 3 steps where the
884 first 2 mandatorily capture.</p>
886 <p>By including directonal indicators, you can describe curved
887 trajectories. Nrf8 would mean NtrfNtrfN..., upto 8 Knight moves,
888 each consecutive move bending ~45 degrees right from the previous
889 one (because that is what rf means; the first opportnity to the
890 right that is not straight ahead). This describes the Rose!
891 Circular riders fit into the system, and there is no need for a
892 separate prefix to describe them. With grouping you can do more:
893 (FtlF)r0 expands to FtlFtrFtlFtrFtl..., an arbitrary number of
894 diagonal steps, that alternately turn 90 degrees left or right.
895 In other words, the Crooked Bishop. There is also no real need
896 for the z prefix in this extended Betza notation. The
897 exponentiation can describe it much more precisely, specifying
898 exactly how Crooked it is.</p>
900 </div><!-- for id="content", starts in the include above -->
901 <!--#include virtual="/server/footer.html" -->