News:

howdy HNY 2023
just sorting out Fibsboard a bit basically archiving it & updating the software to protect the database

let me know of any problems/ideas thx

should be easier to view on mobile devices now that's it's a more responsive design

Main Menu

If I Could Make 1 Suggestion For Repbot

Started by snowjake, August 27, 2006, 04:16:54 PM

Previous topic - Next topic

snowjake

It would be to somehow indicate whether sved games (or even a majority of them) were with the person ahead, even, or behind.

burper

when will your new server be ready? do you have a business plan in mind?

don

Jake, RepBot only has access to the saved games database, not the scores or positions of the saved matches.  See http://www.fibs.com/savedgames/list.html .

A FIBS lookalike had implemented what you want, with the "show saved <name>" command showing what you see when you do it to yourself on FIBS, as well as an "oldboard <name> <name>" command.  The server was NOBS but it doesn't seem to be up anymore.  Without more access to the FIBS database, which is unlikely, what you ask is not possible.
So many string dimensions, so little space time...

burper

It is possible, via the look command, but that is more complexity than don can handle.

don

Quoteburper Posted on Aug 28 2006, 10:17 AM
  It is possible, via the look command, but that is more complexity than don can handle. 
I'm not aware of any way to use the look command to view someone's saved matches.
So many string dimensions, so little space time...

burper

If a bot used look before it was saved... ah but I knew you wouldn't get it.

Oh wait, its' about you being right. So go ahead and re-define the problem statement to suit whatever argument you're trying to have, win it, and we'll all stand back and cheer. Well played. don beats don every time.

don

ROFL.  I was wondering if burper would bring up that possibilty:

Quoteburper Posted on Aug 28 2006, 07:44 PM
  If a bot used look before it was saved... ah but I knew you wouldn't get it.

It would be possible to have a bot hammer FIBS continuously, cycling through every game being played, to keep track of the most recent position available to the bot!  Without bringing up the "blind" command, I'd think such a bot might approach measurable levels of FIBS activity such that it might affect packet-transfer rates and general performance of FIBS in terms of speed for the rest of the users.  (hmm, right now about 30 matches being played on FIBS, and I'd assume for any kind of accuracy of such a bot, 30 packets into and out of FIBS per second?)  In any case, it is impossible for such a bot to achieve real-time capabilities.

Meanwhile, the question was, unless I am mistaken, how snowjake can can find out the current leader in saved matches.  Unless burper or someone else wants to write such a bot, the "look" command is useless, as I said before.  In any event, without access to the FIBS database, it's not practical.

This is particularly amusing coming from Burper, one of the worst abusers of RepBot.  In my short complaint list, other than the obvious duplicates I've got from HoneyGirl(2), NIHI(3), Mort(2) and vic(2), the last time I checked I had four from Burper:  aristoF, CantBuyAThrill, nutcracker, and thefog.  This was a few months ago, Burper may have added more fake IDs since then.  This also makes my point that the subjective factors of RepBot make it exploitable by the worst of FIBS.

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

burper


burper

#8

Still no constructive information from don, so as usual, I will have to forge ahead myself.

Quote
ROFL
No justification given, just don laughing at himself I presume.  Or perhaps this makes a point and proves something inferiors such as myself don't understand (which I am sure is dons' perspective).

Quote
I was wondering if burper would bring up that possibilty
Ah yes, don is always 6 steps ahead of me. ROFL.

Quote
It would be possible to have a bot hammer FIBS continuously
Of course, but who said that was a goal? I don't doubt you can think of no better implementation don.

Quote
Without bringing up the "blind" command
Of course you don't want to bring up things you can't address.
If someone has blinded such a robot, that gives you great information, AND saves the precious bandwidth you think is in such short supply.

Quote
30 packets a second
Wow, you actually think there are 30 moves per second on FIBS with 30 games in progress?

Quote
for any kind of accuracy
That statement lacks accuracy. I don't think you would know what accuracy was if it bit you in the rear. How about an accuracy of "none"? Duh. And you call yourself a computer scientist. Tsk tsk.

Quote
real-time
Another term you apparently have no knowledge of. BTW, this bot would be communicating over something called the "internet".

Quote
Meanwhile, the question was, unless I am mistaken, how snowjake can can find out the current leader in saved matches
Exactly as I predicted, re-defining the problem statement to fit your argument.
As you are so fond of saying to everyone else: "scroll back". See the word "indicate" that snowjake used? Look it up.

Quote
Unless burper or someone else wants to write such a bot, the "look" command is useless
Of course the bot would be useless unless someone writes it first!!!! Wow.

Quote
as I said before
yes, we know you were being stupid before too. And you will again. Or was that supposed to add weight to your argument?

Quote
This is particularly amusing coming from Burper, one of the worst abusers of RepBot.
...and here don goes into off-topic land, proving he has an axe to grind and nothing useful to offer.

So, ignoring don and his issues, one could write the bot a couple different ways at least: have it take requests from users that suspect they may be soon dropped. Or a bot that cycled through the games, at perhaps no more than a certain acceptable rate, collecting positions. It could also record the "toggle notify/record" messages to track when games start/end, as well as when people login/off etc...

The bot could might be made to skip matches recently started, where "recent" would be defined differently for different lengths of match. The bot might focus less on users with larger experience, assuming they already have established "reputation". It might focus less on users with no complaints. It might be made to keep tabs on playing speed, and on idle times to further skip matches where it is impossible or unlikely that there is any match update. How about skipping matches where one player has vouched for the other. See? Lots of ways to be "practical" if you *think*.

Yes, it is possible you won't get the very last position for every match, but you would know the score of the match so far, and a reasonably recent position, as well as a match length and duration. You would know when the position was obtained and when the match was saved, so you would know how close to the end it was. It could also show you who has the bot blinded. All of that would give a pretty fair indication of what you want, especially for habitual droppers, all without "hammering" FIBS at 30 packets a second. ROFL. Sorry don, *way* too much useful information for you to handle I am sure, but it was meant for useful people, not you.

diane

#9
Quotehave it take requests from users that suspect they may be soon dropped
That certainly seemed useful to me - and was kind of on my mind when I made the post of the oldboard on here recently.  It is nice to have that record of the game you are left sat looking at  - wishing the world could see what you see (even if - like in that case - you arent certain it is a drop).  One classic MO at fibs is the passive drop - the 'I wont drop - I just wont move until you drop' (made infamous, I think, by janana), but to be able to call upon the bot to have a look and record the moment would  - I hope - help to eliminate that little issue.  One little issue down, a hundred to go - but as we all know - a journey of a thousand miles starts with one step.....

As for the don rubbish - cant we just have a sensible discussion and pretend he isnt trying to gain attention in the background??  ;)

SOMEBODY call the firebrigade - I think I see *flames*  :lol:  
Never give up on the things that make you smile

socksey

QuoteSOMEBODY call the firebrigade - I think I see *flames*

That was a figment of your imagination!  

Imagine this burper.  Knock it off, please.   :rolleyes:

socksey



"Television is the first truly democratic culture, the first culture available to everybody and entirely governed by what the people want. The most terrifying thing is what people do want." - Clive Barnes    

burper

#11
ok, constructive from now on. at least in this thread.
just reading about padski's work with cocoafibs, and diane 'thousand steps' comment and it made me think:
if just the request based bot existed, and clients began adding a feature to sense the near end of a match and auto-request...

socksey: remove that "Way5" posting, it is spam.

webrunner

Quotesocksey: remove that "Way5" posting, it is spam.
A simple "please" would have done the Job Burper..
"There is a difference between knowing the path and walking the path."
Bruce Lee
===================================
Orion Pax |

burper

Quote
Quotesocksey: remove that "Way5" posting, it is spam.
A simple "please" would have done the Job Burper..
Wrong. The "simple" command worked with much less typing.

burper

#14
Initial experiments have been promising. The secret sauce will be the optimizing of priorities for which matches to look at during the next cycle.

So far, I assign a frequency metric to each match based on:
  • -minimum experience of the two players (more exp means less chance of dropping. ok, somewhat weak, but easy to compute)
  • -how often they have played each other before (stronger factor, but not enough accumulated data to have a large effect yet)
  • -if blinded, frequency=0 (noone knows about the bot, or that it is looking, so noone has blinded it, but this should help a great deal if/when they do)
  • -if either user is 'away' frequency=0 (not often, but easy to do)
Then, during each cycle, I factor this in with how long ago each match was last updated.

The bot gets board states of all "potentially dropped" matches (logoff/disconnect when player was engaged) no older then 30 seconds from the drop, and most are within 10 seconds.

The bot currently executes ~48 look commands per minute.

More frequency factors for improvement coming:
  • -number of losses each player has had
  • -matchlen,score,cube, i.e. less frequent for longer matches recently started, and more frequently for shorter matches with larger elapsed time and cube values (partially relies on previous board state)
  • -adjusted higher based on player idle times
  • -number of saved games (from fibs.com/savedgames of course)
  • -reputation/complaints/vouches, but that's going to be harder to get in the short term
Webbie, would you like to host RepBot_II ?
It will probably require some web front-end for viewing the data in a nicely formatted way. Being able to access a summary line right on fibs would be nice, but I haven't thought about how that would look.

Maybe don has some constructive ideas?

socksey

#15
QuoteWrong. The "simple" command worked with much less typing.

Wrong.  Sorry to disappoint you, but your "command" had nothing to do with my doing my job.  I removed the spam when it was convenient to me to do so.   :P

Burper, I'm sure your work will be appreciated eventually.  Thanks for your efforts.  Wish I was bright enough to understand most of what you are expaining.   ^_^  

socksey



"The men that American people admire most extravagantly are the most daring liars; the men they detest the most violently are those who try to tell them the truth" - H. L. Mencken

diane

QuoteThe bot currently executes ~48 look commands per minute.

More frequency factors for improvement coming

It will probably require some web front-end for viewing the data in a nicely formatted way. Being able to access a summary line right on fibs would be nice, but I haven't thought about how that would look.

Because we are all agreed that once dropped, it is no longer possible for the bot to 'look' at the match, and that most fibs users use a 'fancy' client of some sort  ;) rather than just telnet - and actually it may even be easier with telnet..The client holds the oldboard as much as fibs istelf does - could a client be asked to send the 'oldboard' data to the bot?  Obviously if this is possible it requires the goodwill of all the programmers who have written and maintain clients - but could this be the next step towards accurate and unbiased dropper information?  Or is it too possible for a user to manipulate what the client sends to be a good way to go (course I am still assuming it is possible at all :D )

Oh, and WOW to what you have done already... :yes:  
Never give up on the things that make you smile

padski

Quote
just reading about padski's work with cocoafibs, and diane 'thousand steps' comment and it made me think:
if just the request based bot existed, and clients began adding a feature to sense the near end of a match and auto-request...
Adding a feature to send a request should be easy, and I would be happy to do so.

Do you have something in mind for sensing that the end of a match might be near? The first thing that comes to mind is to use some match/game position evaluation, and then perhaps tune from there.  

Is there any reasonable simple counting technique that provides a reasonable approximation to a thorough analysis of winning chances for the full lifecycle of the game (as opposed to being optimised towards, for example, bearing-off) ?

I'm would guess that many/most drops will tend to cluster around a point which is a function of mwc and pip count, where pip count would be fairly low, so likely just pip-count would make a good first cut, and may even turn out to be the better guide in the long run.

Or perhaps clients could use a request function to effectively 'bank' gains in position.  

There is some overlap here with the idea of having types of reports.  Even information gained after the event, without the gold standard of fibs or a bot being the observer, could be very helpful.  A report which included the match position, game position (or even just pip count), and/or info like style of drop, responses to requests to resume, etc. might help to bootstrap the effort of characterising dropping behaviour to know better when to sample or request a witness.

What format would you want (if you wanted!) to take such reports in, something like the fibs output, yes ?

A bot which talks to each player unfortunate enough to start a game with an identified dropper might be amusing, especially if it can charcterize the dropper's behaviour: "your opponent TRUST_ME passive drops when gwc falls below 30% and opponent pip count is less than 40. responds to requests to resume with tells of 'blow me'. 17 recorded offences (with 98% confidence) in the 2 days since the account was openned. 95% of acounts in the originating network opened in the last 2 weeks have been droppers.  Your chances of completing your match with a win are estimated to be 0.01%.  This has been a public service announcement, Thank you. Have a nice day." :)  

I would think that with enough data your system would also have the potential to do a good job of distinguishing between malicious droppers and those with lousy networking.  The same data would enable a number of other possible analysis, like move rate for example.  That would be handy for when donz goes on holiday :)

It is heartening when you see a dropper change his/her ways, which is something the community does with some success, but which this tool so far addresses only indirectly.  I can't help wondering what goes on in the mind of a dropper?  

Does having a "Droppers Anonymous" forum on fibsboard sound like a silly idea? :)

I'm also thinking that implementing an auto-drop feature in a client might help to make dropper behaviour more predictable ;)

padski

Quotecould a client be asked to send the 'oldboard' data to the bot? .... Or is it too possible for a user to manipulate what the client sends to be a good way to go?
As I've indicated, I think this is a good idea :wub:

Coupled with a bot (or other third parties) already capturing information about the game, forging a plausible game or position is a significant hurdle, and the bot only needs to retain the fact of where the data came from for it's authenticity to be open to scrutiny later. Certainly the fact that the data is what a player claims, rather than unquestioned truth, remains important.

In the worst case I can immediately think of, such a facility could lead to an arms-race with a clever prankster, which might cause commotion and divert attention from more pressing needs, but in the long run a good reputation service should be fairly robust even in the face of such an attack.

Similarly, it's hard to see how abuse of such a facility could be used as effective weapon in an attack on an individual or group.

The positive benefits of such a facility would seem to me to outweigh this risk, and I think the existing repbot facilities have already been shown to have bigger holes.  It would be prudent to consider the possibilities further, but there will be ample time for that should such a service start to come on-line.

Such a facility does raise the important question of how the service can best present such data to users and clients?  It's not hard to imagine an api that would make all the data accessible, or even client support that would make surfing around the rep data, viewing positions, etc. easy, but the primary use case has to be for accepting/declining invitations, yes?  at which point some kind of summary is required, presumably using some kind of web of trust type caulculation.  The strength of that web of trust then becomes quite important to the abuse question.

padski

One more thought: it's interesting to note the paralells between droppers and spammers.