Funzionamento dei treni computer Viergewinnt

Il computer ha cercato tutti i treni di un numero del treno di determinare da, Esso è determinato dal livello. A livello 1, Ha provato due mattoni, uno per sé e uno per l'avversario. A livello 2 Provalo 4 Buttare fuori, a livello 3, 6 e dal livello 3 sempre un altro.
Per ogni posizione, il conseguente, Egli svolge una revisione e quindi seleziona il treno, Lui è il migliore rating alla fine del. Questo esegue lo stesso metodo per i treni dell'avversario. In questo modo, egli si aspetta con cui (determinato da questo metodo.) mossa migliore del suo avversario, per determinare il proprio treno migliore.

Come il computer valutata una posizione?

Egli è uno per ogni pietra del suo colore, Quante possibilità ci sono ancora, 4 per entrare in una serie. Su un campo altrimenti vuota con un rock in basso a sinistra una recensione nasce dalla 3, perché esso 3 Le possibilità, Questa pietra da 4 per entrare in una serie: verso l'alto, verso l'alto a destra e a destra.

Questo conteggio è fatto per il computer e il Gegnger. Una revisione della posizione viene calcolata da questi due totali, dove può ponderata in modo diverso il risultato del conteggio dell'avversario rispetto al proprio. La ponderazione è determinata dal caos del computer. All'estremo caos, solo modo lessicografico svolge un ruolo il conte di Gegngers, vale a dire. Se due treni sono lo stesso numero dopo il conteggio delle proprie pietre, il treno è preferito, chi ha un peggio contando i risultati a un nemico.

Il caos (= Strategia) il computer viene scelto a caso per un gioco. Lei può 5 Assumere valori tra il “quasi solo proprie opportunità per espandere”-Strategia fino a “ridurre al minimo le possibilità che l'avversario in primo luogo”. Mentre il computer in un livello sceglie una strategia, con cui egli una volta perso, non ancora (Se possibile).

Il caso del profitto è misurato con un numero, che è più grande di tutte le recensioni, che ha ottenuto dopo lo schema sopra indicato. Perdere è valutato come un numero negativo.

Per migliorare la velocità verrà utilizzato l'algoritmo di alfa-beta-cancellazione. L'idea è di seguito: Selezionare l'avversario è sempre il treno, chi è il peggiore per il computer. Pertanto non devono essere calcolati tutti i propri treni, Se l'avversario da un altro treno precedente (vale a dire. in un altro ramo) ha l'opportunità, meglio prendere più di grado analizzato. Tutti gli altri treni nel ramo corrente non devono essere analizzati, perché c'è una possibilità per il nemico, il computer al peggio che in un altro ramo.
L'altro ramo è pertanto preferito dal computer, senza dover cercare di valutare tutti i treni della struttura corrente.
Questo algoritmo è puramente logico, vale a dire. Esso non limita il set di risultati, ma riduce il numero di operazioni necessarie per realizzare che esattamente lo stesso risultato come con la ricerca completa. Molte grazie a Marc Becker, il me ha dichiarato questo algoritmo.

Opportunità di miglioramento

Velocità

Per migliorare la velocità, si aspetta che il computer mentre l'avversario ancora attentamente. Questo scopo 7 Campi da gioco generati, Mentre ogni campo contiene una possibile mossa dell'avversario. Allora il calcolo sarà allo stesso tempo per tutti 7 Campi da gioco ha iniziati. Ha fatto la sua mossa all'avversario, così i calcoli sono fermati, che sono stati lanciati per un altro suo avversario del muoversi e ha aspettato fino al calcolo del treno, che l'avversario ha reso effettivamente, è stata completata. Purtroppo questo ha non molto, perché i calcoli precedenti devono condividere le prestazioni del processore, vengono solo con ca. un settimo della velocità di calcolo di una singola in corso. A velocità del treno dell'uomo tra 5 e 15 Secondi per ogni mossa, un risparmio di tempo nasce dalla 5/7 fino al 15/7 così da 0,7 fino al 2 Secondi. In ca. 60 Secondo livello calcolo 5 ist das nicht mehr als ein Tropfen auf den heißen Stein 🙁 Leider habe ich die Beobachtung der menschlichen Zuggeschwindigkeit erst gemacht, Dopo che ho la “contare il tempo gli avversari” schon programmiert hatte 🙁

Forse potrebbe essere la pena, le routine, che sono necessari durante il calcolo, per ottimizzare la velocità. Ho provato con discreto successo e nessuno sforzo speciale. Entrambi sono nel codice sorgente (il “più lento” e che “più veloce”) Contengono ancora routines, il nuovo hanno i tag “veloce”. Per coloro che desiderano, qui cosa migliorare, piace!

Un altro modo, per rendere il gioco più elevati livelli di più sopportabile,
Sarebbe, una libreria di apertura per costruire. Se la libreria di apertura viene elaborata, Esso va no più velocemente che mai.

Inoltre sarebbe concepibile, il computer “Intelligente” per rendere, vale a dire. Proiezioni per annullare, prima di raggiunta la profondità di calcolo predeterminato, Se in qualche modo “prevedibili” è, che questo essere ramo di conversione in questione come. Tuttavia, sarà in questo modo il computer “potenziale creativo” preso, Egli non può rendere più treni, che a prima vista sembra male (= prevedibilmente venire fuori la questione), ma dopo alcuni treni dimostrano di essere benefico. Tutti i programmi di scacchi devono essere con quelli “Euristica” Questi metodi di lavoro, perché c'è il numero di possibilità dopo solo alcuni treni così grandi, non tutti i treni possono essere valutati in un tempo accettabile. Per lo sviluppo di buono euristica è necessaria molta esperienza di gioco. Forse qualcuno ha la lussuria, Poiché fino a go? – Io vado a (almeno nel prossimo futuro) Non preoccuparti, perché il gioco presente così dire per me dovrebbe essere il test, quanto bene un computer senza l'euristica, vale a dire. senza esperienza di gioco incorporato, può giocare. Il risultato è: Sono già abbastanza bene, ma contro una persona, è il computer (senza l'euristica) lento e battibili.

Livello di abilità

La prima versione di questo programma ha valutato solo la qualità della propria posizione, indipendentemente dalla posizione dell'avversario. La versione corrente utilizzata con la valutazione della posizione dell'avversario secondo la mayhem (= Strategia) peso variabile. Questo significativamente migliorato il livello di abilità del computer.

Non è stato implementato: Noleggio. è il peso, Questo dovrebbe essere appropriato per la valutazione di posizione avversaria, A seconda del palco e il livello di abilità del tuo avversario.

Un altro modo, il livello di abilità per migliorare, e ' possibile, non solo i migliori avversari del treno di prendere in considerazione, ma per la distribuzione dei tassi dell'avversario. Inoltre sarebbe concepibile un meccanismo, Esso utilizza un algoritmo diverso per il treno opposto per quanto riguarda i treni del computer.

Un altro modo è, certe costellazioni (ad esempio. “Caduta”, non può essere riconosciuto all'interno la profondità dell'anticipazione) con cliente specifico per fornire. Probabilmente, questo è il metodo più promettente, perché tali carenze sistematiche possono essere ridotto. Allderdings sono sempre uno solo “Caduta” ha insegnato al computer. In aggiunta, che richiede, come quando l'euristica di gioco esperienza, è per questo che non sto progettando qualsiasi momento presto, per implementare tali.

Un modo più semplice, il livello di abilità per migliorare, e ' possibile, non solo il numero di possibili Viererreihen di contare, ma anche prendere in considerazione, Quanti pietra il Viererreihe esiste già. Finora, il computer analizza due possibili Viererreihen, hanno già fatto un, Ci sono due o tre pietre, Lo stesso. Probabilmente il gioco del computer è aggresiver, ma, nel. anche meno strategicamente, set di così breve, a causa dei prefabbricati da 3 Pietre in una fila sono importante –
noleggio. wichtiger als der Bau neuer Möglichkeiten. – Difficilmente posso apprezzare,
o meno il gioco questo è meglio, È probabilmente anche la ponderazione in più occasioni. Ho intenzione di questa possibilità di miglioramento, in linea di principio qualsiasi momento presto.

Codice sorgente

C'è il codice sorgente Java come File ZIP qui.
Egli può liberamente distribuiti, usato e per essere cambiato, fintanto che il mio nome con
viene passato. Io personalmente uso casella massaggio classe modificati
da Jack Harich, messaggi (ad esempio. Ha vinto il giocatore con il colore di x”)
per trascorrere.

Il file principale si chiama “Kreise.java”, Implementa l'interfaccia utente grafica. Il file “tspielfeld.java” fornisce funzionalità di base di Viergewinntspielfeldes, durante il file “SchlauesSpielfeld.java” Funzioni di valutazione di posizione tra cui il metodo “ha vinto giocatore?” esteso, Aggiunge il metodo per la determinazione del treno migliore e
implementa l'interfaccia per i thread, le proiezioni simultanee a
Enable.

Ho qui un breve tutorial scritto, Come legare questo piccolo gioco Viergewinnt nella propria pagina.

Idee? Suggerimenti? Canti di lode?

Basta lasciare un commento.

Questa voce è stata pubblicata in Alle deutschen Artikel e contrassegnati , , , . Segnalibro la Permalink.

Lasciare una risposta

Indirizzo email non sarà pubblicato. Campi obbligatori sono contrassegnati *