**Moderators:** MelissaB, kgudger, Ray Trent, Moderators

7 posts
• Page **1** of **1**

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,

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:**13**Joined:**Tue Sep 18, 2012 3:25 am**Occupation:**Undergraduate Student, Computer Engineering**Project Question:**N/A, Volunteer**Project Due Date:**N/A**Project Status:**Not applicable

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

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

Mentor

Science Buddies Expert Forum

- hhemken
- Expert
**Posts:**266**Joined:**Mon Oct 03, 2005 3:16 pm

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:**13**Joined:**Tue Sep 18, 2012 3:25 am**Occupation:**Undergraduate Student, Computer Engineering**Project Question:**N/A, Volunteer**Project Due Date:**N/A**Project Status:**Not applicable

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

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

Mentor

Science Buddies Expert Forum

- hhemken
- Expert
**Posts:**266**Joined:**Mon Oct 03, 2005 3:16 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.

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

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:**13**Joined:**Tue Sep 18, 2012 3:25 am**Occupation:**Undergraduate Student, Computer Engineering**Project Question:**N/A, Volunteer**Project Due Date:**N/A**Project Status:**Not applicable

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

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

Mentor

Science Buddies Expert Forum

- hhemken
- Expert
**Posts:**266**Joined:**Mon Oct 03, 2005 3:16 pm

7 posts
• Page **1** of **1**

Return to Grades 9-12: Math and Computer Science

Users browsing this forum: No registered users and 0 guests