2011-12-21 12 views
5

Attualmente sto leggendo "Intelligenza Artificiale: un approccio moderno". Sebbene la terminologia fattorizzata, la rappresentazione strutturata e atomica confonda cosa significano esattamente?Rappresentazione strutturata, fattorizzata e atomica?

In relazione con la programmazione ...

Grazie

risposta

7

io non sono entusiasta con le linee che Russell e Norvig pareggio, ma: In genere, quando si utilizza tecniche di intelligenza artificiale per risolvere un problema, avrai un modello programmato della situazione. Atomico/fattorizzato/strutturato è una misura qualitativa di quanta "struttura interna" hanno quei modelli, dal meno al più.

I modelli atomici non hanno struttura interna; lo stato fa o non corrisponde a quello che stai cercando. Ad esempio, in un puzzle con tessere scorrevoli hai o l'allineamento corretto delle tessere o non lo fai.

I modelli di factoring hanno una struttura più interna, anche se esattamente ciò che dipenderà dal problema. In genere, stai osservando le variabili o le metriche di rendimento di interesse; in un puzzle scorrevole, questa potrebbe essere una semplice euristica come "numero di tessere fuori posto" o "somma di manhatten distanze".

I modelli strutturati hanno ancora di più; di nuovo, esattamente ciò che dipende dal problema, ma spesso sono le relazioni sia dei componenti del modello a se stesso, sia dei componenti del modello rispetto ai componenti dell'ambiente.

È molto facile, soprattutto quando si esaminano problemi molto semplici come la piastrella scorrevole, eseguire inconsciamente tutto il lavoro dell'intelligence, a colpo d'occhio, e dimenticare che il modello non ha tutte le informazioni necessarie. Ad esempio, se dovessi creare un programma per eseguire una tecnica di ricerca di grafici sul puzzle scorrevole, probabilmente creerai un motore che ha preso come input uno stato di enigma e un'azione, e generato un nuovo stato di enigma da quello. Gli stati del puzzle sono ancora atomici, ma il programmatore utilizza un modello molto più dettagliato per collegare insieme tali input e output.

+0

Scrivono in modo criptico. Quindi un modello atomico è una struttura di ambiente che manca del livello di dettagli che può richiedere un agente. vale a dire guidare da una città all'altra fattori come l'indicatore del carburante dell'auto e l'accelerometro non sono distinguibili quando si definisce una definizione del problema, a causa dell'incertezza, corretta? Pertanto, la rappresentazione dei fattori rende questi dettagli disponibili per l'agente. Quindi il modello strutturato definisce le relazioni tra azioni e stati in un ambiente? – Hmm

+1

Questa è una parte difficile di un libro altrimenti molto forte, secondo me. È un problema di pollo e uova, nel senso che probabilmente non puoi apprezzare la loro struttura finché non la vedi applicata; ma vedendola applicata, la struttura potrebbe non esserci. Quindi, fanno il meglio che possono: indicarlo in anticipo, fornire alcuni esempi e quindi trattare gli esempi in modo esauriente nei capitoli successivi. – Novak

1

Mi piace la spiegazione data da Novak. Il mio 2 centesimi fa chiarezza sulla differenza tra fattorizzato vs strutturato. Ecco l'estratto dalle definizioni:

  • Una rappresentazione atomica è quella in cui ogni stato viene considerato come una scatola nera .
  • Una rappresentazione fattorizzata è quella in cui gli stati sono definiti da una serie di funzioni.
  • Una rappresentazione strutturata è quella in cui gli stati sono espressi in forma di oggetti e relazioni tra di loro. Tale conoscenza delle relazioni si chiama fatti.

Esempi:

atomicState == goal: Y/N // Is goal reached? 

E 'l'unica domanda che possiamo chiedere alla scatola nera.

factoredState{18} == goal{42}: N // Is goal reached? 
diff(goal{42}, factoredState{18}) = 24 // How much is difference? 
// some other questions. the more features => more type of questions 

Lo stato di factoring più semplice deve avere almeno una caratteristica (di qualche tipo), che ci dà la possibilità di fare più domande. Normalmente definisce la differenza quantitativa tra stati. L'esempio ha una caratteristica di tipo intero.

[email protected]{John(Math=A-), Marry(Music=A+), Job1(doMath)..} == goal{50% ready for jobs} 

La chiave qui - rappresentazione strutturata, consente un livello più elevato di ragionamento logico formale alla ricerca. Vedi First-Order Logic @berkley per informazioni introduttive.

Questo argomento confonde facilmente un professionista (soprattutto per principianti) ma ha molto senso per confrontare diversi algoritmi di ricerca degli obiettivi. Tale classificazione di rappresentazione dello stato "mondiale" separa logicamente gli algoritmi in classi diverse. È molto utile tracciare linee nella ricerca accademica e confrontare le mele con le mele quando si ragiona accademicamente.