Older Version Newer Version

GerdIsenberg GerdIsenberg Aug 20, 2014

**[[Home]] * [[People]] * Bill Gosper**
|| [[image:BillGosper.jpg width="233" height="262" link="http://en.wikipedia.org/wiki/File:Bill_Gosper_2006.jpg"]] ||~   || **Ralph William (Bill) Gosper, Jr.**,
an American mathematician and computer scientist, along with [[Richard Greenblatt]] considered the co-founder of the [[http://en.wikipedia.org/wiki/Hacker_culture|hacker]] community <ref>[[http://en.wikipedia.org/wiki/Hackers:_Heroes_of_the_Computer_Revolution|Hackers: Heroes of the Computer Revolution]]</ref> .

In the 60s, affiliated with [[Massachusetts Institute of Technology|MIT]], he worked for [[http://en.wikipedia.org/wiki/Project_MAC%7CProject|Project MAC]] (Machine-Aided Cognition), where his contributions to [[http://en.wikipedia.org/wiki/Computational_mathematics|computational mathematics]] and [[Bit-Twiddling]] include [[Bill Gosper#HAKMEM|HAKMEM]] and [[Maclisp]]. He helped Greenblatt with his chess program [[Mac Hack|Mac Hack VI]], and operated the [[PDP-6]] when [[Mac Hack#RobertQ|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 [[http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming|The Art of Computer Programming]]. He has worked at or consulted for [[http://en.wikipedia.org/wiki/PARC_%28company%29|Xerox PARC]], [[http://en.wikipedia.org/wiki/Symbolics|Symbolics]], [[http://en.wikipedia.org/wiki/Wolfram_Research|Wolfram Research]], the [[Lawrence Livermore National Laboratory]], and [[http://en.wikipedia.org/wiki/Macsyma|Macsyma]] <ref>[[http://en.wikipedia.org/wiki/Bill_Gosper|Bill Gosper from Wikipedia]]</ref>. Bill Gosper created numerous [[http://en.wikipedia.org/wiki/Packing_problem|packing problem]] puzzles such as the Twubblesome Twelve <ref>[[http://gosper.org/|Twubblesome Twelve - a difficult puzzle]] by [[Bill Gosper]]</ref>, and was interested in the [[John H. Conway|Conway's]] [[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Game of Life]], where he found the [[http://en.wikipedia.org/wiki/Gun_%28cellular_automaton%29|Glider Gun]] and originated the [[http://en.wikipedia.org/wiki/Hashlife|Hashlife]] algorithm to speed up the computation of Life patterns  <ref>[[http://www-users.cs.york.ac.uk/~jowen/hashlife.html|Gosper's Algorithm (Hashlife) explained]]</ref>. ||
|| Bill Gosper 2006 <ref>Mathematician Bill Gosper in March, 2006 at the [[http://www.ifp.illinois.edu/~sdickson/G4G7/G4G7_Trip_Report.html|Seventh Gathering for Gardner]] (G4G7) in [[http://en.wikipedia.org/wiki/Atlanta|Atlanta]], [[http://en.wikipedia.org/wiki/Georgia_%28U.S._state%29|Georgia]], 16 March 2006, Photographer [[http://www.flickr.com/people/thane/|Thane Plambeck]]</ref> ||~   ||^   ||
[[toc]]
=Robert Q= 
|| [[image:RobertQ1967.JPG width="500" link="http://news.google.com/newspapers?nid=1928&dat=19670123&id=O2ggAAAAIBAJ&sjid=1GYFAAAAIBAJ&pg=2308,2313204"]] ||
|| [[http://www.linkedin.com/pub/allen-moulton/10/833/19b|Allen Moulton]] and [[Bill Gosper|R. William Gosper]] operating "[[Mac Hack#RobertQ|Robert Q]]" on a [[PDP-6]] <ref>//[[http://news.google.com/newspapers?nid=1928&dat=19670123&id=O2ggAAAAIBAJ&sjid=1GYFAAAAIBAJ&pg=2308,2313204|MIT Computer Loses to Human in Chess]]//. [[http://en.wikipedia.org/wiki/Sun_Journal_%28Lewiston%29|Sun Journal (Lewiston)]], January 23, 1967, [[http://en.wikipedia.org/wiki/Google_News|Google News]]</ref> <ref>[[http://www.apimages.com/Search.aspx?st=k&remem=x&entity=&kw=Carl+Wagner%2C+1967%2C+MIT+Chess&intv=None&shgroup=-10&sh=10|AP :: Images :: Search Results :: Carl Wagner, 1967, MIT Chess]]</ref> ||
[[#HAKMEM]]
=HAKMEM=
[[http://en.wikipedia.org/wiki/HAKMEM|HAKMEM]], alternatively known as [[http://en.wikipedia.org/wiki/AI_Memo|AI Memo]] 239, is a February 1972 "memo" (technical report) of the [[Massachusetts Institute of Technology|MIT]] [[http://en.wikipedia.org/wiki/MIT_Computer_Science_and_Artificial_Intelligence_Laboratory|AI Lab]] by [[Bill Gosper|Gosper]] et al. that describes a wide variety of [[http://en.wikipedia.org/wiki/Kludge#In_computer_science|hacks]], primarily useful and clever [[Algorithms|algorithms]] <ref>[[http://en.wikipedia.org/wiki/HAKMEM|HAKMEM from Wikipedia]]</ref>, and even a chess position <ref>Michael Beeler, [[Bill Gosper]], [[http://en.wikipedia.org/wiki/Richard_Schroeppel|Rich Schroeppel]] (**1972**). //[[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html|HAKMEM]]//, Memo 239, Artificial Intelligence Laboratory, [[Massachusetts Institute of Technology]]</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:
[[#HAKMEM70]]
==HAKMEM 70==
HAKMEM 70 <ref>[[http://home.pipeline.com/~hbaker1/hakmem/games.html#item70|HAKMEM - GAMES: ITEM 70]]</ref>, A neat chess problem, swiped from //Chess for Fun and Chess for Blood//, by [[http://en.wikipedia.org/wiki/Edward_Lasker|Edward Lasker]] <ref>[[http://en.wikipedia.org/wiki/Edward_Lasker|Edward Lasker]] (**1942,1962**) //Chess for Fun and Chess for Blood//. Dover Publications; 2 edition, ISBN-13: 978-0486201467, [[http://www.amazon.com/Chess-Fun-Blood-Edward-Lasker/dp/0486201465|amazon]]</ref>. White mates in three moves:
|| [[image:http://webchess.freehostia.com/diag/chessdiag.php?fen=5B2/6P1/1p6/8/1N6/kP6/2K5/8%20w%20-%20-&size=large&coord=yes&cap=no&stm=yes&fb=no&theme=classic&color1=E3CEAA&color2=635147&color3=000000]] ||
||= 5B2/6P1/1p6/8/1N6/kP6/2K5/8 w - - ||
[[#HAKMEM169]]
==HAKMEM 169==
[[Population Count#HAKMEM169|HAKMEM 169]], to [[Population Count|count the ones]] in a [[PDP-6]]/[[PDP-10]] 36-bit word, written in [[Assembly#HAKMEM169|Assembly]] <ref>[[Population Count#HAKMEM169|HAKMEM 169]] by [[Bill Gosper|Gosper]], Mann, Lenard, [Root and Mann], [[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html|HAKMEM]]</ref> <ref>[[http://home.pipeline.com/~hbaker1/pdp-10/pdp-10.html|PDP-10 Machine Language]]</ref>:
[[code]]
   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
[[code]]
[[#HAKMEM175]]
==HAKMEM 175==
[[Traversing Subsets of a Set#Snoob|HAKMEM 175]] - next higher number with the same number of one bits (Snoob), by [[Bill Gosper]], [[PDP-6]] [[Assembly]] <ref>[[http://home.pipeline.com/~hbaker1/hakmem/hacks.html#item175|HAKMEM 175]] by [[Bill Gosper]]</ref>:
[[code]]
   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
[[code]]
=Gosper's Glider Gun=
|| [[image:Gospers_glider_gun.gif width="480" link="http://en.wikipedia.org/wiki/File:Gospers_glider_gun.gif"]] ||
|| Gosper's [[http://en.wikipedia.org/wiki/Gun_%28cellular_automaton%29|Glider Gun]] in action — a variation of [[John H. Conway|Conway's]] [[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Game of Life]] <ref>Bill Gosper's [[http://en.wikipedia.org/wiki/Gun_%28cellular_automaton%29|Glider Gun]] in action — a variation of [[http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life|Conway's Game of Life]]. This image was made by using [[http://psoup.math.wisc.edu/Life32.html|Life32 v2.15 beta]] by Johan G. Bontes, 2005, [[http://en.wikipedia.org/wiki/Gun_%28cellular_automaton%29|Gun (cellular automaton) from Wikipedia]]</ref> ||
=See also= 
* [[Bit-Twiddling]]
* [[Mac Hack|Mac Hack VI]]
* [[PDP-6]]
* [[Traversing Subsets of a Set]]

=Selected Publications= 
* Michael Beeler, [[Bill Gosper]], [[http://en.wikipedia.org/wiki/Richard_Schroeppel|Rich Schroeppel]] (**1972**). //[[http://home.pipeline.com/~hbaker1/hakmem/hakmem.html|HAKMEM]]//, Memo 239, Artificial Intelligence Laboratory, [[Massachusetts Institute of Technology]] <ref>Web-available by [[http://home.pipeline.com/~hbaker1/|Henry Baker]]</ref>
* [[Bill Gosper]] (**1977**). //Decision procedure for indefinite hypergeometric summation//. Proc. Natl. Acad. Sci. USA, Vol. 75, No. 1, [[http://www.pnas.org/content/75/1/40.full.pdf|pdf]] <ref>[[http://en.wikipedia.org/wiki/Gosper%27s_algorithm|Gosper's algorithm from Wikipedia]]</ref>

=External Links= 
* [[http://en.wikipedia.org/wiki/Bill_Gosper|Bill Gosper from Wikipedia]]
* [[http://gosper.org/|Twubblesome Twelve - a difficult puzzle]] by [[Bill Gosper]]
> [[http://www.tweedledum.com/rwg/|Rep-tiles]] by [[Bill Gosper]]
* [[http://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]]
* [[http://en.wikipedia.org/wiki/Gosper%27s_algorithm|Gosper's algorithm from Wikipedia]]
* [[http://en.wikipedia.org/wiki/Gosper_curve|Gosper curve from Wikipedia]]
* [[http://en.wikipedia.org/wiki/Hashlife|Hashlife from Wikipedia]] by [[Bill Gosper]]

=References= 
<references />
=What links here?= 
[[include page="Bill Gosper" component="backlinks" limit="40" ]]
**[[People|Up one level]]**