1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Foundations of Statistical Algorithms With References to R Packages

495 285 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 495
Dung lượng 3,75 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A new and refreshingly different approach to presenting the foundations of statistical algorithms, Foundations of Statistical Algorithms: With Refer-ences to R Packages reviews the hist

Trang 1

A new and refreshingly different approach to presenting the foundations of

statistical algorithms, Foundations of Statistical Algorithms: With

Refer-ences to R Packages reviews the historical development of basic

rithms to illuminate the evolution of today’s more powerful statistical

algo-rithms It emphasizes recurring themes in all statistical algorithms including

computation, assessment and verification, iteration, intuition, randomness,

repetition and parallelization, and scalability Unique in scope, the book

reviews the upcoming challenge of scaling many of the established

tech-niques to very large data sets and delves into systematic verification by

demonstrating how to derive general classes of worst case inputs and

em-phasizing the importance of testing over a large number of different inputs

Features

• Covers historical development as this clarifies the evolution of more

powerful statistical algorithms

• Emphasizes recurring themes in all statistical algorithms: computation,

assessment and verification, iteration, intuition, randomness,

repetition, and scalability and parallelization

• Discusses two topics not included in other books: systematic

verification and scalability

• Contains examples, exercises, and selected solutions in each chapter

• Offers access to a supplementary website

Broadly accessible, the book offers examples, exercises, and selected

solutions in each chapter as well as access to a supplementary website

After working through the material covered in the book, the reader should

not only understand current algorithms, but should also gain a deeper

understanding of how algorithms are constructed, how to evaluate new

algorithms, which recurring principles are used to tackle some of the tough

problems statistical programmers face, and how to take an idea for a new

method and turn it into something practically useful

Trang 3

Foundations

of Statistical Algorithms

With References to R Packages

Trang 4

Computer Science and Data Analysis Series

The interface between the computer and statistical sciences is increasing, as each discipline seeks to harness the power and resources of the other This series aims to foster the integration between the computer sciences and statistical, numerical, and probabilistic methods by publishing a broad range of reference works, textbooks, and handbooks.

SERIES EDITORS

David Blei, Princeton University

David Madigan, Rutgers University

Marina Meila, University of Washington

Fionn Murtagh, Royal Holloway, University of London

Proposals for the series should be sent directly to one of the series editors above, or submitted to:

Chapman & Hall/CRC

4th Floor, Albert House

Design and Modeling for Computer Experiments

Kai-Tai Fang, Runze Li, and Agus Sudjianto

Microarray Image Analysis: An Algorithmic Approach

Karl Fraser, Zidong Wang, and Xiaohui Liu

R Programming for Bioinformatics

Robert Gentleman

Exploratory Multivariate Analysis byExample Using R

François Husson, Sébastien Lê, andJérôme Pagès

Bayesian Artificial Intelligence, Second Edition

Kevin B Korb and Ann E Nicholson

Wendy L Martinez and Angel R Martinez

Trang 5

Exploratory Data Analysis with MATLAB®, Second Edition

Wendy L Martinez, Angel R Martinez, and Jeffrey L Solka

Clustering for Data Mining: A Data Recovery Approach, Second Edition

Boris Mirkin

Introduction to Machine Learning and Bioinformatics

Sushmita Mitra, Sujay Datta, Theodore Perkins, and George Michailidis

Introduction to Data Technologies

Pattern Recognition Algorithms for Data Mining

Sankar K Pal and Pabitra Mitra

Statistical Computing with R

Maria L Rizzo

Statistical Learning and Data Science

Mireille Gettler Summa, Léon Bottou, Bernard Goldfarb, Fionn Murtagh,

Catherine Pardoux, and Myriam Touati

Foundations of Statistical Algorithms: With References to R Packages

Claus Weihs, Olaf Mersmann, and Uwe Ligges

Published Titles cont.

Trang 7

Claus Weihs Olaf Mersmann Uwe Ligges

Trang 8

Taylor & Francis Group

6000 Broken Sound Parkway NW, Suite 300

Boca Raton, FL 33487-2742

© 2014 by Taylor & Francis Group, LLC

CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S Government works

Version Date: 20131104

International Standard Book Number-13: 978-1-4398-7887-3 (eBook - PDF)

This book contains information obtained from authentic and highly regarded sources Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint.

Except as permitted under U.S Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information stor- age or retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access right.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400 CCC is a not-for-profit organization that pro- vides licenses and registration for a variety of users For organizations that have been granted a pho- tocopy license by the CCC, a separate system of payment has been arranged.

www.copy-Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are

used only for identification and explanation without intent to infringe.

Visit the Taylor & Francis Web site at

http://www.taylorandfrancis.com

and the CRC Press Web site at

http://www.crcpress.com

Trang 9

Heidrun and Max,Sabine,and Sandra

Trang 11

2.3 Floating-Point Computations: How Does a Computer

Trang 12

2.3.3 Summary and Outlook 552.4 Precision of Computations: How Exact Does a Computer

Trang 19

This book is largely based on a yearly lecture, “Computer Supported tics” (Computergestützte Statistik), for statistics students regularly held andimproved by the authors since winter 1999/2000 at the TU University Dort-mund (Germany) The exercises are based on those prepared for this lectureand other related lectures For the book, the material of this lecture was thor-oughly revised, extended, and modernized This is particularly true for Chap-ters 4 and 8

Statis-This book is not “yet another treatise on computational statistics” In fact,there is, as of this writing, no other book on the market that has a similaremphasis, for at least three reasons

1 All the textbooks on computational statistics we know of present conciseintroductions to a multitude of state-of-the-art statistical algorithms with-out covering the historical aspect of their development, which we think isinstructive in understanding the evolution of ever more powerful statisti-cal algorithms Many of the older algorithms are still building blocks orinspiration for current techniques It is therefore instructive to cover these

as well and present the material from a historical perspective before plaining the current best-of-breed algorithms, which naturally makes upthe main body of the book

ex-2 With the chosen chapter titles, we try to emphasize certain recurringthemes in all statistical algorithms: Computation, assessment and verifi-cation, iteration, deduction of theoretical properties, randomization, repe-tition and parallelization and scalability Students should not only under-stand current algorithms after reading this book, but also gain a deeperunderstanding of how algorithms are constructed, how to evaluate new al-gorithms, which recurring principles are used to tackle some of the toughproblems statistical programmers face, and how to take an idea for a newmethod and turn it into something practically useful

3 The book contains two chapters on topics neglected in other books Onechapter is dedicated to systematic verification, a topic that is not covered

in any other statistical computing book we know of Instead of focusing on

xvii

Trang 20

contrived test examples, we show how to derive general classes of worstcase inputs and why it is important to systematically test an algorithm over

a large number of different inputs And another chapter covers the ing challenge of scaling many of the established techniques to very largedata sets and how the availability of many CPU cores will change the way

upcom-we think about statistical computing

To summarize, this book is based on a new and refreshingly different proach to presenting the foundations of statistical algorithms Therefore, thisbook provides a great resource for both students and lecturers teaching acourse in computational statistics

ap-Acknowledgments

We thank Daniel Horn, Sarah Schnackenberg, and Sebastian Szugat for theirtireless critical proof reading, Pascal Kerschke for investigating historical lit-erature, John Kimmel for his powerful realization of the review process, theunknown reviewers and the copy-editor for their valuable comments on draft

support in preparing the final manuscript

Trang 21

The Authors

studies, he developed a large software system at the economics department

in Bonn (Germany) He received his PhD (Dr rer nat.) in numerical ematics from the University of Trier (Germany) in 1986 He then practicedstatistics and mathematics for 9 years as a consultant for Ciba-Geigy (Basel,Switzerland) He took on his current position as the chair of ComputationalStatistics in Dortmund (Germany) in 1995 So far, among more than 150 pub-lications, Prof Weihs has published two monographs and edited four otherbooks Moreover, he has served as president of the German Classification So-ciety (GfKl) from 2004 to 2013, and he is one of the editors of the journalAdvances in Data Analysis and Classification (ADAC)

Uni-versity of Marburg, and the TU Dortmund UniUni-versity He finished his MA indata analysis in 2011 at the department of statistics of the TU Dortmund Uni-versity Starting with his BA, Mr Mersmann has been researching new andinnovative ways to objectively test benchmark computer algorithms He hascontributed eight packages to CRAN, the R software package repository, andworked on several more

Algo-rithms at the department of statistics, TU Dortmund University He is thor of the (German) textbook Programmieren mit R (Programming in R)(Springer Verlag, Heidelberg), which was first published in 2004 and is cur-rently available in its third edition A Japanese translation of this book waspublished in 2006 Uwe Ligges is also known as a member of the R CoreTeam and the CRAN maintainer for Windows binaries of contributed pack-ages Additionally, he acts as one of the editors for the Journal of Statistical

xix

Trang 23

List of Algorithms

5.1 NIPALS (Nonlinear Iterative Partial Least Squares)

xxi

Trang 24

5.4 (k + 1)h Iteration Step of the EM Algorithm (Exponential

5.5 (k + 1)th Iteration Step of the EM Algorithm (Mixture of

6.2 Calculation of Next Element in a Multiply-with-Carry

8.3 Assign Cluster to an Observation in the Sequential k-means

Trang 25

xxiii

Trang 26

LLS Linear Least Squares

Trang 27

NOTATION xxvMathematical Functions

ˆ

ˆ

ˆ

proba-bility p

Trang 29

Chapter 1Introduction

This book gives an overview of the most important foundations of statisticalcomputing with particular emphasis on the historical development The bookwill not provide a description of all numerical algorithms in current use forstatistical computations Instead, the book focuses on the most important con-struction principles for these algorithms Our aim is to enable the reader, afterworking through the material covered in the book, to quickly understand themain ideas of modern numerical algorithms because he or she has seen andunderstood the underlying principles of these algorithms We feel this ca-pacity is much more valuable to both practitioners and theorists than havingmemorized the current, and soon to be outdated, set of popular algorithmsfrom computational statistics

In Chapter 2 we lay the basis for statistical computation When we use

a computer for solving a statistical problem, most of time we trust the puter that the solution will be (at least approximately) correct Today, nearly

com-no statistician thinks about such basic questions like “What can a computercompute?”, “How does a computer compute?”, or “How exact does a com-puter compute?” We just “trust” Knowledge about such basic facts threatens

to disappear since we nearly always act as if the computer always producesthe correct answer To understand that this is not true is one of the aims ofthis chapter In particular, we will discuss the above questions and what theanswers mean for statisticians

Systematic verification of the results of numerical algorithms is one ofthe most important and, at the same time, one of the most neglected tasks

in the development of such algorithms On the one hand, there is the established field of software engineering that studies how to design and verifylarge software systems so that they adhere to formal specifications On theother hand, the verification of the exactness of numerical results is obviouslyrestricted to problems for which the correct solution is well-known a priori.Moreover, in order to be able to verify the results in the general case, there is

well-1

Trang 30

a need for such correct solutions for all degrees of (numerical) difficulty Forthis, one has to fully understand the numerical problem to be solved, and therehas to be a general theory for the generation of test problems with exactlyknown solutions For this purpose, a systematic approach is necessary, i.e.some sort of an experimental design of testing Testing sporadic examples willlikely show a completely distorted image In particular, the well-establishedpractice of testing new algorithms on standard problems from literature doesnot in any way assess the general capabilities of the algorithm under test.Chapter 3 demonstrates how a general verification procedure can be con-structed In order to be able to rigorously understand the problem to be solvedfor being able to assess the difficulty of data situations for this problem, weconcentrate on probably the most used model in statistics, the linear model

to analyze the numerical problems in the estimation of unknown coefficientsfor this model

For the linear least squares (LLS) problem we could derive a closed-formanalytic solution When we used this solution to derive an algorithm to solvethe LLS, numerical instabilities surfaced and different algorithms that try tomitigate these problems were introduced In Chapter 4 we will study solutionstrategies for problems where no closed-form analytic solution is known - infact, where even no closed-form solution may exist

We will therefore resort to methods that improve an initial solution in eachiteration of the algorithm Hence all the methods presented in this chapter are,

at their core, methods that, given a solution, return a new, improved solution

We then iterate these until we reach either a fixed-point or some other nation criterion This idea is a powerful general concept Instead of trying tosolve a problem in one big step, we can develop a, usually simpler, methodthat only improves a given solution By iteration, this method will then reachsomething akin to a locally optimal solution While we will focus on classicalstatistical optimization problems in this chapter, this concept can be applied

termi-to a much broader set of problems

Often, intuition comes first when building an algorithm “Couldn’t wecompute this in that way?” This leads to many so-called heuristics, which

do not stand the practice test if their theoretical properties are unsatisfactory.Only if one can prove favorable theoretical properties for an algorithm, thenthere is a very good chance that it will be used in practice for a longer time

In Chapter 5, we will study two meanwhile established algorithms regardingtheir theoretical properties:

Trang 31

INTRODUCTION 3– The Partial Least Squares (PLS) algorithm regarding its optimality proper-ties and

– the Expectation Maximization (EM) algorithm regarding its convergence

On the one hand, randomness is the basis for statistics If you do notaccept the concept of randomness, then you cannot practice statistics Onthe other hand, statistical algorithms are, for the most part, deterministic.Even though they might produce so-called random numbers, they are usuallydesigned to generate reproducible numbers Indeed, reproducibility is evenone of the intrinsic requirements for scientific studies This kind of pseudo-randomness will be discussed in Chapter 6

First, we will introduce a method for the generation of sequences that onemight be willing to call (uniformly distributed) random We will discuss crite-ria for randomness of such sequences, and we will demonstrate how to choosecertain parameters adequately so that these criteria may be fulfilled Then, wewill introduce methods with which uniformly or otherwise distributed randomsequences can be generated

In Chapter 6 we will introduce two different kinds of methods for thegeneration of random numbers By the first kind, only random realizations

of the desired distribution are generated Unfortunately, such methods fail,especially in the multidimensional case Since the 1980s, however, quite an-other type of methods has been more and more in use which try to generatetentative points of a desired density by means of simplified approximatingdensities that are either accepted or rejected Two of the most flexible andpromising types of such methods are the rejection method and the MarkovChain Monte Carlo (MCMC) methods, which will be discussed in Chapter 6

up to implementation details

If you wish to obtain an impression of the distribution of, say, an estimatorwithout relying on too many assumptions, you should repeat the estimationwith different unique samples from the underlying distribution Unfortunately

in practice, most of the time only one sample is available So we have to lookfor other solutions New relevant data can only be generated by means ofnew experiments, which are often impossible to conduct in due time, or by adistribution assumption (see Chapter 6 for random number generation) If we

do not have any indication of what distribution is adequate, we should beware

of assuming just any, e.g the normal, distribution So what should we do? As

a solution to this dilemma, resampling methods have been developed sincethe late 1960s The idea is to repeatedly sample from the only original sample

we have available These repetitions are then used to estimate the distribution

of the considered estimator This way, we can at least be sure that the values

Trang 32

in the sample can be realized by the process In Chapter 7 we will studyhow to optimally select repetitions from the original sample After discussingvarious such methods, the ideas are applied to three kinds of applications:Model selection, feature selection, and hyperparameter tuning.

In Chapter 2 we studied what is computable and how much effort it takes

to compute certain solutions For this we used the Turing machine, an abstractmodel of a computer that sequentially executes a sequence of instructionsstored on a tape Real-world central processing units (CPUs) in computers areconceptually similar They sequentially read instructions and data from mem-ory, process them, and write them back to memory Increasing the executionspeed of such a machine amounts to increasing the number of instructions ordata words read and processed per second

In Chapter 8 we will study the empirical scalability of statistical rithms and especially how the availability of parallel computing resourceshas changed and will continue to change the way we develop and deploy sta-tistical methods

algo-There are two main reasons why statisticians should know more aboutparallel computing and scalability First, we are now living in a world withvery large and unstructured data sets from which we derive our information.Second, the development of new statistical methods has shifted away fromstudying designs that are purely grounded in theory to methods that incor-porate and possibly even actively build upon the vast computing resourcesavailable today A good example of this is the new breed of ensemble learn-ing methods being developed which actively exploit the availability of parallelcomputing resources by training many classifiers or regression models in par-allel on, possibly smaller, data sets, and then combining these models into amore powerful predictor

History

Let us now arrange the different chapters and their contents in history ble 1.1 gives the, to our knowledge, first appearances of some of the basicideas introduced in this book In at least one aspect the book follows history,namely that we start with the historical basics in Chapter 2 (“Computation”)and end with the very new developments on scalability and parallelization”

Ta-in Chapter 8 The oldest ideas, discussed Ta-in the book and relevant even today,are the golden section (300 b.c.), the algorithm (825), and the Newton method(1668) The most modern ideas and algorithms discussed are likely the evo-lutionary strategies (1971) and their current state-of-the-art incarnation theCMA-ES (1996) The main basics of Chapters 3, 4, and 5 (“Verification”,

“Iteration”, and “Deduction of Theoretical Properties”) were founded in the

Trang 33

INTRODUCTION 51960s and 1970s Some ideas from Chapter 6 (“Randomization”) are newer,namely from the 1980s and 1990s, and a modern view of evaluation by repe-tition (Chapter 7) was first mentioned in the early 2000s By 1970 the idea ofparallel computing had emerged as the dominant idea to increase performance(see Chapter 8, “Scalability and Parallelization”) However, only the introduc-tion of powerful graphics processors in the 2000s that could be programmed

to perform general arithmetic allowed scientists to perform calculations ontheir desktop computers that previously required medium-sized computingclusters Note that Table 1.1 only gives the first appearances of some ideas.Newer developments in the fields are given in the chapters themselves.The Structure of the Chapters

Each chapter contains examples and exercises Solutions to the exercises can

be found in a separated Solutions volume Where appropriate, tables and ures are included to reinforce the concepts presented in the text We provide awebsite with supplementary material, e.g program code for selected figures,simulations, and exercises

fig-Each chapter contains the following elements:

1 Motivation and relevance

Covered Statistical Methods

Once more, notice that this book does not aim at full coverage of algorithmsfor statistical methods Nevertheless, we cover many different statistical top-ics, in particular

Trang 36

– the determination of univariate statistics like median, quantiles, and ance,

vari-– univariate and multivariate sampling,

– various kinds of regression methods like linear, nonlinear (especially ral nets), and L1,

neu-– various kinds of classification methods like data independent rules, Bayesrules, nearest neighbors, Linear Discriminant Analysis (LDA), SupportVector Machine (SVM), and logistic regression,

– maximum likelihood estimation,

– multivariate modeling like Partial Least Squares (PLS),

– clustering like k-means clustering and

– the parallelization of some of these methods

Notice, however, that we do not discuss these methods in blocks concerningthere purpose, but in connection with the foundation oriented structure of thisbook If you are interested in algorithms for special purposes, please refer tothe Index of the book

Webpage

Some data, R code, particularly for examples and exercises, possibly a list oferrata we try to avoid, and other additional material you need to convenientlyfollow the contents of the book can be found under the following URL: http://www.statistik.tu-dortmund.de/fostal.html

Trang 37

Chapter 2Computation

When we use a computer for solving a statistical problem, most of the time wetrust the computer that the solution will be (at least approximately) correct.Today, nearly no statistician thinks about such basic questions like “What can

a computer compute?”, “How does a computer compute?”, or “How exactdoes a computer compute?” We just “trust.” Knowledge about such basicfacts threatens to disappear since we nearly always act as if the computeralways produces the correct answer To understand that this is not true is one

of the aims of this chapter In particular, we will discuss the above questionsand what the answers mean for statisticians

Computability is the basis of all computational statistics Naturally, by means

of a computer only such problems can be solved whose solutions are putable by a machine Fortunately, the following two theses (in a way) guar-antee that computers can do what we want them to do:

com-Church-Turing thesis: The class of intuitively computable functions isequivalent to the class of Turing computable functions (Church and Turing,1930s)

This thesis is not provable since the term intuitively computable is notwell defined and cannot be exactly formalized By this we understand allfunctions that could in principle be calculated by humans It is standard toassume that this thesis is true This leads to the possibility to prove that afunction is not computable

Therefore, in this book we will concentrate on Turing computability, alsosince there is another thesis that relates general machine computability to thisterm:

Thesis M: Whatever can be calculated by a machine is Turing (machine)computable (Gandy, 1980)

A function is defined to be Turing computable if the function’s value can

9

Trang 38

be computed with a Turing machine So, as an abstract example of a ical calculating machine, we will introduce the Turing machine which is anidealized computer named after A.M Turing (1912 – 1954) Though Turingmachines are surely a very old idea and in their pure form they are not utilized

mechan-in practice, nevertheless, the basic ideas of today’s computers can be easilyrepresented by Turing machines The introduction of Turing machines, bothfacilitates the discussion of computability and builds the bridge to today’s realcomputers

The term Turing computable is fundamental to the term algorithm, marizing instructions for the solution of a problem Indeed, computable func-tions are the formalized analogue of the intuitive notion of an algorithm Inorder to assess the quality of an algorithm, at least two different aspects areimportant, complexity and accuracy Complexity means the calculation ef-fort to solve the problem and is obviously important for the applicability ofthe algorithm We will introduce so-called complexity measures, and will ex-emplify the complexity of different algorithms for the solution of the sameproblem by the practically very important problem of sorting n items Theother important quality aspect, i.e the accuracy of the computed result, will

sum-be discussed when we study the question “How exact does a computer pute?”

Today’s computers mainly utilize so-called floating-point numbers fore, the realization of floating-point operations is basic for all statistical cal-culations In particular, the notion of a rounding error is based on the def-inition of floating-point operations Rounding errors are fundamental for theerror propagation caused by typical algorithms of computer statistics, and theextent of error propagation is important for the trustworthiness in such algo-rithms

Floating-point calculations are inexact by nature One of the main problems ofnumerical methods is the determination of the accuracy of their results Basicfor today’s view of rounding errors on computers is the work of Wilkinson inthe early 1960s (Wilkinson, 1965) He used a simple but generally usefulway to express the error behavior of floating-point operations, namely theconcept of significant digits, i.e relative errors We are interested in the errorpropagation caused by algebraic operations, i.e to what extent relative errorsalready present in the inputs are amplified (increased) or damped (decreased)

by floating-point operations

One consequence of the inexactness of floating-point operations is that

Trang 39

WHAT CAN A COMPUTER COMPUTE? 11some mathematical laws of arithmetical operations are not valid anymore oncomputers We will derive that the associative laws are not valid for floating-point operations with important consequences for the formulation of algo-rithms We will see that such laws are only approximately true leading tonew operations for floating-point comparison aiming at the assessment ofthe relative difference between floating-point numbers.

In order to discuss the second quality aspect, i.e the accuracy of results,

we will introduce so-called condition numbers characterizing the cation of errors caused by the algorithm We will exemplify this notion bylooking at different ways of numerically calculating the sample variance of

Having answered the above three questions, we have built the basis forhigher order characterizations of statistical algorithms in the next chapters

Definition 2.1: Vector Norm

2 For any scalar a ∈ R, kaβk = |a|kβk

In particular we will use the following common vector norms:

means of a computer, which is not more than a big calculator, only such lems can be solved whose solutions are computable

prob-The various reflections about the term computability lead to very ent concepts and definitions All these definitions, however, proved to be by

differ-1 The index 2 is usually omitted if there is no risk for confusion.

2 Partly based on Maurer (1969, pp 14 – 16) and on Böhling (1971, pp 50 – 53).

Trang 40

and large equivalent In this book we choose to use the Turing computability

as our notation of general computability, since Turing machines are a concreteand intuitive model of computation

A function is defined to be Turing computable if the function’s value can

be computed with a Turing machine For more details on Turing machines seeSection 2.2.2

The Church-Turing thesis (following Alonzo Church and Alan Turing)makes a statement about the capabilities of a Turing machine:

Church-Turing thesis: The class of intuitively computable functions isexactly the same as the class of Turing computable functions

As already mentioned above, this thesis is not provable since the termintuitively computable is not well defined and cannot be exactly formalized

It is standard, however, to assume that this thesis is true This leads to thepossibility to prove that a function is not computable

Do not confuse the Church-Turing thesis and the different propositionThesis M with regard to the capabilities of Turing machines (Gandy, 1980):Thesis M: Whatever can be calculated by a machine is Turing (machine)computable

It is this thesis, however, which allows us to concentrate on Turing putability in this book, since this thesis relates general machine computability

com-to Turing computability

The term algorithm is fundamental for the definition of what Turing putable means We will now give a somewhat intuitive definition Based onthis notion we will then define the Turing machine in the next section.Definition 2.2: Algorithm

An algorithm is a procedure with which an answer is given to a certain plex of questions by a prefixed method Algorithms have to be specified un-ambiguously in every detail In particular, the instructions stating the algo-rithm have to be given by a text of finite length

com-Example 2.1: Euclidean Algorithm to Determine the Greatest Common visor (GCD) of Two Natural Numbers

Ngày đăng: 02/06/2015, 21:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN