If a process requests a resource an arrow is shown the other way. For example, P1 is using R1 and has requested R2, while P2 is using R2. Deadlock can now occur if P2 requests R1 - setting up a cycle. Each resource is either currently assigned to one process or is available. Hold and wait.
Processes holding resources can request new ones.
Resources granted cannot be taken away, but must be released by the process holding them. There must be a cycle in the resource allocation graph. To prevent deadlocks from occurring, one of the four conditions must be disallowed. Make some resources unsharable, such as printers, tape drives. Hold and wait.