ebook img

Mathematics in Computing: An Accessible Guide to Historical, Foundational and Application Contexts PDF

293 Pages·2012·5.687 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Mathematics in Computing: An Accessible Guide to Historical, Foundational and Application Contexts

Mathematics in Computing Gerard O’Regan Mathematics in Computing An Accessible Guide to Historical, Foundational and Application Contexts 2123 GerardO’Regan Mallow,Ireland ISBN978-1-4471-4533-2 ISBN978-1-4471-4534-9(eBook) DOI10.1007/978-1-4471-4534-9 SpringerLondonHeidelbergNewYorkDordrecht LibraryofCongressControlNumber:2012951294 © Springer-VerlagLondon2013 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartofthe materialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation, broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology nowknownorhereafterdeveloped.Exemptedfromthislegalreservationarebriefexcerptsinconnection withreviewsorscholarlyanalysisormaterialsuppliedspecificallyforthepurposeofbeingenteredand executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publicationorpartsthereofispermittedonlyundertheprovisionsoftheCopyrightLawofthePublisher’s location,initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Permissions forusemaybeobtainedthroughRightsLinkattheCopyrightClearanceCenter.Violationsareliableto prosecutionundertherespectiveCopyrightLaw. Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse. Whiletheadviceandinformationinthisbookarebelievedtobetrueandaccurateatthedateofpublication, neithertheauthorsnortheeditorsnorthepublishercanacceptanylegalresponsibilityforanyerrorsor omissionsthatmaybemade.Thepublishermakesnowarranty,expressorimplied,withrespecttothe materialcontainedherein. Printedonacid-freepaper SpringerispartofSpringerScience+BusinessMedia(www.springer.com) Tomysiblings MaryRose,Donal,FrancisandMarguerita Preface Overview The objective of this book is to give the reader a flavour of mathematics used in thecomputingfield.Thegoalistoshowhowmathematicsisappliedincomputing, ratherthanthestudyofmathematicsforitsownsake. OrganizationandFeatures Thefirstchapterdiscussesthecontributionsmadebyearlycivilisationstocomputing. ThisincludesworkdonebytheBabylonians,EgyptiansandGreeks.TheEgyptians appliedmathematicstosolvepracticalproblemssuchastheconstructionofpyramids. The Greeks made a major contribution to mathematics and geometry, and most studentsarefamiliarwiththeworkofEuclid. Chapter2providesanintroductiontofundamentalbuildingblocksinmathematics includingsets,relationsandfunctions.Asetisacollectionofwell-definedobjects and it may be finite or infinite. A relation between two sets A and B indicates a releationship between members of the two sets, and is a subset of the Cartesian product of the two sets.A function is a special type of relation such that for each elementinAthereisatthemostoneelementintheco-domainB.Functionsmaybe partialortotalandinjective,surjectiveorbijective. Chapter3providesanintroductiontologicincludingpropositionalandpredicate logic.Thenatureofmathematicalproofisdiscussed. Chapter4providesanintroductiontotheimportantfieldofsoftwareengineering. The birth of the discipline was at the Garmisch conference in Germany in the late 1960s.Theextenttowhichmathematicsshouldbeemployedinsoftwareengineering isdiscussed,andthisremainsatopicofactivedebate. Chapter 5 discusses formal methods, which consist of a set of mathematical techniquestospecifyandderiveaprogramfromitsspecification. Formalmethods maybeemployedtorigorouslystatetherequirementsoftheproposedsystem;they maybeemployedtoderiveaprogramfromitsmathematicalspecification;andthey vii viii Preface provide a rigorous proof that the implemented program satisfies its specification. Theyhavebeenmainlyappliedtothesafetycriticalfield. Chapter6presentstheZspecificationlanguage,whichisoneofthemostwidely usedformalmethods.ItwasdevelopedatOxfordUniversityintheUK. Chapter7presentsthefundamentalsofnumbertheory,anddiscussesprimenum- ber theory and the greatest common divisor and least common multiple of two numbers. Chapter8discussescryptography, whichisanimportantapplicationofnumber theory.ThecodebreakingworkdoneatBletchleyParkinEnglandduringtheSecond WorldWarisdiscussed,andthefundamentalsofcryptography,includingprivateand publickeycryptosystems,arediscussed. Chapter9presentscodingtheoryandisconcernedwitherrordetectionanderror correctioncodes.Theunderlyingmathematicsisdiscussed,andthisincludesabstract mathematicssuchasgrouptheory,rings,fields,andvectorspaces. Chapter 10 discusses language theory and includes a discussion on grammar, parse trees, and derivations from a grammar. The important area of programming languagesemanticsisdiscussed, includinganoverviewofaxiomatic, denotational andoperationalsemantics. Chapter11discussescomputabilityanddecideability.TheChurch-Turingthesis statesthatanythingthatiscomputableiscomputablebyaTuringmachine.Church andTuringshowedthatmathematicsisnotdecideable. Inotherwords, thereisno mechanicalprocedure(i.e.,algorithm)todeterminewhetheranarbitrarymathemati- calpropositionistrueorfalse,andsotheonlywayistodeterminethetruthorfalsity ofastatementistrytosolvetheproblem. Chapter12discussesprobabilityandstatisticsandincludesadiscussionondis- crete and continuous random variables, probability distributions, sample spaces, sampling, the abuse of statistics, variance and standard deviation, and hypothesis testing.Theapplicationofprobabilitytothesoftwarereliabilityfieldisdiscussed. Chapter13discussesmatricesincluding2×2andgeneraln×mmatrices.Various operations such as the addition and multiplication of matrices are considered, and thedeterminantandinverseofamatrixisdiscussed.Theapplicationofmatricesto solveasetoflinearequationsusingGaussianeliminationiscosidered. Chapter 14 discusses complex numbers and quaternions. Complex numbers of the form a+bi where a and b are real numbers, and i2 = −1. Quaternions are a generalizationofcomplexnumberstoquadruplesthatsatisfythequaternionformula i2=j2=k2 =−1. Chapter15providesaveryshortintroductiontocalculus,andprovidesahigh-level overview of limits, continuity, differentiation, integration, and numerical analysis. Fourierseries,Laplacetransformsanddifferentialequationsarebrieflydiscussed. Chapter16discussesgraphtheorywhereagraphG=(V,E)consistsofvertices andedges.Itisapracticalbranchofmathematicsthatdealswiththearrangements of vertices and the edges between them. It has been applied to practical problems suchasthemodelingofcomputernetworks,determiningtheshortestdrivingroute betweentwocities,andthetravelingsalesmanproblem. Audience Theaudienceofthisbookincludescomputersciencestudentswhowishtoobtainan overviewofmathematicsusedincomputing, andmathematicianswhowishtoget an overview of how mathematics is applied in the computing field. The book will alsobeofinteresttothemotivatedgeneralreader. Acknowledgments I am deeply indebted to my family and friends who supported my efforts in this endeavour. Cork,Ireland GerardO’Regan ix Contents 1 MathematicsinCivilization ..................................... 1 1.1 Introduction ............................................... 1 1.2 TheBabylonians ........................................... 3 1.3 TheEgyptians ............................................. 6 1.4 TheGreeks................................................ 8 1.5 TheRomans ............................................... 16 1.6 IslamicInfluence ........................................... 19 1.7 ChineseandIndianMathematics.............................. 20 1.8 ReviewQuestions .......................................... 21 1.9 Summary ................................................. 21 2 Sets,RelationsandFunctions ................................... 23 2.1 Introduction ............................................... 23 2.2 SetTheory ................................................ 24 2.2.1 SetTheoreticalOperations............................. 26 2.2.2 PropertiesofSetTheoreticalOperations ................. 28 2.2.3 Russell’sParadox .................................... 29 2.3 Relations.................................................. 30 2.3.1 Reflexive,SymmetricandTransitiveRelations............ 32 2.3.2 CompositionofRelations ............................. 34 2.3.3 BinaryRelations ..................................... 35 2.4 Functions ................................................. 36 2.5 ReviewQuestions .......................................... 40 2.6 Summary ................................................. 41 3 Logic ......................................................... 43 3.1 Introduction ............................................... 43 3.2 PropositionalLogic......................................... 45 3.2.1 TruthTables......................................... 47 3.2.2 PropertiesofPropositionalCalculus..................... 49 3.2.3 ProofinPropositionalCalculus......................... 50 3.2.4 ApplicationsofPropositionalCalculus .................. 54 3.2.5 LimitationsofPropositionalCalculus ................... 55 xi xii Contents 3.3 PredicateCalculus.......................................... 55 3.3.1 FormalisationofPredicateCalculus..................... 58 3.3.2 InterpretationandValuationFunctions................... 59 3.3.3 PropertiesofPredicateCalculus ........................ 60 3.3.4 ApplicationsofPredicateCalculus...................... 60 3.4 UndefinedValues........................................... 61 3.4.1 LogicofPartialFunctions ............................. 62 3.4.2 ParnasLogic ........................................ 63 3.4.3 DijkstraandUndefinedness............................ 65 3.5 OtherLogics............................................... 66 3.6 ToolsforLogic............................................. 68 3.7 ReviewQuestions .......................................... 69 3.8 Summary ................................................. 69 4 SoftwareEngineering........................................... 71 4.1 Introduction ............................................... 71 4.2 WhatisSoftwareEngineering? ............................... 73 4.3 EarlySoftwareEngineering .................................. 78 4.4 SoftwareEngineeringMathematics............................ 81 4.5 FormalMethods ........................................... 82 4.6 SoftwareInspectionsandTesting.............................. 83 4.7 ProcessMaturityModels .................................... 85 4.8 ReviewQuestions .......................................... 86 4.9 Summary ................................................. 86 5 FormalMethods ............................................... 89 5.1 Introduction ............................................... 89 5.2 WhyShouldWeUseFormalMethods?......................... 91 5.3 ApplicationsofFormalMethods .............................. 92 5.4 ToolsforFormalMethods ................................... 93 5.5 ApproachestoFormalMethods ............................... 94 5.5.1 Model-OrientedApproach............................. 94 5.5.2 AxiomaticApproach.................................. 95 5.6 ProofandFormalMethods................................... 95 5.7 TheFutureofFormalMethods................................ 96 5.8 TheViennaDevelopmentMethod ............................. 97 5.9 VDM♣,theIrishSchoolofViennaDevelopmentMethod(VDM)... 98 5.10 TheZSpecificationLanguage ................................ 99 5.11 TheB-Method ............................................. 100 5.12 PredicateTransformersandWeakestPre-Conditions ............. 101 5.13 TheProcessCalculi......................................... 102 5.14 FiniteStateMachines ....................................... 103 5.15 TheParnasWay ............................................ 104 5.16 UsabilityofFormalMethods ................................. 105 5.16.1 WhyAreFormalMethodsDifficult? .................... 105 5.16.2 CharacteristicsofaUsableFormalMethod............... 106

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.