Hi TL, this is my first blog on the site, so please let me know if I have gotten any of this wrong. x_x
As the title says, I just think that the field of CS is mind-blowing.
I'm a final year CS student at a top 30 university in the UK, just beginning the grind that is the final year project + dissertation.
I'm creating a Multi-agent based traffic simulation to model traffic junctions and the behaviour that happens with them when you shove AI into the environment, accompanied with various environmental variables such as traffic lights with a certain timer, or a lane closure on a 4 way traffic junction.
When I picked the project, I began reading a book on the ideas behind multi-agent based systems. It seemed rather interesting, coupled with some lack of knowledge on the maths notation that was used in the book, I entered this university year with an open mind of what may happen with this project. I was surprised when I was told by my tutor to look at a specific paper that she had emailed over to me.
Labelled "Traffic at the edge of chaos", it blew my mind with things and changed truly how I thought about traffic and pedestrian systems.
I had never thought about chaos and chaotic systems being anywhere near related to vehicle traffic on a road, or pedestrians travelling through a busy airport.
Ever since I read that academic paper on chaotic systems and traffic, I've been thinking about criticality and traffic, and how these small things can make a huge or chaotic effect to our local environment as a result.
Computer Science has truly opened my mind to all of these new concepts and topics about our world.
If any of you are curious about what my project really means I'm doing. Look at this link, it will work like this. http://www.traffic-simulation.de/
Please don't hate me too much if any of this is bad. I'm a perfectionist by nature but I've been enjoying a drink this evening, watching IPL and talking to my girlfriend. Just leave me some nice feedback and I look at it when I'm sober and can quantify what I need to do to fix the problems
P.S. I've got a song stuck in my head right now I want to share with you guys.
haha, i was playing with stimulation, traffic manages to flow alot better when i set politeness to 0 ><. but there were alot of cars stopping in very short amounts of time. in the real world, that = crash. also, chaos theory ftw :D also, i dont know what -form- in "sixth form" -pStar october 09 2011 07:33 means. clarification plz?
I'm a phd student working in machine learning/AI. I occasionally dabble into multiagent stuff, as one of my advisors specializes in the field. Glad you're enjoying your project :D
Computer science is the future of the world, imo! one day everything will be controlled by computation.
2nd year comp-sci student here and even though I'm not through the basic courses yet (just finishing off a course in microcomputing right now) and I'm having my mind blown on a weekly basis on how fucking smart people are. The solutions they find to problems no one has ever heard of, or will hear of thanks to the awesome programming/design of another person.
After this I'll have my first algorithm-course. Hoping for it to be a good one since algorithms are just so damn interesting!
I'm doing my master's on traffic modelling with microsimulation. In my project, I have a somewhat simplistic way to pick a route for each individual (shortest path from every node available at distance 1 from current node, then logit choice model to pick the path) but this doesn't really reflect imperfect knowledge of the system etc, so Incorporating artificial intelligence to model the behavior of each individual seems like an interesting idea. Can you forward me that paper you mentioned along with any other source of information on the subject please ?
@Julmust: Algorithm courses are amazingly interesting in my opinion. You get to learn so much more about why memory use and speed of an algorithm is important, added with some maths to back the statement up. I wished we did even more than we did in it. T_T
@NinjoOb: My project is focused on a singular junction with the option to change said junction to be a roundabout, 2 lane, 4 way junction, single lane junction etc etc, so the complexity of finding the shortest route between A and B isn't needed for this.
The incorporation of AI into each individual vehicle doesn't get covered in the paper on chaos theory and traffic, but this is just one paper of many that I am meant to be researching. If you can give me an email address to send the paper to, I'll send it to it. The AI part of the project essentially encapsulates each "vehicle" as an "agent" of the system, and that it reacts to the environment around it, and performs state transforming functions upon itself each time tick that goes by, and that state transforming shows progress to the user of the program to see how the AI is reacting to the environment around it.
I could go on for a long while about it, but that's not the time nor place to do so. x_x
I was thinking of changing into comp sci in university. I'm in my second year of psychology but I just keep losing interest in everything and think maybe comp sci would be a great mix of my love of algorithms and creating things. I was wondering what the math requirements were like, and how hands-on things can get. I have quite the history with some really basic computer programming stuff. In grade 8 computer class we got to input commands and create our own program for a sprite to execute. It was basically "if x then y" and stuff like that which could get more complex. The whole class finished the basic assignment but I kept going. Something drove me on to create new things, to make more and more complex algorithms.
I later learned some random stuff like HTML(designing webpages on geocities and neopets lol ) and condition & effect through age of empires(the scenario editor could do quite a bit albeit a bit primitive. I really loved just fooling around with setting up condition/effect kind of stuff and figuring out how to make certain actions trigger changing a unit's HP or attack, name etc). I've tried reading about some of the more technical stuff, but it seems too heady and dense. Would anyone suggest anything for me to find out more about the beginner levels of comp sci, and importantly something that would tell me if I'm interested in what comp sci really is?
@NinjoOb: My project is focused on a singular junction with the option to change said junction to be a roundabout, 2 lane, 4 way junction, single lane junction etc etc, so the complexity of finding the shortest route between A and B isn't needed for this.
The incorporation of AI into each individual vehicle doesn't get covered in the paper on chaos theory and traffic, but this is just one paper of many that I am meant to be researching. If you can give me an email address to send the paper to, I'll send it to it. The AI part of the project essentially encapsulates each "vehicle" as an "agent" of the system, and that it reacts to the environment around it, and performs state transforming functions upon itself each time tick that goes by, and that state transforming shows progress to the user of the program to see how the AI is reacting to the environment around it.
I could go on for a long while about it, but that's not the time nor place to do so. x_x
:D
Oh I see, still I would be greatly interested in reading about the merge of AI and traffic simulation. I'll pm you my email.
On October 09 2011 11:05 Roe wrote: I was thinking of changing into comp sci in university. I'm in my second year of psychology but I just keep losing interest in everything and think maybe comp sci would be a great mix of my love of algorithms and creating things. I was wondering what the math requirements were like, and how hands-on things can get. I have quite the history with some really basic computer programming stuff. In grade 8 computer class we got to input commands and create our own program for a sprite to execute. It was basically "if x then y" and stuff like that which could get more complex. The whole class finished the basic assignment but I kept going. Something drove me on to create new things, to make more and more complex algorithms.
I later learned some random stuff like HTML(designing webpages on geocities and neopets lol ) and condition & effect through age of empires(the scenario editor could do quite a bit albeit a bit primitive. I really loved just fooling around with setting up condition/effect kind of stuff and figuring out how to make certain actions trigger changing a unit's HP or attack, name etc). I've tried reading about some of the more technical stuff, but it seems too heady and dense. Would anyone suggest anything for me to find out more about the beginner levels of comp sci, and importantly something that would tell me if I'm interested in what comp sci really is?
If you wanted to learn some introductory stuff. I'd pick a programming language to learn, and also look at an algorithm analysis class. Those are core Computer Science topics. From there, you can go a number of different ways. I wanted to do more AI based modules, because I excelled at those in my earlier years of my degree. It is more psychology based in them, obviously, but they are certainly interesting.
I wouldn't certainly throw myself into understanding the P != NP argument if you don't know a lot about CS. I'm just now understanding that problem myself and it's still complex.
So yeah, pick up a programming language to learn, and just code random stuff in it. Find things you would find handy, and then make them yourself in that language, if you can. I strongly suggest Java, or Python as a nice first language. They aren't too difficult to pick up and learn.
I'm actually taking a second ODE class right now that has a good deal of focus on Chaotic Systems. Probably one of the most interesting things I've studied in Math so far.
On October 09 2011 11:05 Roe wrote: I was thinking of changing into comp sci in university. I'm in my second year of psychology but I just keep losing interest in everything and think maybe comp sci would be a great mix of my love of algorithms and creating things. I was wondering what the math requirements were like, and how hands-on things can get. I have quite the history with some really basic computer programming stuff. In grade 8 computer class we got to input commands and create our own program for a sprite to execute. It was basically "if x then y" and stuff like that which could get more complex. The whole class finished the basic assignment but I kept going. Something drove me on to create new things, to make more and more complex algorithms.
I later learned some random stuff like HTML(designing webpages on geocities and neopets lol ) and condition & effect through age of empires(the scenario editor could do quite a bit albeit a bit primitive. I really loved just fooling around with setting up condition/effect kind of stuff and figuring out how to make certain actions trigger changing a unit's HP or attack, name etc). I've tried reading about some of the more technical stuff, but it seems too heady and dense. Would anyone suggest anything for me to find out more about the beginner levels of comp sci, and importantly something that would tell me if I'm interested in what comp sci really is?
If you wanted to learn some introductory stuff. I'd pick a programming language to learn, and also look at an algorithm analysis class. Those are core Computer Science topics. From there, you can go a number of different ways. I wanted to do more AI based modules, because I excelled at those in my earlier years of my degree. It is more psychology based in them, obviously, but they are certainly interesting.
I wouldn't certainly throw myself into understanding the P != NP argument if you don't know a lot about CS. I'm just now understanding that problem myself and it's still complex.
So yeah, pick up a programming language to learn, and just code random stuff in it. Find things you would find handy, and then make them yourself in that language, if you can. I strongly suggest Java, or Python as a nice first language. They aren't too difficult to pick up and learn.
Hope that helps!
Thanks for the help. Actually my dad gave me netbeans (java) a while back but it was a little too much to digest during high school. I'm thinking I'll try to make some codes with that in my spare time and see where I can go with it on my own, while trying to get into either the second level comp courses or intro level at university for the winter.