Determinism
Full Title or Meme
The doctrine that all events, including human action, are ultimately determined by prior events and conditions together with the laws of nature,
Context
In 1976 Niklaus Wirth[1] appears to make the statement that computer programs could be understood with the following statement:In recent years the subject of Computer Programming has been recognized as a discipline whose mastery is critical to the success of many engineering projects and which is amenable to scientific treatment and presentation. It has advanced from a craft to an academic discipline. The initial outstanding contributions toward this development were made by W. E. Dijkstra and C. A. R. Hoare. Dijkstra's "notes on Structured Programming" open a new view of programming as a scientific subject and an intellectual challenge, and it coined the title for a "revolution" in programming. Hoares's "axiomatic Basis of Computer Programming" showed in a lucid manner that programs are amenable to an exacting analysis based on mathematical reasoning.Computer science education has since focused on object-oriented computing and verification of correctness, which had some successes, but have not lived up to the hype that accompanied their introductions. This is very similar to the path that physics took starting in 1900 with Plank's solution to the radiation equation. The statement of de Broglie after quantum mechanics had been widely accepted sounds a lot like that the computer scientists are saying today[2]
A number of physicists will manifest the greatest repugnance to consider as final the abandonment of a rigorous determinism, as present day [1953] quantum physics must do. they have gone to the length of saying that a non-deterministic science is inconceivable. This opinion seems exaggerated to us, since quantum physics does exist and it is indeterministic. But it seems to us perfectly permissible to think that, some day or other, physics will return to the paths of determinism and that then the present stage of this science will seem to us to have been a momentary detours during which the insufficiency of our conceptions had forced us to abandon provisionally our following exactly the determinism of phenomena on the atomic scale.
Problem
Alan Turing had proven that the full progress of a program cannot, in general, be known without actually running the program.[3] While Wirth's book does not mention it, all computer scientists have learned Turing's theorem; but it does not appear that they understood how Turing's limitations would apply to the everyday work of computer programmers. That day has certainly arrived. Writing about algorithms and Donald Knuth, Siobhan Roberts commented:[4]
Algorithms written by humans — tackling harder and harder problems, but producing code embedded with bugs and biases — are troubling enough. More worrisome, perhaps, are the algorithms that are not written by humans, algorithms written by the machine, as it learns. Programmers still train the machine, and, crucially, feed it data. (Data is the new domain of biases and bugs, and here the bugs and biases are harder to find and fix). However, as Kevin Slavin, a research affiliate at M.I.T.’s Media Lab said, “We are now writing algorithms we cannot read. That makes this a unique moment in history, in that we are subject to ideas and actions and efforts by a set of physics that have human origins without human comprehension.” As Slavin has often noted, “It’s a bright future, if you’re an algorithm.”
Solution
If the course of a computer program cannot be known in advance, any prediction about the real intent of the program cannot help inform the way that humans lead their lives in the current world as we cannot, in theory, know the results of any complex device that we may build in the future. That is not a statement that in any way should limit the responsibility of the programmers from their responsibility to society, even though their own code of Ethics refuses to articulate that ultimate responsibility.
References
- ↑ Niklaus Wirth, Algorithms + Data Structures = Programs. (1976) Prentice Hall Preface ISBN 0-13-022418-9
- ↑ De Broglie, The Revolution in Physics p 216
- ↑ Alan Turing, The Halting Problem. (1936) Wikipedia https://en.wikipedia.org/wiki/Halting_problem
- ↑ Siobhan Roberts The Yoda of Silicon Valley. (2018-12-17) New York Times https://www.nytimes.com/2018/12/17/science/donald-knuth-computers-algorithms-programming.html