Showing posts with label deep learning. Show all posts
Showing posts with label deep learning. Show all posts

Understanding Algorithms: A Brief Tour Through History and Classification

Understanding Algorithms: A Brief Tour Through History and Classification 



Illustration MMillustrates at Pixabay


Artificial intelligence, machine learning, and deep learning have become common nowadays in many areas. We talk about artificial intelligence as it is like a mythological being surrounding us. 

But it's not, or almost not. 

Artificial intelligence is only a program in a computer created by us humans, filled with data from us humans, and executed with help of a bunch of algorithms.


What are algorithms then, are those the mythical beings controlling the artificial intelligence that controls us humans?

Almost, but not really.

Algorithms can be either mathematical or non-mathematical, and computer programs frequently use them to carry out particular tasks.


Although algorithms are often invented and constructed by people, they can also be built by other algorithms. This is also referred to as "algorithmic recursion" or "algorithmic self-replication." Based on certain inputs or conditions, algorithms may occasionally be built to produce new algorithms or modify already existing algorithms. 


So let's talk about algorithms.


A set of instructions called an algorithm describes how to carry out a given task or solve a particular problem. Search engines, machine learning, data analysis, and many other applications require algorithms, which are a fundamental component of computer science.


The name of the mathematician Muhammad ibn Musa al-Khwarizmi, who was a pioneer in the science of algebra, is where the word "algorithm" originates. Although algorithms have been known for centuries, their significance has grown recently as computers and other technical gadgets have become more swift and potent.


Algorithms come in a wide variety of forms and can be categorized in numerous ways. Algorithms are frequently categorized according to their design (how they are constructed), complexity (how long they take to run), and purpose (what they are used for).


The effectiveness of algorithms is a crucial consideration. Designing algorithms that can solve issues quickly and effectively is becoming more and more crucial as computers and other technological devices get quicker and more powerful. This calls for a thorough comprehension of computer science concepts as well as the capacity for critical and inventive problem-solving.


It is useful to look at a specific example to comprehend how algorithms operate. The "sorting algorithm," one of the most well-known algorithms, is used to organize a group of things in a specific order. Although there are many distinct sorting algorithms, "bubble sort" is one of the most fundamental.


The bubble sort algorithm operates as follows:


Start with a list of things that are not sorted.

Compare the list's first two items. Change the order of the items if the first is greater than the second.

The second and third entries in the list should be compared. Change the order of the items if the second item is greater than the third.

Once you've reached the end of the list, repeat this step.

Repeat the procedure starting at the beginning of any swaps that were done in the previous stage. The list is arranged if there were no swaps.

This may seem like a straightforward illustration, but it highlights some important algorithmic ideas. An algorithm, first and foremost, is a series of actions that can be taken to address an issue in a particular order. Second, an algorithm may make judgments and comparisons depending on the information provided. Third, an algorithm can include repeatedly doing a task up until a predetermined condition is met.


There are many more types of algorithms, and the most prevalent ones can be categorized in several ways. Here are some further illustrations of various sorts of algorithms and descriptions of how they operate:


Search algorithms: Using these methods, one can look for certain things inside a broader data set. Examples include binary search, which finds an item by dividing the data set in half and examining which half the item is most likely to be in, and linear search, which looks at each element in the data set separately to find an item.


Comparison-based algorithms: These algorithms work on the principle that elements should be compared to one another to establish their relative order or position. One illustration is quicksort, which chooses a pivot element and reorganizes the data set so that all elements that are less than the pivot appear before it and all elements that are larger than the pivot appears after it.


The optimization algorithm's goal is to identify the optimum solution to a problem given a set of restrictions or limitations. Examples include simulated annealing, an algorithm used to find the global minimum of a function by starting at a high temperature and gradually cooling it down, and gradient descent, an algorithm used in machine learning to find the minimum of a function by taking small steps in the direction of the negative gradient.


Algorithms for machine learning: These algorithms allow computers to learn and decide for themselves without being explicitly programmed. Examples include neural networks, which are used to identify patterns and make judgments based on those patterns, and decision trees, which are used to build models that can make predictions based on certain inputs.


Want to new more?

There are numerous resources, including books, online tutorials, and university-level computer science courses, that can be used to learn more about algorithms. Coursera (https://www.coursera.org/courses?query=algorithms), Khan Academy (https://www.khanacademy.org/computing/computer-science), and the textbook "Introduction to the Design and Analysis of Algorithms" (a direct link to PDF file) by Anany Levitin are a few well-liked resources for learning about algorithms.


Algorithms are fundamental to computer science and are employed to address a variety of issues. You may master this subject and help create fresh, cutting-edge solutions by studying algorithms and honing your problem-solving abilities.










LEGO Star Wars Nebulon-B Frigate Interlocking Block Building Sets 77904 LEGO Star Wars Midi-Scale Imperial Star Destroyer (8099)
LEGO Star Wars: Slave I - 1996 Piece Building Kit [LEGO, #75060, Ages 14+] LEGO Star Wars TIE Fighter Attack 75237