mirror of
https://github.com/furyfire/trueskill.git
synced 2025-03-29 04:13:22 +00:00
Tenative pass at getting prior layer working. Found out about division by zero and closure differences.
This commit is contained in:
@ -9,7 +9,6 @@ require_once(dirname(__FILE__) . "/Variable.php");
|
||||
use Moserware\Skills\Guard;
|
||||
use Moserware\Skills\HashMap;
|
||||
|
||||
|
||||
abstract class Factor
|
||||
{
|
||||
private $_messages = array();
|
||||
@ -21,7 +20,7 @@ abstract class Factor
|
||||
protected function __construct($name)
|
||||
{
|
||||
$this->_name = "Factor[" . $name . "]";
|
||||
$this->_messagesToVariableBinding = new HashMap();
|
||||
$this->_messageToVariableBinding = new HashMap();
|
||||
}
|
||||
|
||||
/// Returns the log-normalization constant of that factor
|
||||
@ -81,12 +80,12 @@ abstract class Factor
|
||||
|
||||
public abstract function createVariableToMessageBinding(Variable &$variable);
|
||||
|
||||
protected function createVariableToMessageBindingWithMessage(Variable &$variable, Variable &$message)
|
||||
protected function createVariableToMessageBindingWithMessage(Variable &$variable, Message &$message)
|
||||
{
|
||||
$index = count($this->_messages);
|
||||
$this->_messages[] = $message;
|
||||
$this->_messages[] = $message;
|
||||
$this->_messageToVariableBinding->setValue($message, $variable);
|
||||
$this->_variables[] = $variable;
|
||||
$this->_variables[] = &$variable;
|
||||
return $message;
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ abstract class FactorGraphLayer
|
||||
return $this->_localFactors;
|
||||
}
|
||||
|
||||
public function &setInputVariablesGroups(&$value)
|
||||
public function setInputVariablesGroups(&$value)
|
||||
{
|
||||
$this->_inputVariablesGroups = $value;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ class VariableFactory
|
||||
|
||||
public function __construct($variablePriorInitializer)
|
||||
{
|
||||
$this->_variablePriorInitializer = $variablePriorInitializer;
|
||||
$this->_variablePriorInitializer = &$variablePriorInitializer;
|
||||
}
|
||||
|
||||
public function createBasicVariable()
|
||||
@ -22,7 +22,8 @@ class VariableFactory
|
||||
|
||||
public function createKeyedVariable($key)
|
||||
{
|
||||
$newVar = new KeyedVariable($key, $this->_variablePriorInitializer());
|
||||
$initializer = $this->_variablePriorInitializer;
|
||||
$newVar = new KeyedVariable($key, "key variable", $initializer());
|
||||
return $newVar;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user