Robert W. Floyd[1] (born Robert Willoughby Floyd; June 8, 1936 – September 25, 2001) was an American computer scientist. His contributions include the design of the Floyd–Warshall algorithm (independently of Stephen Warshall), which efficiently finds all shortest paths in a graph and his work on parsing; Floyd's cycle-finding algorithm for detecting cycles in a sequence was attributed to him as well. In one isolated paper he introduced the important concept of error diffusion for rendering images, also called Floyd–Steinberg dithering (though he distinguished dithering from diffusion). He pioneered in the field of program verification using logical assertions with the 1967 paper Assigning Meanings to Programs. This was a contribution to what later became Hoare logic. Floyd received the Turing Award in 1978.
Floyd worked closely with Donald Knuth, in particular as the major reviewer for Knuth's seminal book The Art of Computer Programming, and is the person most cited in that work. He was co-author, with Richard Beigel, of the textbook The Language of Machines: an Introduction to Computability and Formal Languages.[7] Floyd supervised seven Ph.D. graduates.[8]
Floyd married and divorced twice, first with Jana M. Mason and then computer scientist Christiane Floyd, and he had four children. In his last years he suffered from Pick's disease, a neurodegenerative disease, and thus retired early in 1994.[6]
His hobbies included hiking, and he was an avid backgammon player:
We once were stuck at the Chicago O'Hare airport for hours, waiting for our flight to leave, owing to a snow storm. As we sat at our gate, Bob asked me, in a casual manner, "do you know how to play backgammon?" I answered I knew the rules, but why did he want to know? Bob said since we had several hours to wait perhaps we should play a few games, for small stakes of course. He then reached into his briefcase and removed a backgammon set.
My Dad taught me many things. One was to be wary of anyone who suggests a game of pool for money, and then opens a black case and starts to screw together a pool stick. I figured that this advice generalized to anyone who traveled with their own backgammon set. I told Bob that I was not going to play for money, no way. He pushed a bit, but finally said fine. He proceeded instead to give me a free lesson in the art and science of playing backgammon.
I was right to pass on playing him for money—at any stakes. The lesson was fun. I found out later that for years he had been working on learning the game. He took playing backgammon very seriously, studied the game and its mathematics, and was a near professional. I think it was more than a hobby. Like his research, Bob took what he did seriously, and it is completely consistent that he would be terrific at backgammon.
Floyd, Robert W.; Smith, Alan J. (1972). A linear time two tape merge. Stanford, California: Computer Science Department, Stanford University. OCLC71469179.
Floyd, Robert W.; Ullman, Jeffrey D. (1980). "The Compilation of Regular Expressions into Integrated Circuits". NASA Sti/Recon Technical Report N. 81. Fairfax County, Virginia: Ft. Belvoir: Defense Technical Information Center: 12334. Bibcode:1980STIN...8112334F.
Floyd, Robert W.; Beigel, Richard (1994). The Language of Machines: an introduction to computability and formal languages. New York: W H Freeman & Company. ISBN978-0-7167-8266-7.
Notes
^Floyd had his middle name "Willoughby" legally changed to "W" but deemed abbreviating it as "W." valid (Knuth 2003) (DOD form DD 48-1, personal papers, Stanford University Archive catalog SC 625 box 4)
^Stanford University Archives, Catalog SC 625, box 7
^"List of Members by Classes September 1, 1997". Records of the Academy (American Academy of Arts and Sciences) (1996/1997): 56–128. 1996. JSTOR3786119.
^ ab"Robert W. Floyd". A.M. Turing Award Laureate. June 8, 1936. Retrieved February 14, 2024.
^Floyd, Robert W.; Beigel, Richard (1994). The Language of Machines: an Introduction to Computability and Formal Languages. New York City: W. H. Freeman and Company. ISBN978-0-7167-8266-7.