LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 08-09-2008, 03:51 PM   #1
Amdx2_x64
Member
 
Registered: Jun 2008
Distribution: Left LQ. Mods are too Rude!
Posts: 598

Rep: Reputation: 50
Question Algorithms


While learning and reading about my growing interest in various security issues, etc, I keep coming across Algorithms. I have a very basic understanding of this, but I am still lost on quite a bit.

My current understanding is that there are some slight variations on the exact definition of Algorithms. Can anyone give me any information, views, opinions, etc., on this?

Last edited by Amdx2_x64; 08-09-2008 at 03:57 PM.
 
Old 08-09-2008, 04:23 PM   #2
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Mineral, Virginia
Distribution: Debian 8
Posts: 7,893

Rep: Reputation: 339Reputation: 339Reputation: 339Reputation: 339
Here is the dictionary definition:

http://www.merriam-webster.com/dictionary/algorithms

I never heard of any other definition.

---------------------
Steve Stites

Last edited by jailbait; 08-09-2008 at 04:25 PM.
 
Old 08-09-2008, 04:34 PM   #3
Amdx2_x64
Member
 
Registered: Jun 2008
Distribution: Left LQ. Mods are too Rude!
Posts: 598

Original Poster
Rep: Reputation: 50
Thanks for that link.

I am starting to understand this, but...

If an algorithm is a procedure for solving mathematical problems, then how would it apply to, for ex., a blowfish algorithm? What would be the mathematical problem be?

I hope I am explaining my question correctly.
 
Old 08-09-2008, 05:03 PM   #4
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Mineral, Virginia
Distribution: Debian 8
Posts: 7,893

Rep: Reputation: 339Reputation: 339Reputation: 339Reputation: 339
In higher mathematics there is the concept of defining a mathematical system. For example Euclidean geometry defines five axioms and then builds a mathematical system based on a logical application of those axioms. You can solve geometry problems by using algorithms which are consistent with the Euclidean geometry mathematical system.

Quote:

If an algorithm is a procedure for solving mathematical problems, then how would it apply to, for ex., a blowfish algorithm? What would be the mathematical problem be?
blowfish is an algorithm within a mathematical theory or system for dealing with encryption.

A programming language can be described as a mathematical system. It is possible to describe a problem as being solvable within that mathematical by using an algorithm which is logically consistent with the axioms (rules) of the programming language.

A theoretical mathematician would look at writing an encryption program based on the blowfish method as a mathematical transformation problem for transforming the blowfish algorithm from a logically consistent encryption system to an algorithm in the (pick a programming language name) mathematical system.

--------------------
Steve Stites
 
Old 08-09-2008, 05:12 PM   #5
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Fist of all mathematics is a very broad field and mathematics forms the underpinning of computer science. That is why if you choose to do a university degree in computer science then you will be faced with a substantial number of papers in mathematics. Although it is worth noting that you can do other courses associated with the field of computer science that don't have such a significant mathematical focus.

Algorithms are one of the key pillars to computer science. Without going into the exact details of the blowfish algorithm, it has been clearly defined as a number of steps that need to be performed. The real key to an algorithm in computer science terminology is the second part of the definition given in the link by jailbait: "broadly : a step-by-step procedure for solving a problem or accomplishing some end especially by a computer". Although that shouldn't preclude the idea that mathematics plays an integral part in algorithms, it does because it is mathematics that can be used to prove (or disprove) the validity of the algorithm. An important concept when looking at security and the field of cryptography.
 
Old 08-09-2008, 06:05 PM   #6
amani
Senior Member
 
Registered: Jul 2006
Location: Kolkata, India
Distribution: Debian 64-bit GNU/Linux, Kubuntu64, Fedora QA, Slackware,
Posts: 2,766

Rep: Reputation: Disabled
Strictly speaking, you can define a concept of algorithm only within formal Mathematics or formal logic. Most of computer science can be formally dealt with through partial algebras or through various logics and horn clause programming.

If you want to really understand what algorithms are, you must consider studying "Formal Logic and Computing" and some algorithms too.

If you are more interested in applications to actual programming, then you must pick a huge 'book of algorithms'.
 
Old 08-09-2008, 06:11 PM   #7
Amdx2_x64
Member
 
Registered: Jun 2008
Distribution: Left LQ. Mods are too Rude!
Posts: 598

Original Poster
Rep: Reputation: 50
Thanks. This is making more sense to me now. I am going to check out this out further and read up on it.
 
Old 08-09-2008, 06:32 PM   #8
Amdx2_x64
Member
 
Registered: Jun 2008
Distribution: Left LQ. Mods are too Rude!
Posts: 598

Original Poster
Rep: Reputation: 50
With the above replies and a quote, below, from some more information I found, This now makes sense to me. Well the meaning and what an Algorithm is.

Quote:
Algorithms
Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. An algorithm is thus a sequence of computational steps that transform the input into the output.

We can also view an algorithm as a tool for solving a well-specified computational problem. The statement of the problem specifies in general terms the desired input/output relationship. The algorithm describes a specific computational procedure for achieving that input/output
relationship.

For example, one might need to sort a sequence of numbers into nondecreasing order. This problem arises frequently in practice and provides fertile ground for introducing many standard design techniques and analysis tools.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
algorithms in huge scale xeon123 Programming 7 03-26-2007 10:00 PM
block ciphere algorithms sajith Programming 2 11-07-2006 10:59 PM
what is the Scalable numerical algorithms ztdep Linux - Software 1 01-15-2006 01:32 AM
Image resizing algorithms R00ts Programming 1 07-05-2004 12:56 PM
Graph Layout Algorithms jacksmash Programming 6 02-10-2004 05:56 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 01:16 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration