FEN: O Código Secreto do Xadrez

Uma das coisas legais de se fazer na internet é compartilhar experiências íntimas e pessoais com estranhos anônimos que sem dúvida alguma estão ligando a mínima pra você, no xadrez não é diferente. 

Um jeito prático de fazer isso é entrando num clube online e abrir tópicos no fórum, pode falar de qualquer coisa, inclusive assuntos sem relação com xadrez. 

Não que eu seja tão ativo, gosto mais de ler o que o pessoal posta e no máximo comentar alguma coisa, tirar dúvidas e pedir ajuda, mas vez em quando posto minhas partidas também – leia-se minhas capivaradas.

Feita essa introdução bizarra e nada amigável, o que quero falar é sobre um detalhe legal chamado FEN que me passou batido por muito tempo.

ctrl+c ctrl+v A Notação Forsyth-Edwards ou FEN (do inglês, Forsyth-Edwards Notation) é um método de notação utilizado para descrever uma determinada posição de peças em um tabuleiro de xadrez, sendo uma adaptação do sistema de notação Forsyth, criada por Steven J. Edwards, para o uso em computadores. Wikipédia

Quando se vai compartilhar uma partida online, seja do chess.com ou no lichess.org, o site vai te dar o PGN[1] completo com todas as informações, jogadores, rating, lances (a parte que interessa), resultado, etc. e bem acima do PGN ele dá o FEN da posição, que eu ignorava totalmente por achar que era algum código secreto criptografado que só computadores conseguiam entender.

Diferença
PGNFEN
[Event “Rated Rapid game”][Site “https://lichess.org/P3fq2gLz”%5D[Date “2022.01.19”][White “ray1993”][Black “AdemirD”][Result “1-0”][UTCDate “2022.01.19”][UTCTime “20:49:33”][WhiteElo “1170”][BlackElo “1194”][WhiteRatingDiff “+5”][BlackRatingDiff “-156”][Variant “Standard”][TimeControl “600+0”][ECO “A00”][Opening “Van Geet Opening: Reversed Nimzowitsch”][Termination “Normal”][Annotator “lichess.org”]
1. Nc3 e5 2. Nf3 d6 3. Ne4 Bf5 4. Neg5 f6 5. Nh3 Nc6 6. d3 Qd7 7. Nd2 O-O-O 8. e4 Be6 9. Nc4 g5 10. Ng1 h5 11. Nd2 h4 12. h3 Bh6 13. b3 f5 14. Qe2 fxe4 15. Qxe4 Nf6 16. Qe2 Nd4 17. Qd1 g4 18. Bb2 g3 19. f3 Rdg8 20. Ne2 Nxe2 21. Bxe2 d5 22. d4 exd4 23. Bxd4 Rg6 24. Bd3 Bf5 25. Bxa7 Re8+ 26. Be2 b6 27. c4 Kb7 28. Bxb6 cxb6 29. O-O d4 30. f4 d3 31. Bf3+ Ka7 32. b4 Bxh3 33. gxh3 g2 34. Rf2 Qxh3 35. Bxg2 Rxg2+ 36. Rxg2 Ng4 37. Qc2 Qh2+ 38. Rxh2 Nxh2 39. Qd1 1-0
4r3/k7/1p5b/8/1PP2P1p/3p4/P2N3n/R2Q2K1 b – – 1 39
C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\FEN lichess 1.png

Figura 1 lichess dando o FEN

FEN 4r3/k7/1p5b/8/1PP2P1p/3p4/P2N3n/R2Q2K1 b – – 1 39 (diaboéisso?)

Eu estava muito enganado.

Em uma tarde de tédio e procrastinação resolvi pesquisar que diabo de código estranho era aquele e me surpreendi com a simplicidade e engenhosidade do infeliz.

Basicamente estamos olhando pra uma “impressão” do tabuleiro, linha por linha, mas em forma de texto.

Enquanto um diagrama de xadrez é ‘impresso em 2D’, o FEN transforma esse 2D em “1D”, uma linha de texto compacta. Totalmente leve e unidimensional, achei fascinante! 

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\FEN lichess 3.png

Figura 2 Um diagrama em 2D. Estou de pretas. Abandonei aqui pra tentar recuperar um pouco da minha dignidade.

Aqui o mesmo diagrama impresso em 1D: 

4r3/k7/1p5b/8/1PP2P1p/3p4/P2N3n/R2Q2K1 b – – 1 39  

Ocorre que, na verdade, ele é lido dessa forma:

4r3/
k7/
1p5b/
8/
1PP2P1p/
3p4/
P2N3n/
R2Q2K1
b – – 1 39
[se eu fiz direito. é pra cada linha separada por barra ficar uma em cima da outra.]

O que não ajuda muito a entender, mas facilita quando se considera que cada letra representa uma peça no tabuleiro: R –Torre; N- Cavalo; B-Bispo; K-Rei; Q-Dama; P-Peão;

Minúsculas são pretas, maiúsculas são brancas. Os números representam casas vazias consecutivas. Barras sinalizam o fim da linha, é o ponto parágrafo da notação. (a notação tem que ser em inglês para os sites entenderem).

No exemplo acima: 4r3/ = 4 casas vazias, torre negra, 3 casas vazias.

k7/ = rei preto, 7 casas vazias;

1p5b/ = 1 casa vazia, peão preto, 5 casas vazias, bispo preto. E assim em diante. [o b – – 1 39 explico depois, se me lembrar]

A impressão é feita de forma bem intuitiva, de cima pra baixo, da esquerda pra direita. Começando na linha 8, coluna A e terminando na linha 1, coluna H. 

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\tabuleiro vazio 1.png

Figura 3 intuitivo pra quem sabe ler, é claro.

Pra ilustrar melhor, aqui a posição inicial as peças no xadrez clássico:

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\posição inicial chess 1.png

Figura 4 posição inicial das peças

E aqui o FEN da posição inicial rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq – 0 1 [outra coisa que explico depois]

Notem as 4 linhas vazias do meio to tabuleiro representadas por 8/8/8/8/.

Assim como o computador, também podemos facilmente “calcular” o FEN na mão mesmo, e foi isso que me deixou fissurado. Não chega a ser exatamente um cálculo, você está literalmente só copiando e colando as informações, no máximo vai ter que somar as casas vazias consecutivas.

Quando vejo uma posição, geralmente no Youtube ou no twitter, corro pra calcular o FEN.

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\tuite 1.png

Figura 5 puzzle de xadrez no twitter

Nessa posição, o FEN seria r4rk1/p6p/1n3pB1/7Q/3q3P/7R/5PP1/1T3K2 b

(b= black/pretas jogam. w= White/brancas jogam.) 

Com esse código em mãos corro pro editor de tabuleiros no lichess ou chess.com e introduzo no lugar correspondente e tenho esse resultado.

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\tela azul erro windows.png

Figura 6 tela azul da morte

Computadores são burros. Tanto quanto eu. 

Como eu disse no inicio, a notação tem que ser em inglês para os computadores entenderem, mas às vezes esqueço e coloco um “C” pra cavalo no meio, ou “D” pra dama, e o computador burro não faz idéia do que a anta aqui quer dizer e mete uma tela de erro bem na minha cara.

E lá se vai eu procurar onde tá o bendito erro, demoro pra caramba pra achar [o computador não diz onde tá o erro, ele sabe, mas não diz].

Talvez isso explique porque fiquei tão fissurado nisso, pois mesmo simples, as vezes pra mim isso é um quebra cabeça mais difícil que o puzzle  de xadrez que eu tinha que resolver, no caso acima não resolvi, furei um ‘Dama h5 xeque’ na sequência correta e não consegui achar o mate, mas divago.

Essa notação precisa de alguns artifícios pra conseguir funcionar com todos os diagramas possíveis, diferente de um PGN que dá todo histórico da partida desde o lance 1, o FEN só te dá uma fotografia de um momento da partida, um frame de um filme inteiro, com ele você não sabe o que aconteceu antes, e eventualmente isso é vital pra saber se um determinado lance futuro é legal ou ilegal.

Roques disponíveis

In dúbio pro roque, como diz GM Rafael Leitão.

Um movimento especial no xadrez que visa proteger o rei. Recomenda-se fazer o quanto antes. A menos que você seja muito bom no jogo e assuma o risco de atrasar o roque.

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\GIF roque em alas opostas do tabuleiro.gif

Figura 7 GIF Roques em alas opostas do tabuleiro. Agora a merda vai feder.

Mas essa jogada tem vários critérios que dever ser obedecidos para ser possível (legal), segue a listinha:

  1. O rei não pode ter se movido.
  2. A torre não pode ter sido movida.
  3. O rei não pode estar em xeque.
  4. O rei não pode entrar em xeque ao fazer o roque.
  5. Nenhuma peça pode estar entre o rei e a torre.

Destaque para as duas primeiras. As demais é possível verificar facilmente num diagrama, mas essas duas não.

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\DIAGRAMA ROQUE POSSIVEL.PNG

Figura 8 Diagrama: Será que o Roque é possível?

 Olhando pra esse diagrama, não tem como dizer só por ele se o roque é legal ou não, pois não sabemos se a torre ou o rei foram movidos antes e depois retornaram para a casa inicial.

Pra resolver isso foi adicionado o ‘KQkq’ no código 

rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq

O ‘KQ’ indica que o roque para as brancas ainda é possível na ala do Rei (K) e da dama (Q), enquanto o ‘kq’ indica o mesmo para as pretas. 

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\ala do rei vs ala da dama.png

Figura 9 Divisão da Cama. Lado do Rei vs Lado da Dama. Essas alas são fixas, independente de onde caralhos eles forem parar durante a partida.

Se o código indicar apenas ‘Kq’, então o roque para as brancas só é possível na ala do rei e das pretas na ala da dama.

Note que o código não fala que o roque pode ser feito na jogada seguinte, ele informa apenas sobre as duas primeiras regras, as demais tem que ser observadas in loco.

A Casa de en passant (leia em francês fazendo biquinho)

O en passant é um jutso proibido no xadrez que captura uma peça do adversário em uma casa onde ela não está, passou por lá no lance anterior ao seu, mas não está mais lá. 

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\gif captura peao normal e en passant.gif

Figura 10 GIF tomada en passant. A primeira captura é normal, a segunda é en passant.

Mas, tal como o roque, pra essa técnica profana funcionar alguns requisitos obrigatórios tem que ser atendidos. 

  1. Tem que ser o primeiro lance do peão a ser capturado, único momento em que ele pode andar duas casas de uma só vez. 
  2. O lance de captura tem que ser feito imediatamente ao salto duplo do peão fugitivo, se fizer um lance diferente, não poderá mais fazer a captura en passant na próxima jogada, mesmo que o fugitivo permaneça no lugar.
  3. O peão fugitivo que fez seu salto duplo tem que parar ao lado do peão que vai fazer a captura (só um peão pode fazer esse tipo de captura);
  4. Fazer os selos de mão corretos e ter chacra suficiente;
C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\diagrama en passant 1.png

Figura 11 Diagrama: Brancas jogam. O branco pode ou não tomar em passant?

Olhando pra esse diagrama, não tem como dizer só por ele se a captura en passant em f6 é legal ou não, pois não sabemos se alguma peça foi movida antes, se o peão preto de f5 estava em f4 no lance anterior, etc, etc. .

A solução pra esse problema é colocar no FEN se tem alguma captura en passant disponível informando a casa de en passant, desse jeito:

6k1/6pp/8/4Pp2/8/1P6/5PPP/6K1 w – f6

O “f6” informa que o branco pode tomar em f6 e por lógica, concluímos que é o peão preto que está em f5, e quem mais seria? F6 é uma casa vazia. 

Agora sabemos que podemos tomar em passant.

Contagem de movimentos e lances

FEN posição inicial:

 rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq – 0 1

O ‘- 0 1’ no final indica duas contagens de lances que são feitas durante uma partida clássica, a primeira, “indica quantos movimentos foram executados depois da última captura ou da última movimentação de peões” (tk Wikipédia), isso é necessário, pois quando esse número chega em 100, a partida é declarada empatada (é isso ou matar os espectadores de tédio). Ele é resetado sempre que um peão avançar ou alguma peça é capturada.

O segundo número indica quantos lances totais já foram feitos desde o inicio da partida. Pra que serve isso eu não sei. 

Detalhe importante, movimentos são diferentes de lances. A contagem de lances é feita aos pares, exemplo: brancas fazem seu movimento jogando ‘Torre e4’ (Te4) e pretas respondem com ‘Cavalo f6’ (Cf6), na contagem será computada ‘+2 movimentos’, porém só ‘+1 lance’, pois o lance aqui é o par Te4 Cf6.

Ou seja, quando a contagem de movimentos [o primeiro número] chega em 100, temos 50 lances sem avanço de peão ou capturas de peças, e, pela regra oficial, a partida é declarada empatada, embora isso seja algo raro de acontecer.

Sintaxe do código 

Pelo que pesquisei, experimentei e entendi até agora a sintaxe do código é a seguinte:

<linha8/><linha7/><linha6/><linha5/><linha4/><linha3/><linha2/><linha1/> <vez de jogar> <roques disponíveis> <casa em passant> <contagem condicional de movimentos> <contagem total de lances>

Mistérios 

Fiquei fascinado por esse código engenhoso, mas ainda sim danado de simples, ainda estou pesquisando e fazendo algumas experiências pra entender melhor como funciona. 

Como exemplo criei essa posição fictícia com ambos os roques disponíveis e uma captura en passant: r3k2r/pppp2pp/5p2/3Pp3/8/8/PPP1PPPP/R3K2R w KQkq e6 0 3

C:\Users\cliente\Pictures\chess\blog\FEN codigo secreto\diagrama posicao ficticia 1.png

Figura 12 Diagrama. Isso nunca vai acontecer numa partida. É impossível pelas regras.

Algumas coisas nele ainda são um mistério pra mim.

Hifens e hifens duplos 

Aparentemente são colocados quando todos os roques de brancas e negras não estão mais disponíveis. Mas é uma regra que ainda não entendi por completo. Pois na posição inicial o computador coloca um hífen. Em algumas posições claramente não tem nenhum roque disponível, mas aparece um único hífen lá. Já tive erros em FEN só por causa de hifens que coloquei.

Contagem de lances

FEN posição inicial:

 rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq – 0 1

Por que a contagem inicial de lances, na posição inicial, com tudo resetado, é – 0 1?

O chess.com e o lichess.org colocam no FEN da posição inicial a contagem total de lances totais em 1, dessa forma quando as pretas fazem seu primeiro movimento, a contagem total é incrementada em +1 e o total sobe para 2

Isso não faz sentido pra mim, pois, após o primeiro movimento das brancas e pretas, temos um par de movimentos formando um lance. Alguma coisa eu perdi nessa conversa.

Enfim, mistérios.

Conclusão 

Apesar das dificuldades dos computadores em lidar com algum dado fora da sintaxe do código, humanos conseguem lidar facilmente com isso devido à capacidade de pensamento lateral –de alguns membros- da nossa privilegiada espécie, inclusive com a notação em português, ou misturada com português e inglês, etc. 

É possível que um enxadrista mais experiente olhe pra um código desses e conseguia decifrar ele num diagrama mental, numa vibe Gambito da Dama (mas sem as drogas), vide os mutantes que jogam partidas simultâneas às cegas. 

Se identificar algum erro favor esfregar na minha cara coloque nos comentários, como disse, tem algumas coisas que ainda não entendi bem como funciona, e o material que encontrei sobre isso é muito resumido e vago, estou fazendo algumas experiências, testes pra ver como esse código se comporta nas mais diversas situações e tentando aprender mais sobre ele.


[1] Portable Game Notation é um formato de arquivo para computadores criado para o registro de partidas de xadrez.


Atualização 15/07/2022

Artigo atualizado para corrigir informação incorreta no tópico ‘Contagem de movimentos e lances’, constava 50 movimentos e o correto é 100 (correspondente a 50 lances), também acrescentei um parágrafo no referido tópico para complementar a explicação.

5 respostas para “FEN: O Código Secreto do Xadrez”.

  1. Excelente texto!
    Não entendi quase nada (mentira, entendi sim,, só não faço ideia do que fazer com isso)
    Finalmente estou acompanhando um Blog de Xadrez de verdade.

    Curtido por 1 pessoa

    1. a utilidade desse código é muito especifica.

      “Blog de Xadrez de verdade.”
      tenho minhas dúvidas quanto a isso, rs

      Curtido por 1 pessoa

  2. yay, consegui remover todos os typos.
    também acrescentei um ‘único’ em [mas aparece um hífen lá.]
    de quebra ainda descobri, sem querer, como colocar o @ do Twitter no botão de compartilhar, achava que tinha que pagar algum plugin pra fazer isso.
    próxima revisão agora só ano que vem.

    Curtir

    1. claramente fui otimista.

      Curtir

  3. […] jogando, 0% estudando e o resto é gasto com questões inúteis, tipo: “como funciona esse código esquisito?”, “é possível promover todos os peões em uma única partida?”, “quem veio […]

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Crie seu site com o WordPress.com
Comece agora
%d blogueiros gostam disto: