intro
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Tue, 9 Apr 2019 19:12:16 +0000 (21:12 +0200)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Tue, 9 Apr 2019 19:12:16 +0000 (21:12 +0200)
phdthesis.cls
tex/introduction.tex

index c855077dfc7e79ea6bfc7400c22c6f0e2b995357..5a55b717d68782cad911238df87fe8d616816b59 100644 (file)
 %      \endlist}\r
 \r
 \def\thebibliography#1{\onecolumn \chapter*{\refname\@mkboth\r
-  {\uppercase{\refname}}{\uppercase{\refname}}}\list\r
+  {\uppercase{\refname}}{\uppercase{\refname}}}\label{chap:biblio}\r
+\addcontentsline{toc}{chapter}{\nameref{chap:biblio}}\list\r
   {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}%\r
     \leftmargin\labelwidth\r
     \advance\leftmargin\labelsep\r
index a3c9b2650396559ecbc09e460e3947de23f186d9..805ed3d2bbc88fc67143efd4fcf7d272861b4814 100644 (file)
@@ -1,23 +1,25 @@
 %!TEX root = ../hdrmain.tex
 
 \chapter*{Introduction}
+\label{chap:intro}
+\addcontentsline{toc}{chapter}{\nameref{chap:intro}}
 
-When I was a teenager, I was fascinated by computer, much more than I am today. I started to program early, and at this time I thought it was possible to create a program for everything. I believed the only limit of computer capabilities was the programmer's ability to code it. My limit was… pointers at this time. I wanted to create a program that was able to have a relevant conversation with me. I learned later that many people were working on this for decades. I tried the ELIZA system~\cite{weizenbaum66}, and I was not satisfied with it. It was just repeating what I was saying, and used a small set of expressions to ask me to make the conversation. Most of the time it spotted the right word in my sentence, but sometimes not and what it was saying just did not make any sense. It clearly failed the famous Turing test~\cite{turing50}, I knew about many years later. I think I wanted the program to understand what I write, without having hard coded key sentences or all grammar rules. Nobody speaks like a grammar book. Naively, I wanted to write a better program. However I did not want to code associations between concepts, words, metaphors and so on. I knew this was a huge work, that would take me several lives to achieve, and that when I will be finished, half of it will be obsolete. In fact I had no idea how to start.
+When I was a teenager, I was fascinated by computers, much more than I am today. I started to program early, and at this time I thought it was possible to create a program for everything. I believed the only limit of computer capabilities was the programmer's ability to code it. My limit was… pointers at this time. I wanted to create a program that was able to have a relevant conversation with me. I learned later that many people were working on this for decades. I tried the ELIZA system~\cite{weizenbaum66}, and I was not satisfied with it. It was just repeating what I was saying, and used a small set of expressions to ask me to make the conversation. Most of the time it spotted the right word in my sentence, but sometimes not and what it was saying just did not make any sense. It clearly failed the famous Turing test~\cite{turing50}, I knew about many years later. I think I wanted the program to understand what I write, without having hard coded key sentences or all grammar rules. Nobody speaks like a grammar book. Naively, I wanted to write a better program. However I did not want to code associations between concepts, words, metaphors and so on. I knew this was a huge work, that would take me several lives to achieve, and that when I will be finished, half of it will be obsolete. In fact I had no idea how to start.
 
 \section{Artificial Intelligence}
 
-Later, when I was a computer science student, I followed \defword{Artificial Intelligence} (AI) lessons. I learned about \defword{expert systems}~\cite{lindsay80}, the \defword{Perceptron}~\cite{rosenblatt57} and \defword{neural networks}~\cite{mcculloch43}, and so on. It reminded my teenager days. These were of course more advanced than anything I made myself. However I felt disappointed because none of these techniques were able to pass the Turing Test. In fact this was the general opinion, mostly due to overstatements from pioneer researchers in AI:
+Later, when I was a computer science student, I followed \defword{Artificial Intelligence} (AI) lessons. I learned about classical AI techniques, such as \defword{expert systems}~\cite{lindsay80}, the \defword{Perceptron}~\cite{rosenblatt57} and \defword{neural networks}~\cite{mcculloch43}. It reminded my teenager days. These were of course more advanced than anything I made myself. However I felt disappointed because none of these techniques seemed to be sufficient for creating a system that passes the Turing Test. In fact seemed to be the general opinion in the scientific community, mostly due to overstatements from pioneer researchers in AI:
 
 \myquote{Within ten years a digital computer will be the world’s chess champion.}{Herbert Simon and Allen Newell, 1958}
 
 The first time a chess-playing computer won a game against a world champion was Deep Blue against Garry Kasparov in 1996\footnote{\url{https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)}}.
 However Kasparov won the match 4-2.
 The computer won the next year $3\frac{1}{2}$ - $2\frac{1}{2}$.
-It is however only recently that computers clearly beat world-class chess or go players, with AlphaZero~\cite{silver18}, thanks to the recent advances in Deep learning [], which resurrected neural networks.
+It is however only recently that computers clearly beat world-class chess or go players, with AlphaZero~\cite{silver18}, thanks to the recent advances in Deep learning [], which resurrected neural networks techniques.
 
 \myquote{Machines will be capable, within twenty years, of doing any work a man can do.}{Herbert Simon, 1965}
 
-This is still far from being true today.
+This is still far from being true today. Machines still have to be programmed for specific tasks, and they have little knowledge and no understanding of their environment. This makes machines hardly adaptable to “any work a man can do”.
 
 \myquote{Within a generation, the problem of creating ‘artificial intelligence’ will substantially be solved.}{Marvin Minsky, 1967}
 
@@ -27,7 +29,10 @@ Dessalles argues that despite their capabilities, computers do not even know the
 
 \myquote{In from 3 to 8 years, we will have a machine with the general intelligence of an average human being.}{Marvin Minsky, 1970}
 
-Not only it did not happen in the worst case scenario predicted by Minsky. But it is still not the case today.
+Not only it did not happen in the worst case scenario predicted by Minsky. But it is still not the case today.\\
+
+At some point I realized that this idea of a computer able to have a conversation is futile in the sense that this is something humans do very well. The point of playing chess or any other game is to have fun, or challenging other individuals. There is no point playing chess against a computer (or anything else) you cannot beat.
++ about machine learning
 
 %http://biology.kenyon.edu/slonc/bio3/AI/TIMELINE/timeline.html
 %1943: McCulloch and Pitt propose neural-network architectures for intelligence.
@@ -40,18 +45,21 @@ Not only it did not happen in the worst case scenario predicted by Minsky. But i
 
 Later on in my studies, I became fascinated by logics and software proofs.
 I learned $\lambda$-calculus~\cite{church32} and Turing machines~\cite{turing38}, which are the foundations of computing.
-These concepts define the notions of computation, computability and programming language.
+These concepts define the notions of computation, calculability and programming language.
 In the late 30', Turing defined a \defword{computable function} as follows:
 
 \begin{definition}
 We shall use the expression \defword{computable function} to mean a function calculable by a machine, and let “effectively calculable” refer to the intuitive idea without particular identification with any one of these definitions.
 \end{definition}
 
+Therefore, computable functions refer to programs (Turing machines, $\lambda$-terms or any\defword{Turing-complete} formalism) and effectively calculable functions are algorithms.
 The Church-Turing thesis states that every effectively calculable function is a computable function.
-This may seem straightforward now that we have billions of examples useful and working computer programs.
-However it states an equivalence between theoretical models such as Turing machines or $\lambda$-calculus and what can be computer on a physical computer.
-It enables the theoretical analysis of computing problems with one of these models.
-In particular Turing showed that there is no algorithm that can predict if running any program on any input finishes or runs forever~\cite{turing36}.
+To put it simply, there is a computer program for every algorithm.
+%This may seem straightforward now that we have billions of examples useful and working computer programs.
+%However it states an equivalence between theoretical models such as Turing machines or $\lambda$-calculus and what can be computer on a physical computer.
+%It enables the theoretical analysis of computing problems with one of these models.
+Turing showed the limits of calculability.
+He proved there is no algorithm that can predict if running any program on any input finishes or runs forever~\cite{turing36}.
 This is known as the halting problem.
 The idea of the proof is that such an algorithm would take a program and an input as an input, and return 1 if this program finishes, 0 otherwise.
 This program would need to emulate this program on this input.
@@ -61,14 +69,14 @@ In the 50', Tarski \etal describe other undecidable theories, such as the first-
 This is a strong reason why still today, difficult proofs are made by humans, not computers.
 When the theorem to be proved or hypotheses have quantified variables, substitution possibilities are infinite.
 With thinking, observation of available hypothesis, instinct, and sometimes luck, humans can make progress in the proof.
-The question arises: since there are problems a Turing machine cannot solve, is there another way to solve these problems?
-If this is the case, there is something interesting happening beyond the Church-Turing thesis.
+The question arises: since there are problems no algorithm can solve, is there another way to solve these problems?
 
+%If this is the case, there is something interesting happening beyond the Church-Turing thesis.
 % Church and Turing showed these two models are equivalent in the sense they compute the same things, which (in short) leaded to the Church-Turing thesis.
 
 \section{Human-Computer Interaction}
 
-After such a theoretical background, I made a $90^\circ$ turn, and started research with a master internship, then a PhD in \defword{Human-Computer Interaction} (HCI).
+After such a theoretical background, I made a $90^\circ$ turn, and started research with a master internship, then a PhD, in \defword{Human-Computer Interaction} (HCI).
 My work consisted in finding how to use haptics to encode information for non-visual interaction~\cite{pietrzak05b,pietrzak08}.
 There was unfortunately no relation whatsoever with theoretical computer science at that point.
 However a first contact was made in 2006, when I attended a talk by Beaudouin-Lafon, entitled “Interaction is the future of computing”\footnote{\href{https://rjc06.afihm.org/}{RJC IHM 2006}, \url{https://rjc06.afihm.org/supports/MBLRJC-AFIHM2006.pdf}}.
@@ -82,7 +90,7 @@ He exposed three fascinating visions:
 
 \subsection{Englebart}
 
-Englebart's vision stems from Vannevar Bush's work on the Memex as he was coordinating scientific research in the United States during the second world war.
+Englebart's vision stems from Vannevar Bush's work on the Memex.% as he was coordinating scientific research in the United States during the second world war.
 The Memex was the idea of extending human memory with an electronic library~\cite{bush45}.
 It comprises a mechanism to store books and notes, an indexing system that allows searching documents, and a way to bookmark documents.
 Hypertext, computer networks and search engines are directly inspired by this vision.
@@ -102,6 +110,8 @@ By using this mechanism, any program sort of include external computation for fr
 
 %Wegner presents interaction as a way to extend algorithms with external computation of some sort, with his interactive machines.
 
+
+Algorithms specified before they start
 \subsection{Beaudouin-Lafon}
 
 \section{My stuff}