Ho un gran numero di espressioni che sto cercando di risolvere.
- L'elenco 1 contiene formule come
A = B + C
. - L'elenco 2 contiene equazioni aggiuntive per tali variabili, come
C = D*3
,C = B/2
,B = D*50
, ecc. - L'elenco 3 contiene i valori per quelle variabili B, D, ecc.
Ho quindi bisogno di calcolare tutti i possibili risultati per le formule di Lista 1 quando espandi la formula utilizzando diverse equazioni dalla Lista 2. Dato che questi elenchi sono grandi, il numero di combinazioni possibili può essere enorme!
Ho intenzione di risolvere il problema come segue:
- Per ogni espressione in List-1 cerca tutti i possibili valori per ogni variabile in List-2 e genera tutte le espressioni possibili come List-4 . List-4 può essere enorme, forse in GB o TB!
- Crea un albero per ogni espressione dal primo elenco generato Trova i valori di ciascuna variabile in List-3 .
- Sostituisci costante nell'espressione per ottenere il risultato.
I passaggi 1 e 3 sono i problemi principali che richiedono molta memoria e CPU, qualsiasi guida sarebbe molto apprezzata.
Esempio:
- Elenco1 (espressioni):
A = x + y
,y = u + v
- List2 (estensioni):
v = 20 + u
,v = 30*u
- Elenco3 (valori costanti):
x = 20
,u = 10
Espansione con v = 20 + u
:
A = x + y
, y = u + 20 + u
, x = 20
, u = 10
= > y = 40, A = 60
Espansione con v = 30*u
:
A = x + y
, y = u + 30*u
, x = 20
, u = 10
= > y = 310, A = 330