logo

Ricerca contraddittoria

La ricerca contraddittoria è una ricerca in cui esaminiamo il problema che sorge quando proviamo a pianificare in anticipo rispetto al mondo e altri agenti stanno pianificando contro di noi.

  • Negli argomenti precedenti abbiamo studiato le strategie di ricerca associate solo a un singolo agente che mira a trovare la soluzione che spesso si esprime sotto forma di una sequenza di azioni.
  • Tuttavia, potrebbero esserci alcune situazioni in cui più di un agente sta cercando la soluzione nello stesso spazio di ricerca e questa situazione di solito si verifica durante il gioco.
  • L'ambiente con più di un agente è definito come ambiente multi-agente , in cui ogni agente è avversario di un altro agente e gioca l'uno contro l'altro. Ciascun agente deve considerare l'azione di un altro agente e l'effetto di tale azione sulle proprie prestazioni.
  • COSÌ, Le ricerche in cui due o più giocatori con obiettivi contrastanti cercano di esplorare lo stesso spazio di ricerca per trovare la soluzione sono chiamate ricerche contraddittorie, spesso note come Giochi .
  • I giochi sono modellati come un problema di ricerca e una funzione di valutazione euristica, e questi sono i due fattori principali che aiutano a modellare e risolvere i giochi nell'intelligenza artificiale.

Tipi di giochi nell'intelligenza artificiale:

Deterministico Mosse casuali
Informazioni perfette Scacchi, Dama, vai, Otello Backgammon, monopolio
Informazioni imperfette Corazzate, cieche, tris Bridge, poker, scarabeo, guerra nucleare
    Informazioni perfette:Un gioco con le informazioni perfette è quello in cui gli agenti possono esaminare l'intero tabellone. Gli agenti hanno tutte le informazioni sul gioco e possono anche vedere le mosse degli altri. Esempi sono gli scacchi, la dama, il Go, ecc.Informazioni imperfette:Se in un gioco gli agenti non hanno tutte le informazioni sul gioco e non sono consapevoli di cosa sta succedendo, questo tipo di giochi è chiamato gioco con informazioni imperfette, come tris, Battaglia navale, cieco, Bridge, ecc.Giochi deterministici:I giochi deterministici sono quei giochi che seguono uno schema rigoroso e un insieme di regole per i giochi e non vi è alcuna casualità ad essi associata. Esempi sono gli scacchi, la dama, il Go, il tris, ecc.Giochi non deterministici:Non deterministici sono quei giochi che hanno vari eventi imprevedibili e hanno un fattore di fortuna. Questo fattore di probabilità o fortuna è introdotto dai dadi o dalle carte. Queste sono casuali e ogni risposta all'azione non è fissa. Tali giochi sono anche chiamati giochi stocastici.
    Esempio: Backgammon, Monopoli, Poker, ecc.

Nota: in questo argomento discuteremo dei giochi deterministici, dell'ambiente completamente osservabile, della somma zero e del luogo in cui ciascun agente agisce in modo alternativo.

Gioco a somma zero

  • I giochi a somma zero sono ricerche contraddittorie che implicano pura competizione.
  • Nel gioco a somma zero il guadagno o la perdita di utilità di ciascun agente è esattamente bilanciato dalle perdite o dai guadagni di utilità di un altro agente.
  • Un giocatore del gioco cerca di massimizzare un singolo valore, mentre l'altro giocatore cerca di minimizzarlo.
  • Ogni mossa di un giocatore nel gioco è chiamata ply.
  • Gli scacchi e il tris sono esempi di giochi a somma zero.

Gioco a somma zero: pensiero incorporato

Il gioco a somma zero implica un pensiero incorporato in cui un agente o giocatore cerca di capire:

livecricket.is
  • Cosa fare.
  • Come decidere il trasloco
  • Deve pensare anche al suo avversario
  • Anche l'avversario pensa a cosa fare

Ciascuno dei giocatori sta cercando di scoprire la risposta del suo avversario alle proprie azioni. Ciò richiede un pensiero incorporato o un ragionamento all'indietro per risolvere i problemi di gioco nell'intelligenza artificiale.

Formalizzazione del problema:

Un gioco può essere definito come un tipo di ricerca nell'intelligenza artificiale che può essere formalizzato nei seguenti elementi:

    Stato iniziale:Specifica come è impostato il gioco all'inizio.Giocatori):Specifica quale giocatore si è mosso nello spazio di stato.Azioni):Restituisce l'insieme delle mosse legali nello spazio degli stati.Risultato(i, a):È il modello di transizione, che specifica il risultato dei movimenti nello spazio degli stati.Test del terminale:Il test terminale è vero se il gioco è finito, altrimenti è comunque falso. Lo stato in cui finisce il gioco è chiamato stati terminali.Utilità/i, p):Una funzione di utilità fornisce il valore numerico finale per un gioco che termina negli stati terminali s per il giocatore p. È detta anche funzione di profitto. Per gli scacchi, i risultati sono una vittoria, una sconfitta o un pareggio e i valori di vincita sono +1, 0, ½. E per il tris, i valori di utilità sono +1, -1 e 0.

Albero del gioco:

Un albero di gioco è un albero in cui i nodi dell'albero sono gli stati del gioco e i bordi dell'albero sono le mosse dei giocatori. L'albero del gioco coinvolge lo stato iniziale, la funzione delle azioni e la funzione del risultato.

Esempio: albero del gioco Tic-Tac-Toe:

prepararsi per il test mockito

La figura seguente mostra parte dell'albero del gioco del tris. Di seguito sono riportati alcuni punti chiave del gioco:

  • Ci sono due giocatori MAX e MIN.
  • I giocatori hanno un turno alternativo e iniziano con MAX.
  • MAX massimizza il risultato dell'albero di gioco
  • MIN minimizza il risultato.
Ricerca contraddittoria

Esempio Spiegazione:

  • Dallo stato iniziale, MAX ha 9 mosse possibili poiché inizia per primo. MAX posto x e MIN posto o, ed entrambi i giocatori giocano alternativamente fino a raggiungere un nodo foglia in cui un giocatore ne ha tre di fila o tutti i quadrati sono pieni.
  • Entrambi i giocatori calcoleranno ciascun nodo, minimax, il valore minimax che è la migliore utilità ottenibile contro un avversario ottimale.
  • Supponiamo che entrambi i giocatori siano ben consapevoli del tris e giochino la giocata migliore. Ogni giocatore fa del suo meglio per impedire che un altro vinca. MIN agisce contro Max nel gioco.
  • Quindi nell'albero del gioco abbiamo un livello Max, uno livello MIN e ogni livello è chiamato come Piega . Max piazza x, poi MIN mette o per impedire a Max di vincere, e il gioco continua fino al nodo terminale.
  • In questo caso vince MIN, vince MAX o è un pareggio. Questo albero di gioco è l'intero spazio di ricerca delle possibilità in cui MIN e MAX giocano a tris e si alternano a turno.

Quindi la ricerca contraddittoria per la procedura minimax funziona come segue:

stringbuilder
  • Lo scopo è trovare la strategia ottimale affinché MAX vinca la partita.
  • Segue l'approccio della ricerca Depth-first.
  • Nell'albero del gioco, il nodo foglia ottimale potrebbe apparire a qualsiasi profondità dell'albero.
  • Propaga i valori minimax fino all'albero finché non viene scoperto il nodo terminale.

In un dato albero di gioco, la strategia ottimale può essere determinata dal valore minimax di ciascun nodo, che può essere scritto come MINIMAX(n). MAX preferisce passare ad uno stato di valore massimo e MIN preferisce spostarsi ad uno stato di valore minimo, quindi:

Ricerca contraddittoria