To Think About . . .

The price of inaction is far greater than the cost of making a mistake. Meister Eckhart

 

 

 

My Latest Book

Product Details

Also available on Amazon.com, Amazon.fr, and other Amazons and bookshops worldwide! 

Search This Site
Log-in
Latest Comments
My Other Books

Product Details

Product Details

Product Details

The Pathway to Awesomeness

Click to order other recommended books.

Find Us on Facebook Badge

Discussion Forum > Weighting Randomizer methods?

Has anyone played around with weighted randomizer methods? I'm thinking something like this:

* You still need to do a little work on whatever task the randomizer picks (breaking this defeats the purpose of the randomizer commitment)

* At the end of taking action on that task, you could give some sort of score, such as how good you feel

* The randomization takes into account the score, perhaps on a normal distribution or something like this, so that tasks which are higher rated are selected more often, while there is still a chance of getting a random less desirable task.

The weights could also give you a handle on things like urgency. If you felt really urgent about a task, then you might keep it weighted more heavily.

The goal here would be a great reduction in scanning requirements while also trying to get in touch with your intuition and to help prevent things from diving off the deep end and messing the system up due to creeping urgency. You could tune the algorithms distribution to be flatter or taller, depending on your needs for breadth or depth.

Hrm, I wonder if I should try to make an algorithm around this and make it my Lenten challenge!
February 4, 2022 at 2:40 | Registered CommenterAaron Hsu
Okay, here's a simple algorithm for doing this.

Decide your urgency and "feeling" scales, from 1 to some number. Say, a score of 1 - 3 based on how you feel and a score of 1 - 3 for urgency. You can play with the numbers. The idea is to create an ordered ranking of all the products of those numbers. So, for a [1,3] × [1,3] you'd have something like this:

1 2 3
2 4 6
3 6 9

For a total set of 1, 2, 3, 4, 6, and 9

With [1,3] × [1,5] you'd have:

1 2 3 4 5
2 4 6 8 10
3 6 9 12 15

With a set of 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, and 15.

What this gives you is an ordered set of "buckets" for tasks based on the product of how good you feel after having worked on it and urgency. Feeling good should account for both a sense of accomplishment and an intuitive sense of guilt at having done a task.

Next, you can generate a set of random numbers on a normal distribution. I'm using a mean of 0 and standard deviation of 1. The following URL will automatically generate a set of 100 numbers for a 100-item task list:

http://tinyurl.com/normy-randomizer

You can tweak the line that is executed to change the count of numbers generated or the number of tasks you have "roughly" on your list.

You take your notebook and dedicate one page to each bucket number. Imagine doing each task on your list and give a feel good rating based on how you feel when imagining having completed that task, and multiply it with the urgency score to get the bucket number and put the task in that bucket.

Now, look at the first number generated and then count that many items in your list to get to the item to do, so if our generated numbers are:

2 26 18 7 29 3 7 32 39 77

Then we would do the third item on the list first (count two lines down).

When counting, you always start with the highest priority pages and go to the lowest priority pages.

When you finish working on a task, rank how you feel and the urgency of that task, and then add it to the appropriate page. When you run out of space on that page, create a new page for that score and add it to the new page.

You always count your tasks sorted by the priority buckets.

The above algorithm biases heavily towards the urgent and "feel good" tasks. If my understanding of normal distributions is correct, you should generally expect, over the long haul, to spend roughly a third of your task selections on the highest ranked stuff, one quarter on the middle ranked stuff, and about 1/10th to 1/20th the time on the lowest ranked section.

More tasks on your list will tend to show the effect more, while fewer tasks on the list will tend to make this less obvious in the short term. That seems like it might be the appropriate level.

You can always review your tasks to shift a task into a different bucket whenever you feel that things have changed. In general, working quickly through the list so that you can do this on re-entry seems like the best approach.

I have *not* tried this yet, but I'm throwing it out there to see if anyone has tried it before. It should give a sense of randomizer without actually neglecting your own interests, intuition, and help to ensure that urgent things are done more readily even though they are done randomly.

Key knobs that you can tweak are the flattness of the distribution, so you can change the normal distribution shape if you want, or you can alter your buckets to have fewer or greater buckets. Greater numbers of buckets creates a higher resolution for prioritization, but fewer buckets will have a tendency to drive you through each bucket more systematically.

The goal here is to enable on the fly adjustments without having to actually scan your list and make decisions, but simply report on your feelings to the system and have it drive a little more.

I was partially inspired in this by the Wozniak/SuperMemo task list, except that I didn't feel that "money valuation" was intuitive enough, and I also felt that a single linear ranking probably didn't allow for enough variation and would require readjusting too often. My hope is that the randomization part of this will reduce the need for recalculating urgency more effectively, simply by tuning the buckets.
February 4, 2022 at 4:00 | Registered CommenterAaron Hsu
Hmm besides your method, have you considered adding tasks as "cards" in Anki/SuperMemo, and then rating the cards by how good you feel? So a task you feel good about / want to see more often, you would rank it closer to "Again" and a task you don't feel good about you would rank it closer to "Easy" - the words are a bit unintituive though. I don't think it's exactly random as I think it shows cards due earlier first, but seems like it gets roughly at it. You can also customize intervals/ algorithm settings. I haven't seriously tried this either myself but I've been thinking about it.

I played with it yesterday using a few cards on Anki (giving myself the option to defer a card if I didn't feel like doing it right then) and one thing that didn't quite work for me was the necessity to make a definite decision on every single task (to do, defer, or delete), whereas with Simple Scanning or FVP you could quickly skip over lots of tasks. But I guess skipping over them is the same as deferring (so maybe I could by default answer "Again"?), and not seeing so many tasks could be considered a feature if you want to minimize scanning time.

This could be alleviated by forcing myself to do at least a little of every single task I see, but I guess I like to have choice... What if I saw shown 3 new tasks each time and had to take action on at least one of them? And after taking action it "rerolls" and shows me 3 tasks again. Hmm
February 4, 2022 at 4:55 | Unregistered CommenterCharles
I did think about doing this with SuperMemo and the pen and paper versions, but I didn't feel particularly good about the overall usability of the system, nor the potential effectiveness in matching up my desires with my actions while reducing resistance.

In fact, i'm still of a mind that if you can already select a subset of your tasks as the most important (I'm _not_ defining importance by the Eisenhower Matrix here) that you want to do, then rank ordering those and just doing them in order is likely to be more efficient than trying to do the randomization or auto-selection stuff. The only reason you would want to do those is when you don't have a good feel for your work or clarity on your vision and you need the extra exposure time and working process to deal with that lack of clarity as well as to help reduce resistance.

It's sort of like the difference in direct driving force between a long list and a hammer no-list (2/1, 5/2, &c.). The no list is really, aggressively efficient, but you must have a clear idea of what you are doing and where you are going, else the system will start to feel very bad to you over time, IME.
February 4, 2022 at 5:58 | Registered CommenterAaron Hsu
I just understood the algorithm in your second comment (sorry, I'm slow). It looks brilliant. I definitely see how it gives you much more control than a spaced repetition system. A few questions:

1. Is the 100 deliberately set so as to put emphasis on the most urgent/good-feeling tasks (meaning there could be more than 100 tasks)? Or do you try to limit the number of tasks on your lists? Or do you just increase the number based on how many tasks you have?

2. How would you give a good feeling rating for a new task that you haven't actioned yet? I guess you'd take a guess, and adjust later if need be?

3. As time goes on, a large group of tasks would move forward in urgency (2 to 1, 3 to 2), making room for new level 3 urgency tasks. I guess you'd just update that as you use the system, by evaluating both urgency and feel-good-ness after each actioning?
February 4, 2022 at 11:18 | Unregistered CommenterCharles
Aaron Hsu:

To be honest, I regard this exercise with the greatest suspicion. Without actually going so far as to try it out, here are my main concerns:

1. The whole point of randomization is that you free yourself from the human emotions involved in selection. If you are going to feed back in your feelings about willingness and urgency, then why bother with the randomization? You are perfectly capable of assessing these without the help of random numbers. It's already built in to most of my systems.

2. The simplest way of increasing the priority of something is just to write it in on the list more than once. I have always advised against this because whenever you increase the priority of one thing you decrease the priority of everything else. You are then in danger of ending up with that well-known phenomenon known as priority creep.

3. Random numbers are still random numbers however much you play around with them. The fact that you have given Project X five times the priority of Project Y doesn't mean that in the short term (which is what we're talking about here) you will get Project X coming up five times more often than Project Y.

In short you may end up keeping on fine-tuning the randomization in the vain hope that it will give you the results you want. But if you already know the results that you want, why bother with the randomization?
February 4, 2022 at 13:43 | Registered CommenterMark Forster
Here is one trick you can use to get more momentum on things that are moving forward but without consciously tweaking importance/priority.

Whenever you re-enter an unfinished item on the list, re-enter it twice.

This does not apply to recurring items. It only applies to unfinished items.

Here is the premise.

When Randomizer chooses a task, I would always have an immediate reaction:
(1) No, this task is stupid / irrelevant / no longer needed -- delete it and move on.
(2) Hurray, let's work on it right now.

This isn't a decision process -- it's just an immediate reaction.

So if I ever need to re-enter something, it's because I had the second reaction, worked on the task for some time, but did not finish.

The problem was that I could activate so many different tasks in this way, I'd have too much WIP, and everything would move forward too slowly.

But by re-entering the unfinished task twice, I increase the probability of that task getting selected -- putting a natural bias on FINISHING rather than STARTING.

As I work on the task repeatedly ("little and often"), this effect starts to compound, as I start to have more and more copies of the task on the list.

I remember trying something like this some time back, but don't remember how it worked out. If I weren't having so much fun with AF4R right now, I would like to give it another spin!
February 4, 2022 at 15:19 | Registered CommenterSeraphim
Serraphim:

<<The problem was that I could activate so many different tasks in this way, I'd have too much WIP, and everything would move forward too slowly.

<< But by re-entering the unfinished task twice, I increase the probability of that task getting selected -- putting a natural bias on FINISHING rather than STARTING. >>

The problem with this I think would be that it would on average even out in a long list (and yours tend to be very long if I remember rightly). Other tasks would also get a second copy and you'd end up with just as much work in progress. If the list is twice as long because of all the second (and possibly third and fourth?) copies, the odds will be much the same as before, except that the recurrent tasks that only require one go to clear them won't get a look in.

Another case of increasing the priority of one thing means reducing the priority of everything else.
February 4, 2022 at 16:13 | Registered CommenterMark Forster
It seems a simpler weighting method would be multiple lists. Take for example, these 3 lists
1- Should Do List
2 - Could Do List
3 - Must Do List

Each list has numbered tasks. I can choose in the moment to decide I only have time or energy to work on list number 3 - Must Do List and roll a number and get started.
Or on the other hand if I'm are open to all of the lists in the moment, you could roll a number between 1-3 to choose a random list and then roll the next number to choose the item in the randomly chosen list.

I have done this with various lists. My lists tend to not be ordered by should do, could, do, or must do but instead, "that old list", the "new hot list" or 'stack of meeting notes that aren't processed yet". For that last "list" I tried numbering the pages and sometimes roll a number to pick a page and the task becomes to review, clarify or digitize and file the notes.

Finally, an item could conceivably be on every list in one form or the other over time. That clearly indicates to me that it needs to be dealt with somehow and the increased odds of it being picked is probably a good thing.
February 4, 2022 at 16:14 | Unregistered CommenterBrent
Brent:

<< you could roll a number between 1-3 to choose a random list and then roll the next number to choose the item in the randomly chosen list. >>

That could work well, *provided* that there are significantly less tasks in List 3 than in List 2, and significantly less tasks in List 2 than in List 1. If priority creep is allowed to take place, then this is not going to work - you might just as well have one list.
February 4, 2022 at 16:40 | Registered CommenterMark Forster
Mark:

<< if you already know the results that you want, why bother with the randomization?>>

In fact, I think I tend to agree with you. :-) I'm not sure I see the point in randomization if you really know what you want.

On the other hand, the potential value of randomization is in its ability to allow yourself to get out of your own way with regards to committing to doing something on a task. It seems to me that this is the main reason to use randomizer.

So, the idea of the above isn't to get away from your priorities but provide some way of getting out of your own head and picking something to do.

I actually think the doubling up items on the list is a clever idea, and might even achieve something of the same effect, but I'm not sure there isn't something to a "post-mortem" on a task and using that to drive your intuition rather than a pre-selection interaction with your intuition.

I think there's another way to address that scariness of procrastination, and that's just to take your list in order. Limiting myself to literally not scanning at all to find something, but just to picking the first thing off of a list is remarkably powerful for me with regards to procrastination.

The idea behind the distribution is simply to try to retain that "adventure" element of randomizer for a longer time by responding a little bit to strong senses that you may have to a task without allowing you to avoid a task. In other words, it won't guarantee that urgent things are always handled, but it should reduce the number of times that an urgent thing fails to get handled through the system without "escaping", thus hopefully reducing the friction in the system.

Finally, if your intuition is so muddled and undifferentiated that you just end up with everything in the exact same priority bucket, that's actually perfectly fine! Because you're still choosing randomly, if they're all in the same bucket, this normal distribution will just tend to emphasize tasks that have been on the list longer but will otherwise work like randomizer without priorities. The only way the the priorities cause a difference is if you *do* somehow find tasks that trigger some differentiated response. For example, a task that really rubs you the wrong way or that clearly doesn't matter right now, or that you enjoyed but which you feel a bit guilty about afterwards.

The idea here isn't to create a perfect prioritized system, but simply to make the effect of randomizer more resilient over time, where most of the extra pieces degrade on failure back to plain randomizer without biased distribution, so it's at least, potentially no worse (modulo the bucket maintenance).
February 5, 2022 at 11:17 | Registered CommenterAaron Hsu
Charles:

<<1. Is the 100 deliberately set so as to put emphasis on the most urgent/good-feeling tasks (meaning there could be more than 100 tasks)? Or do you try to limit the number of tasks on your lists? Or do you just increase the number based on how many tasks you have?>>

The distribution has a standard deviation of 1, which means that 99.7% of the random numbers will be in the range [0,3] before scaling. The idea is to ensure that the normal distribution range more or less will cover all of your tasks. So we take the number of tasks you have divided by 3 and that's the scaling factor we use. This ensures that the vast majority of random numbers that are generated are selecting actual tasks on your list. If you chose a smaller scaling factor, then you could get a distribution that almost never picks the lowest priority tasks, and if you spread it out more, you would get a more even selection of tasks or a bias towards later tasks (if you took any task number greater than the last task to indicate the last task).

<<2. How would you give a good feeling rating for a new task that you haven't actioned yet? I guess you'd take a guess, and adjust later if need be?>>

I mentioned that above, but the way I would do it is do a visualization/mind sculpture exercise of you actually doing the task for a little bit and then writing down how you feel.

<<3. As time goes on, a large group of tasks would move forward in urgency (2 to 1, 3 to 2), making room for new level 3 urgency tasks. I guess you'd just update that as you use the system, by evaluating both urgency and feel-good-ness after each actioning?>>

Yeah, and presumably, you're working mostly on the most urgent or feel good tasks, so you would be finishing them at a more rapid rate. Of course, as Mark mentions, if you end up making everything urgent and you enjoy all of your work, well, then you're just doing randomizer at that point, and I'm not sure that's a bad outcome.
February 5, 2022 at 11:22 | Registered CommenterAaron Hsu
<<To be honest, I regard this exercise with the greatest suspicion.>>

Just to make it clear, I do, too. I'm just working and playing with the idea, but I don't know what would happen if I actually did this. I'm just theory crafting.
February 5, 2022 at 11:23 | Registered CommenterAaron Hsu
Recently I've been having trouble getting stuff to stand out, so I've been reading the recent randomizer posts with interest. I actually really like the concept of the weighted randomizer, I just worry that it's too much overhead (in the original proposed implementation anyway). Also the code Aaron linked uses extremely non-standard symbols to my eyes haha.

Currently trying out Brent's implementation of the randomizer from the other thread, I like how I don't waste time counting lines!
http://markforster.squarespace.com/forum/post/2784775
February 5, 2022 at 13:50 | Unregistered CommenterVirix
Any thought about moving WIP tasks to the top of the first open page? Easier to do with an electronic list, but you can use a sticky or something on paper (just keep the number of items on the page the same.

If you use the sliding method this would give WIP more priority.

What I've been doing is a modified FV/random method. I start the day highlighting the tasks that need to get done today, do them until I reach the top of the list, then random my way back down. Once at the bottom I either make another FV list or keep on being random.
February 11, 2022 at 14:13 | Unregistered Commentervegheadjones
If I were doing WIP stuff, then I'd probably just use a separate list to isolate WIP. You could reserve a specific highest priority number for WIP tasks, for instance. So, as soon as something is actively being worked on, it becomes WIP and is at the highest priority, or you could put it anywhere in the middle as well.
February 11, 2022 at 22:46 | Registered CommenterAaron Hsu
Aaron Hsu wrote:
<< If I were doing WIP stuff, then I'd probably just use a separate list to isolate WIP >>

That's pretty much what I am doing with my AF4R experiments. I have my three separate lists -- Recurring, Unfinished, and New. Sometimes I just scan through them repeatedly as directed by the standard AF4R rules. But usually I process them with the FFVP algorithm.

So when it's time to go through the Unfinished pages, I just dot the first item, and scan through, dotting whatever stands out, and sometimes taking action on that item right there without any more scanning.

This works really well.

Sometimes I just use the FV algorithm -- doing one pass through the list. I usually do this when I have a hard time commitment coming soon, and try to dot only as many items as I think will make the best use of the limited time.

But when I'm tired, things don't stand out so clearly, and FVP and FV don't work as well. So sometimes I switch to using the Randomizer algorithm. It helps me to keep going when I just don't feel like doing anything.
February 12, 2022 at 2:55 | Registered CommenterSeraphim
It turns out this idea got stuck in my head, so about a week ago I put together an implementation in Excel following Aaron's algorithm. The task list is a single column and can be sorted by value/urgency (in adjacent columns) with a single click. The spreadsheet counts the number of tasks automatically and adjusts the variance accordingly. Can't imagine doing this on pen and paper (which I've been using for all the Long List methods so far). Also I reserve the right to do any task at any time (Rule 0 of any system really).

I like it quite a bit, it got me started on some stuff which would never have "stood out" on their own. I do find I often break and act "naturally/impulsively" for a while (probably too long!) after actioning a few random selections.
February 14, 2022 at 8:14 | Unregistered CommenterVirix
Virix:

I think if you are often breaking the random cycle and using "act naturally" that often, then that's an indicator that the system isn't really working as intended, and so that would be negative evidence, IMO, that this sort of weighted randomizer is effective at reducing exactly that sort of mentality.
February 15, 2022 at 3:58 | Registered CommenterAaron Hsu