News:

most Recent Posts and Recent Topics now viewable on the front page!

Main Menu

RepBot objective functions

Started by don, May 04, 2008, 03:09:13 AM

Previous topic - Next topic

don

I've resurrected an old bot that returns (when asked) information about how many saved matches a user has, and with whom, based on the asynchronous database at the List of FIBS saved Matches.  It's no RepBot, but it yields objective information.

Personally, I've never used RepBot ratings for much since its inception except for a quick glance at "how many saved" a user has, as many know who read FIBSboard.  There's been a lot of argument about a bullet-proof, no-harassment RepBot here and no solution that I can see that involves either recommendations from users OR monitoring FIBS (asynchronously)

PYbot currently takes two commands:

  • tell PYbot ask <user>
  • tell PYbot list <user>
  • Anything not parsed gets "I can tell you the number of saved games a user had at the last update of http://www.fibs.com/savedgames/list.html OR give you a list of them.  Note that saved games do NOT necessarilly indicate a dropper!  'tell PYbot ask <name>' or 'tell PYbot list <name>'.  Enjoy!

I would appreciate any feedback here, about the behavior of an objective bot.  Also, since PYbot is my development bot, I'm likely to create a new ID (such as PYsavedBOT) to handle this functionality if desired.

I could refine the "ask" function to return experience and ratings too.  This would be just a handy one-step tool, as this bot is.

--
don
So many string dimensions, so little space time...

playBunny

Can you integrate it into my client so I don't have to lift a finger, please? :laugh:

I think you should call it MudPyBot as it's gonna dish the dirt on everyone. ;)

teyakis

Quote from: don on May 04, 2008, 03:09:13 AM


I could refine the "ask" function to return experience and ratings too.  This would be just a handy one-step tool, as this bot is.

--
don


That would make PYBot perfect !!  :thumbsup2:

stiefnu

For the benefit of this bear of very little brain, can someone please explain what "asynchronous information" means.  :huh:

TIA,
stiefnu

playBunny

Quote from: stiefnu on May 04, 2008, 04:43:06 PM
For the benefit of this bear of very little brain, can someone please explain what "asynchronous information" means.  :huh:

don mentioned "the asynchronous database at the List of FIBS saved Matches". Synchronous means in step. The saved games list isn't up to date at any given moment but is written every so often. Being out of step, it's asynchronous.

He also said "and no solution that I can see that involves either recommendations from users OR monitoring FIBS (asynchronously)" but I can't work out what he mans by "(asynchronously)" there as I'd have thought that a rep bot would need to be online all the time and could therefore gather data as it becomes available (ie. synchronously).

I also wonder whether there's a missing negative in there - "no solution that involves neither recommendation nor monitoring" perhaps? I can't make proper sense of that
entire sentence. ;)

don

Well, to me a synchronous (relatively since there's really no such thing) process would have to be an integrated part of the FIBS server.  However, playBunny either wins a mudPY or not, and neither she nor I will be able to figure out which option is not true, depending on the negativity or lack thereof in this sentence, maybe.

--
don
So many string dimensions, so little space time...

playBunny


socksey

PyBot is a step above the saved games page, at least, although I have almost always checked the list of complainers and vouchers on RepBot as well.  I know about all the abusers of RepBot and their motives, for the most part, by now, and that additional information is used by many experienced players on Fibs when deciding to accept an invitation. 

Adding experience and ratings would be a plus.  One stop shopping for "whois" command.   ;)

Thanks for the interim bot, don!

Cheers.....................socksey



"The only thing wrong with immortality is that it tends to go on forever." - Herb Caen



burper

don, does pybot serve the savedgames count as fibs.com provides it, or take the difference between yesterday's and today's list?

don

I've made a couple of mod's to the bot:

  • The ask function now returns ratings and experience for one-stop shoppers;
  • There is no "average"ing of the previous day's save list as yet, and I'm thinking about it (I can think of reasons for and against this option);
  • After many requests for a shorter name, playBunny gets the award for the new name, mudPY!
mudPY says: [playBunny] Rating: 1796.30 Experience: 814 Saved: 1
mudPY says: [playBunny] ['BotBuster']

--
don
So many string dimensions, so little space time...

Mystyk

Would it be a real problem to change the name to RepBot?  This way the automatic stuff in the clients will be useful again.

socksey

 :lol:  Great suggestion, but it really gives no rep!  ;)
I'd vote for that, tho!   :cool:  Maybe name it repbot2 to differentiate and ease of change.  :)


socksey



"Nobody knows the age of the human race, but everybody agrees that it is old enough to know better." - anonymous

burper

Quote from: don on May 06, 2008, 11:20:01 AM


  • There is no "average"ing of the previous day's save list as yet, and I'm thinking about it (I can think of reasons for and against this option);


--
don


It's not, er, wasn't, an average. It was an intersection. The idea was, if burper and don started and completed a match "today", "tonight's" fibs.com/savedgames would list it. The only reason the match was "persisted", was to support the oldmoves command. If tomorrow nights' savedgames was intersected with it however, the result would not show it.

There are several complicating factors (see below) that might cause you to argue that performing this intersection starts you down the slippery slope, losing objectivity as you go, that I understand. Perhaps there is a way to address that by making this optional, or by providing both metrics, e.g.
mudPY says: [playBunny] Rating: 1796.30 Experience: 814 Saved: 13 (possibly completed today: 4)

Even simpler, why not resurrect the RepBot, with the complain and ask functions removed? It should be a trivial change.
No complaining means everyone gets a positive rep, and using friends rather than ask (may be better to route the ask command to the friends command) means there would be no motivation to create duplicate accounts to pump up your rep. This would be best if the existing RepBot database, with all complaints removed, could be used to seed things.

*Those complicating factors I mentioned above:

  • -if don and I played (to completion) 2 matches on consecutive days, the intersection would not remove the match from the savedgames list.
  • -"today", "tonight", etc... are all used very loosely. It all depends on what the first character of the filename is of your saved game. That is the lexicographically first (case sensitive, and including _) of the two names involved in the match, e.g. for don and burper, it would be "b". I don't have my notes in front of me at the moment, but you can tell when the match will be removed by watching the output of the 'stat' command.
  • -It also depends on when the savedgames web file is compiled, posted, and when you retrieve it. Judgin from some of the inconsistencies I've seen in the data, I believe Pattis' script compiles the page "live", rather than taking a locked snapshot. There may be no choice without interrupting fibs, and the result is "close enough", but there is the first slip down that slope mentioned above.

Perhaps Patti could confirm item 2 from the list above.

There are some other objective facts that could be derived from archiving the list of savegames over a period of time, such as a count (or rate) of saved games that were removed because they became too old (how many days is it?). If the match was there "yesterday", and its' not "today", and you know for sure at least one of the players were not logged in during that magic period of time, then bump the counter by 1. Its' an objective bit of data, leave the interpretation up to the user.

Even better, you should be able to count the number of times vegasvic and souptree play each other to completion (savedgames between them show up one day, gone the next, there again another day, gone the next, etc...). Leave the interpretation to the user, but if I didn't know souptree, but noted that many of the people I had marked as friends in my client had played multiple matches with him, I might feel more comfortable about accepting an invitation.

I'm glad you are attacking the issue don, there's hope for you yet!

don

First, RepBot is not what mudPY does, the name is taken, and I haven't duplicated RepBot's output so clients couldn't use it anyway.  (Also, IMO, RepBot with no complain/ask features is just a counter of saved games.  I've never used the friends function tho.)

Second, were I to use multi-day versions of the saved list, I would simply use the intersection (It's the easiest and most obvious and most useful IMO).  Hey, this is just a tool!

--
don
So many string dimensions, so little space time...

burper

Quote from: don on May 07, 2008, 12:35:40 AM
Also, IMO, RepBot with no complain/ask features is just a counter of saved games.

--
don

I think you missed my point. Note that the vouch command would not be removed.
Basically, it becomes a referral service.

I've heard people whine about the popularity contest too, but if the friends query gives everyone a personalized metric rather than one static one, that point is moot too.

The down-side of friends has always been the lack of information to work with, but with a way to "auto-vouch", by counting the rate at which A plays B, that problem is solved as well.

don

All very well and good for those who want a subjective reputation bot, which I don't.  I'm not interested in bothering to deal with the likes of  aristoF, CantBuyAThrill, nutcracker, or thefog.  (These are just a few of the nicks of a user who has much to say about what RepBot should be while demonstrating how to abuse such a bot.)

--
don
So many string dimensions, so little space time...

PersianLord

Quote from: don on May 07, 2008, 12:35:40 AM

Also, IMO, RepBot with no complain/ask features is just a counter of saved games.  I've never used the friends function tho.)


--
don

No, RepBot was more that that. The best feature of RepBot, IMO, was it's 'alarming' feature. If told RepBot 'alarm on', then it would alarm you when one of your saved matches opponents logs in. This way people could have finished their saved matches with ease. Now we should rely on 'waitfor' command, which is not as impressive and easy.

Thus, it might be good to see mudPY having this useful feature.

Regards
The leftist's feelings of inferiority run so deep that he cannot tolerate any classification of some things as successful or superior and other things as failed or inferior. This also underlies the rejection by many leftists of the concept of mental illness and of the utility of IQ tests.  - T.K

don

Quote from: PersianLord on May 09, 2008, 09:43:26 AM
.... The best feature of RepBot, IMO, was it's 'alarming' feature. If told RepBot 'alarm on', then it would alarm you when one of your saved matches opponents logs in. This way people could have finished their saved matches with ease. Now we should rely on 'waitfor' command, which is not as impressive and easy.
Although not as easy, the 'waitfor' command is more impressive.

First you do a show saved, getting a list of your saved matches which is, unlike information from the saved games list, completely accurate.  Then you just issue a:
     waitfor playerone playertwo ...
This isn't all that difficult.

The impressive part is that, on login of, say, playerone in your waitfor queue:

  • You get "** FINALLY!!! playerone logs in."
  • playerone gets "** YourName is waiting for you to log in."
So, unlike RepBot (unless both players have the alarm on), both players get notified.  Far superior IMO.

--
don
So many string dimensions, so little space time...

PersianLord

Quote from: don on May 10, 2008, 07:30:31 PM
Although not as easy, the 'waitfor' command is more impressive.

First you do a show saved, getting a list of your saved matches which is, unlike information from the saved games list, completely accurate.  Then you just issue a:
     waitfor playerone playertwo ...
This isn't all that difficult.

The impressive part is that, on login of, say, playerone in your waitfor queue:

  • You get "** FINALLY!!! playerone logs in."
  • playerone gets "** YourName is waiting for you to log in."
So, unlike RepBot (unless both players have the alarm on), both players get notified.  Far superior IMO.

--
don

IMO, RepBot's alarming was better, cuz with waitfor command, you've got to type it whenever you log in, but with RepBot you could do it once.

Regards
The leftist's feelings of inferiority run so deep that he cannot tolerate any classification of some things as successful or superior and other things as failed or inferior. This also underlies the rejection by many leftists of the concept of mental illness and of the utility of IQ tests.  - T.K

webrunner

Quote from: PersianLord on May 10, 2008, 09:25:20 PM
IMO, RepBot's alarming was better, cuz with waitfor command, you've got to type it whenever you log in, but with RepBot you could do it once.

Regards

Then it should be an option in a client ;)
"There is a difference between knowing the path and walking the path."
Bruce Lee
===================================
Orion Pax |