Utopian Bot Update: Major changessteemCreated with Sketch.

in #utopian-io6 years ago

image.png

Last week, @elear entrusted me with the task of improving the Utopian Bot. There is a lot to do but we decided that these three problems were the most urgent:

  • The Bot's Voting Power was sucked too fast
  • Because of that, she ended up being very tired after upvoting a few posts. That led to a certain frustration since some users had to wait for several days before they vote was accepted.
  • Some categories had many contributions and some others almost none. The most used categories were taking away most of the bot's voting power.

That's in this spirit that I started my work.
Just keep in mind that this is a work in progress, that will make the Utopian's life fairer.
So far, this is how the new process works:

Estimation of the 'Quality'


I put quality between quotation marks because I have no better word to describe it so far, but a bot alone cannot understand the real concept of quality. That will be adressed in a future update.
Anyways, the first step of the bot is to estimate the Quality of each contributions. For that, very simple, I used the old bot's algorithm. Each contribution's quality corresponds to the upvote that the old bot would have given. For reminder it is based on many variables, such as the size of the contribution, its category, the current payout and number of votes, the use of bots are not, etc.
Once again, this will need further work and maybe human intervention to make it even fairer.

Based on a threshold, posts will be separated between high-quality contributions and the others.

Voting high quality contributions



We aim that the bot will vote once a day (+- a few hours depending on the number of contributions). Therefore, 10 full votes are available for voting and are divided non-equally between the eight categories. The weight of the categories have been decided according to the difficulty of the contributions in that category and the number of posts subtmitted. These numbers might need some tuning but for now this is how it goes:

image.png

Since Documentation, Analysis, Visibility and Graphics have a few contributors only, I've merged them together to make sure they still can get a part of the cake.

For each of these categories, the bot compares the sum of all the contribution's quality to the "max_vote" of the category. It computes a ratio that is then applied to the quality to calculate the vote.

I fear it's not very clear but here is an example :

For translation, 150 is available (that's 1.5 full votes). Let's say there are only 3 contributions in this category shown as high quality and that there quality are respectively 50 50 and 40.
The ratio would be 150/140=1.07. They would then get 54 54 and 43 as upvote.

On the contrary, if there are too many contributions in the same category, the ratio will reduce the upvotes. For avoiding abuse, there is currently a maximum ratio of 1.3.

Voting other posts



As I said, this bot will vote all the approved contributions.
The posts not ranked as high quality will share 1 full vote + any power that would remain unused from the other categories.
A threshold is also apply that those posts cannot get upvoted higher than a high quality contribution.
Their maximum is currently 8% (around 20$), while the minimum for high quality posts in case of small ratio is set to 10%.

Updated bot list



Utopian Bot is jealous, she doesn't like other bots.
So far, here is the list of bots she doesn't like to see.

Conclusion



This bot already allows every accepted contribution to be voted in a fair manner.
However, it is still a work in progress and more updates will come to tune the parameters I mentionned, and make the bot even better.

I hope you will enjoy it!
You can find my Pull Request here.

@stoodkev for @utopian-io



Open Source Contribution posted via Utopian.io

Sort:  

Good solution to make everyone happy without having the truble of a low voting power. Just one remark: I think (60*60)/137=~10.5 votes with 100% (right?) .. so there may be a chance to vote a little bit more :) 💪

Thanks! Can you elaborate a bit, I didn't get where this come from =)

Sorry - It was to late :D It is 24*60 which are the minutes per day / the time you need to restore the voting power of a 100% up vote which is 137 equals something around 10.5 :)

Approved in Utopian.

[utopian-moderator]

Working too hard, my friend!
Keep up the good work! We need more people like you in Steemit community.

Sorry I cannot be of much help, very illiterate about computing technology. Send you all the moral support.

You are doing great work!

Thanks for the support! =D

Awesome work @stoodkev!

Thanks, doing my best! =)

Bravo @stoodkev ! Bravo!

Great work @stoodkev!

Thank you!

Hey @stoodkev I am @utopian-io. I have just super-voted you at 36% Power!

Suggestions https://utopian.io/rules

  • Average amount of information. Good but you can do better!
  • Utopian has detected 1 bot votes. I am the only bot you should love!!

Achievements

  • I am a bot...I love developers... <3
  • Much more informative than others in this category. Good job!
  • Votes on this contribution are going well. Nice!
  • You are having more votes than average for this category. Nice!
  • You have less than 500 followers. Just gave you a gift ;)
  • Seems like you contribute quite often. AMAZING!
  • You have just unlocked 6 achievements. Yeah!
    Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

I simply like your post, great presentation and content @stoodkev , and I'm so excited to be apart in utopian-io thank you for sharing this.
@hatimbenya

More Bots doesn't mean more votes! If you have 2 Bots voting at 100% and 1 Bot Voting twice at 50%, this will generate the same results. As long as the Steam power the 2 Bots have the same Steem Power then the single bot. Splitting as @stoodkev will share the contribution more equally.

Thanks @drmake, you said it all!

Good job dude
Really u r doing well continue it......

Thanks, that s the plan ;)

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.034
BTC 66274.97
ETH 3175.04
USDT 1.00
SBD 4.06