zrusit calcDate ve vypisech
weightedRule.equals() a weight.equals() - ohromne mnozstvi volani a casu!
aggregationNeurons creation
groundRulesAndFacts - selft time?
loadNeuronsFromRules - self time?

--------------------2nd iteration

WeightedRule grounding and checking in hashmaps is a big bottleneck
logic representations are not deleted? - they are
- so from memory point of view, logic is not a problem due to streaming

activation function - can be static?
- this weirdly takes memory, even if it holds almost nothing

think of a more lightWeight ground WeightedRule ?
- share BodyAtoms?
-> WeightedRule bude samostatne
	- groundHeadRule objekt pro aggNeurons
	- fullGroundRule objekt pro rulNeurons
	- drzi si pouze dane ground literals a odkaz na WeightedRule - to ma serazene bodyLiterals
	- + si drzi predpocteny hash po vytvoreni pres factory

activation function - singleton!

string.intern()