Style + work on intro
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Thu, 4 Apr 2019 21:09:06 +0000 (23:09 +0200)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Thu, 4 Apr 2019 21:09:06 +0000 (23:09 +0200)
hdrmain.tex
mystyle.sty
tex/conclusion.tex
tex/haptics.tex
tex/introduction.tex
tex/something.tex

index b8ba8fe49d9553e2521f1429e3869d1a2dfac1dc..5e273b51e95c39344f2599eed7d72cd007f0fe11 100644 (file)
@@ -81,6 +81,9 @@
     Revision: \texttt{\StrLeft{\commit}{7}} on branch \texttt{\branch}\\\r
     Compiled on \today\ at \currenttime\\\r
   \end{titlepage}\r
+\r
+  \newgeometry{inner=1.5cm, outer=2.5cm, vmargin=3cm}\r
+\r
   \cleardoublepage\r
 \r
 \tableofcontents\r
index 2d3e2620bb7b3e8f7d23f08002b1a5de4195c46c..838aa7fbf4c387bdb592de6046f23297a24f66b0 100644 (file)
@@ -10,6 +10,7 @@
 \usepackage{epigraph}
 \setlength{\epigraphrule}{0pt}
 \setlength{\epigraphwidth}{.5\textwidth}
+\usepackage{xspace}
 
 %\usepackage[french]{babel}
 %\usepackage{icomma}
@@ -18,6 +19,7 @@
 % \usepackage[super]{cite}
 
 \usepackage{xcolor}
+\definecolor{bulletcolor}{HTML}{992222}
 \definecolor{chaptercolor}{HTML}{992222}
 \definecolor{sectioncolor}{HTML}{992222}
 \definecolor{subsectioncolor}{HTML}{992222}
@@ -26,6 +28,7 @@
 \definecolor{gray95}{rgb}{0.95,0.95,0.95}
 \definecolor{gray90}{rgb}{0.9,0.9,0.9}
 \definecolor{linkcolor}{HTML}{992222}
+\definecolor{ideecolor}{rgb}{0.9,0.9,1.0}
 
 \usepackage{titlesec}
 
@@ -57,7 +60,7 @@
   [\color{gray75}{\titlerule[0.8pt]}]
 
 \titleformat{\subsection}
-  {\large}
+  {\large\sffamily}
   {\color{subsectioncolor}\textbf{\thesubsection}\hspace{2mm}}
   {0em}
   {}
@@ -67,7 +70,7 @@
   {0em}
   {}
 
-\titleformat{\subsubsection} {\color{subsubsectioncolor}\normalfont\it} {\textbf{\thesubsubsection}\hspace{2mm}}{0em}{}
+\titleformat{\subsubsection} {\color{subsubsectioncolor}\normalfont\it\sffamily} {\textbf{\thesubsubsection}\hspace{2mm}}{0em}{}
 \titleformat{name=\subsubsection,numberless} {\color{subsubsectioncolor}\normalfont\it} {}{0em}{}
 
 % espaces de justification
 \@addtoreset{@definition}{chapter}
 \makeatother
 
+\newenvironment{idee}{\begin{mdframed}[backgroundcolor=ideecolor, linewidth=0pt]\upshape}{\end{mdframed}}
+
+\newcommand{\myquote}[2]{
+  \begin{mdframed}[backgroundcolor=gray90, linewidth=0pt]
+  \upshape {#1}\\
+  \raggedleft-- \it #2
+  \end{mdframed}
+}
+
+\newcommand{\defword}[1]{\emph{#1}\index{#1}}
+
 \newcommand{\etal}{\emph{et al.}\xspace}
 
 \makeatletter
 \newcommand{\centrevertical}[1]{\raisebox{-\height + \ht\@arstrutbox}{#1}}
 \makeatother
 
+\usepackage{enumitem}
+\usepackage{pifont}
+\setitemize[0]{label=\ding{110}, font=\footnotesize \color{bulletcolor}, itemsep=-2pt}
+\setenumerate[0]{\color{bulletcolor}}
+
 
 \usepackage{makeidx}
 \makeindex
index b3831c64586fae51de4b394d33f91ab9c69ffefd..ee12f74550d1c3525680b035c6c80f598e7384c1 100644 (file)
@@ -1,3 +1,30 @@
 %!TEX root = ../hdrmain.tex
 
-\chapter{Conclusion}
\ No newline at end of file
+\chapter{Conclusion}
+
+Something about this incompletude phenomenon: ideas on how to tackle the problem
+
+
+\begin{idee}
+Interactive programs have limited number of features and capabilities.
+They are bounded by their inputs.
+More features and capabilities are possible, but new input is necessary.
+It can be new inputs, other kind of inputs or higher precision inputs.
+In any case the program must evolve to take these changes into account.
+These changes are made by humans.
+\end{idee}
+
+\begin{idee}
+Gödel's' first incompleteness theorem: in any consistent formal system F within which a certain amount of arithmetic can be carried out, there are statements of the language of F which can neither be proved nor disproved in F.
+
+The interactive incompleteness theorem: in any non trivial interactive program, there are desirable features which are not available.
+
+The interactive incompleteness theorem v2: in any non trivial interactive program, there are tasks users cannot perform with available features.
+
+Software evolution\cite{mens05}
+
+
+Conway's Law~\cite{conway68}: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.
+
+Formal systems deal with Gödel's incompleteness theorem by adding axioms. Interactive programs add features.
+\end{idee}
index 2f7ec67808f51ccf7d6e4e3e8eaa6d37e439e583..a89b562dd9b7c32944245343a2be42989a9adb19 100644 (file)
@@ -14,3 +14,6 @@ Previous: \cite{pietrzak05,pietrzak06,pietrzak09}
 
 \section{Direct Manipulation}
 \cite{gupta16}
+
+\section{Happiness}
+\cite{frisson17}
index 6b6618103dde6eab9e8bd838fb186c128cefe8a8..a3c9b2650396559ecbc09e460e3947de23f186d9 100644 (file)
@@ -2,4 +2,155 @@
 
 \chapter*{Introduction}
 
-\cite{mbl00,mbl04,mbl00a}
\ No newline at end of file
+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.
+
+\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:
+
+\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.
+
+\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.
+
+\myquote{Within a generation, the problem of creating ‘artificial intelligence’ will substantially be solved.}{Marvin Minsky, 1967}
+
+The definition of “intelligence” or “artificial intelligence” is far from being consensual.
+I would argue that computers are still far from being intelligent as we would measure intelligence of a human being.
+Dessalles argues that despite their capabilities, computers do not even know they are intelligent~\cite{dessalles19}.
+
+\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.
+
+%http://biology.kenyon.edu/slonc/bio3/AI/TIMELINE/timeline.html
+%1943: McCulloch and Pitt propose neural-network architectures for intelligence.
+%1950: Turing Test proposed (Turing's "Computing Machinery and Intelligence")
+%1959: Rosenblatt introduces Perceptron.
+%1965: Simon predicts, "by 1985 machines will be capable of doing any work a man can do"
+%1965: Buchanan, Feigenbaum & Lederberg begin DENDRAL expert system project.
+
+\section{Logics}
+
+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.
+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}
+
+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}.
+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.
+If the program finishes, this algorithm would effectively return 1.
+Otherwise the emulation would run forever, and the algorithm would never return 0.
+In the 50', Tarski \etal describe other undecidable theories, such as the first-order theory of natural numbers~\cite{tarski53}.
+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.
+
+% 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).
+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}}.
+As I still knew little about HCI, I was struck by thunder.
+He exposed three fascinating visions:
+\begin{itemize}
+  \item Engelbart's vision of computers that extend human capabilities~\cite{engelbart68}.
+  \item Wegner's vision on interaction VS algorithms~\cite{wegner97}.
+  \item His own vision of instrumental interaction~\cite{mbl00}.
+\end{itemize}
+
+\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.
+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.
+Between 1962 and 1968, at a time computer were a room size, Englebart pushed this vision forward.
+In his famous 1968 demo\footnote{The mother of all demos: \url{https://youtu.be/yJDv-zdhzMY}}, he showcased: a collaborative real-rime word processing editor, the computer mouse, a chorded keyboard, a windowing system, hypertext, file sharing, file annotating, video conferencing and revision control among others.
+It was not only mesmerizing because it was a huge list of striking ideas, but also because it was actually functioning live, contrary to the Memex which remained a concept.
+The reason why it was not only a technology push forward, but the creation of a whole new scientific area is that computers were not anymore just computing machines, but interactive machines that help us in our everyday tasks.
+This vision changed the way we work, our entertainments, and any other of our activities which uses an interactive system at some point.\\
+
+\subsection{Wegner}
+
+Wegner contradicts the Church-Turing thesis, by claiming that \defword{interactive computation} is more powerful than algorithms\cite{wegner95,wegner97}.
+He describes the concept of \defword{interactive machines}, which simply echo an input to an output.
+By doing so, any such machine wins half of chess games by echoing one game to a second one.
+From the opponent point of view, this machine is playing chess, up to the best chess players in the world level.
+By using this mechanism, any program sort of include external computation for free.
+
+%Wegner presents interaction as a way to extend algorithms with external computation of some sort, with his interactive machines.
+
+\subsection{Beaudouin-Lafon}
+
+\section{My stuff}
+
+
+\begin{idee}
+
+Algorithms are not designed for knowing how their inputs were built.
+Humans take care of this information.
+When reading a sentence, one may interpret it differently depending on who wrote it, where, and who was supposed to read it.
+The context is a complex combination of background knowledge, alternative inputs, …
+Interpretation of input must evolve as the context changes.
+Algorithms must be modified.
+Humans just deal with it.
+
+Algorithms are made to compute an exact (sometimes approached) solution to a well specified problem. Humans (hopefully) find a reasonable solution for non-formalized and evolving problems.
+
+co-adaptation \cite{mackay90}
+
+designeering\cite{huot13}
+\end{idee}
+
+Humans started building computers as an exercise of thought.
+Computers quickly could perform operations organized in \defword{algorithms}, such as calculus on large numbers, that humans could never achieve with their own skills alone.
+Nowadays, computers use advanced methods such as \defword{machine learning}, and clearly have capabilities beyond human competences.
+Computers can beat the best chess or go players in the world, with highly trained neural networks~\cite{silver18}.
+This example is often cited as a success of \defword{Artificial Intelligence} (AI).
+This is undoubtedly due to the fact they are considered as difficult games, and requiring high mental skills.
+In reality these games were designed to be challenging for humans, not to be challenging for machines.
+Their rules are fully specified, and the exploration of possibilities is easy for a computer.
+%Things get more complicated with variants such as Real-Time chess\footnote{http://rtchess.deapthoughts.com/}, in which players may move any piece at any time.
+%To balance the game, there is a delay between moving a piece and the ability to move this piece again.
+
+
+
+(examples). Go, Chess? Turn based games with fully specified rules are easy for computers. What about real time games with random events and multi-parameter environment changing in real time (SimCity example)? Tetris \url{https://arxiv.org/pdf/cs/0210020.pdf}
+However human still have expertise in plenty of areas long way off computers grasp, to begin with the design, implementation, maintenance and evolution of software.
+(other examples, creative activities).
+
+The field of \defword{Human-Computer Interaction} (HCI) was built on Engelbart's vision of computers that extend human capabilities rather than replacing them~\cite{engelbart68}.
+
+Advanced chess: human + computer better than computer or human alone according to G. Kasparov.
+
+\myquote{An advanced chess player is stronger than a human or computer alone}{G. Kasparov}
+
+As we may think\cite{bush45}
+
+\begin{definition}
+An \defword{interactive system} is…
+\end{definition}
+
+\cite{mbl00,mbl04,mbl00a}
index 7181957ac9ce8ecf44c30405b6cc43165a61cc68..a081b7ff5a8669931a641d51e5de9389124565c3 100644 (file)
@@ -9,3 +9,5 @@
 
 \section{Lagmeter}
 \cite{casiez17}
+
+Haptic latency