What Complex Problems Will Algorithms Solve in the Future?
Over the past decade, a profound technological revolution has taken place, driven by enhancements of computer capabilities through the improvement of algorithms. How have algorithms contributed to the improvement of computers and been used to solve complex problems? Algorithms serve as the bedrock for navigating complex programming challenges; they provide step-by-step instructions that guide both programmers and computers in problem-solving. They solve problems by creating the most efficient and optimal solutions, playing a pivotal role in advancing computational capabilities and shaping modern technology. They are a central concept in computer science and have significantly furthered areas such as robotics, machine learning, finance, scientific exploration, and many more. This leads to the question, what complex problems will algorithms be able to solve in the future?
It is essential to understand the definition and applications of algorithms. According to “The Biography of an Algorithm: Performing algorithmic technologies in organizations” by Vern Glaser, Neil Pollock, and Luciana D’Adderio, an algorithm in simple terms is defined as “precise recipes that specify the exact sequence of steps required to solve a problem”. This encapsulates the main idea of an algorithm; they take inputs, execute predefined commands, often involving the manipulation of data or intricate calculations, and produce meaningful outputs. It is important to understand that algorithms are not independent entities in programming. An algorithm is a fundamental component within a larger program, serving a specific purpose or function. This highlights the collaborative nature of computer programming, where algorithms work alongside other elements to perform overarching objectives. Algorithms find application across a diverse array of problems, serving functions that span from simple to complex. Whether they are sorting massive datasets, optimizing search engine results, or powering sophisticated machine learning models, their versatility makes them suited for a variety of problems.
One of the important features of an algorithm is its step-by-step instructions to both the computer and programmer. Readability for the programmer and anybody who uses or reads the code is important in terms of productivity, professionalism, organization, and collaboration. This allows the user to thoroughly understand the code, streamlines code maintenance, encourages other programmers to potentially make improvements or specifically modify, and eases the debugging and troubleshooting process. The different steps also make the algorithm more modular and scalable. In coding, prioritizing the reusability of elements is a crucial factor, as it fosters collaboration and efficiency. Step-by-step instructions provide a precise and systematic approach to problem-solving which is ideal for the computer and programmer. This approach provides accurate and reproducible results despite the conditions or context of the execution; predictability is essential for achieving reliable and accurate results. The steps also create different logic paths which are important in the decision-making aspect of algorithms. One of the concepts of artificial intelligence is to mimic human logic and decisions which are created by different branches and pathways from its code. This is done by utilizing algorithms, basic elements such as if-else statements, data structures such as binary trees, and many more. For example, in a sorting algorithm, if two numbers are compared, different code is executed for whether one number is smaller than the other or not. This type of systematic and decision-based logic is at the heart of important algorithms such as sorting algorithms.
The optimizational nature of algorithms is important in the complexity of programs. All computers have limited resources such as memory, computational power, and processing speed which should be considered when writing code. One consideration regarding the optimization of an algorithm is its time complexity. Time complexity is the general time it takes for an algorithm to be executed; this can be affected by what loops it uses, how many lines of code it is, how many times it is executed, etc. For example, depending on the search algorithm, it may take exponentially or logarithmically growing time to search through a data set as it gets larger. According to an analysis of optimization algorithms, “Optimization methods have allowed us to achieve not only higher test accuracy in a short time but to imply the necessary features and disadvantages of existing models, which through time has allowed research to provide advanced architectures.” (Abdulkadirov, Lyakhov, Nagornov 11) The authors explicitly state that the improvement of optimized algorithms has provided ways to suggest improvements in more advanced architectures of neural networks, which utilize machine-learning algorithms. These existing optimization algorithms can help broaden the applications of modern neural networks. There are many different essential algorithms that are widely used. Searching, pathfinding, sorting, compression, tree and graph based, and pattern matching are some of the more common types of algorithms (Mulongo). “From Google search to morning routines, algorithms are ubiquitous in our everyday life — and their use is only likely to grow to break down tasks into chunks that can be solved through specific implementations.” (Manjunath, 8) Manjunath continues in his article, “The Importance of Algorithms”, to explain how monotonous tasks are becoming more automated with algorithms.
As algorithms continually advance in efficiency, optimization, and compatibility with computer hardware, the expectation is the ongoing emergence of numerous new technologies. What new technologies will emerge, and how will current technology be affected by better algorithms? One example of how algorithms will affect current technology is through the refinement of online shopping algorithms. This is an experience that the majority of individuals have encountered; when online shopping repeatedly being advertised and recommended products to them based on their search history and previous purchases. “Machine learning algorithms can be applied here, which allow additional data such as add to cart and purchase behavior around products to influence the sorting of results, meaning shoppers will see more relevant results, and those which other shoppers have a higher propensity to purchase.”(Charlton) With a higher likelihood of purchasing more products based on what the algorithm recommends, this can lead to companies making bigger profit. Netflix reports their recommendation engine supplies one billion dollars per year since customers are able to find what they want to watch better. (Charlton) This shows that it is likely that big companies such as Netflix will benefit from the improvement of their algorithms in the future.
A significant amount of complex problems that humans have yet to solve are part of the infamous P vs. NP theory. In a simplified explanation, the P vs. NP theory is an ongoing debate whether NP problems are also considered P problems that humans have the resources and technology to solve in polynomial time and are able to verify solutions for. NP problems on the other hand are problems whose solutions can be verified in polynomial time, but require exponential time to solve. “So the question ‘Does P equal NP?’ means ‘If the solution to a problem can be verified in polynomial time, can it be found in polynomial time?’”(Hardesty) This is an important question since current computers are only so fast and current algorithms are only so efficient; trying to find solutions for nondeterministic polynomial time problems is a very challenging and considered impossible task due to current limits on technology and algorithms. “Perhaps, though, we are heading to a de facto Optiland. Advances in machine learning and optimization in both software and hardware are allowing us to make progress on problems long thought difficult or impossible—from voice recognition to protein folding—and yet, for the most part, our cryptographic protocols remain secure.”(Fortnow) As stated, problems that were believed to be unsolvable have been solved and shifted from the realm of NP to P problems. As time goes on and algorithms and computers improve, it makes sense that NP problems will continue to be solved, especially with advances in quantum computing that will allow faster computations and executions. “Medical researchers, particularly those trying to tackle diseases such as cancer, often hit upon hard algorithmic barriers.”(Fortnow) As advancements in technology break down these algorithmic barriers, what effect does it have? Some NP problems that scientists, theorists, and mathematicians are expecting to make progress on with better computers in the future include creating more complex models based on given data to further research, accurately predicting formation of proteins, and better machine learning programs for certain games such as chess and go.
Despite recent advancements in computing, specifically with algorithms, certain complexities and challenges will surface. Fortnow states, “We have the technological capability to wear glasses that would allow you to learn the name, interests and hobbies, and even the political persuasion of the person you are looking at.” Society has yet to deal with the full extent of how technology will introduce new issues. The significance of algorithms is evident as their pivotal roles in programming and computer science have played a crucial part in propelling the technological revolution forward. However, they are not flawless. Their efficiency, functions, and usefulness are only as good as the person that makes them. An algorithm that has a design flaw can create a plethora of problems. For example, a microsoft twitter chatbot was created to respond to Millenials prompts, however, its algorithm caused it to respond with racist and sexist tweets. (Raine) According to the study done by Pew Research, collecting opinions from over 1,000 technology experts, scholars, corporate practitioners and government leaders, there are some cons that need to be considered with the increasing roles and dependence on algorithms. Concerns include loss of human judgment due to excessive data and prediction modeling, algorithms reflecting human biases, deepened divides due to algorithms limiting user’s exposure to different content and ideas outside of their own interests and beliefs, and rising unemployment due to the displacement of jobs being replaced by computers. (Raine) As technology progresses with the improvement of algorithms, it is important to understand their limitations, potential risks, and roles in society. Even though computers will be able to solve many more complex problems, there is always the possibility that they will be the creators of problems.
The ability for algorithms to solve complex problems has and will continue to further technology due to their crucial role in programming. The importance of algorithms lies in their logical steps and the provision of efficient, optimal solutions, distinguishing key features within their design. The ongoing refinement of algorithms will continue to influence society; however, predicting whether this influence will be beneficial or negative is challenging to predict. It is evident that computers have made drastic progress in solving complex problems. As computers improve through faster computations, more efficient and optimal algorithms, and discoveries in quantum computing, many problems that humans thought were unsolvable will be progressed. The relentless drive of humans to overcome challenges, progress society, and push the boundaries of innovation is reflected in the drastic advancement of technology, fueled by algorithms that lie at the heart of computer science.
Work Cited
Abdulkadirov, Ruslan, et al. “Survey of Optimization Algorithms in Modern Neural Networks.” MDPI, Multidisciplinary Digital Publishing Institute, 26 May 2023, www.mdpi.com/2227-7390/11/11/2466 Accessed 27 Jan. 2024.
Glaser, V. L., Pollock, N., & D’Adderio, L. (2021). The Biography of an Algorithm: Performing algorithmic technologies in organizations. Organization Theory, 2(2). https://doi.org/10.1177/26317877211004609
Mulongo, Cleophas. “The Importance of Algorithms in Computer Programming.” Technotification, 19 Sept. 2022, www.technotification.com/2019/02/importance-of-algorithms-programming.html
Manjunath. “The Importance of Algorithms.” Scribd, www.scribd.com/document/496350847/The-Importance-of-Algorithms
Rainie, Lee. “Code-Dependent: Pros and Cons of the Algorithm Age.” Pew Research Center: Internet, Science & Tech, Pew Research Center, 8 Feb. 2017, www.pewresearch.org/internet/2017/02/08/code-dependent-pros-and-cons-of-the-algorithm-age/
Hardesty, Larry. “Explained: P vs. Np.” MIT News | Massachusetts Institute of Technology, news.mit.edu/2009/explainer-pnp. Accessed 27 Jan. 2024.
Fortnow, Lance. “Fifty Years of P vs. Np and the Possibility of the Impossible.” Communications of the ACM, Jan. 2022, cacm.acm.org/magazines/2022/1/257448-fifty-years-of-p-vs-np-and-the-possibility-of-the-impossible/fulltext. Accessed 26 Jan. 2024.
Charlton, Graham. “How Online Retailers Can Use Algorithms to Grow Their Business.” Dot Knowledge – Digital Marketing Training for Small Businesses and Owners, dotknowledge.uk/articles/view-article/how-online-retailers-can-use-algorithms-to-grow-their-business. Accessed 25 Jan. 2024.