Che cosa significa la propagazione del valore?

1

Sto lavorando su un algoritmo che calcola gli intervalli per le variabili in determinati vincoli. Ad esempio c'è una funzione chiamata propagateValues e la sua descrizione è

Propagate value ranges for the given constraints

Che cosa si intende esattamente per la propagazione del valore?

L'algoritmo che sto lavorando cerca fondamentalmente di semplificare i set di vincoli eseguendo un'analisi intervallo / intervallo prima di interrogare il risolutore per una soluzione fattibile (per rendere più efficienti i set di vincoli di risoluzione)

    
posta Cemre 26.07.2012 - 13:32
fonte

1 risposta

3

Nella soddisfazione dei vincoli, la propagazione significa rendere esplicita una condizione di verità che è già presente nel problema, ma solo implicitamente.

Ad esempio, se hai una variabile che deve essere pari e un'altra che deve essere maggiore di 10, questi sono vincoli sulle due variabili. Niente altro è noto sulla soluzione. Tuttavia, se si dispone di un altro vincolo binario che afferma che la prima variabile deve essere maggiore del doppio del valore del secondo, l'intervallo di valori della prima variabile è in realtà 20, 22, 24 ... anziché 0, 2, 4 , 6 ...

Propagare significa trovare un intervallo inferiore a quello che appare per la prima volta (di solito valutando più di un vincolo contemporaneamente), e quindi regolando il valore impostato per una variabile alla condizione più strong. Può fare molto per risolvere un problema di soddisfazione dei vincoli, o almeno renderlo più efficiente per enumerare tutte le soluzioni.

    
risposta data 26.07.2012 - 13:58
fonte

Leggi altre domande sui tag