Algorithm: Difference between revisions

From CEOpedia | Management online
(The LinkTitles extension automatically added links to existing pages (<a target="_blank" rel="noreferrer noopener" class="external free" href="https://github.com/bovender/LinkTitles">https://github.com/bovender/LinkTitles</a>).)
m (Text cleaning)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{infobox4
|list1=
<ul>
<li>[[Decision tree]]</li>
<li>[[Decision point]]</li>
<li>[[Advantages of artificial intelligence]]</li>
<li>[[Operational research]]</li>
<li>[[Organizational design models]]</li>
<li>[[Knowledge map]]</li>
<li>[[Deming wheel]]</li>
<li>[[Descriptive study]]</li>
<li>[[Business Intelligence]]</li>
</ul>
}}
Simplified definition of the algorithm says that:
Simplified definition of the algorithm says that:


An algorithm is a finite sequence of steps for turning input to the output.<ref>[1] A. Jędryczkowski, Algorytmy, Prezentacja, 2005</ref> (A. Jędryczkowski, 2005, s.2)
An algorithm is a finite sequence of steps for turning input to the output<ref>[1] A. Jędryczkowski, Algorytmy, Prezentacja, 2005</ref> (A. Jędryczkowski, 2005, p. 2)


'''Figure 1. Scheme of the algorithm'''
'''Figure 1. Scheme of the algorithm'''
Line 26: Line 11:
==Examples of popular algorithms==
==Examples of popular algorithms==
The most common artificial intelligence algorithms:
The most common artificial intelligence algorithms:
* search algorithms such as. A* (A Star) - heuristic [[method]] of search for shortest paths in a particular [[environment]] <ref>[2] C. Płotnicki Chudyk, Wyszukiwanie drogi w grach komputerowych, Prezentacja, 2005</ref> (C. Płotnicki-Chudyk, 2005, s.6). One of the successful successors was B* (B Star) algorithm.
* search algorithms such as. A* (A Star) - heuristic [[method]] of search for shortest paths in a particular [[environment]] <ref>[2] C. Płotnicki - Chudyk, Wyszukiwanie drogi w grach komputerowych, Prezentacja, 2005</ref> (C. Płotnicki-Chudyk, 2005, p. 6). One of the successful successors was B* (B Star) algorithm.


'''Figure 2. An example of A-Star algorithm'''
'''Figure 2. An example of A-Star algorithm'''


[[Image:AStar algorithm.gif]]
[[Image:AStar algorithm.gif]]
* min-max decision-making algorithm - involves finite element method in decision-making. One of the modifications of the Min-Max was named Alpha-Beta. The second most popular modification became SSS (State Space Search) - containing elements of the A-Star <ref>[3] Algorytmy rozwiązywania gier prezentacja, Koło naukowe informatyków Fraktal</ref>
* min-max decision-making algorithm - involves finite element method in decision-making. One of the modifications of the Min-Max was named Alpha-Beta. The second most popular modification became SSS (State Space Search) - containing elements of the A-Star <ref>[3] Algorytmy rozwiązywania gier - prezentacja, Koło naukowe informatyków Fraktal</ref>
* search algorithm, Breadthen-First Search (BFS) and (Depth-First Search - DFS) are tools for assisting with the creation of algorithms for searching for optimal solutions. They are [[work]]ing very well for searching graphs. For this reason, you can just use BFS to search for the best possible way in the maze
* search algorithm, Breadthen-First Search (BFS) and (Depth-First Search - DFS) are tools for assisting with the creation of algorithms for searching for optimal solutions. They are [[work]]ing very well for searching graphs. For this reason, you can just use BFS to search for the best possible way in the maze
* graph algorithms - applied for more complex mechanisms, reducing the amount of detail and overall transparency of causal model
* graph algorithms - applied for more complex mechanisms, reducing the amount of detail and overall transparency of causal model
* sorting algorithms - very commonly used in all types of [[database]]s, as well as data warehousing
* sorting algorithms - very commonly used in all types of [[database]]s, as well as data warehousing
* recursive algorithms - used to solve problems where recursion is the quickest way to correct algorithm processing <ref>[5] N. Wirth, Algorytmy + struktury danych = programy, Wydawnictwa Naukowo - Techniczne, 2002</ref> (N. Wirth, 2002, s.148)
* recursive algorithms - used to solve problems where recursion is the quickest way to correct algorithm processing <ref>[5] N. Wirth, Algorytmy + struktury danych = programy, Wydawnictwa Naukowo - Techniczne, 2002</ref> (N. Wirth, 2002, p. 148)
* evolutionary algorithms - class of heuristic algorithms, the search space of alternative solutions.
* evolutionary algorithms - class of heuristic algorithms, the search space of alternative solutions.
* arithmetic systems - present in almost any computing structure (for addition, multiplication division etc.)
* arithmetic systems - present in almost any computing structure (for addition, multiplication division etc.)
* approximation algorithms - used to solve research problems, problem of a salesman, covering of warehouse space, and other <ref>[7]Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Wprowadzenie do algorytmów, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie 4, 2001</ref> (T. Cormen, 2001, s.1073)
* approximation algorithms - used to solve research problems, problem of a salesman, covering of warehouse space, and other <ref>[7]Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Wprowadzenie do algorytmów, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie 4, 2001</ref> (T. Cormen, 2001, p. 1073)


In accordance with the above definition, the algorithm can be created on the basis of almost every common human [[action]], Everyone performs algorithms of rising out of bed, washing teeth or dressing. Preparation of meal is also an algorithm, like driving, cycling, or any other action. Thanks to this perception, the algorithms has become a separate science almost as extensive as [[information]] science.<ref>[8] D. Harel, Rzecz o istocie informatyki: Algorytmika, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie drugie, 2000</ref> (D. Harel, 2000, s.23)
In accordance with the above definition, the algorithm can be created on the basis of almost every common human [[action]], Everyone performs algorithms of rising out of bed, washing teeth or dressing. Preparation of meal is also an algorithm, like driving, cycling, or any other action. Thanks to this perception, the algorithms has become a separate science almost as extensive as [[information]] science<ref>[8] D. Harel, Rzecz o istocie informatyki: Algorytmika, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie drugie, 2000</ref> (D. Harel, 2000, p. 23)


==Advantages of Algorithm==
==Advantages of Algorithm==
The algorithm provides a number of advantages, including:  
The algorithm provides a number of advantages, including:  
* Increased [[efficiency]] By following a predetermined set of steps, algorithms allow for tasks to be completed more quickly with minimal effort.
* Increased [[efficiency]] - By following a predetermined set of steps, algorithms allow for tasks to be completed more quickly with minimal effort.
* Reduced errors By providing a consistent set of instructions, algorithms reduce the likelihood of errors occurring.
* Reduced errors - By providing a consistent set of instructions, algorithms reduce the likelihood of errors occurring.
* Improved accuracy Algorithms allow for tasks to be completed without the [[need]] for manual input, which can lead to more accurate results.
* Improved accuracy - Algorithms allow for tasks to be completed without the [[need]] for manual input, which can lead to more accurate results.
* Improved scalability Algorithms can be scaled up or down in order to accommodate larger and smaller data sets.
* Improved scalability - Algorithms can be scaled up or down in order to accommodate larger and smaller data sets.
* [[Cost]] savings Algorithms can often be used to automate tasks that would otherwise require human resources, resulting in cost savings.
* [[Cost]] savings - Algorithms can often be used to automate tasks that would otherwise require human resources, resulting in cost savings.


==Limitations of Algorithm==
==Limitations of Algorithm==
Line 60: Line 45:
==Other approaches related to Algorithm==
==Other approaches related to Algorithm==
The Algorithm discussed is a method for solving a problem, but there are other approaches related to algorithms that can also be employed. These include:
The Algorithm discussed is a method for solving a problem, but there are other approaches related to algorithms that can also be employed. These include:
* [[Heuristics]]- Heuristics is a problem-solving technique that uses a practical approach to finding a solution. It relies on experience and [[knowledge]] to make decisions, rather than relying on a [[systematic approach]].
* [[Heuristics]] - Heuristics is a problem-solving technique that uses a practical approach to finding a solution. It relies on experience and [[knowledge]] to make decisions, rather than relying on a [[systematic approach]].
* Greedy Algorithms- Greedy algorithms are a type of algorithms that make the best decision at each stage of the problem-solving process. They make decisions based on the current problem, without considering the consequences of the decision in the long run.
* Greedy Algorithms - Greedy algorithms are a type of algorithms that make the best decision at each stage of the problem-solving process. They make decisions based on the current problem, without considering the consequences of the decision in the long run.
* Divide and Conquer- Divide and conquer is an algorithmic technique for solving problems that involve breaking the problem into smaller subproblems and solving each one separately.
* Divide and Conquer - Divide and conquer is an algorithmic technique for solving problems that involve breaking the problem into smaller subproblems and solving each one separately.


In summary, there are several approaches related to algorithms that can be employed to solve problems. These include heuristics, greedy algorithms, and divide and conquer. Each approach has its own advantages and disadvantages, so it is important to choose the right approach for the problem at hand.
In summary, there are several approaches related to algorithms that can be employed to solve problems. These include heuristics, greedy algorithms, and divide and conquer. Each approach has its own advantages and disadvantages, so it is important to choose the right approach for the problem at hand.
{{infobox5|list1={{i5link|a=[[CAE]]}} &mdash; {{i5link|a=[[Decision tree]]}} &mdash; {{i5link|a=[[Knowledge map]]}} &mdash; {{i5link|a=[[Advantages of artificial intelligence]]}} &mdash; {{i5link|a=[[Advantages of simulation]]}} &mdash; {{i5link|a=[[Business process modeling]]}} &mdash; {{i5link|a=[[Operational research]]}} &mdash; {{i5link|a=[[Line balancing]]}} &mdash; {{i5link|a=[[Structural programming]]}} &mdash; {{i5link|a=[[Substantial performance]]}} }}


==References==
==References==
<references/>
<references/>
* [https://en.wikipedia.org/wiki/Algorithm Algorithm] on Wikipedia
* [https://en.wikipedia.org/wiki/Algorithm Algorithm] on Wikipedia
[[Category:Computer science]]
[[Category:Computer science]]
[[Category:Decision making]]
[[Category:Decision making]]


[[pl:Algorytm przetwarzania]]
[[pl:Algorytm przetwarzania]]

Latest revision as of 16:36, 17 November 2023

Simplified definition of the algorithm says that:

An algorithm is a finite sequence of steps for turning input to the output[1] (A. Jędryczkowski, 2005, p. 2)

Figure 1. Scheme of the algorithm

Algorithm scheme.gif

When constructing any algorithm one such perform specific stages: understanding the problem, making assumptions, design of steps, constructing a flowchart or tree, programming, testing. Algorithms are part of larger field of science called artificial intelligence. Processing, and transforming data, can take place once or multiple times.

Examples of popular algorithms

The most common artificial intelligence algorithms:

  • search algorithms such as. A* (A Star) - heuristic method of search for shortest paths in a particular environment [2] (C. Płotnicki-Chudyk, 2005, p. 6). One of the successful successors was B* (B Star) algorithm.

Figure 2. An example of A-Star algorithm

AStar algorithm.gif

  • min-max decision-making algorithm - involves finite element method in decision-making. One of the modifications of the Min-Max was named Alpha-Beta. The second most popular modification became SSS (State Space Search) - containing elements of the A-Star [3]
  • search algorithm, Breadthen-First Search (BFS) and (Depth-First Search - DFS) are tools for assisting with the creation of algorithms for searching for optimal solutions. They are working very well for searching graphs. For this reason, you can just use BFS to search for the best possible way in the maze
  • graph algorithms - applied for more complex mechanisms, reducing the amount of detail and overall transparency of causal model
  • sorting algorithms - very commonly used in all types of databases, as well as data warehousing
  • recursive algorithms - used to solve problems where recursion is the quickest way to correct algorithm processing [4] (N. Wirth, 2002, p. 148)
  • evolutionary algorithms - class of heuristic algorithms, the search space of alternative solutions.
  • arithmetic systems - present in almost any computing structure (for addition, multiplication division etc.)
  • approximation algorithms - used to solve research problems, problem of a salesman, covering of warehouse space, and other [5] (T. Cormen, 2001, p. 1073)

In accordance with the above definition, the algorithm can be created on the basis of almost every common human action, Everyone performs algorithms of rising out of bed, washing teeth or dressing. Preparation of meal is also an algorithm, like driving, cycling, or any other action. Thanks to this perception, the algorithms has become a separate science almost as extensive as information science[6] (D. Harel, 2000, p. 23)

Advantages of Algorithm

The algorithm provides a number of advantages, including:

  • Increased efficiency - By following a predetermined set of steps, algorithms allow for tasks to be completed more quickly with minimal effort.
  • Reduced errors - By providing a consistent set of instructions, algorithms reduce the likelihood of errors occurring.
  • Improved accuracy - Algorithms allow for tasks to be completed without the need for manual input, which can lead to more accurate results.
  • Improved scalability - Algorithms can be scaled up or down in order to accommodate larger and smaller data sets.
  • Cost savings - Algorithms can often be used to automate tasks that would otherwise require human resources, resulting in cost savings.

Limitations of Algorithm

The algorithm has several limitations, which include:

  • It is limited to performing a single operation at a time, meaning it is not able to process multiple inputs or outputs simultaneously.
  • It is not able to adapt to changes in the environment or data, meaning it may not be able to provide accurate results in a dynamic or changing environment.
  • It is limited by the amount of data it can process, meaning it may not be able to process large amounts of data efficiently.
  • It is limited by the complexity of the problem it is trying to solve, meaning it may not be able to solve complex problems.
  • It is limited by its computational power, meaning it may not be able to solve complex problems in a timely manner.

Other approaches related to Algorithm

The Algorithm discussed is a method for solving a problem, but there are other approaches related to algorithms that can also be employed. These include:

  • Heuristics - Heuristics is a problem-solving technique that uses a practical approach to finding a solution. It relies on experience and knowledge to make decisions, rather than relying on a systematic approach.
  • Greedy Algorithms - Greedy algorithms are a type of algorithms that make the best decision at each stage of the problem-solving process. They make decisions based on the current problem, without considering the consequences of the decision in the long run.
  • Divide and Conquer - Divide and conquer is an algorithmic technique for solving problems that involve breaking the problem into smaller subproblems and solving each one separately.

In summary, there are several approaches related to algorithms that can be employed to solve problems. These include heuristics, greedy algorithms, and divide and conquer. Each approach has its own advantages and disadvantages, so it is important to choose the right approach for the problem at hand.


Algorithmrecommended articles
CAEDecision treeKnowledge mapAdvantages of artificial intelligenceAdvantages of simulationBusiness process modelingOperational researchLine balancingStructural programmingSubstantial performance

References

  1. [1] A. Jędryczkowski, Algorytmy, Prezentacja, 2005
  2. [2] C. Płotnicki - Chudyk, Wyszukiwanie drogi w grach komputerowych, Prezentacja, 2005
  3. [3] Algorytmy rozwiązywania gier - prezentacja, Koło naukowe informatyków Fraktal
  4. [5] N. Wirth, Algorytmy + struktury danych = programy, Wydawnictwa Naukowo - Techniczne, 2002
  5. [7]Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Wprowadzenie do algorytmów, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie 4, 2001
  6. [8] D. Harel, Rzecz o istocie informatyki: Algorytmika, Wydawnictwa Naukowo - Techniczne Warszawa, Wydanie drugie, 2000