- changed status to open
Improve performance on big BN
Issue #90
resolved
Lea's exact algorithm does not scale well on some BN.
Here is an example using alarm.bif (37 nodes, 46 arcs, 509 parameters)
declare_namespace(globals())
alarm_bn = read_bif_file("alarm.bif", create_vars=True)
The previous statements run very fast (BN creation, without much calculations). Now, the following query:
HR.given(PAP=="LOW").calc()
takes 3 minutes and consumes more than 10Gb in memory!
This can be improved dramatically by avoiding to expand generator into tuple when building the final probability distribution.
Comments (5)
-
reporter -
reporter - edited description
-
reporter Remove Alea._zip_vps method and avoid expanding generators into tuples (refs
#90)→ <<cset cbc8a3dee089>>
-
reporter After the fix, the processing time is reduced to about 30 seconds, and the memory consumption is unnoticeable.
-
reporter - changed status to resolved
- Log in to comment