i got a problem about node numbers...
(i). i create a Bayesian network with 6 hundred of node by SMILE then
sometimes SMILE will get error Message about node problem like "std::bad_alloc" and
In mlock.c
/*
void __cdecl _unlock (
int locknum
)
{
/*
* leave the critical section.
*/
LeaveCriticalSection( _locktable[locknum].lock );
}
*/
Is this caused by need allocate more memory? Can anyone tell me how to solve this problem
(ii). learn parameter through em algorithm with no miss value by Genie. It was works!!!
but when i try to inference with Genie it always tell this message "This application has requested the Runtime to terminate it in an unusual way."
Hopefully these problem can be solved...and thanks guys who read this article
Code about part (i)
does these code got something wrong?int x0001 = BNet.AddNode(DSL_CPT,"x0001"); DSL_idArray someNames; someNames.Add("present"); someNames.Add("obsent"); someNames.Add("present"); Net.GetNode(x0001)->Definition()->SetNumberOfOutcomes(someNames);
int x0002 = BNet.AddNode(DSL_CPT,"x0002"); someNames.Add("obsent"); someNames.Add("present"); BNet.GetNode(x0002)->Definition()->SetNumberOfOutcomes(someNames);
...
int x0072 = BNet.AddNode(DSL_CPT,"x0072"); someNames.Add("obsent"); someNames.Add("present"); BNet.GetNode(x0072)->Definition()->SetNumberOfOutcomes(someNames);
int y0001 = BNet.AddNode(DSL_CPT,"y0001"); someNames.Flush(); someNames.Add("obsent"); someNames.Add("present"); BNet.GetNode(y0001)->Definition()->SetNumberOfOutcomes(someNames);
...
int y0695 = BNet.AddNode(DSL_CPT,"y0695"); someNames.Flush(); someNames.Add("obsent"); someNames.Add("present"); BNet.GetNode(y0695)->Definition()->SetNumberOfOutcomes(someNames);
BNet.AddArc(x0001,y0001); ...about 3000 Arcs