Difference between revisions of "Bill Gosper"
GerdIsenberg (talk | contribs) m |
GerdIsenberg (talk | contribs) |
||
Line 13: | Line 13: | ||
=<span id="HAKMEM"></span>HAKMEM= | =<span id="HAKMEM"></span>HAKMEM= | ||
− | [https://en.wikipedia.org/wiki/HAKMEM HAKMEM], alternatively known as [https://en.wikipedia.org/wiki/AI_Memo AI Memo] 239, is a February 1972 "memo" (technical report) of the [[Massachusetts Institute of Technology|MIT]] [https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory AI Lab] by Gosper et al. that describes a wide variety of [https://en.wikipedia.org/wiki/Kludge#In_computer_science hacks], primarily useful and clever [[Algorithms|algorithms]] <ref>[https://en.wikipedia.org/wiki/HAKMEM HAKMEM from Wikipedia]</ref>, and even a chess position <ref>Michael Beeler, Bill Gosper, [https://en.wikipedia.org/wiki/Richard_Schroeppel Rich Schroeppel] ('''1972'''). ''[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html HAKMEM], Memo 239''. | + | [https://en.wikipedia.org/wiki/HAKMEM HAKMEM], alternatively known as [https://en.wikipedia.org/wiki/AI_Memo AI Memo] 239, is a February 1972 "memo" (technical report) of the [[Massachusetts Institute of Technology|MIT]] [https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory AI Lab] by Gosper et al. that describes a wide variety of [https://en.wikipedia.org/wiki/Kludge#In_computer_science hacks], primarily useful and clever [[Algorithms|algorithms]] <ref>[https://en.wikipedia.org/wiki/HAKMEM HAKMEM from Wikipedia]</ref>, and even a chess position <ref>Michael Beeler, Bill Gosper, [https://en.wikipedia.org/wiki/Richard_Schroeppel Rich Schroeppel] ('''1972'''). ''[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html HAKMEM], Memo 239''. [https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory CSAIL], [[Massachusetts Institute of Technology|MIT]]</ref> <ref>[http://www.cl.cam.ac.uk/~am21/hakmemc.html HAKMEMC -- HAKMEM Programming hacks in C] by [http://www.cl.cam.ac.uk/~am21/ Alan Mycroft]</ref>. A few samples, referred elsewhere: |
==<span id="HAKMEM70"></span>HAKMEM 70== | ==<span id="HAKMEM70"></span>HAKMEM 70== | ||
Line 61: | Line 61: | ||
=Selected Publications= | =Selected Publications= | ||
− | * Michael Beeler, Bill Gosper, [https://en.wikipedia.org/wiki/Richard_Schroeppel Rich Schroeppel] ('''1972'''). ''[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html HAKMEM], Memo 239''. | + | * Michael Beeler, Bill Gosper, [https://en.wikipedia.org/wiki/Richard_Schroeppel Rich Schroeppel] ('''1972'''). ''[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html HAKMEM], Memo 239''. [https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory CSAIL], [[Massachusetts Institute of Technology|MIT]] <ref>Web-available by [http://home.pipeline.com/~hbaker1/ Henry Baker]</ref> |
+ | * Bill Gosper ('''1974'''). ''[https://dspace.mit.edu/handle/1721.1/6088 Acceleration of Series], Memo 304''. [https://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory CSAIL], [[Massachusetts Institute of Technology|MIT]] | ||
* Bill Gosper ('''1977'''). ''Decision procedure for indefinite hypergeometric summation''. [https://en.wikipedia.org/wiki/Proceedings_of_the_National_Academy_of_Sciences_of_the_United_States_of_America PNAS USA], Vol. 75, No. 1, [http://www.pnas.org/content/75/1/40.full.pdf pdf] <ref>[https://en.wikipedia.org/wiki/Gosper%27s_algorithm Gosper's algorithm from Wikipedia]</ref> | * Bill Gosper ('''1977'''). ''Decision procedure for indefinite hypergeometric summation''. [https://en.wikipedia.org/wiki/Proceedings_of_the_National_Academy_of_Sciences_of_the_United_States_of_America PNAS USA], Vol. 75, No. 1, [http://www.pnas.org/content/75/1/40.full.pdf pdf] <ref>[https://en.wikipedia.org/wiki/Gosper%27s_algorithm Gosper's algorithm from Wikipedia]</ref> | ||
Line 69: | Line 70: | ||
: [http://gosper.org/bill.html R. William Gosper] | : [http://gosper.org/bill.html R. William Gosper] | ||
: [http://www.tweedledum.com/rwg/ Rep-tiles] | : [http://www.tweedledum.com/rwg/ Rep-tiles] | ||
− | * [https://en.wikipedia.org/wiki/HAKMEM HAKMEM from Wikipedia] | + | * [https://en.wikipedia.org/wiki/HAKMEM HAKMEM from Wikipedia], [http://www.cl.cam.ac.uk/~am21/hakmemc.html HAKMEMC -- HAKMEM Programming hacks in C] by [http://www.cl.cam.ac.uk/~am21/ Alan Mycroft] |
− | |||
* [https://en.wikipedia.org/wiki/Gosper%27s_algorithm Gosper's algorithm from Wikipedia] | * [https://en.wikipedia.org/wiki/Gosper%27s_algorithm Gosper's algorithm from Wikipedia] | ||
* [https://en.wikipedia.org/wiki/Gosper_curve Gosper curve from Wikipedia] | * [https://en.wikipedia.org/wiki/Gosper_curve Gosper curve from Wikipedia] |
Revision as of 21:42, 11 April 2018
Ralph William (Bill) Gosper, Jr., an American mathematician and computer scientist, along with Richard Greenblatt considered the co-founder of the hacker community [2]. In the 60s, affiliated with MIT, he worked for Project MAC (Machine-Aided Cognition), where his contributions to computational mathematics and Bit-Twiddling including HAKMEM and Maclisp. He helped Greenblatt with his chess program Mac Hack VI, and operated the PDP-6 when Robert Q played its first tournament game versus Carl Wagner.
In the 70s, Bill Gosper moved to Stanford University for some years, where he lectured and helped Donald Knuth to write volume II of The Art of Computer Programming. He has worked at or consulted for Xerox PARC, Symbolics, Wolfram Research, the Lawrence Livermore National Laboratory, and Macsyma [3]. Bill Gosper created numerous packing problem puzzles such as the Twubblesome Twelve [4], and was interested in the Conway's of Life], where he found the Gun] and originated the [1]] algorithm to speed up the computation of Life patterns [5].
Contents
Robert Q
Allen Moulton and R. William Gosper operating "Robert Q" on a PDP-6 [6]
HAKMEM
HAKMEM, alternatively known as AI Memo 239, is a February 1972 "memo" (technical report) of the MIT AI Lab by Gosper et al. that describes a wide variety of hacks, primarily useful and clever algorithms [7], and even a chess position [8] [9]. A few samples, referred elsewhere:
HAKMEM 70
HAKMEM 70 [10], A neat chess problem, swiped from Chess for Fun and Chess for Blood, by Edward Lasker [11]. White mates in three moves [12]:
♗ ♙ ♟ ♘ ♚♙ ♔ |
5B2/6P1/1p6/8/1N6/kP6/2K5/8 w - -
HAKMEM 169
HAKMEM 169, to count the ones in a PDP-6/PDP-10 36-bit word, written in Assembly [13] [14]:
LDB B,[014300,,A] ;or MOVE B,A then LSH B,-1 AND B,[333333,,333333] SUB A,B LSH B,-1 AND B,[333333,,333333] SUBB A,B ;each octal digit is replaced by number of 1's in it LSH B,-3 ADD A,B AND A,[070707,,070707] IDIVI A,77 ;casting out 63.'s
HAKMEM 175
HAKMEM 175 - next higher number with the same number of one bits (Snoob), by Bill Gosper, PDP-6 Assembly [15]:
MOVE B,A MOVN C,B AND C,B ADD A,C MOVE D,A XOR D,B LSH D,-2 IDIVM D,C IOR A,C
Gosper's Glider Gun
Gosper's Glider Gun in action — a variation of Conway's Game of Life [16]
See also
Selected Publications
- Michael Beeler, Bill Gosper, Rich Schroeppel (1972). HAKMEM, Memo 239. CSAIL, MIT [17]
- Bill Gosper (1974). Acceleration of Series, Memo 304. CSAIL, MIT
- Bill Gosper (1977). Decision procedure for indefinite hypergeometric summation. PNAS USA, Vol. 75, No. 1, pdf [18]
External Links
- HAKMEM from Wikipedia, HAKMEMC -- HAKMEM Programming hacks in C by Alan Mycroft
- Gosper's algorithm from Wikipedia
- Gosper curve from Wikipedia
- Hashlife from Wikipedia
References
- ↑ Mathematician Bill Gosper in March, 2006 at the Seventh Gathering for Gardner (G4G7) in Atlanta, Georgia, March 16, 2006, Photographer Thane Plambeck
- ↑ Hackers: Heroes of the Computer Revolution
- ↑ Bill Gosper from Wikipedia
- ↑ Twubblesome Twelve - a difficult puzzle by Bill Gosper
- ↑ Gosper's Algorithm (Hashlife) explained
- ↑ MIT Computer Loses to Human in Chess. Sun Journal (Lewiston), January 23, 1967, Google News
- ↑ HAKMEM from Wikipedia
- ↑ Michael Beeler, Bill Gosper, Rich Schroeppel (1972). HAKMEM, Memo 239. CSAIL, MIT
- ↑ HAKMEMC -- HAKMEM Programming hacks in C by Alan Mycroft
- ↑ HAKMEM - GAMES: ITEM 70
- ↑ Edward Lasker (1942,1962) Chess for Fun and Chess for Blood. Dover Publications; 2 Edition, ISBN-13: 978-0486201467, amazon
- ↑ 1.g8=N b5 2.Ne7 Kxb4 3.Nc6#
- ↑ HAKMEM 169 by Gosper, Mann, Lenard, (Root and Mann), HAKMEM
- ↑ PDP-10 Machine Language
- ↑ HAKMEM 175 by Bill Gosper
- ↑ Bill Gosper's Glider Gun in action — a variation of Conway's Game of Life. This image was made by using Life32 v2.15 beta by Johan G. Bontes, 2005, Gun (cellular automaton) from Wikipedia
- ↑ Web-available by Henry Baker
- ↑ Gosper's algorithm from Wikipedia