| Dr. Heywood Floyd : Wait... do you know why HAL did what he did? Chandra : Yes. It wasn't his fault. Dr. Heywood Floyd : Whose fault was it? Chandra : Yours. Dr. Heywood Floyd : Mine? Chandra : Yours. In going through HAL's memory banks, I discovered his original orders. You wrote those orders. Discovery's mission to Jupiter was already in the advanced planning stages when the first small Monolith was found on the Moon, and sent its signal towards Jupiter. By direct presidential order, the existence of that Monolith was kept secret. Dr. Heywood Floyd : So? Chandra : So, as the function of the command crew - Bowman and Poole - was to get Discovery to its destination, it was decided that they should not be informed. The investigative team was trained separately, and placed in hibernation before the voyage began. Since HAL was capable of operating Discovery without human assistance, it was decided that he should be programmed to complete the mission autonomously in the event the crew was incapacitated or killed. He was given full knowledge of the true objective... and instructed not to reveal anything to Bowman or Poole. He was instructed to lie. Dr. Heywood Floyd : What are you talking about? I didn't authorize anyone to tell HAL about the Monolith! Chandra : Directive is NSC 342/23, top secret, January 30, 2001. Dr. Heywood Floyd : NSC... National Security Council, the White House. Chandra : I don't care who it is. The situation was in conflict with the basic purpose of HAL's design: The accurate processing of information without distortion or concealment. He became trapped. The technical term is an H. Moebius loop, which can happen in advanced computers with autonomous goal-seeking programs. Walter Curnow : The goddamn White House. Dr. Heywood Floyd : I don't believe it. Chandra : HAL was told to lie... by people who find it easy to lie. HAL doesn't know how, so he couldn't function. He became paranoid. Dr. Heywood Floyd : Those sons of bitches. I didn't know. I didn't know! |
[0] https://en.wikipedia.org/wiki/Runaround_(story)