本文整理汇总了C++中Patron::getLnLikelihoodalone方法的典型用法代码示例。如果您正苦于以下问题:C++ Patron::getLnLikelihoodalone方法的具体用法?C++ Patron::getLnLikelihoodalone怎么用?C++ Patron::getLnLikelihoodalone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Patron
的用法示例。
在下文中一共展示了Patron::getLnLikelihoodalone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateSeatingForDpp
void Restaurant::updateSeatingForDpp(void) {
for (int idx=0; idx<numPatrons; idx++)
{
// get a pointer to the element and its current table
Patron *p = patrons[idx];
Table *tablePtr = p->getTable();
// remove the element from the table
tablePtr->removePatronFromTable(p);
if (tablePtr->getNumPatrons() == 0)
deleteTable(tablePtr);
// calculate the likelihood when the element is seated at all possible tables
vector<double> probs;
for (int i=0; i<getNumTables(); i++)
{
Table *tp = getTable(i);
probs.push_back( tp->lnLikelihood(p) + log(tp->getNumPatrons()) );
}
probs.push_back( p->getLnLikelihoodalone() + log(concentrationParm) );
normalizeVector( probs );
// pick a table for reassignment
int whichTable = multinomialRv(probs);
// add the element to that table
if (whichTable < getNumTables())
{
tablePtr = getTable(whichTable);
tablePtr->addPatronToTable(p);
}
else
{
tablePtr = new Table(this, ranPtr, observationsPtr, observationsPtr->getNumUniqueAlleles(), lnFactorial);
addTableToRestaurant( tablePtr );
tablePtr->addPatronToTable(p);
}
}
}