| … | … | @@ -29,3 +29,35 @@ distribution, from which a rescaled uniform-random choice can be made. |
| 29 | 29 | 2) Random sample N out of full incomng set. |
| 30 | 30 | |
| 31 | 31 | |
| 32 | Lets steam-process this: Query returns list of edges |
| 33 | (Query (Variable "next") ; vardecl |
| 34 | (EdgeLink (Predicate "ANY") |
| 35 | (List (Word "start") (Variable "next")))) |
| 36 | |
| 37 | This returns a list (a short list? where do we plug in N to cap the size?) |
| 38 | The list is actually a QueueValue. |
| 39 | |
| 40 | 3) Out of this queue Value, select one, with the proper weighting. |
| 41 | Treating this as a collection of priors requires a sum over all elts |
| 42 | in the queue, to obtain a total norm, and then making a second pass |
| 43 | to choose one for this weighted distribution. This requires a |
| 44 | "non-local" RAM-walking sum. |
| 45 | |
| 46 | A local way of doing this is to pick a min-MI cutoff, and selecting the |
| 47 | first elt that is above the cutoff. |
| 48 | |
| 49 | A quasi-local way is to take the average of the first three elts, |
| 50 | the first K elts, and then accept the first that is above this average. |
| 51 | So the first K are always discarded, until the moving average is arrived |
| 52 | at. |
| 53 | |
| 54 | This needs: |
| 55 | 4) Atomese to fish out/Filter the MI from the correct location |
| 56 | and or compute it on the fly. |
| 57 | |
| 58 | Atomese to compute a moving average. |
| 59 | |
| 60 | What is the minimal way to do this? |
| 61 | Can it be done so that MOSES can be applied to tune it? |
| 62 | |
| 63 | Ugh. |