Betzas roliga notation
Betzas roliga notation , även kallad Betza notation , är en kompakt metod för att beskriva hur pjäser rör sig i schackliknande brädspel. Det är vanligt förekommande i schackvarianters värld . Den uppfanns ursprungligen av den amerikanske schackmästaren Ralph Betza . Det har funnits flera förslag för dess utvidgning till spel med mer komplexa drag än vad det ursprungliga systemet kunde hantera. Betza-notation används i XBoards grafiska gränssnitt för schackliknande spel, där den kan användas för att konfigurera draggeneratorn som används för att markera möjliga drag och förhindra att illegala drag kommer in. Det används mer för att skriva ner hur en pjäs rör sig, snarare än själva notationen för pjäsen. Detta kan vara en hjälpsam stenografi för mycket stora schack eller speciellt shogivarianter med olika typer av pjäser.
Det ursprungliga notsystemet
Notationen bygger på att dela in drag som kan göras på en bräda av rutor i grupper av symmetri-ekvivalenta drag, dragen inom en grupp skiljer sig bara åt i vilken riktning steget tas. Varje sådan grupp (refererad till som atom ) indikeras av ett stort, såsom N för riddarens 8 drag . Bokstaven som representerar atomen är vanligtvis den första bokstaven i den enklaste pjäsen från nuvarande eller historiska schackvarianter som har detta drag, som A och F för alfil och ferz i shatranj (urgammalt arabiskt/persiskt schack). Brädstegen representerar springande bitar, som bara gör ett enda steg. Om steget kan upprepas (i frånvaro av hinder), som för ryttarpjäser som biskop eller torn , skrivs ett heltalssuffix på atomen för att indikera det maximala antalet steg. Så där F representerar ett (1,1) steg, skulle F7 representera en biskop (på en 8×8-bräda). Som ett alternativ för ett godtyckligt stort antal steg utan att behöva involvera tavlans storlek, använde Betza fördubbling av bokstaven som representerar atomen, så att en biskop på valfri storlek på tavlan skulle vara FF .
Namnen på de ortodoxa schackpjäserna B , R , Q och K anses vara förkortningar för de kombinationer av atomer och upprepade räkningar som annars skulle beskriva dessa pjäser. Dragen av en sammansatt pjäs skrivs genom att helt enkelt sammanfoga atomerna för alla dess drag. Så prinsessan skulle vara BN (eller alternativt FFN ), och kejsarinnan RN (eller WWN ).
Atom | namn | Styrelsesteg |
---|---|---|
W | Wazir | (1,0) |
F | Ferz | (1,1) |
D | Dabbaba | (2,0) |
N | Riddare | (2,1) |
A | Alfil | (2,2) |
H | Trehoppare | (3,0) |
C (tidigare L ) | Kamel | (3,1) |
Z (tidigare J ) | Zebra | (3,2) |
G | Tripper | (3,3) |
C och Z är likvärdiga med originalbokstäverna L (Long Knight) och J (Jump) som nu är mindre vanliga i schackvariantvärlden .
Modifierare
Som standard antar notationen att en atom kan röra sig i vilken riktning som helst (fyra för rent ortogonala eller diagonala drag, åtta för andra, sneda drag), och kan både flytta till en tom ruta eller till en som upptas av en motståndarpjäs (att fånga den ). Eftersom de flesta uttänkta schackpjäser beter sig på detta sätt är notationen vanligtvis mycket kompakt. När dessa villkor inte är uppfyllda, föregås atomen av modifierare med små bokstäver . Det finns riktningsmodifierare, sammansatta av bokstäverna f , b , l , r , v , s och h (framåt, bakåt, vänster, höger, vertikalt, i sidled och halvt). Enstaka riktningar behöver ibland anges med bokstäverpar (t.ex. fl för framåt-vänster), när enstaka bokstäver skulle indikera ett par drag. Så snart några riktningsmodifierare används måste alla riktningar som pjäsen rör sig nämnas, men kombinationsriktningar som v (= f + b ) och s (= l + r ) kan minska det nödvändiga antalet modifierare.
I fallet med pjäser som rör sig hippogonalt (dvs varken ortogonalt eller diagonalt, såsom riddaren), kan en riktningsmodifierare fördubblas för att specificera att den givna pjäsen endast rör sig med den större vektorkomponenten i den riktningen. Till exempel skulle draget av en riddare i shogi (som bara kan flytta två rutor framåt, sedan en ruta i sidled) betecknas som ffN (eftersom fN skulle innebära att den kan göra vilken allmän rörelse framåt, inklusive två rutor i sidled och sedan en ruta fram).
Det finns också modifierare för att beskriva dragmodalitet , dvs om pjäsen kan fånga ( c ) eller bara flytta (till tomma rutor, m ). Dessa behövs för att beskriva divergerande pjäser som den ortodoxa bonden ( fmWfcF för dess normala drag), som fångar annorlunda än hur de rör sig.
Hoppers är skjutreglage som måste passera genom ett hinder i deras väg för att kunna röra sig. Det mest kända exemplet på detta är det kinesiska schackkanonen, som rör sig som ett torn men bara kan fånga efter att ha hoppat en ockuperad ruta. Detta indikeras av modifieraren p . Modifieraren g indikerar också att draget måste hoppa, men så att det omedelbart landar bakom hindret. Sällan använda modifierare är q , för cirkulär reglagerörelse (riktningen för efterföljande steg roterar i samma riktning), z för sicksackreglage (där stegens riktning växlar), och o för cylinderrörelser (som sveper sig runt vänster och högra brädan kanter).
Modifierarna n och j anger om ett språng kan blockeras ( icke-hoppande ) eller måste hoppa över något på en ruta som den inte besöker. Detta är endast entydigt på rent ortogonala eller diagonala atomer. I en senare artikel om böjda ryttare introducerade Betza ett sätt att limma fast rörelser som motsvarar olika brädsteg i en enda bana: t[FR] skulle betyda start som F , fortsätt sedan som torn (i riktningarna utåt).
XBetza-förlängningen
XBoard använder en utökad form av Betza-notation för att hantera böjda drag, såväl som gräshoppsdrag , som fångar pjäser på en ruta som de inte slutar på (som pjäser eller en-passant-fångst). Sådana drag beskrivs som flerstegsdrag med hjälp av en ny modifierare a , vilket indikerar att pjäsen kan röra sig igen efter att redan ha gjort ett drag som tillhör atomen. Det vanliga systemet med modifierare kan sedan användas för att specificera egenskaperna för det initiala och följande steget oberoende av varandra: det som skrivs före a-et gäller för det första steget, vad som skrivs efter det för det andra. Så camK skulle beskriva en pjäs som fångar som en kung, och sedan återigen flyttar som kung till en tom ruta (en sorts böjd pjäs). Genom att ha flera modifierare kan ett drag delas upp i många steg, genom att specificera en exakt bana över hela linjen, och vilka villkor var och en av rutorna längs banan måste uppfylla vad gäller ockupation för att det övergripande draget ska tillåtas.
Det finns dock en liten omtolkning av standardmodifierarna i detta sammanhang: riktningsmodifierare i ett fortsättningssteg tolkas alltid i förhållande till föregående steg, där f är associerat med fortsättning i samma riktning. Modifieringarna p och g som tillämpas på ett icke-slutsteg indikerar att detta steg måste sluta på en upptagen ruta (istället för att hoppa över något, på väg till dess destination), som det sedan lämnar ostört i den efterföljande delen av draget. Detta gör att magasinsmodifierarna mer liknar m eller c , och specificerar vad som händer på målrutan för rörelsebenet de tillämpar på. Skillnaden mellan p och g är att den senare förvandlar en reglage till en hoppare efter steget, så att den skulle tvingas avsluta sin rörelse omedelbart bakom pjäsen den hoppade över.
Genom att få denna omfångsväxling som föreskrivs av g att fungera åt båda hållen (dvs. även att uppgradera ett initialt hopp till skjutreglaget), samt genom att även ge möjligheten att växla mellan ortogonala och diagonala rörelser genom att specificera mellanliggande riktningar (vilket den ursprungligen skrivna atomen inte skulle göra har), kan varje etapp av draget ha oberoende vald skjutreglage eller hopparkaraktär, och 45-graders svängar är möjliga även på fyrvägsrörelser. En ny modifierare y lades till för att tillhandahålla intervallväxlingen som g verkställs på upptagna rutor även på tomma rutor.
Kompaktheten hos den ursprungliga Betza-notationen kan delvis bevaras genom val av bekväma standardinställningar: standardmodaliteten på icke-slutliga sträckor är m (mot mc på sista sträckorna), medan standardriktningen för ett fortsättningssteg är alla riktningar utom exakt bakåt . På så sätt kan ett chu shogi- lejon skrivas som KNADcaKmcabK , där KNAD: s direkta språng till de 24 möjliga målrutorna kompletteras med caK för hit-and-run och dubbla fångster, och mcabK för gevärsfångarna och villkorliga svängpass.
Vissa bekvämlighetsutvidgningar av XBetza är e som extra modalitet för en passant fångst, O som en atom för att specificera castling, (intervallet som indikerar hur långt kungen rör sig), och i som en modifierare för att indikera drag som endast jungfruliga pjäser har (så att hela FIDE-bonden blir fmWfceFifmnD ). J- modifieraren , när den tillämpas på en skjutreglageatom ( B eller R ), för vilken den ursprungliga betydelsen inte är meningsfull, används för att indikera att den första kvadraten på banan hoppar över, utan att dess innehåll ignoreras. Det kan också appliceras på en O- casting-specifikation för att indikera att casting inte är med hörnstycket, utan pjäsen bredvid den ('hoppar över', så att säga, i jakten på pjäsen att kasta med, med början från brädkanten) .
Bex notation
En föreslagen förlängning av David Howe använder sekvensoperatorer för att beskriva flerbensrörelser som sekvenser av ben som beskrivs med det ursprungliga Betza-systemet. Den skiljer mellan fallet där förflyttningen måste fortsätta i samma riktning och där den kan ändra riktning godtyckligt, indikerat med en enkel hypen respektive en dubbel. Ett + -tecken kan användas som alternativ till sammanlänkning, för att förbättra läsbarheten, medan användning av parenteser tjänar samma syfte. Avståndsindikatorn får karaktären av exponentiering med operatorn - (dvs upprepad fortsättning i samma riktning), vilket också kan appliceras på ett uttryck inom parentes som redan beskriver en sekvens av drag. Konventionen introduceras att en inledande nolla på en områdesspecifikator betyder exakt det antalet steg, snarare än maximalt, och en asterisk * som exponent indikerar ett godtyckligt stort antal steg.
Bindestrecket har en liknande funktion som en modifierare av XBetza, men har fördelen att även själva atomerna kan specificeras olika på varje ben av rörelsen, där detta i XBetza måste specificeras på ett ganska konstruerat sätt med hjälp av intervallväxlingsmodifierare och onaturliga riktningsspecifikationer. Med sekvensoperatorerna är det lätt att ange en specifik väg över tavlan, t.ex. mW-F för Xiangqi-hästen, som måste göra ett W- steg till en ruta som måste vara tom (dvs. den kan blockeras där), följt av en diagonalt utåtgående steg som kan göra vad som helst. Detta kan användas för att lösa tvetydigheten i nN i det ursprungliga systemet, och omtolkar denna senare notation som en flervägsbit som tillåts göra flytten om åtminstone en av de kortaste möjliga vägarna (mätt i K steg) är avblockerad.
Atomen O används för ett (0,0) steg, dvs ett svängpass. Bex-notation definierar också en metod för att indikera långdistans hoppare för vilka den ursprungliga Betza-notationen inte definierade en atom; de kan skrivas i koordinatnotation, t.ex. (1,4) för giraffen. Det tillåter också specificering av vad en pjäs kan främja till, genom att suffixera dragnotationen med = och en kommaseparerad lista med pjäser. Bex använder y för att indikera royalty.
Bex-notation lägger också till många förlängningar för att indikera olika sätt att fånga: där ett enkelt c beskriver ersättningsfångst som i schack, beskriver notationerna [ca] , [cw] , [cl] fångst genom tillvägagångssätt, tillbakadragande, hoppa över, etc. [ crM] beskriver gevärsfångst (dvs. att förinta fiendens pjäser utan att flytta), och specificerar med atomen M det innehåller vad som kan fångas på det sättet. Bex-notation introducerar också ett sätt att beskriva exotiska effekter som ett steg i ett längre drag. T.ex. [xo] eftersom sista dragsteget indikerar att man återvänder till ursprungsrutan, betyder [xiK] att alla pjäser immobiliseras ett K -steg bort från den aktuella kvadraten, medan [x!iK] på liknande sätt skulle mobilisera sådana grannar. [xwN] skulle beteckna ett positionsbyte med en bit ett N språng bort. Ingen av dessa saker kan specificeras i den ursprungliga Betza-notationen, men nackdelen är att notationerna är helt ad-hoc, och inte följer av en underliggande princip.
Betza 2.0
En mycket utarbetad föreslagen förlängning av den ursprungliga notationen lånade idén att kedja enkla drag i längre banor med hjälp av ett bindestrecksoperator, där var och en av benen kan skrivas med den fulla kraften av den ursprungliga Betza-notationen. (Detta ger den en fördel gentemot Bex, som inte använder riktningsspecifikationer på fortsättningssteg, och som bara kan hantera fallet framåt och godtycklig riktning, indikerat i Betza 2.0 av f respektive a , för vilket Bex måste använda olika sekvensoperatorer - och - .) Annars är Betza 2.0 väldigt lik XBetza; de gör samma omtolkning av modifierarna för icke-slutliga steg och fortsättningssteg. Det finns dock en skillnad i standardinställningar: där XBetza antar alla riktningar utom bakåt, antar Betza 2.0 endast framåt på fortsättningssträckor. Explicit specifikation av atomerna i varje ben som i Bex och Betza 2.0 gör dessa notationer lättare att tolka. (Jämför FR eller t[FR] med yafsF .) Å andra sidan är Betza 2.0 och Bex endast lätta att läsa när individuella (flerbens) rörelsegrupper är placerade inom parentes, eftersom intuitivt sammanlänkning kopplas starkare än ett bindestreck (jämför KNADcK- aKK-bK till KNAD(cK-aK)(K-bK) ) .
Effekter som drag har på andra rutor än där pjäsen börjar eller slutar indikeras i Betza 2.0 genom att ange en väg som explicit besöker alla dessa rutor, och beskrivningen av benet som slutar där specificerar effekten. På så sätt finns det inget behov av en uppsjö av exotiska fångstlägen. T.ex. kan tornliknande hoppfångningar skrivas som cR-mR och riddarliknande gevärsfångningar kan skrivas som cN-bN , utan en ny notation för returen till ursprungsrutan. Modaliteterna kompletteras med d ( förstöra ), som indikerar fångst av en egen pjäs, t ( test ), som är som p , men bara hoppar över vänliga pjäser, och u ( lossa ), som lämnar en tidigare fångad pjäs på den besökta fyrkant. En swap kan alltså skrivas som cdN-buN-bN . Modifieraren o på icke-slutliga ben används för att tillfälligt flytta utanför brädet, och kan användas för att göra följande steg (som bättre kliver tillbaka på brädet) beroende av närheten till en brädkant.
Betza 2.0 behandlar intervallspecifikare som exponentiering på samma sätt som Bex, t.ex. (cQ-mQ)4 för Ultima long leaper som kan göra upp till 4 fångar längs en rak linje om den kan hitta tomma rutor mellan pjäserna den hoppar över ( och fångar sedan). En udda funktion är att den tillåter modifierare på själva intervallet att åsidosätta standardinställningarna för kedjeoperatören som sprids runt av denna exponentiering. T.ex. Nrf7 skulle betyda N-rfN-rfN-... , ett upprepat riddarsteg som böjer höger-framåt, dvs ett drag av det cirkulära reglaget qN . En geometrisk e- modifierare kan tvinga ett fortsättningsreglageben att vara lika långa som ett tidigare glidben, vilket gör det möjligt att specificera gevärsfångningar med reglage som rör sig fram och tillbaka (t.ex. cR-ebR ) . Betza 2.0 har också en explosionsmodifierare x som skulle få splitter som kastas ut i alla riktningar att fortsätta det angivna draget för att orsaka biverkningar på en specificerad omgivning (lämnar den rörliga biten bakom) .
Begränsare
Normalt särskiljs modaliteter endast efter färgen på den som sitter på en kvadrat. Betza 2.0 tillåter att detta specificeras mer i detalj genom att suffixera modaliteten med en limiter , som identifierar uppsättningen av stycketyper som kan behandlas på det specificerade sättet (kommaseparerad), innesluten i hängslen. Således c{N}N ett riddardrag som bara kan fånga (fientliga) riddare, vilket kan användas för att bygga kameleontliknande pjäser, och t{N}N-bN-aN skulle behöva göra en fram och tillbaka riddarhopp till en vänlig riddare innan han kan röra sig som en riddare i en oberoende riktning (Riddare-stafettschack).
Visualisering
Följande tabell sammanfattar och visualiserar den ovan förklarade notationen (åtminstone för de fundamentala leapers). Det är ett specialfall av det kartesiska koordinatplanet, där Ursprunget alltid är den aktuella platsen för stycket.
X
Y
|
−3 | −2 | −1 | 0 | 1 | 2 | 3 |
---|---|---|---|---|---|---|---|
3 | G | Z | C | H | C | Z | G |
2 | Z | A | N | D | N | A | Z |
1 | C | N | F | W | F | N | C |
0 | H | D | W | 0 | W | D | H |
-1 | C | N | F | W | F | N | C |
-2 | Z | A | N | D | N | A | Z |
-3 | G | Z | C | H | C | Z | G |