最佳点赞策略 SteemIt 能量需要恢复满么?


power 最佳点赞策略 SteemIt 能量需要恢复满么?  I.T. SteemIt 程序设计

power

虽然说小鱼的点赞策略就是喜欢的点, 因为SP少点赞收益没有多少区别, 但是现在 @justyy 已经有超过1万的SP 了, 所以今天想了一下这么一个问题.

我们都知道, 一次100%点赞消耗能量 2%, 一天恢复20%的能量相当于一天中你可以点满10次. 那么问题就是, 假设30天时间内, 你一天点10次, 最大收益是多少?

为了简化分析模型, 我们假设1万SP能量全满点赞收益是1 SBD, 那么如果初始能量只有60%, 我们是不是需要等恢复了90%甚至是全满后再点这样效果会好一点呢?

我本来以为没啥区别, 直到今天晚上无聊随便写了段VBScript代码来分析, 结果让我很吃惊.

第一种策略, 从第一天就开始点满10次, 假设这10次都是一下子点完, 两次点赞间的能量恢复可以忽略不计, 那么我们可以用以下代码来模拟:

1
2
3
4
5
6
7
8
9
10
11
12
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
    income = 0
    While days > 0
        For i = 1 To 10
            income = income + sp * vp / 10000
            vp = vp - 0.02
        Next    
        vp = vp + 0.2
        days = days - 1
    Wend 
    Strategy1 = income
End Function 
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
    income = 0
    While days > 0
        For i = 1 To 10
            income = income + sp * vp / 10000
            vp = vp - 0.02
        Next    
        vp = vp + 0.2
        days = days - 1
    Wend 
    Strategy1 = income
End Function 

第二种策略, 多加了一个参数, 先休息几天, 恢复恢复能量, 然后再点.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
    days = days - rest
    vp = vp + 0.2 * rest  ' 每天恢复20%
    If vp > 1 Then
        vp = 1  ' 能量最多恢复到100%
    End If 
    income = 0
    
    While days > 0
        For i = 1 To 10
            income = income + sp * vp / 10000
            vp = vp - 0.02
        Next    
        vp = vp + 0.2
        days = days - 1
    Wend 
    Strategy2 = income
End Function
Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
    days = days - rest
    vp = vp + 0.2 * rest  ' 每天恢复20%
    If vp > 1 Then
        vp = 1  ' 能量最多恢复到100%
    End If 
    income = 0
    
    While days > 0
        For i = 1 To 10
            income = income + sp * vp / 10000
            vp = vp - 0.02
        Next    
        vp = vp + 0.2
        days = days - 1
    Wend 
    Strategy2 = income
End Function

我有1万SP, 那么假定这些值.

1
2
3
4
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2

跑一下程序看看结果:

1
2
3
4
5
WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))
 
Strategy 1 Max Income = 152.999999999999
Strategy 2 Max Income = 254.799999999999
WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))

Strategy 1 Max Income = 152.999999999999
Strategy 2 Max Income = 254.799999999999

太意外了, 你的VP越低, 统计时间越长, 效果差别就越大, OMG, 还是先让机器人缓几天吧, 至少点赞比率先降一降, 等恢复了差不多了这样每天保持10次点赞 点完能量保持在80%左右, 这样是最优的.

错啦错啦 @tumutanzi 告诉我, 我的理解有问题, 2%的损失不是 vp = vp – 0.02 而是针对当前VP能量, 所以应该是vp = vp * 0.98.

程序更正一下, 每天可以点11次, 点10次能量满的话就会浪费:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
    income = 0
    While days > 0
        For i = 1 To 11
            income = income + sp * vp / 10000
            vp = vp * 0.98
        Next    
        vp = vp + 0.2
        If (vp > 1) Then
            vp = 1
        End If 
        days = days - 1
    Wend 
    Strategy1 = income
End Function 
 
Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
    days = days - rest
    vp = vp + 0.2 * rest
    If vp > 1 Then
        vp = 1
    End If 
    income = 0
    
    While days > 0
        For i = 1 To 11
            income = income + sp * vp / 10000
            vp = vp * 0.98
        Next    
        vp = vp + 0.2
        If (vp > 1) Then
            vp = 1
        End If      
        days = days - 1
    Wend 
    Strategy2 = income
End Function
Function Strategy1(ByVal sp, ByVal vp, ByVal days)
    income = 0
    While days > 0
        For i = 1 To 11
            income = income + sp * vp / 10000
            vp = vp * 0.98
        Next    
        vp = vp + 0.2
        If (vp > 1) Then
            vp = 1
        End If 
        days = days - 1
    Wend 
    Strategy1 = income
End Function 

Function Strategy2(ByVal sp, ByVal vp, ByVal days, ByVal rest)
    days = days - rest
    vp = vp + 0.2 * rest
    If vp > 1 Then
        vp = 1
    End If 
    income = 0
    
    While days > 0
        For i = 1 To 11
            income = income + sp * vp / 10000
            vp = vp * 0.98
        Next    
        vp = vp + 0.2
        If (vp > 1) Then
            vp = 1
        End If      
        days = days - 1
    Wend 
    Strategy2 = income
End Function

假定以下值:

1
2
3
4
5
6
7
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2
 
WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))
steempower = 10000
votingpower = 0.6
daysofcuration = 30
restoredays = 2

WScript.Echo ("Strategy 1 Max Income = " & Strategy1(steempower, votingpower, daysofcuration))
WScript.Echo ("Strategy 2 Max Income = " & Strategy2(steempower, votingpower, daysofcuration, restoredays))

这结果显示, 没啥区别, 不得不说, 这系统设计的真巧妙. 是我没弄清楚, 丢人了(捂脸)

1
2
Strategy 1 Max Income = 279.67590316366
Strategy 2 Max Income = 278.976108950286
Strategy 1 Max Income = 279.67590316366
Strategy 2 Max Income = 278.976108950286

英文: Best Upvoting Strategy – SteemIt Voting Power Matters?

GD Star Rating
loading...
本文一共 487 个汉字, 你数一下对不对.
最佳点赞策略 SteemIt 能量需要恢复满么?. (AMP 移动加速版本)
上一篇: R 教程之 STEEMIT 大鲸啥时候点赞的?
下一篇: 在英国整牙也不是件容易的事 - 说说分期付款在英国整牙的计划

扫描二维码,分享本文到微信朋友圈
7f5380020ff96c672db7bf54783bd1af 最佳点赞策略 SteemIt 能量需要恢复满么?  I.T. SteemIt 程序设计

评论