| Input: Senors,Actor, SelectionTechnique, ASC |
| Output: SelectedSensors |
| if Technique==Random then |
| SelectedSensors = Random(Sensors,ASC) |
| end |
| else if Technique == Rounds then |
| for Sensor in Sensors do |
| distancesSensor=Euclidean_Distance(Sensor,Actor) |
| end |
| SortedNodes= Sort(Sensors,distances) |
| iteration=0 |
| AssignedSensors =0 |
| while AssignedSensors<ASC do |
| if iteration is even then |
| SelectedSensors.Add(SortedNodes.First()) |
| end |
| else |
| SelectedSensors.Add(SortedNodes.Last()) |
| end |
| AssignedSensors++; |
| end |
| else if Technique==Tensor then |
| for Sensor in Sensors do |
| sum = sum + Euclidean_Distance(Sensor,Actor); |
| end |
| for Sensor in Sensors do |
| Sensor.Normalized_Distance = Euclidean_Distance(Sensor,Actor)/sum |
| Sensor.weight = Random(0,1) |
| Sensor.Lerp= Lerp(Sensor.Normalized_Distance,Sensor.weight) |
| end |
| SortedSensors=SortSensorsByLerp(Sensors) |
| SelectedSensors = SortedSensors[:ASC |
| else if Technique == Distance then |
| SortedSensors = SortSensorsByDistance(Sensors,Actor) |
| SelectedSensors = SortedSensors[:ASC |