Show parallelism of Algorithm
up vote
5
down vote
favorite
I want to show that a certain part in a algorithm is working parallel.
So I thought about something like a big bracket around the lineS/state in my algorithm.
In the following picture I added the bracket with Photoshop:
Is there a way to this with the algorithm/algorithmic package in Latex?
Source-Code:
begin{algorithm}
caption{Parallele Tourkonstruktion}
label{ParallelTour}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$ und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen
\textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j := 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} := v_i$
State $d_m := d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j := j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s := d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
algorithms
New contributor
add a comment |
up vote
5
down vote
favorite
I want to show that a certain part in a algorithm is working parallel.
So I thought about something like a big bracket around the lineS/state in my algorithm.
In the following picture I added the bracket with Photoshop:
Is there a way to this with the algorithm/algorithmic package in Latex?
Source-Code:
begin{algorithm}
caption{Parallele Tourkonstruktion}
label{ParallelTour}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$ und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen
\textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j := 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} := v_i$
State $d_m := d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j := j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s := d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
algorithms
New contributor
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27
add a comment |
up vote
5
down vote
favorite
up vote
5
down vote
favorite
I want to show that a certain part in a algorithm is working parallel.
So I thought about something like a big bracket around the lineS/state in my algorithm.
In the following picture I added the bracket with Photoshop:
Is there a way to this with the algorithm/algorithmic package in Latex?
Source-Code:
begin{algorithm}
caption{Parallele Tourkonstruktion}
label{ParallelTour}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$ und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen
\textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j := 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} := v_i$
State $d_m := d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j := j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s := d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
algorithms
New contributor
I want to show that a certain part in a algorithm is working parallel.
So I thought about something like a big bracket around the lineS/state in my algorithm.
In the following picture I added the bracket with Photoshop:
Is there a way to this with the algorithm/algorithmic package in Latex?
Source-Code:
begin{algorithm}
caption{Parallele Tourkonstruktion}
label{ParallelTour}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$ und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen
\textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j := 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} := v_i$
State $d_m := d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j := j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s := d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
algorithms
algorithms
New contributor
New contributor
edited Nov 23 at 23:26
New contributor
asked Nov 23 at 23:16
Samy Dressel
285
285
New contributor
New contributor
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27
add a comment |
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27
add a comment |
2 Answers
2
active
oldest
votes
up vote
5
down vote
accepted
You can set a smash
ed math construction to span the five rows within the for each:
documentclass{article}
usepackage{algorithm,mathtools}
usepackage[noend]{algpseudocode}
usepackage[utf8]{inputenc}
newcommand{isassigned}{vcentcolon=}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j isassigned 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j isassigned j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s isassigned d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
end{document}
If you want the construction to cover the for each as well, then you can use
% ...
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}raisebox{.5baselineskip}[0pt][0pt]{$left.rule{0pt}{3.2baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
% ...
add a comment |
up vote
4
down vote
Here is a quick tikzmark
alternative.
documentclass{article}
usepackage{algorithm}
usepackage[noend]{algpseudocode}
usepackage{tikz}
usetikzlibrary{tikzmark,decorations.pathreplacing}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ St"adten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der k"urzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j < 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zuf"alligen Stadt tikzmarknode{v0}{$v_0$}
State Ermittle die n"achste Stadt $v_i$ und gehe tikzmarknode{dorthin}{dorthin}
State $r_{m_i} < v_i$
%hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m < d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix tikzmarknode{S}{$S$}
EndFor
State $j < j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourl"ange $d_m < d_s$}
State $d_s < d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
begin{tikzpicture}[overlay,remember picture]
draw[thick,decorate,decoration=brace] ([xshift=1mm,yshift=2mm]dorthin.east |- v0.north)
-- ([xshift=1mm,yshift=-2mm]dorthin.east |- S.south)
node[midway,right,align=left]{Working Parallel};
end{tikzpicture}
end{document}
Let me mention that tikzmark
can do much more. It can annotate code without putting any commands in, i.e. you can really embed working code and annotate it. Yet this is not required here.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
accepted
You can set a smash
ed math construction to span the five rows within the for each:
documentclass{article}
usepackage{algorithm,mathtools}
usepackage[noend]{algpseudocode}
usepackage[utf8]{inputenc}
newcommand{isassigned}{vcentcolon=}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j isassigned 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j isassigned j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s isassigned d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
end{document}
If you want the construction to cover the for each as well, then you can use
% ...
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}raisebox{.5baselineskip}[0pt][0pt]{$left.rule{0pt}{3.2baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
% ...
add a comment |
up vote
5
down vote
accepted
You can set a smash
ed math construction to span the five rows within the for each:
documentclass{article}
usepackage{algorithm,mathtools}
usepackage[noend]{algpseudocode}
usepackage[utf8]{inputenc}
newcommand{isassigned}{vcentcolon=}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j isassigned 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j isassigned j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s isassigned d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
end{document}
If you want the construction to cover the for each as well, then you can use
% ...
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}raisebox{.5baselineskip}[0pt][0pt]{$left.rule{0pt}{3.2baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
% ...
add a comment |
up vote
5
down vote
accepted
up vote
5
down vote
accepted
You can set a smash
ed math construction to span the five rows within the for each:
documentclass{article}
usepackage{algorithm,mathtools}
usepackage[noend]{algpseudocode}
usepackage[utf8]{inputenc}
newcommand{isassigned}{vcentcolon=}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j isassigned 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j isassigned j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s isassigned d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
end{document}
If you want the construction to cover the for each as well, then you can use
% ...
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}raisebox{.5baselineskip}[0pt][0pt]{$left.rule{0pt}{3.2baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
% ...
You can set a smash
ed math construction to span the five rows within the for each:
documentclass{article}
usepackage{algorithm,mathtools}
usepackage[noend]{algpseudocode}
usepackage[utf8]{inputenc}
newcommand{isassigned}{vcentcolon=}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ Städten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der kürzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j isassigned 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
State $j isassigned j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourlänge $d_m < d_s$}
State $d_s isassigned d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
end{document}
If you want the construction to cover the for each as well, then you can use
% ...
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zufälligen Stadt $v_0$
State Ermittle die nächste Stadt $v_i$ und gehe dorthin
State $r_{m_i} isassigned v_i$
hspace{17em}raisebox{.5baselineskip}[0pt][0pt]{$left.rule{0pt}{3.2baselineskip}right} mbox{in parallel}$}
State $d_m isassigned d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix $S$
EndFor
% ...
answered Nov 23 at 23:53
Werner
432k609511632
432k609511632
add a comment |
add a comment |
up vote
4
down vote
Here is a quick tikzmark
alternative.
documentclass{article}
usepackage{algorithm}
usepackage[noend]{algpseudocode}
usepackage{tikz}
usetikzlibrary{tikzmark,decorations.pathreplacing}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ St"adten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der k"urzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j < 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zuf"alligen Stadt tikzmarknode{v0}{$v_0$}
State Ermittle die n"achste Stadt $v_i$ und gehe tikzmarknode{dorthin}{dorthin}
State $r_{m_i} < v_i$
%hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m < d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix tikzmarknode{S}{$S$}
EndFor
State $j < j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourl"ange $d_m < d_s$}
State $d_s < d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
begin{tikzpicture}[overlay,remember picture]
draw[thick,decorate,decoration=brace] ([xshift=1mm,yshift=2mm]dorthin.east |- v0.north)
-- ([xshift=1mm,yshift=-2mm]dorthin.east |- S.south)
node[midway,right,align=left]{Working Parallel};
end{tikzpicture}
end{document}
Let me mention that tikzmark
can do much more. It can annotate code without putting any commands in, i.e. you can really embed working code and annotate it. Yet this is not required here.
add a comment |
up vote
4
down vote
Here is a quick tikzmark
alternative.
documentclass{article}
usepackage{algorithm}
usepackage[noend]{algpseudocode}
usepackage{tikz}
usetikzlibrary{tikzmark,decorations.pathreplacing}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ St"adten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der k"urzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j < 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zuf"alligen Stadt tikzmarknode{v0}{$v_0$}
State Ermittle die n"achste Stadt $v_i$ und gehe tikzmarknode{dorthin}{dorthin}
State $r_{m_i} < v_i$
%hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m < d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix tikzmarknode{S}{$S$}
EndFor
State $j < j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourl"ange $d_m < d_s$}
State $d_s < d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
begin{tikzpicture}[overlay,remember picture]
draw[thick,decorate,decoration=brace] ([xshift=1mm,yshift=2mm]dorthin.east |- v0.north)
-- ([xshift=1mm,yshift=-2mm]dorthin.east |- S.south)
node[midway,right,align=left]{Working Parallel};
end{tikzpicture}
end{document}
Let me mention that tikzmark
can do much more. It can annotate code without putting any commands in, i.e. you can really embed working code and annotate it. Yet this is not required here.
add a comment |
up vote
4
down vote
up vote
4
down vote
Here is a quick tikzmark
alternative.
documentclass{article}
usepackage{algorithm}
usepackage[noend]{algpseudocode}
usepackage{tikz}
usetikzlibrary{tikzmark,decorations.pathreplacing}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ St"adten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der k"urzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j < 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zuf"alligen Stadt tikzmarknode{v0}{$v_0$}
State Ermittle die n"achste Stadt $v_i$ und gehe tikzmarknode{dorthin}{dorthin}
State $r_{m_i} < v_i$
%hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m < d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix tikzmarknode{S}{$S$}
EndFor
State $j < j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourl"ange $d_m < d_s$}
State $d_s < d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
begin{tikzpicture}[overlay,remember picture]
draw[thick,decorate,decoration=brace] ([xshift=1mm,yshift=2mm]dorthin.east |- v0.north)
-- ([xshift=1mm,yshift=-2mm]dorthin.east |- S.south)
node[midway,right,align=left]{Working Parallel};
end{tikzpicture}
end{document}
Let me mention that tikzmark
can do much more. It can annotate code without putting any commands in, i.e. you can really embed working code and annotate it. Yet this is not required here.
Here is a quick tikzmark
alternative.
documentclass{article}
usepackage{algorithm}
usepackage[noend]{algpseudocode}
usepackage{tikz}
usetikzlibrary{tikzmark,decorations.pathreplacing}
begin{document}
begin{algorithm}
caption{Parallele Tourkonstruktion}
textbf{Eingabe:} Datenobjekt mit $v$ St"adten sowie einer Distanzmatrix $D$
und Pheromonmatrix $S$, texttt{vector} $M$ mit $m$ Ameisen \
textbf{Ausgabe:} Route $r$ mit der k"urzesten gefunden Distanz $d_s$
begin{algorithmic}[1]
State $j < 0$
While{$j < v$}
For{textbf{each} Ameise $m_i in M$}
State Starte in einer zuf"alligen Stadt tikzmarknode{v0}{$v_0$}
State Ermittle die n"achste Stadt $v_i$ und gehe tikzmarknode{dorthin}{dorthin}
State $r_{m_i} < v_i$
%hspace{17em}smash{$left.rule{0pt}{2.7baselineskip}right} mbox{in parallel}$}
State $d_m < d_m + D_{i-1,i}$
State Aktualisiere Pheromonmatrix tikzmarknode{S}{$S$}
EndFor
State $j < j + 1$
EndWhile
State $d_s = infty$
For{textbf{each} Ameise $m_i in M$}
If{Tourl"ange $d_m < d_s$}
State $d_s < d_m$
EndIf
EndFor
end{algorithmic}
end{algorithm}
begin{tikzpicture}[overlay,remember picture]
draw[thick,decorate,decoration=brace] ([xshift=1mm,yshift=2mm]dorthin.east |- v0.north)
-- ([xshift=1mm,yshift=-2mm]dorthin.east |- S.south)
node[midway,right,align=left]{Working Parallel};
end{tikzpicture}
end{document}
Let me mention that tikzmark
can do much more. It can annotate code without putting any commands in, i.e. you can really embed working code and annotate it. Yet this is not required here.
answered Nov 24 at 0:18
marmot
78.7k487166
78.7k487166
add a comment |
add a comment |
Samy Dressel is a new contributor. Be nice, and check out our Code of Conduct.
Samy Dressel is a new contributor. Be nice, and check out our Code of Conduct.
Samy Dressel is a new contributor. Be nice, and check out our Code of Conduct.
Samy Dressel is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f461499%2fshow-parallelism-of-algorithm%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
Nov 23 at 23:19
Thanks - I added the source code :)
– Samy Dressel
Nov 23 at 23:27