Skip to main content
. Author manuscript; available in PMC: 2023 Oct 1.
Published in final edited form as: Auton Agent Multi Agent Syst. 2022 May 11;36(2):32. doi: 10.1007/s10458-022-09559-5

Algorithm 2.

Active learning for predicting decision boundary.

Input: DiffusionModel, two d-dimensional points p1,p2

Output: evaluatedPoints, boundary Points

  1: procedure LearnDecisionBoundary
  2:   Pick the minimum and maximum from the range of p1 and p2
  3:   start = [p1Min,p2Min]
  4:   end = [p1Max,p2Max]
  5:   [bPt, bMean, bStdev] = BinarySearch(start, end)
  6:   EvaluateNearbyPoints(bPt) Add these points to evaluatedPoints
  7:   r=1
  8:   while r <= K do  ▷ K is the budget on total number of active learning runs
  9:     nPt = GetNextPointViaUncertaintySampling
10:     [nPt, nMean, nStdev] =RunDiffusionModel(nPt)
11:     if nStdev >= θsd then >= θsd is the standard deviation threshold
12:     Add nPt to boundaryPoints
13:     else
14:     Add [nPt, nMean, nLabel] to evaluatedPoints
15:     end if
16:     oppPt = A point with label opposite to nLabel and farthest (L2 norm) from nPt
17:     [bPt, bMean, bStdev] = BinarySearch(nPt, oppPt)
18:     EvaluateNearbyPoints(bPt) Add these points to evaluatedPoints
19:     r + +
20:   end while
21:   return evaluatedPoints, boundaryPoints
22: end procedure