Domanda

Sto cercando di implementare alcuni algoritmi di pianificazione AI in C, ma è rimasto bloccato con il concetto di base :)
Prima di saltare al problema principale, ho provato a implementare qualche piccolo quadro che possano sostenere logica proposizionale:

FORMULA f = PROPOSITION(a + 3 > 0);
FORMULA g = PROPOSITION(is_smaller_than(b, c));
f = AND(NOT(f), g);

Ora, il problema è che vorrei, non per valutare le espressioni come 'a + 3> 0' al momento di definire la formula, ma in qualche fase successiva:

bool res = EVALUATE(f);

Credo che le chiusure sarebbero state a portata di mano, in questo caso, ma come purtroppo ho anche bastone per C99.

Qualche idea?
Che ne dite di estendere questo per logica dei predicati?

L'obiettivo finale (in teoria) sarebbe quello di costruire una libreria di pianificazione AI, che possono essere inseriti per l'applicazione direttamente, e non ricevere il problema come stringhe STRISCE del programma.

Grazie

È stato utile?

Soluzione

OK,

Come commentato sopra ho risolto il problema utilizzando una struttura con puntatore metodo e dei dati in esso. Questo è il modo più comune di simulazione di chiusure in C.

La mia applicazione è disponibile qui: https://github.com/pmilosev/clumsy

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top