{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"1d3bd28e-c1ba-4af2-8580-60b32ef26053","title":"If...Then Algorithmic Power and Politics","author":null,"edition":null,"publisher":null,"year":null,"isbn":"2017054909","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"1d3bd28e-c1ba-4af2-8580-60b32ef26053","id":"1d3bd28e-c1ba-4af2-8580-60b32ef26053","uuid":"1d3bd28e-c1ba-4af2-8580-60b32ef26053","title":"If...Then Algorithmic Power and Politics","normalized_title":"ifthenalgorithmicpowerandpolitics","author":null,"edition":null,"publisher":null,"year":null,"isbn":"2017054909","isbns":["2017054909","9780190493042","9780190493059"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":211,"navigation_url":"https://workshop.closeclaw.top/ai/book/1d3bd28e-c1ba-4af2-8580-60b32ef26053","title_url":"https://workshop.closeclaw.top/ai/title/If...Then%20Algorithmic%20Power%20and%20Politics","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/1d3bd28e-c1ba-4af2-8580-60b32ef26053/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/1d3bd28e-c1ba-4af2-8580-60b32ef26053/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/1d3bd28e-c1ba-4af2-8580-60b32ef26053","page_url":"https://workshop.closeclaw.top/api/ai/books/1d3bd28e-c1ba-4af2-8580-60b32ef26053/page","search_url":"https://workshop.closeclaw.top/api/ai/books/1d3bd28e-c1ba-4af2-8580-60b32ef26053/search"},"page":{"printed_page":21,"pdf_page":31,"physical_index":31,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"478b271d3111a92c9a4c8095def5203382b5eeddf03e4ca062f5aaeff35f2225"},"chapter":"IF...THEN","content":"(2015: 31). During the 17th century, the German philosopher Gotfried Wilhelm Leibniz (1646–1716) added a new dimension to symbolic computation by developing “the vision of calculating truths (true statements)” (Miyazaki, 2012).2 As far as a the prehistory of algorithms goes, Leibniz provided the groundwork for what later became known as Boolean algebra by “arithmetizing logic” and using if/then conditionals for calculating truth (Thomas, 2015). In Thomas’ account, the origin can be traced to Boole (1847) and his theory of Boolean algebra and continues with Frege’s 1879 introduction of a formal language in which mathematical statements could be expressed (see Thomas, 2015). For many historians, however, the history of algorithms proper starts with David Hilbert and what is called the Entscheidungsproblem, the challenge of whether an algorithm exists for deciding the universal validity or satisfiability of a given logical formula (Sommaruga & Strahm, 2015: xi). In 1936, Alan Turing famously solved this problem in the negative by reducing the problem to a notion of symbolic computation, which later became known as the Turing machine. Although Turing himself scarcely made direct reference to the term “algorithm,” contemporary mathematicians such as Alonzo Church (1903–1995) or Stephen C. Kleene (1909–1994) did (Miyazaki,  2012). In tracing the historical origins of the term “algorithm” and its role in the history of computing, Shintaro Miyazaki (2012) suggests that “algorithm” first entered common usage in the 1960s with the rise of scientific computation and higher-level programming languages such as Algol 58 and its derivatives. By the mid 20th century, then, “an algorithm was understood to be a set of defined steps that if followed in the correct order will computationally process input (instructions and/or data) to produce a desired outcome” (Kitchin, 2017: 16).\n\nPerhaps the most common way to define an algorithm is to describe it as a recipe, understood as a step-by-step guide that prescribes how to obtain a certain goal, given specific parameters. Understood as a procedure or method for processing data, the algorithm as recipe would be analogous to the operational logic for making a cake out of flour, water, sugar, and eggs. Without the specific instructions for how to mix the eggs and flour or when to add the sugar or water, for instance, these ingredients would remain just that. For someone who has never baked a cake, step-bystep instructions would be critical if they wanted to bake one. For any computational process to be operational, the algorithm must be rigorously defined, that is, specified in such a way that it applies in all possible circumstances. A program will execute a certain section of code only if certain conditions are met. Otherwise, it takes an alternative route, which implies that particular future circumstances are already anticipated by the conditional construct of the “if. . . then statement” upon which most algorithms depend. The “if. . . then statement” is the most basic of all control flow statements, tasked with telling a program to execute a particular section of code only if the condition is deemed “true.” However, in order to be able to test and compute a “false” condition, the “if. . . then” statements needs to include an “else” statement, which essentially provides a secondary path of executing. In other words, while the “if. . . then” statement can only compute “true” statements, the “if. . . then . . . else” construct will be able to execute an alternate pathway as well.3 An algorithm essentially indicates what should happen when, a principle that programmers call “flow of control,” which is implemented in source code or pseudocode. Programmers usually control the flow by specifying certain procedures and parameters through a programming language. In principle, the algorithm is “independent of programming languages and independent of the machines that execute the programs” (Gofey, 2008: 15). The same type of instructions can be writen in the languages C, C#, or Python and still be the same algorithm. This makes the concept of the “algorithm” particularly powerful, given that what an algorithm signifies is an inherent assumption in all software design about order, sequence, and sorting. The actual steps are what is important, not the wording per se.\n\nTh e M u l tip l icity of A lgo rith ms\n\n21","previous_page":20,"next_page":22}