El sopar de filòsofs

De la Viquipèdia, l'enciclopèdia lliure
(S'ha redirigit des de: El problema del sopar dels filòsofs)

El sopar dels filòsofs és un exemple de paradoxa que conté una abraçada mortal (o deadlock), proposat i resolt per Edsger Dijkstra el 1965. Cal dir que aquest problema és una adaptació d'un altre en què pensadors xinesos menjaven amb dos bastonets, on és més lògic l'ús del bastonet del filòsof veí per poder menjar.

Descripció[modifica]

Il·lustració de la paradoxa del dinar de filòsofs

Un cert nombre 'n' de filòsofs estan asseguts entorn d'una taula rodona. Davant de cada filòsof hi ha un plat, a l'esquerra i a la dreta de cada filòsof hi ha una forquilla, de tal manera que hi ha 'n' forquilles. Al centre de la taula hi ha una gran plata de spaghetti.

Cada filòsof o bé pensa o bé menja. Per menjar un filòsof ha de servir-se primer els spaghetti, per la qual cosa necessita agafar les forquilles que té a la dreta i a l'esquerra. Quan s'ha servit el filòsof deixa lliure una de les forquilles i menja amb l'altra, que allibera en acabar de menjar.

La paradoxa s'esdevé quan tots els filòsofs volen menjar alhora, i tots agafen primer la forquilla de la mateixa banda. Aleshores tenim tots els filòsofs amb una forquilla a la mà i esperant que el filòsof del costat deixi la forquilla. Però perquè el filòsof del costat deixi la forquilla és necessari que el filòsof del seu costat deixi la forquilla, cosa que no passarà fins que el filòsof del seu costat deixi la forquilla...

Evitar l'abraçada mortal[modifica]

Una forma d'evitar l'abraçada mortal seria que la meitat dels filòsofs agafin primer la forquilla de la seva dreta i l'altra meitat la de la seva esquerra.

Una altra forma d'evitar-la seria que un filòsof o bé agafi totes dues forquilles o bé no n'agafi cap.