title: Force a computed property function to run
body: <p>Given a computed property</p>
  
  <pre><code>vm.checkedValueCount = ko.computed(function(){
    var observables = getCurrentValues();  //an array of ko.observable[]
    return _.filter(observables, function(v) { return v() }).length;
  });
  </code></pre>
  
  <p>suppose getCurrentValues() can return different sets of observables which are modified elsewhere in the code (and comes from a more complex structure than an observableArray).  </p>
  
  <p>I need <code>checkedValueCount</code> to update whenever </p>
  
  <ul>
  <li>one of its dependencies change</li>
  <li>getCurrentValues() returns a different set of observables.</li>
  </ul>
  
  <p>The problem is that <code>ko.computed</code> seems to memoize the last returned value and only update when a dependency updates. This handles the first case but not the latter.</p>
  
  <p>What I'm looking for is a way to force checkedValueCount to re-run. Something which I can use like:</p>
  
  <pre><code>changeCurrentValues();
  vm.checkeValueCount.recalculate();
  </code></pre>
  
  <p>Put most simply, given that I have</p>
  
  <pre><code>a = ko.computed(function() { return Math.random() })
  </code></pre>
  
  <p>how can I force invoking <code>a()</code> twice to return different values.</p>