Pages: [1]
Daxa
BAM!ID: 72924
Joined: 2009-07-29
Posts: 4
Credits: 5,801,848
World-rank: 62,245

2010-05-17 20:01:44
last modified: 2010-05-17 20:55:24

Hi Willy!

I'm a lazy math major at Skyline College in San Bruno (CA Bay Area). I'm actually not that smart, but I have an idea that you may be able to make "smarter" if you get the gist of what I'm suggesting.

For the World Cup rankings, you don't seen to have a sufficiently sophisticated algorithm for determining who, exactly, is ACTUALLY participating in a given project. A lot of people may sign up, and even participate a bit -- but later, they largely ignore the project. Now, let's consider a user that we want to assign World Cup points to: Since that user's PERCENT CONTRIBUTION to a specific project is multiplied by the NUMBER of total users PARTICIPATING in that project, it is absolutely critical to accurately model the functional number of participants.

To do this, you must temporarily abandon binary logic and use what I call a "fuzzy Boolean" value. This is a number that ranges continuously from 0 to 1 (it is never less than 0; never more than one.) This means that "0" would mean "not participating", while 0.1 would mean "not really helping", 0.3 would mean "well.. kinda", 0.5 would mean "halfheartedly participating", 0.7 would mean "phoning it in", etc. Since this "fuzzy Boolean" value is the independent variable, we need a a function of that variable and a dependent variable.

Let's call the independent variable Cprac (for "Credit" sub "project recent average credit&quot ...a sloppy name, but it represents an individual's RAC for a particular project.

Now we need a function of the variable Cprac that will output values from 0 to 1... but before we do, let's decide what value of Cprac will be the minimum value to give an output of 1 for f(Cprac) [i.e. when the "y" value will equal 1 in the graph of y=f(Cprac)] I will choose a RAC of 10 just because it sounds pretty good (if you have an RAC of 10 for a particular project, I'd say you qualify as an active participant.) So, any value of Cprac that is greater than 10 will also output a value of 1 for f(Cprac).

Now let's give a name to the dependent variable, so we can stop calling it f(Cprac) ...function notation just confuses me anyway. We will call it Mfb (for "Members" sub "fuzzy Boolean&quot --this is not a very good name, but oh well. It will represent the "degree" to which a participant is "really" a true active member of the project.

I suggest the following system of two functions (which is a simple exponential function [similar to Moor's Law] with a "model breakdown limiter" added)

(
( Mfb = [2 ^ (Cprac)] / 1024 . . . . . . . . . . . Range: { Cprac | Cprac >= 0 and Cprac <= 10 }
(
( Mfb = 1 . . . . . . . . . . . . . . . . . . . . . . . Range: { Cprac | Cprac > 10 }
(

Please note that when you translate the first function into programming code, you will probably need to adjust it to return a value of zero when Cprac = 0 ...you can use this: Mfb = {[2 ^ (Cprac)] - 1} / 1023 ...but it will probably need a little more tinkering.

So, you can see that when Cprac = 10 in the first function, the output value (Mfb) is 1. The "tack on" function limits this output to 1 regardless of how high Cprac gets.

Finally, all you have to do is sum all the Mfb values for the participants of a project and use that result in place of the "number of participants" variable you have been using.

Obviously, I'm not a jeenyus yet (probably never will be!) and I apologize for for the sloppiness and informal notation.... I'm still a beginner -- I Hope this was helpful!!

Sincerely,

Daxa
[BOINCstats] Willy
 
Forum moderator - Administrator - Developer - Tester - Translator
BAM!ID: 1
Joined: 2006-01-09
Posts: 9155
Credits: 348,857,356
World-rank: 3,151

2010-05-17 20:51:03

I will most definitely reread this when I'm less sleepy!
Please do not PM, IM or email me for support (they will go unread/ignored). Use the forum for support.
Daxa
BAM!ID: 72924
Joined: 2009-07-29
Posts: 4
Credits: 5,801,848
World-rank: 62,245

2010-05-17 21:02:18
last modified: 2010-05-17 21:34:51

@Willy

I'm glad you will reread my post... especially since I just made some minor corrections.

Actually, there are two things I didn't fix in time:
(1) When I used the word "Range" to the right of two functions, I meant "Domain". Cprac, being the independent variable, is associated with the Domain. The Range is associated with the dependent variable Mfb.
(2) The following is wrong: 'Since this "fuzzy Boolean" value is the independent variable, we need a a function of that variable and a dependent variable' --can you guess what I did wrong? Yup, it's backwards. It should read 'Since this "fuzzy Boolean" value is the dependent variable, we need an independent variable and, of course, a function of that independent variable.'

Ack! So sloppy..... I'm doomed to be a broken dog that's "house trained" in a tiny cubicle. *sob*


If anything is unclear, but you are still interested, please just post to this thread again -- I will be happy to clarify!

-Daxa
Daxa
BAM!ID: 72924
Joined: 2009-07-29
Posts: 4
Credits: 5,801,848
World-rank: 62,245

2010-05-30 07:39:28

*sob*

My pathetic math skills seem to have, once again, gone unappreciated. Even my roommate thinks I'm worthless... and she's my only friend. All the people I care about ignore me; they laugh at me when talking to their "real friends" and I writhe in pain. I feel poison pressing out of my skin. Oh no, now I'm sounding emo. I don't want to be emo. The Gods keep telling me that I'm smart. If they are wrong, then we are all alone. If they are right, then... maybe the idea that I'm the last sane person on the planet has made me crazy. Maybe I need a clue. Maybe I'm oblivious to the obvious. Hey! Look out!! I'd rather watch my life on television (tones it down.) Well, now I'm just being silly. Pity me. I must drink vodka.

-Daxa
Pages: [1]

Index :: Comments and suggestions :: Math-based idea for World Cup
Reason: