ereinionbw
Interface BWProblem

All Known Implementing Classes:
AbstractBWProblem, SPPBWProblem

public interface BWProblem

L'interfaccia BWProblem � sostanzialmente una estensione di SearchProblem. L'implementazione dell'interfaccia BWProblem rende un SearchProblem utilizzabile all'interno del programma Blue Wizard per la manipoalzione e soluzione per via grafica di problemi di Search. In sostanza BWProblem � una wrapper class per un SearchProblem, a cui poi si aggiungono le funzioni di configurazioni e visualizzazione specifiche per il SearchProblem.

Since:
EPR 1.0
Version:
1.0, 7/10/2002
Author:
Ereinion
See Also:
SearchOp, SearchState, SearchProblem, EvalFunction, AWTSetter, SearchStateDisplay, ProblemNotInformed

Method Summary
 void displaySet(AWTSetter setter, int xDim)
          L'applicazione passa al BWProblem le dimensioni sull'asseorizzontale della finestra principale.
 java.awt.Frame getConfigFrame()
          Questo metodo restituisce una finestra di configurazione per questo BWProblem.
 EvalFunction getEvalFunction()
          Questo metodo fornisce la funzione euristica selezionata al momento per il problema.
 java.lang.String[] getProblemDescription()
          Questo metodo fornisce una descrizione delle propriet� del problema.
 java.lang.String getProblemName()
          Questo metodo si limita fornire il nome del BWProblem
 SearchProblem getSearchProblem()
          Questo metodo restituisce il SearchProblem corrente contenuto in questo BWProblem
 SearchStateDisplay getStateDisplayer()
          Questo metodo restituisce l'implementazione di SearchStateDisplay per questo BWProblem.
 void randomizeInitState(int random)
          Questo metodo randomizza lo stato iniziale del problema quando possibile.
 

Method Detail

getProblemName

public java.lang.String getProblemName()
Questo metodo si limita fornire il nome del BWProblem

Returns:
il nome di questo BWProblem

getProblemDescription

public java.lang.String[] getProblemDescription()
Questo metodo fornisce una descrizione delle propriet� del problema.

Returns:
le propriert� che drescrivono il problema.

getSearchProblem

public SearchProblem getSearchProblem()
Questo metodo restituisce il SearchProblem corrente contenuto in questo BWProblem

Returns:
il SearchProblem contenuto in questo BWProblem

getEvalFunction

public EvalFunction getEvalFunction()
                             throws ProblemNotInformed
Questo metodo fornisce la funzione euristica selezionata al momento per il problema.
Nota: nel caso ci fossero pi� euristiche disponivili, pu� essere una buona idea aggiungere la possibilit� di selezionare quale andr� usata nella finestra di configurazione

Returns:
euristica selezionata per il problema.
Throws:
ProblemNotInformed - se non ci sono euristiche disponibili per il problema o se non ne � stata selezionata nessuna.

getConfigFrame

public java.awt.Frame getConfigFrame()
Questo metodo restituisce una finestra di configurazione per questo BWProblem. Tale finestra verr� usata dall'applicazione per interagire con l'utente.

Returns:
il SearchProblem contenuto in questo BWProblem

getStateDisplayer

public SearchStateDisplay getStateDisplayer()
Questo metodo restituisce l'implementazione di SearchStateDisplay per questo BWProblem. Tale finestra verr� usata dall'applicazione per interagire con l'utente.

Returns:
il SearchStateDisplay per questo BWProblem.

displaySet

public void displaySet(AWTSetter setter,
                       int xDim)
L'applicazione passa al BWProblem le dimensioni sull'asseorizzontale della finestra principale. Inoltre viene fornito un AWTSetter. Tali parametri possono essere usati per configurare in modo opportuno l'aspetto del SearchStateDisplay e della Frame di configurazione.

Parameters:
setter - classe per il settaggio dei componenti grafici.
xDim - le dimensioni sull'asse orizzontale della finestra principale dell'applicazione (in pizel)

randomizeInitState

public void randomizeInitState(int random)
Questo metodo randomizza lo stato iniziale del problema quando possibile. Se non � possibile non fa niente. � possibile fornire un livello di randomizzazione (generalmente il numero di operatori casuali da applicare). Quando il livello di randomizzazione � impostato a 0, lo stato iniziale dovrebbe essere lasciato invariato.

Parameters:
random - il livello di randomizzazione dello stato.