kill DiscreteConditional::argmaxInPlace

release/4.3a0
Varun Agrawal 2024-07-21 11:44:21 -04:00
parent 1422b6c431
commit 4d62b87e35
2 changed files with 0 additions and 33 deletions

View File

@ -257,33 +257,6 @@ size_t DiscreteConditional::argmax(const DiscreteValues& parentsValues) const {
return maxValue;
}
/* ************************************************************************** */
void DiscreteConditional::argmaxInPlace(DiscreteValues* values) const {
ADT pFS = choose(*values, true); // P(F|S=parentsValues)
// Initialize
DiscreteValues mpe;
double maxP = 0;
// Get all Possible Configurations
const auto allPosbValues = frontalAssignments();
// Find the maximum
for (const auto& frontalVals : allPosbValues) {
double pValueS = pFS(frontalVals); // P(F=value|S=parentsValues)
// Update maximum solution if better
if (pValueS > maxP) {
maxP = pValueS;
mpe = frontalVals;
}
}
// set values (inPlace) to maximum
for (Key j : frontals()) {
(*values)[j] = mpe[j];
}
}
/* ************************************************************************** */
void DiscreteConditional::sampleInPlace(DiscreteValues* values) const {
assert(nrFrontals() == 1);

View File

@ -218,12 +218,6 @@ class GTSAM_EXPORT DiscreteConditional
*/
size_t argmax(const DiscreteValues& parentsValues = DiscreteValues()) const;
/**
* @brief Calculate assignment for frontal variables that maximizes value.
* @param (in/out) parentsValues Known assignments for the parents.
*/
void argmaxInPlace(DiscreteValues* parentsValues) const;
/// @}
/// @name Advanced Interface
/// @{