Show parallelism of Algorithm
up vote
3
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
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
up vote
3
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
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago
add a comment |
up vote
3
down vote
favorite
up vote
3
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
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
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
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 2 hours ago
New contributor
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 2 hours ago
Samy Dressel
185
185
New contributor
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Samy Dressel is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago
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
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
2 hours ago
Welcome to TeX.SX! Can you please add the source code for the picture, so not to have to rekey it?
– egreg
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago
add a comment |
2 Answers
2
active
oldest
votes
up vote
2
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
2
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
2
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
2
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
2
down vote
accepted
up vote
2
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 1 hour ago


Werner
431k599491627
431k599491627
add a comment |
add a comment |
up vote
2
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
2
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
2
down vote
up vote
2
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 1 hour ago


marmot
77.5k487164
77.5k487164
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
2 hours ago
Thanks - I added the source code :)
– Samy Dressel
2 hours ago