One of my biggest obsessions is simulating a social human. Over the years, I've come up with literally hundreds of algorithms. Some have actually been fairly impressive, but they've all lacked the human balance between interest and disinterest. My last post on this matter was here, and a more popular set of posts were about hitting on girls and why famous people tend to be wack-jobs.
There was some key ingredient between all of these. Something missing which can combine to let me simulate all three things with reasonable humanity.
It's so simple, but I don't think I ever plugged it in before in quite this way.
Every time you talk to someone, that's a transaction cost in the form of time spent. In addition, transaction costs cover the chance of being shafted. This "I don't want to be shafted" transaction cost depends highly on whether you think you're going to be shafted or not.
I have a high transaction cost when I talk to lawyers, middle managers, and beggars. I've never gotten anything of value from any of them, except one lawyer, and I think he was still a student. The continuous shafting leads me to think them untrustworthy.
If someone seems trustworthy, this transaction cost drops. If someone seems iffy, the transaction cost rises. Moreover, the transaction itself is tilted. There is nothing a beggar has which I want, so not only is the transaction cost quite high, but the transaction itself is worthless!
This is why successful beggars do one of two things: they either try to cheer you up (either emotionally or egotistically), or they threaten to waste your time. And every moment wasted is multiplied by that freaking transaction cost, so it doesn't take long for most people to realize that continuing to have time siphoned away is MORE expensive than just giving the guy some money. On the flipside, the cheering you up thing makes it seem like they've performed a service - and maybe they have - and are deserving of a few cents.
But this is universally applicable.
A famous person's transaction costs with normal people are extremely high. Not only is he unlikely to get anything of value, but they are very likely to open negotiations - negotiations he know will be of no value! Therefore, it is in his interest to limit this. (The math for the 'likelyhood of having people open negotiations' is actually quite simple: the transaction costs for interacting with a given area/subset of humanity. Not all transactions are with humans.)
One method is to never run into hoi polloi, thereby limiting your exposure to this idiocy (don't make the 'interact with that unit' trade). Another method is to radically increase THEIR transaction costs by telling them - with body language - that they will get nothing from you. This can vary from a brush-off to being a total ass. It depends on which level you want to attack it at.
How about hitting on a girl? The girl's first impression of you is measured against her own relative value. Depending on her resources of this nature - IE how many guys hit on her and what mood she's in - she'll have a higher or lower relative value. The transaction cost of bantering with you is rather close to just the time she spends, but if she doesn't value you very much, it's wasted time. A low transaction cost with no potential reward is still a solid negative.
The boy who begs, who comes on strong - he's seeking to lower transaction costs. This is natural, because he generally has good responses with small lowerings. A show of affection here, a flower there - these signs of affection lower transaction costs by assuring the girl you aren't likely to forget or betray her. (This also works on platonic relationships, although probably not using flowers.) But if the girl doesn't value you, it doesn't matter if the transaction costs are dropped all the way to flat time (the lowest they can possibly go). The trade ISN'T WORTH IT.
Moreover, by lowering transaction costs like this, you are actually changing the relative value she perceives you at. She will perceive her time as more valuable, and your time as less. If she perceives your time as quite valuable, this isn't exactly bad. But if she already thinks you are worthless, then this just makes you MORE worthless, and an even WORSE deal, even with transaction costs lowered from tiny to miniscule.
This can be simulated. I have the math mostly worked out.
The earlier commentary about making social games revolves around raising transaction costs. By limiting the number of people you can interact with, you're essentially raising everyone else's transaction costs to infinity. However, if you make your transaction costs particularly high, there's no need to actually limit the number of people: the cost will do that naturally. And if they want to play a social character, they can buy the expensive feat which lowers the transaction costs.
It's been several years since I worked out the math for simply determining who likes who. But I've never before been able to figure out how the whole "I love you/trust me" thing could be simulated. (This really screwed up some of my RPGs... :P) I tried using trust, I tried using loyalty, I tried all sorts of stuff, but it never quite worked.
I feel like this WILL work. Better, at least. And, if I can get my emotion thingiemabob running, it'll look incredible while it works.
By the way, in addition to friendships and business deals, this can be used to create realistic simulated courtships and so on. It's really a surprisingly robust system. Much of modern technology - such as credit cards and dating services - are built to lower the transaction cost by making it less likely you'd be wasting your time. IE the transaction costs of "trying to get a date" are significantly lower when using a dating service than when asking random cute girls. Plus, it also takes less time.
The difficulty in simulation is actually the "not just humans" bit... but I think I've got it hammered out.