# Open Source 101

So now that the semester has finally ended for me, I will finally have time to really dedicate to some more studies, and I will be working full time this summer at NineFx Inc in Columbia, SC as a Software Engineer. I wanted to talk about my time at Open Source 101 in Columbia. The main event for me was, the talk about Machine Learning, where an engineer Dan Zaratsian, had shown that a trained neural network was able to tell if patients had cancer, or other diseases solely through images. It was extremely eye opening, to actually see what I’ve been hearing, and the fear that computers will soon be able to do many if not all of our essential jobs. Other than that, I enjoyed many of the talks given at the conference.

In a similar vein, I’ve noticed through my undergraduate career, that there is a movement of the Computer Science degree to continue to devolve into a high volume, low skill degree. I believe that this degree needs to remain rigorous. It is unfortunate that we have been seeing this all across the country. It’s the main reason I picked up a Math major while I’m in University as well. Hopefully it will fill the void of rigor and difficulty that is absent in the Computer Science departments at many universities. Hopefully through continued pressure and lobbying at my university by many of the students and professionals that are either board members or lobby the IAB(Industrial Advisory Board) at the University of South Carolina.

# Travelling Salesperson Revisited

I have decided to come back to the TSP problem. I have optimized my approximation. So first of all, my nearest neighbor was not very good in the previous one. I have fixed it, and now we get really nice graphs to start with. One of the main flaws of what I have is we’re kind of forced to begin in a place for the nearest neighbor(depending where you start it may give you less or better beginning approximation). The other main issue with what I have, is I don’t know if what I have is really any good. It’s sort of a mix mash of heuristics from Wikipedia. I’ll post more some other day, but I have attached the approximations I have been able to create. These were all calculated in under 30 seconds, most of them in the 4-10 second range on a modern i7 2.9 Ghz CPU.

# Kruskal's Algorithm

This is more of an addendum to Travelling Salesperson. I quickly made a solution to Minimum Spanning Tree problem. This algorithm runs in $O(\alpha(E)E\log(E))$ time. This is the Inverse Ackerman function $\alpha$, and it grows incredibly slow, $\alpha (2^{2^{2^{65533}}} - 3) = 4$. So the analysis of this algorithm would basically be $O(E\log(E))$, however our set-up is always a connected graph, so we can just denote it as $E=n(n-1)/2$, which is ~$n^2$. And for when $n=|V|$, our algorithm runs in $O(\alpha(n^2)n^2 2\log(n))$ which is $O(n^2\log(n))$. For a more detailed analysis, check Wikipedia’s for a simple to follow one here.

# Travelling Salesperson Problem

So the Travelling Salesperson Problem, is a really cool problem in Mathematics and Computer Science. For more information see, Wikipedia and Youtube Visualization.

I have decided to add a page with all the Youtube channels I enjoy, as well as videos. I will try to keep it as manicured as I can. Youtube is an amazing resource. It was what first got me into Computer Science. For a long time, it was the only resource I had to learn Mathematics. Unfortunately it cannot replace a traditional education, … yet, it is an amazing way to introduce yourself to new concepts.

You can click on the link above, or here to get to the new Youtube page.
Note I believe a key to effective Youtube videos is excitement, I try to choose videos that can get people excited about topics.