Welcome to Aditya Mittal’s
For information about
me, my background, my projects, my coursework, my research articles etc. you
may visit http://scientificchess.com
. Here my intention is to describe for
myself and others my current focus at ICME,
Stanford University. As I refine and learn more about my current
objectives I will try to update this page accordingly.
My current plan is to
focus on mastering the various computing algorithms, with one of my favorite
areas being that of quantum computing.
There are many interesting algorithms in the area such as Grover’s
algorithm, Shor’s algorithm, Deutsch-Jozsa algorithm, just to name a three of many. Algorithms can be used for searching, pattern
recognition, sorting, matching, grouping, organizing, tracing, connecting,
calculating, graphing, modeling, sensing, imaging, comparing, factoring,
communication, critical thinking and many other types of puzzle solving such as
fitting blocks together.
Many techniques of
algorithm development are in existence, but I believe we have yet to discover
many more. Dynamic programming and
Greedy algorithm are two such techniques.
While developing a strong algorithm for a certain problem is a task that
requires hard work and persistence (namely, working out more and more of the
case scenarios and combining, splitting, and optimizing them), developing a
strong technique for developing algorithms of a certain category requires a
strong foundation in mathematics and theorem proving which is something I hope
to develop at ICME, Stanford. Few of the
thousands of applications involving the development of algorithms include
artificial intelligence, computer graphics, geometric modeling, distributed
computing, neural networks, quantum computing, economic modeling etc. In reality, they can be applied to any
application involving the list of previously mentioned uses which I will call
the Algorithm Usage List.
The Algorithm Usage
List is significant for multiple reasons.
Firstly, it reminds us of the power of good algorithms and gives us seed
points to realize the need for a good algorithm in any application. Secondly, the Algorithm Usage List allows us
to connect algorithms to resolve larger problems. For example, given a list of numbers to sort
our eyes and brain begin with pattern recognition, which is used to do a
search, and the search is repeated then used to sort. That is, to sort a list of 1 to 10 inclusive,
we first try to recognize the 1, then the 2, then the 3 and so forth. As we store the patterns in our brain, we’ve
already organized the numbers so the search is of order (1) and all that is
left to do is an order (n) sort. So,
then to sort we just say, “Ok, well I know the 1 is here, the 2 is here….” That’s a pretty nice order (n) sort our brain
does compared to all the order (n^2) sorts all the computers do because they
lack the pattern recognition capabilities of our eyes and brain.
Also, observe that
pattern recognition involves some of the other features of the Algorithm Usage
List such as comparing, matching, grouping, and organizing. Grouping and pattern recognition allow
Amazon.com to figure out which books one customer liked and so which other
books he/she might like. We can also
group types of websites together such as networking websites like connectu, facebook, orkut, myspace, linkedin, xanga can go in one bin
while websites providing good math tutorials like wikipedia,
mathworld.wolfram, mathworks
can go in a second bin, and all the university websites can also all be
organized in one bin and so forth…this attempt is often made in forums and
sites to collect links to a certain type of sites, however, it is still manual
and quite a bit of work and very incomplete.
Here is an attempt: http://en.wikipedia.org/wiki/List_of_social_networking_websites
which I noticed is missing connectu and jaxtr (as of now 09/03/2007)
which are both also quite popular.
With all the
advancement in the world, surprisingly, we are still rather far behind in
having strong algorithms and mechanisms for resolving the issues on my
Algorithm Usage List. Google is a nice
first attempt on the search and organize algorithms for the internet and it was
begun by our seniors here at
That is all for now,
if you would like to drop me an email you can do so at (“ad” + my last name @
Stanford.edu). When we meet we can have
great many more discussions.
-Aditya Mittal
M.S. Student
ICME,
Created: August 27,
2007
Last Update:
September 3, 2007