\documentclass{article}

\usepackage{pstricks}
\usepackage{pst-node}
\usepackage{pst-eps}
\usepackage{multido}
\usepackage{calc}
\usepackage[scale=0.9]{tgheros}
\renewcommand{\familydefault}{\sfdefault}

\begin{document}
\thispagestyle{empty}
\large

\begin{TeXtoEPS}
\begin{pspicture}(12,10)
    \definecolor{TableColor}{rgb}{1,1,1}
    \definecolor{PlateColor}{rgb}{.3,.3,.3}
    \definecolor{PhColor}{rgb}{.8,.8,.8}
    \psset{linewidth=2pt}
    %
    \pnode(6, 5){O} % center
    \SpecialCoor
    \pscircle[fillcolor=TableColor,fillstyle=solid](O){4}
    \pscircle[fillcolor=PlateColor,fillstyle=solid](O){1}
    %
    \newcounter{degp}
    \newcounter{degf}
    \newcounter{degf0}
    \newcounter{degf1}
    \newcounter{itemid}
    \setcounter{degp}{162}
    \setcounter{degf}{126}
    \multido{\idx=0+1}{5}{
        \addtocounter{degp}{-72}
        \addtocounter{degf}{-72}
        \setcounter{itemid}{\idx + 1}
        % Philosophers
        \pscircle[fillcolor=PhColor,fillstyle=solid]([nodesep=4,angle=\arabic{degp}]O){.7}
        \rput([nodesep=4, angle=\arabic{degp}]O){P\arabic{itemid}}
        % Forks
        \psline([nodesep=3.8, angle=\arabic{degf}]O)([nodesep=2.8, angle=\arabic{degf}]O)
        \setcounter{degf0}{\value{degf} + 3}
        \setcounter{degf1}{\value{degf} - 3}
        \pscurve([nodesep=2.8, angle=\arabic{degf1}]O)%
                ([nodesep=3,angle=\arabic{degf}]O)%
                ([nodesep=2.8,angle=\arabic{degf0}]O)%
        %
        \rput([nodesep=2.4, angle=\arabic{degf}]O){\arabic{itemid}}
    }

\end{pspicture}
\end{TeXtoEPS}

\end{document}
