Algorithm complexity - RC Groups
 This thread is privately moderated by Jack Crossfire, who may elect to delete unwanted replies.
Oct 13, 2013, 07:12 AM
Registered User
Discussion

# Algorithm complexity

For a good time, go to:

http://ocw.mit.edu/courses/electrica...ecture-videos/

Pretty intimidating material. Only watched lecture 4 & it started out understandable, but when he got to analyzing complexity, it fried my brain.

Before 2010, job interviews emphasized experience. Show us what you've done & demos. There was very little theory.

After 2010, job interviews resembled lecture 4 a lot more. Show us the complexity of an algorithm. Optimize a sorting algorithm without the aid of the computer or Goog searches that you would have in the actual job. They wanted a lot more theoretical knowledge & there was little value to experience.

Clearly, the people getting jobs had mastered the very intimidating material. Everyone who founded a startup that got bought out & made them rich had mastered the theoretical material.

1 problem is they've been overwhelmed with applicants since 2010 & have to resort to very difficult interview questions that represent nothing about the job, just to weed through the noise. The other problem is technology has gotten a lot more algorithm focused, after 2010.

Most people in the workforce now are designing algorithms that analyze massive amounts of data, intelligently determine what advertizement to show, intelligently determine what newsfeed items to show, intelligently plan a route for car navigation, intelligently drive a car, develop intelligent responses for a program like Siri.

There's a lot less pushing of 1 button to make a machine perform 1 response like we did in the 1980's. Now you push 1 button & the response can be anything or nothing, based on massive history of other inputs that came into the machine over its lifetime or the machine takes action independent of any user input.

Algorithm design seems purely focused on searching & sorting data. Maybe every problem can be reduced to those 2 functions. Finding ways to do those 2 things faster is the key to everything from memory management to video compression to flying robots.

Maybe analyzing complexity is what people with modern jobs do all day or maybe it isn't. Maybe facebook & goo tube are fighting a shortage in clockcycles that requires maximizing the theoretical limits of heap sorting. With all the emphasis on interpreted languages like php & ruby, you'd think clockcycles abounded. Maybe it's because interpreted languages are all that's available that they're trying to optimize algorithms as much as possible.

The way I've been designing flying robots has been very deterministic. 1 stimulus produces 1 result. They don't analyze their entire history of data to determine the next move, like youtube.com does. They don't create a completely original response to a repeated stimulus, like amazon.com does. Modern software doesn't play the music you tell it to. It's aware of its own situation & tells you what music to listen to.
Last edited by Jack Crossfire; Oct 13, 2013 at 07:26 AM.