Algorithm Optimization

Ask questions about projects relating to: computer science or pure mathematics (such as probability, statistics, geometry, etc...).

Moderators: MelissaB, kgudger, Ray Trent, Moderators

Algorithm Optimization

Postby islamfaisal » Wed Oct 10, 2012 12:10 pm

Hello,

I am thinking of researching into algorithms. I'd like to develop an algorithm to perform better. I am confused about the algorithm to choose to develop or the problem to solve. I've though of the subset sum problem. What do you think is the best way to determine the algorithm to research into. And If I chose the subset sum problem. How do I start? I have about three weeks to finish the project.

Thanks and Regards,
islamfaisal
 
Posts: 12
Joined: Tue Sep 18, 2012 3:25 am
Occupation: Student 12th grade
Project Question: Physics or Computer Science
Project Due Date: 31 Jan 2013
Experimental Fair: 25 Nov 2012
Project Status: I am just starting

Re: Algorithm Optimization

Postby hhemken » Wed Oct 10, 2012 1:37 pm

Islamfaisal,

The best way to choose any problem to approach combines 1) something for which there is a clear need, and 2) something for which you have a passion, special talent or skill, knowledge, advantage, etc. I assume that since you are looking into algorithms, you have some kind of personal fascination with them as well as enough knowledge and ability to approach an algorithm problem.

A quick glance at the subset sum problem wiki page (http://en.wikipedia.org/wiki/Subset_sum_problem) shows that it is a sophisticated problem. To say the least, it seems rather daring for you to tackle it and reach an interesting new solution or optimization in 3 weeks. Do you already have a rough solution?

By algorithm, do you mean something expressed in strictly mathematical terms or some mechanical implementation such a as a computer program that needs to be made faster or more efficient? Do you have a list of algorithms for which you think you have optimizations? Do you have experience in computer programming? If so, what language?

Thanks!

Heinz Hemken
Heinz Hemken
Mentor
Science Buddies Expert Forum
hhemken
Expert
 
Posts: 262
Joined: Mon Oct 03, 2005 3:16 pm

Re: Algorithm Optimization

Postby islamfaisal » Thu Oct 11, 2012 3:17 am

hhemken wrote:By algorithm, do you mean something expressed in strictly mathematical terms or some mechanical implementation such a as a computer program that needs to be made faster or more efficient? Do you have a list of algorithms for which you think you have optimizations? Do you have experience in computer programming? If so, what language?


Thanks for reply! I mean a computer program. I might go through sorting, decision algorithms, knapsack and dynamic programming. I have experience of about 3 years with programming and a couple of months with algorithms. I am good with C,C#, Python and PHP. I like algorithms and competitive programming. Therefore, I thought I would be good at developing or optimizing some algorithm. As for the deadline, It isn't 3 weeks exactly. It may go up to a month and half. What do you suggest I should do. And how can I go with researching into algorithms?

Thanks again for your reply!

Regards,
islamfaisal
 
Posts: 12
Joined: Tue Sep 18, 2012 3:25 am
Occupation: Student 12th grade
Project Question: Physics or Computer Science
Project Due Date: 31 Jan 2013
Experimental Fair: 25 Nov 2012
Project Status: I am just starting

Re: Algorithm Optimization

Postby hhemken » Thu Oct 11, 2012 11:17 am

Islamfaisal,

Is there a program you use often that is known to have some inefficiencies and for which you have the source code? You could try optimizing it. The trick will probably involve you optimizing some useful open source program.

Do you have any candidates? What open source programs do you use a lot? Are any of them frustratingly slow for some operations?

Cheers!

Heinz Hemken
Heinz Hemken
Mentor
Science Buddies Expert Forum
hhemken
Expert
 
Posts: 262
Joined: Mon Oct 03, 2005 3:16 pm

Re: Algorithm Optimization

Postby akbarkhan » Thu Oct 11, 2012 2:25 pm

Another idea would be to develop an original algorithm to resolve a long standing problem. My experience has been that programmers seem to find greater joy in creating new source code over "correcting" existing code.

Many years ago when I was in high school, I worked on developing on programs to estimate pi, calculate the Fibonacci Sequence, and max-min problems. It was truly a rewarding experience.
akbarkhan
Expert
 
Posts: 28
Joined: Thu Aug 30, 2012 9:21 pm
Occupation: Computer Engineer
Project Question: NA
Project Due Date: NA
Project Status: Not applicable

Re: Algorithm Optimization

Postby islamfaisal » Thu Oct 11, 2012 11:38 pm

hhemken wrote:Is there a program you use often that is known to have some inefficiencies and for which you have the source code? You could try optimizing it. The trick will probably involve you optimizing some useful open source program.

Thanks for reply!
I think it will be more useful for me to work optimizing an abstract algorithm not an open source program just as Mr.akbarkhan. But I still need your help. What do you suggest for me to read or what kind of algorithms can be developed by a high school researcher?
akbarkhan wrote:Many years ago when I was in high school, I worked on developing on programs to estimate pi, calculate the Fibonacci Sequence, and max-min problems. It was truly a rewarding experience.

Thanks for reply!
Good! but How can I get my feet on conducting a research paper to optimize, for instance the Fibonacci series or find min-max problems?
islamfaisal
 
Posts: 12
Joined: Tue Sep 18, 2012 3:25 am
Occupation: Student 12th grade
Project Question: Physics or Computer Science
Project Due Date: 31 Jan 2013
Experimental Fair: 25 Nov 2012
Project Status: I am just starting

Re: Algorithm Optimization

Postby hhemken » Fri Oct 12, 2012 10:13 am

Islamfaisal,

The same advice I give everyone: do something related to things you are fascinated by or passionate about. If you have some kind of hobby or extracurricular activity, model something about it in an algorithm and iteratively improve it. Change things around, do the same thing in two or three (or more) completely different and unrelated ways. Represent the data in different ways. Report the data in different ways that can improve the hobby or activity in various different ways. The fun starts when you try to represent your hobby or activity in an abstract representation that can be manipulated in software.

But it has to be something in your life that you do a lot, and about which you are highly motivated.

Cheers!

Heinz Hemken
Heinz Hemken
Mentor
Science Buddies Expert Forum
hhemken
Expert
 
Posts: 262
Joined: Mon Oct 03, 2005 3:16 pm


Return to Grades 9-12: Math and Computer Science

Who is online

Users browsing this forum: No registered users and 2 guests