Showing posts with label scientific method. Show all posts
Showing posts with label scientific method. Show all posts

Monday, September 20, 2010

Algorithms and Truth

Fixing a broken lamp
In an earlier post, I introduced the concept of algorithms as a way of solving problems using a step-by-step process.  Most of us understand algorithmic thinking when it is applied to everyday tasks.  Fixing a broken lamp is a good example of an algorithm, because it involves taking different paths, depending on the outcome of several questions.  A recipe is a simple form of an algorithm:
Sausage and Peppers
1 package of Italian sausage (mild or hot, your choice)
2 bell peppers (red, orange, yellow, green, your choice), sliced
1 sweet onion, sliced
1 Tbsp minced garlic
fresh basil (or dried)
2 Tbsp olive oil
1 28 oz can whole tomatoes
1 package angel hair or penne pasta

1. Cook the sausage whole, on medium heat, until browned, using 1 Tbsp of olive oil. Alternatively, broil the sausage in the oven.  Slice into pieces and reserve
2. In the same pan, cook the bell peppers, onion over medium heat using 1 Tbsp of olive oil, until onion is lightly browned.
3. Add the garlic to the pan and simmer until slightly browned.
4. Add the sausage back to the pan.
5. Puree the tomatoes by pulsing, so that there are still small chunks.
6. Add the tomatoes to the pan, along with the basil.
7. Simmer the sauce on medium-low until reduced and thickened, about 10 or 15 minutes.
8. Serve over angel hair or penne pasta, cooked to package instructions for al dente.

Saturday, September 18, 2010

Open Source Science

I attended an interesting talk on by Daniel Lopresti on a new approach to machine perception at the BYU Computer Science colloquium on Thursday.  Machine perception refers to the ability of computers to mimic human behavior for tasks such as computer vision, document analysis, image processing, speech recognition, and natural language understanding.  Dr. Lopresti is advocating many approaches that we have discussed as part of the free software movement:
  • open, shared resources: the research community shares data, algorithms, citations, and other work
  • crowd intelligence: people can rate the quality of the resources, so that the community develops an interpretation of which are the best
  • transparency: algorithms and results are publicly available so they can be modified and improved by other researchers
As a side benefit, results are verifiable and repeatable.  Beginning researchers can build off of existing work more easily, instead of starting from scratch.

Essentially, this idea does away with the status quo of research in many fields, where each researcher works independently, rarely shares algorithms, doesn't always share data, and runs tests that are limited and not easily reproducible.

by NASA's Marshall Space Flight Center
Scientific research seems like the perfect match for openness and transparency. Science is often done for purely altruistic reasons -- to simply advance the truth and knowledge.  The complicating factors are that (1) corporations want to patent their research to monopolize it for themselves, and (2) academics want to keep their data and algorithms private for as long as possible, in order to publish more papers.  Open source science is a big dream, but we haven't yet figured out how to balance these concerns with the benefits that an open source approach would provide.