{"title":"Review of The Art of Computer Programming Fascicle 6 'Satisfiability' by Donald E. Knuth","authors":"J. Rogers","doi":"10.1145/3197406.3197409","DOIUrl":null,"url":null,"abstract":"I entered the field of Computer Science as an undergraduate because I very much enjoyed programming. Of course, there is far more to the discipline than that and, as I studied, I found myself pursuing more esoteric topics, landing for quite a while in the land of computational complexity theory. But programming was, and remains, my first love. And that’s why, once again, I find myself reading and, at times, wrestling with yet another of Don Knuth’s TAOCP fascicles. As I have written before in this column, Knuth is able to combine a more theoretical topic, in this case the satisfiability problem, with practical approaches to solving it, approaches that encourage the reader to write some code. It’s this mix of the theoretical and the practical that I, and I believe many others, find engaging. As we all know, the satisfiability problem (SAT) is NP-complete and is considered the ur-problem of the theory. According to Bill Gasarch’s survey, to which Knuth refers in a footnote on page 1, most feel we are a long way from showing whether P 6= NP. Despite that, many have realized that we can still attack large classes of SAT problems, classes coming from many practical applications, with techniques that work reasonably efficiently. Fascicle 6 is Knuth’s contribution to this and is the next in a series of paperback publications that together will form Volume 4 of “The Art of Computer Programming” (TAOCP). The volume will appear as a trilogy, with Volume 4A already in hardcover. This fascicle will be the middle third of Volume 4B.","PeriodicalId":22106,"journal":{"name":"SIGACT News","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2018-03-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGACT News","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3197406.3197409","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
I entered the field of Computer Science as an undergraduate because I very much enjoyed programming. Of course, there is far more to the discipline than that and, as I studied, I found myself pursuing more esoteric topics, landing for quite a while in the land of computational complexity theory. But programming was, and remains, my first love. And that’s why, once again, I find myself reading and, at times, wrestling with yet another of Don Knuth’s TAOCP fascicles. As I have written before in this column, Knuth is able to combine a more theoretical topic, in this case the satisfiability problem, with practical approaches to solving it, approaches that encourage the reader to write some code. It’s this mix of the theoretical and the practical that I, and I believe many others, find engaging. As we all know, the satisfiability problem (SAT) is NP-complete and is considered the ur-problem of the theory. According to Bill Gasarch’s survey, to which Knuth refers in a footnote on page 1, most feel we are a long way from showing whether P 6= NP. Despite that, many have realized that we can still attack large classes of SAT problems, classes coming from many practical applications, with techniques that work reasonably efficiently. Fascicle 6 is Knuth’s contribution to this and is the next in a series of paperback publications that together will form Volume 4 of “The Art of Computer Programming” (TAOCP). The volume will appear as a trilogy, with Volume 4A already in hardcover. This fascicle will be the middle third of Volume 4B.