Thursday, February 21, 2013
Agent Reading and Progress
I've started reading "Developing Intelligent Agent Systems" by Padgham and Winikoff, which seems like a more pragmatic text on the topic - refreshing, given I've spent most of today reading through agonizingly poor conference and journal papers on the topic. It seems that Computer Science has decided to drop the entire field (because let's be honest, Asimov's "I, Robot" showed us that specialized applications of technology beat general-purpose development hands-down), and it's been adopted by Information Systems and Infomatics types - the kind of people who think that "pipes" are an innovative idea, if they could only fit a methodology around using it in their current paradigm, so they could implement a framework *retch*.
Back to the book, though: Padgham & Winikoff use the definition of an agent from Wooldridge (2002), that an agent is a "computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives". Which is a terrible definition, because it requires an extremely specific interpretation of the terms used, or it could easily describe almost all software.
In any event, it's later qualified by a number of additional attributes that the author hastens to mention change the definition from "software agent" to "intelligent software agent": the software must be pro-active, reactive and social. They continue on to add robust or flexible in the event of a blocked/failed goal.
My interest leans heavily on the social aspect of agents: I've been inspired by the concept of Weavrs, software agents that literally exist with their own social networking accounts. While it is certain that automated software agents have existed before weavrs (spambots, for instance), the idea of creating a persona whose role is to digest, process and then publish information seems quite novel. Weavrs, as far as I know, do not taking social input, but do have a social output.
The idea tickling around at the back of my brain is to take this idea of social agents whose job is to consume, process and publish information and to extend the idea into a logical mesh of agents with a fairly transparent communication medium (ala Twitter). Each agent specializes in certain specifically tooled news sources (an RSS agent, a Twitter agent, a Facebook agent, a specific webservice agent), and they share their information both publically and with each other. They can then interact with a series of more complex agents whose role is to digest that information further, and then make intelligent decisions based on that.
Because the variety of different sources of information will almost certainly be providing non-orthogonal outputs (the news headlines from the RSS news feed will no doubt also be tweeted and linked to on Facebook), the agent net will need to be able to intelligently combine information sources into groups of related news - perhaps akin to unroll.me's mechanism of creating email digests.
If this sounds like a great deal of natural language processing, semantics extraction and quite possibly an impossibly complex piece of engineering, then you're now on the same page as me.
As far as I can see, the best way of starting this project will be to start writing a bunch of parsers for each potential "news input" - once I've got processed raw data to work with, decision-making becomes a tangible possibility. I've started playing around with Facebook and Twitter feed consumers, and when they're working I'll put up some code snippets.
Monday, May 23, 2011
OMFG PFRPG!
Pathfinder. You looked so terribly promising.
3.5e backwards compatibility. Awesome new takes on old classes and races. A stunning default setting with some world-class modules.
And then you had to go and let me down with NPC generation. Even 3.5e wasn’t as clunky as this. 4e completely takes you to the cleaners.
I count nearly 30 discrete steps to build a NPC. With no available free (or even decent paid-for) software and a dazzling array of options, building monstrous NPCs for a game is completely ridiculous.
Maybe I’m too much into custom NPC development, but in my 4e and 3.5e games, I’m happy to come to the table with a dozen types of invented NPCs. For every session. In PF, this would be a full time job.
So I’m sorry, Pathfinder. You did everything right for players: lots of options, lots of cool options. But for the DM, you did the one thing that ensured you’ll never get the ridiculous amount of fan-created content that you needed to actually beat the D&D franchise: you made it hard.
In an environment where fan-created content is the lifeblood, and to many fans the reason for the game, you chose to err on the side of being too complex.
I’m not prepared to go through edition wars, but I would like to draw a comparison to 4e: 4e has a half-dozen discrete choices, after which the rest is either up to the DM or rather irrelevant. I can pick a level 5 brute, pick one at-will and two encounter powers and I’m very nearly done.
Please, as a gamer and a creative DM, please either invent a shorthand NPC generation system (if you want inspiration, look to Epsilon's Simplified NPC System for Exalted), or put out some cheap/free software for building NPCs. Because I can’t use your system as it stands now.
Thursday, May 5, 2011
Media Obligations
Fifty years ago, no one would describe themselves as a – geez, what was the media of the time? – dedicated “Man from U.N.C.L.E” fan. Sure, they enjoyed the show, but media was a distraction from life.
These days, everyone has a niche, a specialty. You’re an audio guy, or a series watcher, or a gamer, or a role-player, or a sports fan. Which I think is wonderful and terrifying and horribly bad and brilliant. But most importantly, what it is is different. We’ve defined ourselves by our media.
I came to this revelation recently: I feel compelled to watch series, read comic books, and catch movies because I feel that I will fall behind or miss something great if I don’t. Let me rephrase: I feel an obligation to the media I consume.
What. The. Hell.
This is like when you’re a kid and you’re told to eat all the food on the plate so it doesn’t go to waste. If you’re not hungry, you shouldn’t have to eat. But somehow you have an obligation to your vegetables. What’s up with that?
I think it’s terrible, but I also think it’s wonderful. We’re creating cultures in minutes, something that used to take generations. We’re doing something that has never been done before: we’re finding and systematically attacking bigotry and xenophobia.
Don’t think about this as “those people from the other side of the border are evil/weird/smell funny”. That’s an extreme, and frankly is rapidly on the decline anyway (though is still serious and needs to be addressed). But look at this on a micro-scale: when people are shouting down the trolls who complain about editions of Dungeons & Dragons, or making peace between people who prefer Star Wars and Star Trek, and heck – even showing that people who like Twilight can be respected! – we’re building the foundations of a macro-culture of acceptance.
So I don’t think this is good or bad necessarily, or at least I’m in no position to judge. It is, as I was saying, different. And untested. We’re in space, in a ship with no sensors. We don’t know if the information overload and media obligation is good for us or bad for us. If the cultural saturation will result in humankind becoming better at processing information, or if we’ll melt down under the strain of supporting everything we need to know without the physical and mental capabilities to do so.
Heck, even in my job, I’m juggling dozens of libraries, at least three languages, in several contexts, while searching for likely problems and best solutions. And that’s only one of my projects.
So the point of this post is this: to tie in to my last post, I can’t support everything. So I’m probably going to cut back first and foremost on series, movies and so on. Which is a bit sad, but heck – the man of yesteryear survived without watching a new series every month ;)
Wednesday, May 4, 2011
How to Fit Five Fourths of a Life into One
I’ve been living in Johannesburg for just over two years now. Working for almost that entire time, barring a short hiatus after leaving Qualica, before I started at Entelect.
In that time, I’ve gone from alone, isolated and depressed to excited and satisfied, to where I currently am.
Which is, as the title of this post suggests, trying to fit too many hours into a day. Which is why I’m nearly always sleep-deprived ;)
I’ve now got so many things that I love that I need to juggle that it’s actually coming to a point where I’m going to have to cull interests again. I hate doing this, because I only really get involved in things that I love… and giving up something I love so that everything else I love has the room to grow is really hard.
So at present, I have an active social life, I’m writing again (and blogging!), I’m reading, my spiritual life is picking up traction, and that’s before I mention a single word on technology or role-playing games.
I’m realising quickly that my passion for programming, coding and so on really only extends to when I’m not pouring out creativity every day. I must confess, before coming to Johannesburg I had no idea what hard work was. My Masters was lackadaisical at best. Everything prior to that was just amusement.
Role playing games have been a passion for me since I was very young. Something about the collision of social activity, sublimating and mixing creativity with trusted friends, and good stories attracted me. And I always wanted to be a part of a society where RPGs were the norm. Then I discovered the ZA RPG circuit was… clique-y, and promptly fell into depression and realized that RPGs with friends will always be better than RPGs with bitchy strangers.
So now I’m at a place in my life where every evening is packed. Weekends are barely enough space for me to breathe and recharge for the upcoming week.
This isn’t meant to be a whiney post, but I figure other people have the same thing happening in their lives. I always wonder how you balance trying to cram all you can into the mere 16 hours of consciousness you have. Any ideas?