let print_knowledge print_cat knowl =
print_string "{\n category=";
print_cat knowl.kn_category;
print_string "\n count=";
print_int knowl.kn_count;
print_string "\n attributes=\n [\n";
let print_probs n (attr,prob) =
print_string " P(D";
print_int n;
print_string " = ";
Types.print_attribute attr;
print_string ")= ";
print_float prob;
print_string "\n"
in
Array.iteri (fun n -> List.iter (print_probs n)) knowl.kn_data;
print_string " ]\n}\n"