Powered By Blogger

My Blog

One new concept a day (at the least). One new thing to explore in the exciting world of Computer Science each day. That's the Programmer in Training promise :P

Code and learn, boys. Code and learn.

Search This Blog

Saturday 8 March 2014

Cognitive Systems

Quite recently (yesterday, according to the time of writing this), I attended a rather interesting lecture on Cognitive Systems and Computing, by this dude named Ravi Seshadri from IBM. He spoke about the use of cognitive computing, or "thinking" computers, in analysing big data patterns and providing solutions in unstructured languages, like English. He went on a bit about Watson and its applications in computing, optimizing transportation systems, etc.

Now cognitive systems can allow us to interact with computers in natural languages, like English. Soon, you could probably tell your computer to make your coffee extra strong, and it would send the correct set of instructions to the coffee-maker to electronically brew your coffee just the way you like it. You could call out to your computer to book your air tickets, to wash your laundry, and so on and so forth.

Or can you?

Let's back this up a bit and see how we make the computer follow our instructions now. We see that we have to write our instructions to the computer in a painstaking, alien-like language that just barely resembles English. We give the label of 'high-level language' to those constructs and we call the people who can 'speak' this language as programmers. But there's a fundamental difference between this and our 'normal', unstructured languages: it's just that - they are structured. This means that we can give exact, precise instructions to the computer and the computer shall follow those orders to the letter - no more, no less, the ideal slave.

Now what happens when you introduce unstructured languages into the mix and develop on cognitive computing? The computer shall end up with the same fallibilities as that of a human. Develop the computer's database and information-acquiring algorithms enough, and what we've got on our hands is essentially another human, albeit one who can alculate really, really fast. Now this 'intelligent' computer will make the same decision errors as we do: when we can't decide what we want to eat for breakfast, how will the computer?

So the question is this: will using unstructured programming and natural language processing compromise on efficiency?

PS: I'm pretty sure that this entire post has been rather vague and hard-to-follow. But... that's the point. You see, I'm human - nowhere exact or precise ;)

First post (thought of trying a fancy title, but meh)

Right... so where do I begin...

Hi, I am Siddarth R, and this is the first post on this blog that I created several years ago. As I recall, there were some rather inane posts on this page which I promptly deleted recently when it was brought to my attention that I actually did have a blog (I had forgotten all about this page). I'm blogging for no real reason, mostly pure boredom and the fact that I want to speed up my typing. I recently bought this AMAZING keyboard from flipkart.com. It's called the TVS e-Gold Bharat. Some of you might recognize it as the keyboard Jesse Eisenberg (playing Mark Zuckerberg) in the movie 'The Social Network' uses during the scene where he creates FaceMash (I'm not entirely sure about this information, but it was told to me by a friend who is more or less reliable with these fact tidbits). Anyway, I'm just trying to get some practice on this keyboard at this moment, so that's all the reason I need for these posts.

Right, so this blog is going to contain anything and everything that goes through my mind at the time of writing, but not necessarily at the time of posting, though I will try to keep those times close. I am a student of the National Institute of Technology, Tiruchirapalli, India (quite a mouthful, innit? Call it NIT Trichy for short (that's TRICH-ee for those of you who need pronunciation guides (PS: I will do a lot of bracket nesting like this.))) pursuing a B-Tech Computer Science and Engineering degree. This blog is more or less a way to express my thoughts, my opinions and my experience throughout the course of the next four years (I imagine there will be a lot of moments of utter and absolute boredom, in which cases I will turn to writing this blog.). As I will be making hardly any edits to this writing (other than spelling and basic grammar as I type), don't expect some stellar reading material here. I'll try to keep my posts engaging, but as I am writing this as I go, with no prior preparation or further edits, what you are reading is pretty much the current state of my mind.

A word of caution: pertaining to the previous sentence, there will be moments when I am writing this blog while I am quite frustrated or angry, in other words, when I am pissed off. At those moments, slight NSFW language may just creep in. Therefore, please go elsewhere if you are looking for a blog that mimics the vocabulary of a kindergarten classroom, or if you are less than 11 years old. That said, if you just have a problem with how people express themselves on the Internet, and believe that free speech should be stifled in keeping with child-friendly protocols or some other bullshit, then fuck you.

Having said all that, I welcome criticism and debate on anything and everything I post. There will be opinions raised, there will be personal views and reviews, there will be abstract concepts that I don't know much about (but which I am willing to learn). The more the activity, the greater the opportunity for learning, or so I have always believed. So help me to learn and challenge whatever I post on this blog. I would particularly enjoy it if you could correct any spelling or grammatical miskates I has made. Above all, the ability to communicate effectively is important, and I believe all of us can try to take that a couple of steps forward.

Thanks for reading.

Posted:
8 March 2014, 3:45 pm IST