Hast du es mal mit `loop left` versucht?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[
Ellipse/.style={ellipse,draw,minimum height=1cm,minimum width=2.75cm},
]
\matrix (m) [
matrix of nodes,
nodes={Ellipse},
row sep=1cm,
]
{
\node(D){D}; \\
};
% Loop
\path[draw] (D.west) edge[red, loop left] node [] {P} (D.west);
\end{tikzpicture}
\end{document}
![alt text][1]
Man kann die Loops auch beliebig anpassen. Dabei sollte man lieber `to` statt `edge` verwenden. Mit `edge` passieren komische Dinge.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[
Ellipse/.style={ellipse,draw,minimum height=1cm,minimum width=2.75cm},
]
\matrix (m) [
matrix of nodes,
nodes={Ellipse},
row sep=1cm,
]
{
\node(D){D}; \\
};
% Loop
\path[draw=red,->] (D.west) to[left, loop, out=180-45, in=180+45, min distance=10mm] node [] {P} (D.west);
\end{tikzpicture}
\end{document}
![alt text][2]
[1]: http://texwelt.de/wissen/upfiles/test_264.pnghttp://texwelt.de/wissen/upfiles/test_264.png
[2]: http://texwelt.de/wissen/upfiles/test_265.png