P vs NP problem solved?

The relationship between the complexity classes P (Polynomial time) and NP (Nondeterministic Polynomial time) is an unsolved problem in theoretical computer science, and is considered by many theoretical computer scientists to be the most important problem in the field. The Clay Mathematics Institute, which is dedicated to increasing and disseminating mathematical knowledge, has included it in its list of Millennium Prize Problems; anyone who provides a satisfactory solution to the problem may be entitled to a USD $1,000,000 prize.

In August 6th, Vinay Deolalikar claimed to have proven P ≠ NP. The paper still needs specialist proof-reading.

Scott Aaronson, an MIT professor, wrote at his blog that he doesn’t plan to interrupt his vacation time in Israel and Greece, unless other experts who have studied the paper in detail find the solution satisfactory. In that case he’ll also personally supplement the million dollar prize by the amount of $200,000.

Read more about the P vs NP problem at Wikipedia.

Buzzdigmeblogspacedeliciousgoogle bookmarks

Popularity: 1% [?]

How to build an R package in Windows

Let’s suppose you ‘re in the mood to create an R package and then upload it to CRAN as an ideal way of making sure others have access to your work. I don’t know if the following guide will really help you cause the R package mechanism is rather complex, but I’m quite sure it’ll be better than nothing.

A. Toolbox (necessary pieces of software you have to install first)

0. Latest version of R.
1. rtools: a minimal set of Unix utilities
2. ActivePerl: a scripting language
3. MinGW: Compiler system, uses GCC to produce Windows programs
4. Microsoft’s HTML Compiler: It’s called htmlhelp.exe and includes hhc.exe
5. A version of TeX (I use MiKTeX)

B. Change your Windows Path “environmental variable”

To set the path, right click on the “My Computer” icon on your desktop. Choose properties and click on the “advanced” tab. Click the environmental variables button and you will see a new window. Change the system variable “Path”. To do so, click on the variable and select the edit button. Change the path so that the directories containing MikTeX, Rtools, minGW, perl, R and the html help compiler. You will need to be very careful to type the path names correctly. See below for an example of the beginning of the path as set on my machine:

C:\Perl\site\bin;C:\Perl\bin;C:\Program Files\R\R-2.10.1\bin;c:\Rtools\bin;c:\Rtools\MinGW\bin;c:\Perl\bin;C:\Program Files\MiKTeX 2.7\miktex\bin

Restart your machine.

C. Build your hello package (eventually)

- Open a “Command Prompt” window. Check if path is correct (type path).
- Run R through the command prompt (type R)
- Type package.skeleton("hello",code_="hello.r")
- Exit R (type q() )
(the hello directory was created and now you have to carefully edit the DESCRIPTION file which is under the hello directory and the hello.Rd file which is under the man directory, search for examples of these files in other package installations, you can find plenty of them in the lib directory, which is under your R installation directory)

- Back to the command prompt window, type R CMD build hello (hello.tar.gz was created)
- Type R CMD INSTALL --build hello (hello.zip was created)
- Type R CMD check hello for an extensive check of your package installation

In the unlikely event that everything went fine so far (no errors, no warnings) you just have to upload the hello.tar.gz file to ftp://cran.r-project.org/incoming/ and send an email to cran@r-project.org that you did it. Otherwise, google the bad news and hope for the best.

Other resources for building R packages:
[Making packages under Windows]
[Creating R packages: a tutorial]
[An introduction to the R package mechanism]
[Create packages for R]

Buzzdigmeblogspacedeliciousgoogle bookmarks

Popularity: 1% [?]

Serious vs Solemn

Later today, I watched the above inspiring talk by Paula Scher @ TedTalks, titled “Great design is serious (not solemn)”.

Paula Scher looks back at a life in design and pinpoints the moments when she started really having fun. According to Scher, you play or gamble when you take fascinating jobs you have no idea what they are about. These jobs are the ‘serious’ ones. However, later on, some of them become solemn or extra serious.
But being ‘serious’ about something, says Scher, is very different from being solemn–when you’re solemn, it isn’t all play anymore.

I can easily find an analogy to this as regards my work. I’ve started working on Collaborative Filtering for Recommendation Systems almost a year ago. At first it was a job for fun and profit. Now I think it’s becoming solemn. A paper is on its way to AIAI09, an Artificial Intelligence Conference and a startup at early stage. Definitely, not a walk in the park anymore.

So if you ever feel yourself in that same situation, try go back to that time of being youthful and arrogant, taking jobs where you have no idea what you’re talking about, and get serious.

Buzzdigmeblogspacedeliciousgoogle bookmarks

Popularity: 63% [?]

Next Page »
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 amarkos|gr|blog | powered by WordPress with Barecity