AntHocNet 2.6.1
Paper-faithful ant-colony ad hoc routing: the shared core and its adapters
Loading...
Searching...
No Matches
anthocnet::core::SinrMetric Struct Reference

The SINR metric (#181), the one the 2007 thesis used for every headline result: "we normally use the signal-to-interference-and-noise ratio metric, as this gave the best results" (§4.2.6). More...

#include <anthocnet/core/link_metric.h>

Inheritance diagram for anthocnet::core::SinrMetric:
anthocnet::core::ILinkMetric

Public Member Functions

double pheromone (const LinkObservation &o) const override
 
bool usesLinkQuality () const override
 True when the metric's per-hop cost is a link-quality cost (#181) rather than a time.
 
double hopCost (const HopSignals &s) const override
 The cost of one of this node's own links, for a metric that usesLinkQuality(): the per-hop value a node writes into the hop a backward ant came over, and adds wherever it extends a path by one hop.
 
- Public Member Functions inherited from anthocnet::core::ILinkMetric
virtual ~ILinkMetric ()=default
 

Detailed Description

The SINR metric (#181), the one the 2007 thesis used for every headline result: "we normally use the signal-to-interference-and-noise ratio metric, as this gave the best results" (§4.2.6).

Each link costs 1 when its SINR is above SINR_c and c_const otherwise (eq. 4.11, sinrLinkCost); a route costs the sum over its links, carried as the hops' per-hop values; and the pheromone is the inverse of that cost (eq. 4.3).

Definition at line 76 of file link_metric.h.

Member Function Documentation

◆ pheromone()

double anthocnet::core::SinrMetric::pheromone ( const LinkObservation &  o) const
inlineoverridevirtual

◆ usesLinkQuality()

bool anthocnet::core::SinrMetric::usesLinkQuality ( ) const
inlineoverridevirtual

True when the metric's per-hop cost is a link-quality cost (#181) rather than a time.

The router then has each node put its own estimate of the link it received a backward ant over into that hop of the retraced path (thesis §4.2.2: "the reactive backward ant reads at each node i the local estimate c_i^n of the cost to go from i to the next hop n"), and uses the same link cost wherever it adds one hop to a path.

Reimplemented from anthocnet::core::ILinkMetric.

Definition at line 82 of file link_metric.h.

◆ hopCost()

double anthocnet::core::SinrMetric::hopCost ( const HopSignals &  ) const
inlineoverridevirtual

The cost of one of this node's own links, for a metric that usesLinkQuality(): the per-hop value a node writes into the hop a backward ant came over, and adds wherever it extends a path by one hop.

Never called for a metric that does not use link quality.

Reimplemented from anthocnet::core::ILinkMetric.

Definition at line 92 of file link_metric.h.

References anthocnet::core::HopSignals::sinrCriticalDb, anthocnet::core::HopSignals::sinrDb, anthocnet::core::sinrLinkCost(), and anthocnet::core::HopSignals::sinrPenaltyCost.


The documentation for this struct was generated from the following file: