Skip to main content
. 2020 Nov 7;20(21):6357. doi: 10.3390/s20216357
Algorithm 1 Pruned Dynamic Programming Algorithm
procedureGenerateLayer(orderGraph)
1. for each parentGraph pg do
2. generateParentLayer(pg)
3. end for
4. for each node Oprev do
5. for each vVO do
6. pgparentGraphs[v].readNode()
7. scorepg.score+O.score
8. if score<curr[Ov].score then
9. curr[Ov]{O.parspg.pars,score}
10. end if
11. if v=Y1 then write(curr[Ov])
12. end for [each v]
13. end for [each node O]
14. prevcurr
15. currnewHashTable
end procedure
procedureGenerateParentLayer(pg)
16. for each node PMB do
17. for each vVP and vpg.v do
18. if curr[Pv] is null then
19. curr[Pv]{Pv,score(Pv)}
20. end if
21. if P.score<curr[Pv].score then
22. curr[Pv]P
23. end if
24. if v=p1 then write(curr[Pv])
25. end for [each v]
26. end for [each node P]
27. prevcurrentLayer
28. currnewHashTable
end procedure
proceduremain
29. for l=1n do
30. GenerateLayer(orderGraph)
31. end for
end procedure