我想从头开始创建整洁的算法,但是遇到了这个问题,当我尝试输入并将值全部设为0.5时,值恰好错了
我已经搜索了所有代码,但是我仍然不知道我的代码有什么问题
double Individu::calculateNodeValue(Node *&node) {
int size = node->getConn_in().size();
double value = 0.0;
for (int i = 0; i < size; ++i) {
Connection *tempConn = node->getConn_in()[i];
if (tempConn->getNodeFrom()->getValue() == 0 && !tempConn->getNodeFrom()->isInput()) {
value += (calculateNodeValue(tempConn->getNodeFrom()) * tempConn->getWeight());
}
else {
value += (tempConn->getNodeFrom()->getValue() * tempConn->getWeight());
}
}
node->setValue(value);
return node->activatedValue();
}
输出似乎真的是错误的,它给出的值似乎无处不在,我不知道出了什么问题