Come funziona 8 Queens

Jun 11 2012
Mentre 8 Queens è popolare con il set di programmazione, i meno esperti di matematica tra noi possono anche spremere un po' di divertimento da questo classico puzzle.
Anche se può sembrare semplice, posizionare otto regine non in conflitto su un board può essere sorprendentemente difficile.

A seconda dei circoli in cui ti trovi - diciamo, il tuo migliore amico è un programmatore di computer e tua sorella è un prodigio degli scacchi - potresti già avere familiarità con il puzzle delle 8 regine. Per il resto di noi, il puzzle delle 8 regine (o problema o semplicemente "8 regine") probabilmente non è qualcosa a cui passiamo molto tempo a pensare.

Il puzzle è abbastanza semplice. Come puoi posizionare 8 regine su una scacchiera in modo che nessuna si attacchi a vicenda? In alternativa, la domanda a volte viene formulata come "Qual è il numero massimo di regine che possono essere piazzate su una scacchiera, in modo che due non possano attaccarsi a vicenda", ma questo enigma diventa molto meno difficile quando lo cerchi su Google , e il termine "Il puzzle delle 8 regine" viene fuori.

Potresti chiederti perché mai sulla Terra a qualcuno importa dove tieni le tue otto regine. E sì, superficialmente, è solo un puzzle strategico. Ma (ed è qui che è utile avere un migliore amico che codifica i computer) il puzzle delle 8 regine è un ottimo modo per testare l'esperienza e l'alfabetizzazione di un programmatore.

Ora, non aver paura. Non sarai costretto a comprendere le complessità della programmazione del computer per continuare a leggere. Ma dovresti sapere che la soluzione del puzzle può essere ottenuta utilizzando un codice di programmazione - e alcuni sono più eleganti di altri. Ad esempio, puoi sicuramente trovare la soluzione utilizzando un programma di "forza bruta" che potrebbe semplicemente passare attraverso ogni possibile posizionamento, escludendone uno alla volta. Ma un programmatore sofisticato sarà in grado di costruire un programma con scorciatoie utilizzando un algoritmo più raffinato per trovarti una soluzione più velocemente. Essere in grado di trovare modi insoliti o originali per programmare una soluzione a un problema ampio quanto 8 regine può essere un ottimo test per l'esperienza di uno scrittore di codici.

Quindi, anche se non ti infileremo 1 e 0 per spiegare come funziona 8 Queens, ti forniremo alcune soluzioni al puzzle.

Origine e spiegazione di 8 Queens Puzzle

Ora che abbiamo la premessa di base del puzzle, dovremmo stabilire perché il problema è così unico. Per farlo, rispolveriamo le nostre basi di scacchi. In una partita a scacchi, la regina è una forza da non sottovalutare. Può muoversi in linea retta verticalmente, orizzontalmente o diagonalmente, quanti spazi vuole. L'unico problema è che non può saltare pezzi, quindi se una pedina è sulla sua strada, deve catturarla e fermarsi.

Questo contenuto non è compatibile su questo dispositivo.

Questo è ciò che rende interessante il puzzle delle 8 regine. Se le regine possono muoversi in alto, in basso, a sinistra, a destra e in diagonale, quante reali in guerra possono occupare il tabellone senza condividere la stessa riga, colonna o linea diagonale? Ora, potresti pensare che sarebbe un'idea formidabile mettere una regina sul board, provando diverse combinazioni prima di centrarle tutte. E certo, è possibile. Ma ci sono 4.426.165.368 potenziali soluzioni, quindi potresti considerare di trovare una scorciatoia.

Prima di mettere le nostre regine in 4 miliardi di quadrati diversi, riconosciamo che qualcuno si è effettivamente seduto un giorno e ha deciso che questo sarebbe stato un buon modo per sprecare un pomeriggio o due. Com'era prevedibile, non era qualcuno che aveva le repliche di "My Big Fat Gypsy Wedding" su cui aggiornarsi: era un maestro di scacchi e compositore tedesco del 19° secolo di nome Max Bezzel. (Un compositore di scacchi è qualcuno che inventa problemi di scacchi, noti anche come enigmi, da risolvere.) È apparso per la prima volta nella rivista tedesca di scacchi DieSchachzeitung nel 1848.

Bezzel non era così interessato a risolvere l'enigma; era soddisfatto di porre semplicemente la domanda. Tuttavia, nel 1850, il matematico Franz Nauck scrisse un altro articolo che discuteva il problema. (Le prime soluzioni al puzzle furono infine risolte da Nauck.) Ciò attirò l'attenzione di Karl Gauss, un matematico del 19° secolo noto per aver scoperto la teoria fondamentale dell'algebra. Quando Gauss si interessò a trovare la soluzione, altri lo seguirono e iniziarono ad emergere approcci diversi per risolvere il puzzle.

Soluzioni a 8 regine

Ecco una soluzione al puzzle delle 8 regine.

Non sorprende che "otto" sia la risposta alla nostra domanda specifica su quante regine possono essere piazzate su un board senza attaccarsi a vicenda. Ma esploriamo in quanti modi possono essere piazzate otto regine e come viene stabilito.

Abbiamo parlato di come i programmi per computer di forza bruta siano un modo per risolvere il puzzle - e testare manualmente 4.426.165.368 possibilità si qualificherebbe sicuramente come forza bruta - ma ci sono modi più semplici per restringere le soluzioni. Un metodo semplificato fu fornito quando JWL Glaisher, un altro matematico, pubblicò un articolo nel 1874 descrivendo il suo uso dei determinanti per trovare una soluzione. "Determinants" suona un po' difficile, ma tutto quello che devi sapere è che Glaisher ha costruito fondamentalmente una matrice e, usando un sistema che ha derivato da quella matrice, è stato in grado di restringere le possibili soluzioni a 92.

E 92 soluzioni rimane. Ma non lasciarti ingannare; non sarai in grado di allineare 92 scacchiere, ciascuna con un unico set di 8 regine sistemate pacificamente, perché in realtà ci sono solo 12 soluzioni uniche.

Confuso? La differenza tra 12 soluzioni uniche e 92 soluzioni fondamentali si basa, letteralmente, su come la guardi. Sebbene tu possa impostare 12 tavole diverse in modo distintivo con le tue otto regine, tutto ciò che serve è semplicemente girare la tavola - o addirittura rifletterla su uno specchio - per far sembrare le tavole tecnicamente diverse e quindi avere un "diverso" soluzione. (Questo è chiamato operazioni di simmetria rotazionale e riflessiva.) Quindi prendi le tue 12 schede uniche, le giri di 90, 180 e 270 gradi e poi le rifletti ad ogni rotazione. Ma un'altra cosa: una tavola unica è simmetrica, quindi sembra la stessa da due angolazioni. Mentre tutte le altre schede hanno otto varianti, la scheda simmetrica ne ha solo quattro. Quindi, invece di 12 schede per 8 variazioni (96), stiamo effettivamente sottraendo le quattro che non esistono con la scheda simmetrica. Cosa otteniamo? 92 soluzioni fondamentali.

Ora, non lasciarti ingannare dalla matematica. Puoi sempre trovarti una scacchiera e tentare di scovare alcuni posizionamenti per te stesso. (Trovare una risposta, ovviamente, è molto più facile che trovarne tutte e 12.) E ci sono anche programmi sul Web che ti permettono di scoprire alcune soluzioni diverse. (Attenzione: potrebbero farti sentire stupido.)

Prima di mescolare le tue regine, controlla la pagina successiva per ulteriori informazioni.

Nota dell'autore

Essendo una persona meno interessata a un algoritmo che a un alfabeto, non avevo grandi speranze per la comprensione del puzzle delle 8 regine. Sebbene fossi sicuro che avesse una sorta di applicazione pratica, non sono stato in grado di vederlo. Ironia della sorte, è stato quando ho capito la vastità del problema che ho iniziato a capire perché poteva essere utile. Trovare un insieme di soluzioni da un'enorme quantità di possibilità è uno dei motivi per cui esiste un codice. Il problema delle 8 regine sfida programmatori e matematici a scoprire nuove tecniche per semplificare la ricerca.

Link correlati

  • Come funzionano i crittogrammi
  • Come funzionano le citazioni crittografiche
  • Come giocare a Numbrix
  • Come funzionano i puzzle di scacchi

Fonti

  • Alfed, Pietro. "Il problema della N per N Queens." Università dello Utah, Dipartimento di Matematica. 03 settembre 1997. (6 giugno 2012) http://www.math.utah.edu/~alfeld/queens/queens.html
  • Palla, Walter William Rouse. "Ricreazioni e saggi matematici". Macmillan. 1919. (giugno, 6, 2012) http://books.google.com/books?id=hvDuAAAAMAAJ&pg=PA113&lpg=PA113&dq=franz+nauck&source=bl&ots=p3cbvU0VSQ&sig=2YOi6HdSBTv42PD74MHzY3QPBSw&hl=en&sa=X&ei=wd3OT-uoOYSG2gWZwtjFDA&ved=0CFYQ6AEwAw#v =onepage&q=franz%20nauck&f=falso
  • Becher, Michael. "Il problema delle 8 regine". 2011. (6 giugno 2012) http://www.eightqueen.becher-sundstroem.de/index.php
  • Chatham, Doug. "La pagina del problema di N+k Queens." Morehead State University. 30 novembre 2011. (6 giugno 2012) http://people.moreheadstate.edu/fs/d.chatham/nkqueens.html
  • Affare, Sheldon. "Strategie di ricerca ed euristiche comuni rispetto al problema delle N-Queens". Dipartimento di Informatica dell'Università del New Mexico. (6 giugno 2012) http://www.cs.unm.edu/~sdealy/nqueens_presentation.pdf
  • Affare, Sheldon. "Strategie di ricerca ed euristiche comuni rispetto al problema delle N-Queens". Dipartimento di Informatica dell'Università del New Mexico. 10 dicembre 2004. (6 giugno 2012) http://www.cs.unm.edu/~sdealy/nqueens_proj.pdf
  • Edwards, Jon. "Gli scacchi sono divertenti." Università di Princeton. (6 giugno 2012) http://www.princeton.edu/~jedwards/cif/intro.html
  • Glaisher, JWL "Glaisher sui problemi delle otto regine". Rivista filosofica e Journal of Science. luglio-dicembre 1874. (6 giugno 2012) http://books.google.com/books?id=nKxSCc5_cCcC&pg=PA457&lpg=PA457&dq=glaisher%20on%20the%20problem%20of%20the%20eight%20queens&source=bl&ots=3FsFz-lPDF&sig= 66bdEtWGsZQy3jkzcR3VDgQEOyU&hl=it&ei=8Jl-TuijA4nWiALumYCYCQ&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCYQ6AEwAQ#v=onepage&q=glaisher%20on%20the%20problem%20of%20the%20eight%2se
  • Dio, Kurt. "Otto regine solitarie". Blog di scacchi.com. 21 giugno 2008. (6 giugno 2012) http://blog.chess.com/kurtgodden/8-lonely-queens
  • Hoffman, EJ, et al. "Costruzioni per le soluzioni del problema m Queens." Rivista di matematica. vol. 42, n. 2. 66-72. Marzo 1969. (6 giugno 2012) http://penguin.ewu.edu/~trolfe/QueenLasVegas/Hoffman.pdf
  • Schachclub Ansbach. "Max Frederick Wilhelm Bezzel (tradotto dal tedesco)." (6 giugno 2012) http://www.schachclub-ansbach.de/chronik_bezzel.htm
  • Shah, Karan. "Problema con 8 regine (1° laboratorio)." Lezioni sull'algoritmo. 5 gennaio 2010. (6 giugno 2012) http://bvmalgolectures.blogspot.com/2010/01/8-queens-problem1st-lab.html
  • Spivey, Mike. "Risolvere n-Queens con determinanti". Matematica - StackExchange.com. 25 settembre 2011. (6 giugno 2012) http://math.stackexchange.com/questions/67236/solving-n-queens-with-determinants
  • Il negozio di scacchi. "Regole per giocare a scacchi". 2012. (6 giugno 2012) http://www.thechessstore.com/category/rulesofchess/
  • Muro, Bill. "Grandi compositori di scacchi". Scacchi.com. 7 agosto 2007. (6 giugno 2012) http://www.chess.com/article/view/great-chess-composers
  • Weisstein, Eric W. "Gauss, Karl Friedrich". Il mondo della scienza di Eric Weisstein. 2007. (6 giugno 2012) http://scienceworld.wolfram.com/biography/Gauss.html
  • Weisstein, Eric W. "Il problema delle regine". Da MathWorld: una risorsa Web Wolfram. (6 giugno 2012) http://mathworld.wolfram.com/QueensProblem.html