Newsgroup: it.hobby.scacchi
Titolo: Codice FEN.

Ciao a tutti.
Ultimamaente mi sto ponendo alcune domande riguardo il codice FEN.
Mi chiedevo in particolare com'è possibile che, per rappresentare una
qualsiasi posizione sulla scacchiera, sia necessaria una stringa così
lunga, ed ho iniziato a pensare a qualche alternativa che permetta di
esprimere la stessa posizione in un numero minore di caratteri. In
realtà, non so perché l'ho fatto, in quanto già ritenevo che un
risparmio di pochi caratteri non potesse influire sulle risorse di un pc
o su altro.
Comunque, la conclusione alla quale sono arrivato è che ciò è possibile,
ma al prezzo di rendere inaccessibile ad un umano tale codice. In
sostanza: il codice FEN permette anche ad un giocatore umano (capace di
decodificarlo) di riportare la posizione su una scacchiera tradizionale,
oltre che sul proprio computer, mentre un nuovo tipo di codice potrebbe
rappresentare la stessa posizione con una stringa più piccola, ma
rendendola inaccessibile ad un umano.
Secondo voi quale dei due aspetti dovrebbe essere privilegiato? Avere
delle stringhe più piccole (ma con un risparmio evidentemente
trascurabile di memoria o altro per un pc) o consentire ad un giocatore
umano di tradurre il codice?
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

umano di tradurre il codice?
Non ne ho idea, ma qualunque cosa tu faccia, penso tu la voglia fare per
tuo diletto personale, perchè ormai il FEN è riconosciuto da mille mila
programmi ed è di fatto diventato uno standard ...
Ciao!
Maurizio Mascheroni

 ma al prezzo di rendere inaccessibile ad un umano tale codice. 
Hai detto niente!
Pure per codificare le partite ci sarebbero 1000 modi piu' efficienti
del PGN, ma sempre al prezzo di rendere l'informazione inaccessibile ad
un umano.
Inoltre devi pure considerare che per poter facilmente trasmettere
questi dati, devi restare nel subset ASCII-7, perche' una posizione o
una partita devono poter essere postate anche in questo NG per esempio
dove non e' ammesso postare binari.


 Grazie.
Come ben segnali un codice FEN ci fa una pippa alla memoria di un PC. :-)
Ma perché vuoi togliere ad umano la soddisfazione di decodificare a vista 
una stringa FEN davanti agli amici del Circolo che non lo sanno fare?
Franco 

 umano di tradurre il codice?
Dipende dal tuo scopo. Se devi costruire un database di posizioni che ne 
deve contenere milioni, allora è meglio compattare al massimo (circa 21 
byte), mentre se devi presentare la stringa a un umano per mostrargli la 
posizione in questione, è meglio espandere al massimo, magari con una 
stringa di 8 righe per 8 caratteri. Non è un po' lapalissiano?
Alex

 Ciao a tutti.
ciao Alessio! :-)
questo argomento e' molto simile a quello della mia tesi...
-----------------
Da un punto di vista matematico il numero di posizioni
possibili sulla scacchiera sono state stimate in un
numero da 10^43 a 10^50, che si puo' anche scrivere
in base 2 da 2^146 a 2^169.
Ipotizziamo 2^160.
Dunque (immaginando di aver numerato univocamente
tutte le posizioni possibili) sono necessari 160 bit,
cioe' 20 byte, per definire l'indice della posizione.
Se mettiamo 1 byte = 1 carattere, questa
lunghezza sara' di 20 caratteri.
Puo' sembrare incredibile, ma questo sara' anche il
limite minimo della lunghezza media *di ogni
possibile codifica* che puo' venire in mente.
Cio' siginfica che qualsiasi procedimento e regole
si possa inventare per fare un similFEN personalizzato,
non potra' mai essere di lunghezza inferiore a questo numero.
E che quindi la codifica 'perfetta' sara' di
lunghezza media 20 byte/caratteri.
La lunghezza media del FEN invece dovrebbe essere
nell'ordine di una cinquantina/sessantina di caratteri.
-----------------
Se questi 'calcoli al volo' sono esatti, forse non vale
la pena di rendere la stringa non 'human-readable'
per passare da una media di 60 a una media di 25
(se ti avvicini di piu' al limite sei bravo!)
(spero di non avervi annoiato! :-) )
ciao,
Marco.

 (spero di non avervi annoiato! :-) )
Niente affatto!
Sei troppo tenero nello stile di scrittura...ma quanti anni hai?
(lo fai 'sto corso all'accademia romana?)
ciao, J 

Ciao Marco.
Non mi hai affatto annoiato, anzi. Vorrei precisare che, secondo me, hai
ragione ed infatti non credo come in una stringa di meno di 20 caratteri
possa essere racchiusa una qualsiasi posizione.
Io ipotizzerei che si potrebbe scendere al massimo al 70-80% del numero
di caratteri utilizzato atttualmente, arrivando intorno ai 40-50 in
media, ma rendendolo appunto illeggibile al giocatore umano.


 (lo fai 'sto corso all'accademia romana?)
Purtroppo lampas abita in pieno centro a Bologna ... ma in effetti del corso 
ne avrebbe un gran bisogno, a giudicare da come
sviluppa i pezzi in apertura... :-)
Ciao
Edoardo

 ha scritto nel messaggio 
news:z760h.17990$Fk1....@twister2.libero.it...

Orpo faccio una gran confusione con i nick e non mi rendo mai conto a chi 
sto rispondendo.
Immagino che frequentando certa gentaglia ormai il povero lampas è 
spacciato...possiamo fare un corso di sopravvivenza a Roma per lui (gli 
scacchi un'altra volta...).
ciao, Janis 

 spacciato...
La faccina, J! Un po' di sana ipocrisia, che diamine! ;-)
Ciao
Edoardo

 scacchi un'altra volta...).
suona interessante, potrebbe dipendere dall'istruttore/trice... :-)
ciao,
Marco.

 suona interessante, potrebbe dipendere dall'istruttore/trice... :-)
...come temevo...l'abbiamo perso.
ciao, Janis