Commit Graph

699 Commits

Author SHA1 Message Date
Tiago Gomes
93fa793683 Separate TFactor and Factor classes.
Rename TFactor to GenericFactor. GenericFactor.cpp is empty for now.
2013-03-04 15:47:47 +00:00
Tiago Gomes
98efd54da7 Remove unused member function 2013-03-04 15:10:51 +00:00
Tiago Gomes
902624f557 f(void) vs f()
"In fact, the f(void) style has been called an "abomination" by Bjarne Stroustrup, the creator of C++, Dennis Ritchie, the co-creator of C, and Doug McIlroy, head of the research department where Unix was born."
2013-02-28 19:45:37 +00:00
Tiago Gomes
c8b639f495 Define sortByParams as a local class 2013-02-22 12:35:14 +00:00
Tiago Gomes
0991a84793 Move sortByParams to source file 2013-02-21 00:13:11 +00:00
Tiago Gomes
59c6f5c243 DISALLOW_COPY_AND_ASSIGN should be in the end 2013-02-21 00:06:34 +00:00
Tiago Gomes
f0572e3cfb Move BpLink to inside of BeliefProp 2013-02-20 23:59:03 +00:00
Tiago Gomes
6b0e125e3b Move MsgSchedule enum to inside class BeliefProp.
Move also SPNodeInfo to inside BeliefProp. Improve also some using of enums.
2013-02-20 23:34:03 +00:00
Tiago Gomes
ce8152d7a0 Add a comment explaining why we are inlining functions with loops in ElimGraph 2013-02-20 23:08:12 +00:00
Tiago Gomes
1d54a78601 BayesBall: improve encapsulation 2013-02-20 14:13:37 +00:00
Tiago Gomes
9a68d95c18 Turn EGNode to be a nested class inside ElimGraph 2013-02-20 13:49:01 +00:00
Tiago Gomes
8ca379c74a Move ElimHeuristic enum to inside of ElimGraph class 2013-02-20 12:52:55 +00:00
Tiago Gomes
8de22f4f0b Counting Bp: move internal classes to source file 2013-02-20 12:42:05 +00:00
Tiago Gomes
8c2468c28b Improve encapsulation in HorusYap and perform other small refactorings 2013-02-20 11:52:42 +00:00
Tiago Gomes
77dfe50acb LiftedVe: move internal classes to source file 2013-02-20 00:21:01 +00:00
Tiago Gomes
7edfe44576 WeightedBp: remove unnecessary include 2013-02-20 00:13:15 +00:00
Tiago Gomes
74a9eda09d HorusCli: put internal functions in an anonymous namespace 2013-02-20 00:05:45 +00:00
Tiago Gomes
e3439af0a0 LiftedKc: improve header include 2013-02-19 23:59:05 +00:00
Tiago Gomes
e434e87cc8 LiftedKc: remove unnecessary data members 2013-02-19 23:57:22 +00:00
Tiago Gomes
c9543514c5 LiftedKc: move some internal classes to source file 2013-02-19 23:47:46 +00:00
Tiago Gomes
b6ee7b4460 Don't extend explicity the life time of returned temporaries.
That sort of optimization is compiler's work.
2013-02-16 18:58:22 +00:00
Tiago Gomes
ea49b517e8 Some renamings in ElimGraph 2013-02-16 17:03:12 +00:00
Tiago Gomes
ba79d2e422 Add a source file for Indexer class
- Move some non-performance critical methods to the source file
- Fix some implicit declarions of members in iomanip
- Fix declaration order in Makefile.in
2013-02-16 16:42:08 +00:00
Tiago Gomes
0852c4fe22 Clean ups 2013-02-16 16:17:14 +00:00
Tiago Gomes
d0f5d0f9ab Change LiftedOperations to be a namespace instead of class with static member functions 2013-02-16 16:00:53 +00:00
Tiago Gomes
be24ff5160 Fix typos 2013-02-16 15:30:44 +00:00
Tiago Gomes
acb4bf610f Clean HorusYap a bit 2013-02-16 01:54:11 +00:00
Tiago Gomes
bf1ba17855 Fix typos detected by cppcheck 2013-02-13 23:47:00 +00:00
Tiago Gomes
57f46e7c0d Fix printed string showed when file opening fails 2013-02-13 19:18:55 +00:00
Tiago Gomes
ab7f4c8113 Fix namespace name 2013-02-13 19:09:11 +00:00
Tiago Gomes
ef4ebb4d7f Use camel case for constants and enumerators.
All capitals case should be reserved for macros and besides there is no big need to emphasize constness in general.
2013-02-13 18:54:15 +00:00
Tiago Gomes
afd26ed9b4 Trivial 2013-02-13 15:25:55 +00:00
Tiago Gomes
bd70033c06 Disallow copy and assign for Var too 2013-02-13 14:42:24 +00:00
Tiago Gomes
2bc123d72c Update class, struct and enum bracket style 2013-02-13 14:26:47 +00:00
Tiago Gomes
e178c1af04 Change namespace name to be in Pascal case 2013-02-08 21:12:46 +00:00
Tiago Gomes
6a1a209ee3 Revert "Improve namespace names"
This reverts commit 973df43fe0.

On a second thought, namespaces are close to classes in the sense that both encapsulate data, so they should both use Pascal case notation.
2013-02-08 21:01:53 +00:00
Tiago Gomes
264ef7a067 Clean a bit LiftedWCNF class 2013-02-08 12:12:45 +00:00
Tiago Gomes
bff56c75ca Trivial 2013-02-08 01:11:18 +00:00
Tiago Gomes
98842dca74 Trivial 2013-02-08 00:56:42 +00:00
Tiago Gomes
c41b6d80b6 Trivial 2013-02-08 00:28:32 +00:00
Tiago Gomes
cd8a25162e Trivial 2013-02-08 00:22:51 +00:00
Tiago Gomes
206cf0a9c7 Trivial 2013-02-08 00:20:01 +00:00
Tiago Gomes
973df43fe0 Improve namespace names 2013-02-08 00:15:41 +00:00
Tiago Gomes
6f83ceb6f5 Put the code inside a horus namespace 2013-02-07 23:53:13 +00:00
Tiago Gomes
4267465f53 Trivial 2013-02-07 22:41:04 +00:00
Tiago Gomes
3738d0b2c6 Move some things around. No functional changes 2013-02-07 22:37:45 +00:00
Tiago Gomes
2992f9e3cf Trivial 2013-02-07 20:54:59 +00:00
Tiago Gomes
5c84a2f532 Improve includes 2013-02-07 20:09:10 +00:00
Tiago Gomes
544d0aa39e Improve header guards (again) 2013-02-07 17:50:33 +00:00
Tiago Gomes
bb7a530da3 Avoid importing the std namespace 2013-02-07 13:37:15 +00:00
Tiago Gomes
7b60e88545 Improve Header guards 2013-02-06 22:58:42 +00:00
Tiago Gomes
80452bf75d Small improvements 2013-02-06 00:29:29 +00:00
Tiago Gomes
42a5bc493a Move methods with more than two lines to outside of class definition 2013-02-06 00:29:03 +00:00
Tiago Gomes
0d9d59f5fe Trivial 2013-01-25 13:58:30 +00:00
Tiago Gomes
bef65dac57 Fix a compilation error with older versions of GCC 2013-01-25 13:47:20 +00:00
Tiago Gomes
9dfedafe98 PFL manual: small improvements 2013-01-25 13:45:35 +00:00
Tiago Gomes
5683258187 PFL manual: fix typo 2013-01-16 08:53:09 +00:00
Tiago Gomes
6cad8969c6 Put solver always as the first argument 2013-01-15 12:27:21 +00:00
Tiago Gomes
83ccb31665 PFL manual: rework the parameter learning section 2013-01-12 12:30:34 +00:00
Tiago Gomes
90614d3594 PFL manual: minor tweaks 2013-01-12 12:30:14 +00:00
Tiago Gomes
3ecc65b816 PFL manual: fix typo, is sprinkler not sprinker 2013-01-11 21:15:01 +00:00
Tiago Gomes
509491cd0f PFL manual: improve the way we present the solver options 2013-01-11 19:39:27 +00:00
Tiago Gomes
8c8e2b034f Improve a bit the learning examples 2013-01-11 00:16:56 +00:00
Tiago Gomes
8285b8e1e4 Cuttify\! 2013-01-10 23:38:46 +00:00
Tiago Gomes
8f9b11cc7c Comment set_em_solver so that hve becomes that default 2013-01-10 23:04:17 +00:00
Tiago Gomes
4aa4cb50b0 Switch solver order in examples 2013-01-10 23:02:34 +00:00
Tiago Gomes
f3bd8ad414 Use the word option instead of key. Key reminds me of hashes 2013-01-10 22:59:12 +00:00
Tiago Gomes
f7fcfec8ce PFL manual: some rewording 2013-01-10 22:42:23 +00:00
Tiago Gomes
d3e2abd677 Don't use the name horus in documentation.
It is just an internal code name.
2013-01-10 22:39:46 +00:00
Tiago Gomes
fdeca2852a Use only one interface for options.
set_pfl_flag/2 now can be called for setting options for solvers written in Prolog and for solvers in Horus.
2013-01-10 22:10:22 +00:00
Tiago Gomes
e5e224d89b Fix typo 2013-01-10 21:51:45 +00:00
Tiago Gomes
bd84949f09 Trivial 2013-01-10 17:23:09 +00:00
Tiago Gomes
1bb1138b3a Fix EM typos 2013-01-10 13:45:24 +00:00
Vitor Santos Costa
b7ef6576a6 add keys within learning 2013-01-09 18:34:19 +00:00
Vitor Santos Costa
6cee85bd60 fix cases where you get repeated keys or a(X,X) keys in PFL. 2013-01-09 18:22:01 +00:00
Vitor Santos Costa
46fbc539bf handle repeated query vars with evidence 2013-01-09 17:49:07 +00:00
tacgomes
2feac46e54 PFL manual: several improvements 2013-01-09 16:45:01 +00:00
tacgomes
7f452d2397 Refactor the benchmarks 2013-01-09 15:25:14 +00:00
tagomes@fc.up.pt
7fabfcf4c9 Trivial 2013-01-09 11:43:40 +00:00
Tiago Gomes
24271157ce Clean unecessary latex documents 2013-01-08 22:55:27 +00:00
Tiago Gomes
59ae52623c PFL manual: several improvements 2013-01-08 22:51:44 +00:00
Tiago Gomes
6755e50525 PFL manual: small improvements 2013-01-08 22:00:31 +00:00
Tiago Gomes
ea054468bc Improve hcli usage string 2013-01-08 21:17:56 +00:00
Tiago Gomes
dc536fabc2 Beautify setHorusFlag 2013-01-08 21:13:58 +00:00
Tiago Gomes
2738d83302 Remove some alias for hve 2013-01-08 20:48:46 +00:00
Tiago Gomes
dfd7360291 Allow the use of solver as an alias of ground_solver 2013-01-08 20:47:12 +00:00
Tiago Gomes
dbd35a20a2 PFL manual: improve introduction section 2013-01-08 19:40:20 +00:00
Tiago Gomes
9c8fd804df PFL manual: add a further information section 2013-01-08 19:39:39 +00:00
Tiago Gomes
f94032d06c PFL manual: add an installation section 2013-01-08 19:39:03 +00:00
Tiago Gomes
1b9c4e96e7 Prefix with bp_ some bp flags 2013-01-08 17:06:40 +00:00
Tiago Gomes
da0514a779 Add support for more infernce keys.
Add support for export_libdai, export_uai, export_gv and print_fg.
Document these keys.
2013-01-08 17:01:03 +00:00
Tiago Gomes
4220069d90 PFL manual: use the Unix end-of-line marker 2013-01-08 15:34:56 +00:00
Tiago Gomes
75b652b0c9 PFL manual: improve title page and reword a sentence 2013-01-08 15:33:55 +00:00
Tiago Gomes
6375d05a93 PFL manual: add section for horus cli 2013-01-08 15:31:52 +00:00
Tiago Gomes
182429252e Update the usage string for hcli 2013-01-08 14:47:21 +00:00
Tiago Gomes
c92b7c3e7e Install hcli to the bin directory 2013-01-08 00:33:01 +00:00
Tiago Gomes
f598881cc5 Explain better the potential value order 2013-01-07 22:21:52 +00:00
Tiago Gomes
9bb43360a2 Rearrange the probabilities to do a clean diff against the exported model 2013-01-07 22:18:50 +00:00
Tiago Gomes
ba32ebc5f5 Add support for bayesian networks defined in an UAI file format 2013-01-07 22:17:05 +00:00
Tiago Gomes
82a4cc508b Change burglary-alarm.uai to be bayes instead of markov 2013-01-07 22:01:49 +00:00
Tiago Gomes
bafd7320a5 Rework a bit the examples 2013-01-07 14:59:51 +00:00
Tiago Gomes
91dbd60ad4 Allow calling set_horus_flag/2 without loading clpbn_horus 2013-01-07 14:05:56 +00:00
Tiago Gomes
96f4e7ea1b Fix typo 2013-01-07 14:04:44 +00:00
Tiago Gomes
ec2d9e0967 Trivial 2013-01-05 12:04:43 +00:00
Tiago Gomes
f0768e76f2 Improve Makefile 2013-01-05 01:02:19 +00:00
Tiago Gomes
f55ccdef33 Add a manual for PFL written in Latex 2013-01-05 00:49:39 +00:00
Tiago Gomes
c5a390460d Chanse use_logarithms default to true.
Reasoning:
- In small networks, the use of logarithms is not noticed in terms of performance.
- In large networks, the chance to have a division by 0 is too high when not using logarithms.
2013-01-04 19:48:31 +00:00
Tiago Gomes
f2682374fb Forgot to update the Makefile in the previous commit 2013-01-04 15:42:03 +00:00
Tiago Gomes
3347f0e676 Rename two examples 2013-01-03 23:44:30 +00:00
Tiago Gomes
d4d11cd4b4 Fix sprinkler probability order 2013-01-03 18:48:15 +00:00
Tiago Gomes
ea5dbe2bca Trivial 2013-01-03 18:26:12 +00:00
Tiago Gomes
d293c5e5a9 Trivial 2012-12-28 15:40:32 +00:00
Tiago Gomes
3363019c93 Remove unnecessary methods 2012-12-28 01:35:59 +00:00
Tiago Gomes
7d9af75c35 Improve solver flags 2012-12-27 23:21:32 +00:00
Tiago Gomes
d36b63ece3 Trivial 2012-12-27 22:29:20 +00:00
Tiago Gomes
c96496720b Trivial 2012-12-27 22:28:19 +00:00
Tiago Gomes
485c3e34b2 Use more DISALLOW_COPY_AND_ASSIGN 2012-12-27 22:25:45 +00:00
Tiago Gomes
7b7f663ac6 Don't use public members for solver flags 2012-12-27 15:44:40 +00:00
Tiago Gomes
b996436b24 Reorganize 2012-12-27 15:05:40 +00:00
Tiago Gomes
de0a118ae5 Move belief propagation stuff out from Horus.h 2012-12-27 15:00:30 +00:00
Tiago Gomes
cbea630fbf Cosmetic fixes 2012-12-27 12:54:58 +00:00
Tiago Gomes
8bdcb65907 Improve variable elimination 2012-12-26 22:55:48 +00:00
Tiago Gomes
188f359496 Fix a warning about a unitialized var 2012-12-26 21:48:05 +00:00
Tiago Gomes
d8c5725b2e This shouldn't be on the repository 2012-12-21 15:20:28 +00:00
Tiago Gomes
4b901d26d7 Improve error messages 2012-12-20 23:34:53 +00:00
Tiago Gomes
01d8f8e178 More whitespace cleanups 2012-12-20 23:19:10 +00:00
Tiago Gomes
421d6f72ee Place the constructor on the right place 2012-12-20 21:32:40 +00:00
Tiago Gomes
57339760b9 Merge LiftedKc and LiftedCircuit in one file 2012-12-20 21:11:51 +00:00
Tiago Gomes
b44ed7db39 Improve the error messages 2012-12-20 18:07:50 +00:00
Tiago Gomes
685f46dc27 Fix 2012-12-20 17:41:52 +00:00
Tiago Gomes
053fa31bb2 Exit is better than abort.
Also use a macro instead of integer to indicate failure.
2012-12-20 17:37:59 +00:00
Tiago Gomes
2ca31ca14a Don't abort if opening a file to export to graphviz fails 2012-12-20 17:11:11 +00:00
Tiago Gomes
af8497af6e Sort the logical vars of the constraint tree when exporting to graphviz 2012-12-20 16:20:38 +00:00
Tiago Gomes
046af409ba Change the default solver to be hve 2012-12-19 18:25:47 +00:00
Tiago Gomes
c407594146 Whitespace clean 2012-12-19 18:22:47 +00:00
Tiago Gomes
60ff9daafd Remove old example 2012-12-19 18:13:47 +00:00
Tiago Gomes
48254ba7d7 Lkc: fix some memory leaks 2012-12-19 17:45:53 +00:00
Tiago Gomes
2d1f5edc91 There is no more to do 2012-12-18 23:52:56 +00:00
Tiago Gomes
691188d5c9 Handle better formulas like f(X,X) 2012-12-18 23:51:51 +00:00
Tiago Gomes
0a661b0462 More cleanups 2012-12-18 22:47:43 +00:00
Tiago Gomes
4b0acbf8c1 Cleanups 2012-12-18 12:11:45 +00:00
Tiago Gomes
c7a4adcefb Fix finalizing horus ground solvers on EM 2012-12-17 23:59:52 +00:00
Tiago Gomes
5fa5dda579 Remove BP from clpbn interface to EM 2012-12-17 23:29:21 +00:00
Tiago Gomes
e1c862ebbe Refactor the way we set the inference solver 2012-12-17 23:14:54 +00:00
Tiago Gomes
f1499f99f3 Introduce set_em_solver and use it 2012-12-17 21:19:47 +00:00
Tiago Gomes
40a72a0a63 Improve error handling for choosing EM solver 2012-12-17 21:03:13 +00:00
Tiago Gomes
9861f4aadb Is the EM solver that we want 2012-12-17 18:50:36 +00:00
Tiago Gomes
3eb6b76ddd Whitespace clean 2012-12-17 18:39:42 +00:00
Tiago Gomes
2f2f88e571 Several whitespace fixes 2012-12-17 17:57:00 +00:00
Tiago Gomes
409a230826 Use the same convetion for module import and export 2012-12-17 14:50:12 +00:00