Regarding Algorithms:



Platonic Programming:

Algorithm and Language:

Algorithms seem to be "outside" language (the platonic ideal)
-However, Algorithms must surely themselves be an expression of some language
-This seems similar to the idea that "information" is "objective"
 and therefore somehow able to have a meaningful existence outside its own defining context......

The idea that all "programs" are simply either implementations of, or interfaces to, algorithms may be very dangerous..... (and perhaps lies at the heart of the problem of postmodern computer art)...... Such ideas ignore, or even deny,  the role language has in expressing its own internal ontological epistemology. No language is neutral: All languages are (meta-) models of (or within) some real or imaginary system -even when this language is itself used to construct other models.

Infinite recursions can be problematic if one expects termination -but they might also have unexplored creative potentials. Surely, any system must be either incompletely defined -or tautologically self-defining.

----------------------------------------------------------------------

An Alternative Approach?


Karl M. Fant seems to bring "Computer Science" very close to a general theory of "expression" -which might possibly bring both computation and mathematics back into conceptual areas that have traditionally been of interest to the artist.

The common problem seems to center around models building on various levels. In this context, it would seem that the most basic steps have not really been taken: How for example, does Mathematics relate to Logic and how does Logic relate to Philosophy and Language? Is one a subset of the other -and if so, then which one is the subset?

These may seem to abstruse and silly abstract problems, far removed from reality -but, in practice, questions of epistemology and taxonomy probably do affect the way various practical subjects are taught, and this in turn presumably affects the ability of professional practitioners to solve contemporary problems.

Postmodern cultural theory preaches a lack of distinction between the simulacrum and that which they simulate -but unfortunately seems to have little practical understanding of the way conceptual models actually work in practice.


A Critical Review of the Notion of the Algorithm in Computer Science

In his conclusion to the above titled article, Karl M. Fant states:

What is essentially a discipline of pure mathematics has come to be called "the theory of computer science" and the notion of the algorithm has been decreed to be a fundamental paradigm of computer science. The mathematical perspective, however, is the wrong point of view. It is asking the wrong questions. Mathematicians and computer scientists are pursuing fundamentally different aims and the mathematicians tools are not as appropriate as once supposed to the questions of the computer scientist.The primary questions of computer science are not of computational possibilities but of expressional possibilities. Computer science does not need a theory of computation it needs a comprehensive theory of process expression.
<http://www.theseusresearch.com/Downloads/algorithm%20article.pdf>
<On-Line HTML Version>

On-line discussion of article: <http://www.itwire.com.au/content/view/13339/53/>

<Selected Reactions to Fant's article>


The Chicken and the Egg:
In relation  to creative cognition and the role of language, one might therefore ask: If an algorithm is the main basis for the computational process -then via what (non-computational?) process does one creatively "compute" the original algorithm?

Intuitive Programming -A Socratic Dialogue?
How important are algorithms when using an interpreter such as LISP or  BASIC -is the language then more "intuitive"? Could "intuitive programming" be a useful (methodological) concept? My own approach to programming could perhaps be termed "intuitive programming" and is perhaps somewhat similar to the way some artists develop a painting (or a piece of creative writing):  Using a incremental developmental system based on "prototyping" -where a rough concept is initiated and then becomes gradually developed and refined within a process of creative "dialogue" which operates between the various aspects of the programme. This process implies that modifications are sometimes driven by syntactic or epistemological improvements to the programme and sometimes by  more semantic and ontological improvements to the way the programme functions -or the (visual) output it produces. Presumably, within this methodological approach, the (hypothetical) "Algorithm" could be (re)constructed by  "abstraction" (removing the meat to find the bones underneath) after completion. However, the actual creation of this (pseudo-) "Algorithm" was an integral part of the "programming" process and did not exist in any "Platonic" sense until after the (initial) creative process had finished.

The Philosophy of methodology:
Perhaps the above mentioned differences in methodological approach explain why I consider "programming" to be a philosophical process involving both epistemology and ontology -while most programmers see the process as a simple technical "coding" of an a priori algorithm.

Top-Down or Bottom Up?
The concept of the algorithm (loosely or tightly defined) works well in "top-down" systems -where an imperative set of instructions form the main organizational principle. However, in less predictable "bottom-up" systems a more declarative system that describes and defines the components and their mutual relationships might be more useful.

Pragmatism, Models and Algorithms:
Much of the resulting argument regarding Fant <Forget Maths -Replies> seemed to revolve around the differences between the "pragmatics" (who appear to deny the value of any theoretical framework in their practice) and the "theorists" (who found the mathematical theory extremely valuable). Very few <Fant -Selected Reactions> seem prepared to confront the real issue of expression and representation in Mathematics and Computer Science. However, some are also seem to be aware of a dumbing down resulting from a disregard of theory when pragmatism is so profitable. One writer, Quinn, even remarks: This article sounds like it was written by the British Ministry of Education: having successfully destroyed academic physics, they're now looking to do the same with computer science.

Y.C. Tay from the Department of Mathematics and Department of Computer Science National University of Singapore in a paper entitled "What should Computer Science students learn from Mathematics?"  states: Among all that a computer science student learns from mathematics, I believe the training that is of particular importance to the researcher is the ability to craft an appropriate model. Consider: The relational model for data is the basis for a billion-dollar industry, the model of time lies at the heart of the impossibility proof for fault-tolerant distributed consensus, and the Turing model has the robustness enshrined in the Church-Turing Law that gives us confidence in plotting the limits of computability.

So what is a Model and is it truly synonymous with Algorithm?


Back to Language:

-Can one write or say something in (for example) French or German that one cannot say in English?
-Is there a difference between oral and written language?
-What is actually "expressed" by "language"?
-In what language does the original "thought" exist?
-In which medium does "thought" live, if it is "outside" language?

----------------------------------------------------------------------


Regarding Computability:

The End of Halting?

The halting problem now seems irrelevant -perhaps it is. Many processes, including the operation of power stations -and even my own <Visual Works> are intended to be continuous.

However, the problem of computability  (defining, mapping and testing the connectivity of all possible states within a given system) remains of vital importance: Can, for example, a Microsoft system really do everything its operator might wish? The advertising industry would like us to believe that everything is possible at all times -but Goedel tells us that no (complex) system can be complete and consistent. So who is right?

-Does the way the system is defined and built affect its performance?
-How does one define that which is outside the system,
in order to know if the system can "incorporate" it?


Computability and Geometry:
The story of Non-Euclidean geometry is probably a parable of computability: How could a (real or imaginary) geometry ever exist if was "outside" Euclid"?


Logic and Computability:
How does one "compute" or "decide" if something is "true" -or not (how does one define truth)?
Is "truth" an inherent part of the universe -or simply an invention of our minds?



Dehumanizing Computer Science (and Art)?

In his paper <Dehumanizing Computer Science> Karl Fant concludes:

While humans can still muck around in the works as they please, they are no longer conceptually integral to the works. Transcending its mathematical heritage without abandoning it, dehumanized computer science is essential to understanding the nature of symbolic expression and to encompassing the natural phenomena of symbolic computation as well as the expressions of human computation in the same way that the science of aeronautics encompassing the airplane's wing and the bird's wing.The science of symbolic computation is not as artifactual as supposed

This sounds contradictory to my belief (stated in  <Revolutionary to Reactionary>) that Automation Kills Programming. However, I believe that if I understand Fant correctly, the removal of the human being is not intended to alienate us from automated processes -but indeed, to use the lack of human intervention as a way of exploring and testing our (fundamental) assumptions.

This was also the reason that I added the "Manifesto" from angry revolution plotting computers to my artist's statement "On the Stairs: Between Old and New Media" for the Stuttgarter FilmWinter.




<Revolutionary to Reactionary>

Trevor Batten,
<trevor at tebatt.net>
Manila August  2007