Archive for Computers

Artificial Neural Networks

(ELOG 7 for CS3790: Cognitive Science)

Artificial neural networks are kinda nifty. To learn more about them, I thought I’d try playing with one. Here’s a couple of the places I tried: Blackjack with Reinforcement Learning and Java Mouse Neuron Test.

The first site uses an ANN to learn how to play Blackjack. You can start by playing alongside the computer in real time. The computer plays randomly at this point. If you want the computer to start playing better, the computer needs some alone time to get to learn the rules a little better. I set it to a 1000 learning episodes of 100 games each. As you run through the training you can watch the computers win average improving. It steadily goes from about 30%, which is about what you get playing randomly – to 40%. It then sits around 40% slowly improving. It’s impossible for the computer to really get above 50% since the game’s odds are weighted in favor of the dealer (the applet doesn’t account for pushes or splits).

It’s interesting how with just a few training episodes the computer can start really playing a better game. It’s hard to observe the overall difference playing as hands as slowly as a human needs to, but you can see the computer making more informed decisions after the training. ANNs are kind of nifty like that.

I decided to try to improve the training. I experimented with different values for winning and losing weights. Trying to find the right balance of reward/punishment to encourage learning in the quickest manner possible. I found weighting a win heavier than a loss was a quick way to favor learning, since losing is expected over 50% of the time any way. Weighting the wins too heavily did cause a lot more oscillation however, since the network started to think it understood what was going on just because of a chance win more often.

The other ANN I played with didn’t have any sort of training whatsoever. The associated paper discusses designing a neural net that learns more like a person and less like a computer with the hand of god involvement you’ll typically see. In the real world, there’s not someone to tell you every time whether you responded correctly or not, so the network was designed to learn in whichever way it desired, without a person telling it whether its actions were correct or not. I was able with a few tries to get the mouse to start to circle the goal without any sort of training whatsoever. I’d like to play around with this idea further – no training ANNs…

A-Life

(ELOG 8 for CS3790: Cognitive Science)

Artificial Life is an interesting concept. The idea is to make computer programs that model life in interesting ways and study them with the hopes of learning more about the process of evolution itself. For example, some A-Life programs start with a single creature programmed to learn about its environment and adapt. These creatures soon develop complex strategies that were not originally programmed. This is the case in the classic example of Animats.

The other possibility for A-Life programs is simulating entire ecosystems of artificial life. These I find more interesting, because they more often include genetic components and simulate natural selection. One such simulation is Noble Ape. I downloaded it and gave it a whirl. (Download Noble Ape Here.)

It includes all sorts of features, including weather simulation, random maps, senses for the simulated monkeys, etc. It even shows a simulation of their brain. The program even allows for scripting the monkeys to give them certain characteristics. All in all, it’s pretty fascinating watching the monkeys roam around trying to learn stuff.

The interface is kind of a pain to learn to use. The monkeys have several variables that define their overall behavior – including energy levels, fear, desire, along with location. These are presented in a sort of nonsensical array of gauges that don’t really make sense at first. It takes a little bit of practice, but it becomes easier to understand what is going on and you begin to see how their programming is really affecting their behavior.

A-Life doesn’t just focus on such complicated models though, it can also deal with simpler models. Lotus Artificial Life has some such examples. From the simple rules of the automata they have created, complex shapes and self replicating automata will form. This kind of study focuses more than the previously discussed examples on the effects of evolution.

Dropbox

Recently my friend Mike was looking for a service to sync his documents between his laptop (Linux) and his desktop (Windows). This is often a tricky problem involving a USB stick or something of that nature, but he wanted something more automatic. I told him I knew of nothing that would quite fit the bill.

Of course, my other friend Tom decided that there must be a solution out there somewhere and did some googling. He found this little gem:

getdropbox.com

I don’t really have to much need for such a program, but I decided to download it anyway. I must say it is rather nifty. After installing the program and registering it to your account, you are given a folder that represents your Dropbox. It acts just like any other folder in your filesystem except for one very important rule – in the background the Dropbox program is constantly checking for updates to the folder and updating as necessary. After syncing with the online storage, any other computers running dropbox and set up for the same account will see and automatically download changes.

But that’s not all! Since it all works by syncing remotely, you also have the option of logging in through the web interface to download files you might need without having to install the program on another computer. It also can help you undelete or roll back changes.

But wait, there’s more! Not only can you log in and get access to your files, but you can also put files into the public folder in the dropbox and share them with friends via a link. Or you can put the files in your photos folder and create a gallery that can be viewed in slideshow form.

And that’s not all! You can also invite users to share folders in your dropbox. Then any of them can make changes and everyone will be able to see the changes instantly. That’s really sweet for collaboration on a group project.

So, if you’ve ever been wishing for an easier way to keep files in sync between multiple computers or for a way to instantly share some of those files with friends without having to upload to something like flickr, look into dropbox. While it’s in beta, you’re limited to a free 2GB storage limit. They have plans to offer a paid 50GB storage limit down the line, once testing is complete.

MarsEdit

I’ve been updating my blog a decent amount lately. To do so, I’ve been using the blogging software known as MarsEdit. WordPress comes with a web-based system for posting, but I find a desktop application to be far more effective for meeting my needs in an application.

MarsEdit meets my needs pretty well. It allows me to save drafts locally and work on them when I don’t have an internet connection. It also allows me to drag and drop pictures into my posts with no additional work. I can literally drag a picture from wikipedia and drop it into the edit box, having it come out as it did in my previous post for Cog Sci. It handles all of the uploading and resizing automagically.

MarsEdit certainly isn’t the only desktop blogging application. I’ve tried a few others before. Mainly Ecto, and a bit of Blogo. I feel MarsEdit has the cleanest, most useful interface I’ve encountered though.

It does come with the unfortunate price tag of $29, which seems a little steep for the amount of use I personally will get out of it. (Seeing as my blog only stays active about one month a year.) I’m not sure if I’ll find myself buying the full version when my trial expires, but if I don’t, I think I’ll have a hard time replacing it. Bottom line, if you need to make posts to a blog on a Mac, wish to avoid using the web interface, and are willing to pay some money, MarsEdit is definitely a worthwhile tool.

Oh, and I forgot to mention the nifty Flickr integration, which doesn’t affect me a whole lot, since I rarely post to flickr, but it can upload your images to your Flickr account before dropping them into your post.

Windows Vista

Windows Vista. The newest offering from Microsoft. Software just very recently released from a company that has a bad habit of releasing software that needs to be out a year or two before it’s stable. Naturally, I decided to install it on my brand new, super awesome computer. Why? Mainly because I had a free copy lying around and wanted to give it a test drive so that I could tell other people what I think.

 Yes, you read that right. I care so much for your well-being that I installed a Microsoft product on my computer. Now, when you come up to me and ask me “I was thinking about getting Vista, what do you think?” I can respond without simply making broad generalizations about how Microsoft steals everything from Apple, always writes insecure stuff, and Windows generally needs to be avoided, especially if the version hasn’t been baptized in the fire of a thousand hackers and virus writers.

 Now, instead of making all of those somewhat lame generalizations, I can give you my true opinion: “Meh.” That’s right. “Meh.”

What exactly does “Meh.” mean though? Granted, I’ve only had Vista for a few weeks, now, but that’s long enough to see what issues I have with it. To be honest, I haven’t had as many as I expected to have. I would have loved to have been able to say, “Yeah, Vista sucks more than I possibly could have imagined,” but that’s just not true. Vista does have its weak spots though.

 The first thing one might notice is that trying to use an account with limited access and keeping an admin account separate is annoying. For security purposes, it is a good idea to not constantly be logged in as an administrator, because then you aren’t able to do things that might break your computer. Microsoft has taken a step in the right direction for this too. In XP, it was so painful to do things the right way that you just made your main user an administrator. Now, with Vista, you can actually be a limited user without feeling crippled. The unfortunate side effect is the constant nagging and asking for the admin password for all sorts of tasks, which can get old pretty fast, but doesn’t happen enough to make it unusable.

This stricter control on access rights can cause some issues with programs not ready for it though. I’ve personally had trouble uninstalling a botched installation of Firefox. It will tell me to input my admin password to continue uninstallation, and then tell me that I don’t have permissions because I need to put in the administrator password.

 Some other things that bother me are more cosmetic. For example, the start menu has a button that should shut down my computer, but instead the button puts it in sleep mode, which leaves my computer on. There seems to be no easy way to make this button act as I think it should though. Another thing that bothers me is that when I have two monitors plugged in, Windows can’t figure out how to put a different background on each monitor. This is a purely cosmetic matter, and won’t affect many people, but the fact that they completely overlooked this (something that’s so trivial to accomplish in the Mac universe) makes Vista seem just a tad unfinished.

There are a few other details that aren’t so much annoying as different from XP. The file structure is a tiny bit different, and many things have been moved around or changed a bit. These aren’t bad, it just takes a while to get used to.

In the end it’s not the big things, but the smaller things that make me displeased with Vista. Over all, it’s quite usable, even a bit more usable than XP, which is good, since that means they’re making progress. It’s still a Microsoft product though, and it certainly has its own flaws.

« Previous entries Next Page » Next Page »