Modified Shou's affiliation in pom.xml from UnB to GMU/C5I.
Minor updates on API documentation (in HTML).
Changed the name of the API documentation HTML file to the name of the class it documents (to match javadoc standards).
Added javadoc comments and more instrumentations.
Created most of REST methods' signatures (they are stubs yet).
Applying minor SonarQube/SonarLint code cleaning suggestions.
Added initial classes for starting the spring boot application/server.
Renamed package: ubs -> unbbayes.server
Starting (re)implementation of UnBBayes Server with spring boot instead of EJB.
Ensuring code compliance level to Java 1.8.
Ensuring code compliance level to Java 1.8.
Ensuring code compliance level to Java 1.8.
Added information about debug/log in README.txt of UnBBayes core.
Building a plug-in with Eclipse
Typed entities in UnBBayes-MEBN
Installation Instruction of UnBBayes-MEBN plug-in and links to tutorials
Fixed a bug in Compiler that was causing it not to appropriately reference the aliases of nodes (w.r.t. MEBN polymorphism) in the LPD script. For instance, a condition like "parent = true" may not pass if parent has aliases and only the aliases have value = true. Also developed a regression test to test this bugfix.
Fixed a bug in Compiler that was causing it not to appropriately reference the aliases of nodes (w.r.t. MEBN polymorphism) in the LPD script. For instance, a condition like "parent = true" may not pass if parent has aliases and only the aliases have value = true. Also developed a regression test to test this bugfix.
Created a method in JunctionTreeAlgorithm that will print to unbbayes.util.Debug some complexity metrics (e.g., parents per node, clique size, etc.) before actually instantiating the Junction Tree itself. A boolean flag can be used to enable/disable this feature (while Debug.setDebug(false) can also be used disable the Debug console itself).
Fixed a similar bug in PowerLoomKB and OWLAPICompatiblePROWL2IO that was not releasing/closing the input file after it's loaded (so we were unable to delete the files without closing the Java application). Now the input files are released so we can delete the files without quitting the application.
Fixed a similar bug in PowerLoomKB and OWLAPICompatiblePROWL2IO that was not releasing/closing the input file after it's loaded (so we were unable to delete the files without closing the Java application). Now the input files are released so we can delete the files without quitting the application.
Commit r4697 addresses this issue for the boolean absurd state (although it does not address the issue of mixture of categoricals and object entity caused by OWL2 punning).
Addressed bug #198 for boolean "absurd" only.
UnBBayes-PR-OWL2 plugin requires direct import of PR-OWL2 schema
UnBBayes-MEBN does not support possible values of multiple types (e.g., hierarchy of types).
UnBBayes-MEBN does not support possible values of multiple types.
Typed entities in UnBBayes-MEBN
Typed entities in UnBBayes-MEBN
Typed entities in UnBBayes-MEBN
Typed entities in UnBBayes-MEBN
Typed entities in UnBBayes-MEBN
Typed entities in UnBBayes-MEBN
Batch insertion of findings in MEBN
Batch insertion of findings in MEBN
Using UnBBayes as API
Batch insertion of findings in MEBN
Batch insertion of findings in MEBN
Batch insertion of findings in MEBN
Batch insertion of findings in MEBN
Added a new test method for manually inserted findings.
Using UnBBayes as API
Using UnBBayes as API
Using UnBBayes as API
Using UnBBayes as API
Using UnBBayes as API
Using UnBBayes as API
Using UnBBayes as API
Completed major bugfixes on NaiveBayesHypothesisManagement (and included regression tests).
Added new sample SSBN to VehicleIdentification resources.
Modified the IdAwareCSVMultiEvidenceIO to also consider class names. Made respective bugfixes and changes to test units.
Bugfixes to IdAwareCSVMultiEvidenceIO. Also made minor refactoring: moved some classes to appropriate packages.
I cannot find any major issues in the sample code you have shown in your last post, except 4 minor/potential issues: net.updateEvidences() is marked for deprecation. It's there only for backward compatibility and should be avoided. It does not work well with virtual (likelihood or soft) evidence and will mess up your likelihood evidence. It is superseded by algo.propagate() (so just invoke 'algo.propagate' only). I'm not sure what posterior probability you are expecting, but adding a likelihood evidence...
Added a test method to contrast ProbabilisticNetwork#updateEvidences() and JunctionTreeAlgorithm#propagate().
Created a JUnit test specifically for SimpleTurtleIndividualGenerator.
Added comments/instrumentation to SimpleTurtleIndividualGenerator.java
Initial implementation of a class to generate sample instances and another to filter out instances from an ontology given some naive bayes reasoning to rank the N most probable instances (and filter out the rest).
Both Jena and UBF do not seem to allow values/instances with names starting with numbers. Modified PossibleValuesEditionPane to block such naming patterns.
Batch insertion of findings in MEBN
UnBBayes-MEBN LPD script
UnBBayes-MEBN LPD script
Added JUnit test that verifies that a manually-created Turtle file can be used to read findings.
Ensure temporary finding files are deleted at the end of the tests (to ensure the write locks are released appropriately).
Added a JUnit test to verify that manually-edited findings in KIF text can be loaded in UnBBayes-MEBN too. This shows how to programmatically batch-insert findings (just by adding new KIF lines to PLM files).
Installation Instruction of UnBBayes-MEBN plug-in and links to tutorials
Fixed a bug (and created a regression test) that happened when loading a PR-OWL1 file edited by external tools. If the external tool saves the PR-OWL1 file as RDF or OWL2, then Jena will start interpreting the individuals as RDFIndividuals instead of the OWLIndividuals (which is expected by PR-OWL 1 code).
UnBBayes-MEBN LPD script
Just an additional comment about the spreadsheet: What I did in the spreadsheet is not a replica of what the UnBBayes software does.. UnBBayes uses a factored/efficient algorithm, while the spreadsheet is a pure brute-force calculation (because I created a big table containing all states of all nodes and multiplied all CPTs together). Therefore, the spreadsheet won't be replicating the same bugs in UnBBayes (I'm not talking about presence/absence of bugs -- just saying that it's unlikely that these...
A quick'n'dirty explanation is that your network at the right have A, B, and C independent each other, while in the network at the left (when you insert evidence to the Child), the nodes A, B, and C are NOT independent anymore (they became conditionally dependent given the Child -- it's the so called "explain-out" relationship). Virtually speaking, it's like the network at the left had A, B, and C connected with "invisible" arcs, so you were virtually comparing two networks with "different" structures....
A quick'n'dirty explanation is that your network at the right have A, B, and C independent each other, while in the network at the left (when you insert evidence to the Child), the nodes A, B, and C are NOT independent anymore (they became conditionally dependent given the Child -- it's the so called "explain-out" relationship). Virtually speaking, it's like the network at the left had A, B, and C connected with "invisible" arcs, so you were virtually comparing two networks with "different" structures....
Installation Instruction of UnBBayes-MEBN plug-in and links to tutorials
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Dynamic recursive models in UnBBayes-MEBN
Updating pom version to reflect the new feature added in the previous commit (arithmetic expressions in what-if analysis compoment).
SBN what-if analysis component now supports outputs expressed as arithmetic expressions (e.g., b + 0.5u).
Continuing implementation of ordinary message propagation
Created a regression test for the problem of the parameter learning throwing NullPointerException when data has an attribute that does match with any node in the network. Also added a new command line argument to filter out such attributes before running the parameter learning.
Starting a simple implementation of loopy Belief propagation
Starting a simple implementation of loopy Belief propagation
Plug-ins may not save a network appropriately while in compilation mode
Do not allow 'save' in compilation mode
Allowing a node in the OOBN to be a parent of multiple instance input nodes because the MSBn also seems to allow it.
https://sourceforge.net/p/unbbayes/code/HEAD/tree/trunk/unbbayes.prs.sbn/server/ The above maven module (sub-project) uses Spring Boot to (indirectly) access UnBBayes API (in practice, it accesses the API of a plug-in of UnBBayes).
Fixed a bug that was causing the copy-paste feature not to copy the order of the nodes in the CPT.
Fixed wrong junit test: it was always checking the same uncertainty mass in opinion tables
Discrepancy in opinion table causes high total counts in absolute frequency tab
Addressed in commit https://sourceforge.net/p/unbbayes/code/4673/
Addressed bug caused by different uncertainty in columns of opinion table (https://sourceforge.net/p/unbbayes/bugs/196/)
Included a regression test about a bug caused by disproportional uncertainty in columns of opinion table.
Discrepancy in opinion table causes high total counts in absolute frequency tab
Discrepancy in opinion table causes high total counts in absolute frequency tab