Skip to content

anskarl/LoMRF

Repository files navigation

Build

    o                        o     o   o         o
    |             o          |     |\ /|         | /
    |    o-o o--o    o-o  oo |     | O |  oo o-o OO   o-o o   o
    |    | | |  | | |    | | |     |   | | | |   | \  | |  \ /
    O---oo-o o--O |  o-o o-o-o     o   o o-o-o   o  o o-o   o
                |
             o--o
    o--o              o               o--o       o    o
    |   |             |               |    o     |    |
    O-Oo   oo o-o   o-O o-o o-O-o     O-o    o-o |  o-O o-o
    |  \  | | |  | |  | | | | | |     |    | |-' | |  |  \
    o   o o-o-o  o  o-o o-o o o o     o    | o-o o  o-o o-o

    Logical Markov Random Fields.

LoMRF: Logical Markov Random Fields

LoMRF is an open-source implementation of Markov Logic Networks (MLNs) written in Scala programming language.

Features overview:

  1. Parallel grounding algorithm based on Akka Actors library.
  2. Marginal (MC-SAT) and MAP (MaxWalkSAT and LP-relaxed Integer Linear Programming) inference (lomrf infer).
  3. Batch and on-line Weight Learning (Max-Margin, AdaGrad and CDA) (lomrf wlearn).
  4. On-line Structure Learning (OSL and OSLa) (lomrf slearn).
  5. MLN knowledge base compilation (lomrf compile):
  • Predicate completion.
  • Clausal form transformation.
  • Replacement of functions with utility predicates and vice versa.
  • Reads and produces Alchemy compatible MLN files.
  1. Can export ground MRF in various formats (lomrf export).
  2. Can compare MLN theories (lomrf diff).
  3. Online supervision completion on semi-supervised training sets [currently experimental] (lomrf supervision)

Documentation

Latest documentation.

Contributions

Contributions are welcome, for details see CONTRIBUTING.md.

License

Copyright (c) 2014 - 2019 Anastasios Skarlatidis and Evangelos Michelioudakis

LoMRF is licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0

Reference in Scientific Publications

Please use the following BibTex entry when you cite LoMRF in your papers:

@misc{LoMRF,
	author = {Anastasios Skarlatidis and Evangelos Michelioudakis},
	title = {{Logical Markov Random Fields (LoMRF): an open-source implementation of Markov Logic Networks}},
	url = {https://github.com/anskarl/LoMRF},
	year = {2014}
}