It’s really become clear that I can’t keep adding bloggers to the Daily Blogroll and expect everyone to be happy with how often their blogs are featured if I limit the number of blogs featured to twelve each day.
I rewrote the blog choosing function last night so that it divides blogs into three sections. The first consists of blogs that always get featured whenever there is a new post. This is a shifting list; blogs get added to it when I feel I haven’t been seeing their posts often enough, and get removed when their backlog is cleared up.
Prior to last night’s rewrite, the second group was just all the other blogs, and they’d be shuffled and I’d choose the first few of them, however many of them it took to get to the magic number of twelve. Non-required blogs could, through no fault of their bloggers, just never get the chance to shine. This becomes more urgent as I add more blogs.
So, the rewrite: The second list of blogs are those that have updated in the previous 24 hours from when I ran the Daily Blogroll program. Those get randomized and chosen from. And the new third group is comprised of all the other blogs, as before.
But, new problem. There’s three kinds of bloggers. Those that post nearly every day, those (like me) who post two or three times a week, and those who post at a slower pace. The people in the first and second categories are probably okay. The people in the third, well, we’ll never get through their backlog, and if they miss the window when they do post, they’ll probably never get picked up.
There’s a post from one of the new five blogs I added a couple of days ago waiting to be featured; it has a cool new thumbnail I spent some time on, and his content is fun. But it just missed its window and we’d run out of space before we got to that third category.
So. Here’s my thought.
Consider a board game where you a move is chosen from a selection of possible moves, and then more moves happen until the game comes to an end, and there is no random component. So, checkers, chess, probably not Monopoly — that sort of thing. Moves and countermoves. You can draw that as a graph with the current board state at the top, then below it the board state after every possible move, with more board states below those, and so on. You’re going to end up with every possible move, and there’s going to be likely trillions of them. It’s utterly impossible to analyze them all and find the best move, just too many.
Graph theorists have a bunch of ways to deal with this; one of those is to essentially say, “aw, fug it. I’ll just choose one of my possible moves, play randomly until game end, see who was the winner, and keep doing that until I’ve played enough random games from each move to see which one wins the most.” This is the Monte Carlo Tree Search (MCTS), in super simplified form. It has some severe flaws, but it will produce an answer of some sort in a given time, and if the graph isn’t that deep, it can be very effective.
What’s this got to do with blogs?
Well, MCTS doesn’t choose from its potential moves randomly. It first goes through all of its potential moves at least once; from then, it uses an equation that takes into account the number of times a move was chosen, the number of times that move led to a winning game, and the total number of times any move was chosen so that moves that lead more often to a winning game are prioritized, but the more a move isn’t chosen, the more likely it will be chosen in the future to make sure MCTS isn’t missing something. It balances “best move” searching with “exploration” searching. Tuning the constant that controls when it shifts from one to the other is key to making a particular MCTS perform properly.
I’m not really sure how this would apply to choosing blogs — the very act of choosing is a big deal in graph theory — but I like the idea of featuring daily bloggers, but every so often, letting those occasional bloggers have their day.
Now, to do any sort of MCTS on bloggers, I’d have to keep some sort of database on which blog was featured on any particular day, prioritize those, but keep an eye out for times when a blog just has been passed over too many times.
For now, though, I’m gonna cheese it. Friday is going to be “Occasional Blogger Day” at the Daily Blogroll. Bloggers who have posted recently will come behind those who have not — just to clear some backlog. If those occasional bloggers haven’t posted recently, of course it will continue to draw from the recent bloggers.
I am just trying to make sure everyone’s blog gets featured as often as possible without having to make this a whole thing. Blaugust is coming up and it’s got me worried (see other recent posts).







Leave a Reply