What is #P (Sharp P)

#P is the set of counting problems whose corresponding decision problem is in NP.  Or more formally (from here):

A function [math]f:left{0,1right}^*rightarrow mathbb{N}[/math] is in #[math]bf{P}[/math] if there exists a polynomial [math]p: mathbb{N}rightarrow mathbb{N}[/math] and a polynomial-time TM (turing machine) such that for every [math]xin left{0,1right}^*[/math]

[math]f(x)=left|{left{yin left{0,1right}^{p^{(|x|)}}:M(x,y)=1right}}right|[/math].

I later intend to find a proof or develop a proof myself that shows that the number of subset sums problem is in #P.

No Free Lunch (NFL)

My friend Indranil introduced me to the theory of “No Free Lunch”.  From Wikipedia article:

A conventional, but not entirely accurate, interpretation of the NFL results is that “a general-purpose universal optimization strategy is theoretically impossible, and the only way one strategy can outperform another is if it is specialized to the specific problem under consideration”

 

It is definitely something that I must keep in mind whenever doing research.

Java 3D and Mason

Well I got MASON installed and working.  The 3D simulations are pretty neat.  But you need to get Java 3D and install it.

Some things to remember to speed the process of setting up netbeans for MASON would be that in order to add dll files you need to add something like:

-Djava.library.path=”C:Program FilesJavaJava3D1.5.1bin”

to the VM options in the run section of the properties of the project.  Also, you must remember to add the 3D Java jar files to the libraries section.  Otherwise you can just follow the tutorial here to get started.

We intend on using MASON as our test bed for the identification of swarms using the Shapley value idea.

Chicago Pizza

So far in my life Chicago deep dish (stuffed crust) pizza is the most unique pizza I have eaten.  While there I ate at Giordanos and Gino’s East.  The pizza at both taste really good.  I liked the atmosphere at Gino’s East better than Giordanos.  Man, I am getting hungry…

Distributed 3d modeling using smartphones

You and your friends want to make a 3d model of something big!!  Not just a toy or person.  Rather your neighborhood or house.  Something big.  So the idea is to stitch together distributed 2d video to create a 3d model.  You would use your smartphones that have gps, bluetooth, accelerometer, altitude data and compass.  Send that data (of course would have to some sort of heuristic) back to a server which processes it and creates the model.

From researching this idea I found this article about how the navy developed malware for android to create a 3d model of the victims house.  So the idea of creating 3d model from cellphone data is doable.  I just want to distribute it and make it applicable to larger environments in real time.

You could become part of an initiative or start one.  Essentially someone defines the boundaries of the model via gps coordinates.  Then users who want to contribute data can join the network.  Bluetooth could be used to enhance the quality of the mesh by providing another source of location data.

The mesh could then be imported into games like second life or maybe into google maps.  Could use the 3d model to create the basis for an augmented reality platform.  So if you tag something while you are viewing the 3d model on your computer and then you go to that place you could view it through your phone.  The uses for a 3d model are endless.

Since we are distributing the data and the mesh will be updating, we could develop a highly robust to change mesh.  Essentially free from dynamic objects.  So if in one frame there is like a bike and in another there isn’t then I could determine to pick the frame without the bike.

This idea is really starting to sound like a huge project.  For my advanced AI class I think I need to focus on one thing.  Like the distributed 2d->3d modeling.  This post became a lot longer than my initial idea.

This blog looks interesting.