TTK
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ttk::PersistenceDiagramAuction Class Reference

#include <PersistenceDiagramAuction.h>

Inheritance diagram for ttk::PersistenceDiagramAuction:
ttk::Debug ttk::BaseClass

Public Types

using KDT = Bidder::KDT
 

Public Member Functions

int getAugmentedNumberOfBidders ()
 
void initLowerBoundCostWeight (double delta_lim)
 
double initLowerBoundCost (const int kdt_index=0)
 
 PersistenceDiagramAuction (int wasserstein, double geometricalFactor, double lambda, double delta_lim, bool use_kdTree)
 
 PersistenceDiagramAuction (BidderDiagram &bidders, GoodDiagram &goods, int wasserstein, double geometricalFactor, double lambda, double delta_lim, KDT &kdt, std::vector< KDT * > &correspondence_kdt_map, double epsilon={}, double initial_diag_price={}, bool use_kdTree=true)
 
void runAuctionRound (int &n_biddings, const int kdt_index=0)
 
double getMatchingsAndDistance (std::vector< MatchingType > &matchings, bool get_diagonal_matches=false)
 
double run (std::vector< MatchingType > &matchings, const int kdt_index=0)
 
double run ()
 
double getMaximalPrice ()
 
void BuildAuctionDiagrams (const BidderDiagram &BD, const GoodDiagram &GD)
 
void BuildAuctionDiagrams (const DiagramType &diagram1, const DiagramType &diagram2)
 
void setBidders (const DiagramType &diagram1)
 
void setGoods (const DiagramType &diagram2)
 
void buildKDTree ()
 
void setEpsilon (const double epsilon)
 
void initializeEpsilon ()
 
void buildUnassignedBidders ()
 
void reinitializeGoods ()
 
double getMatchingDistance ()
 
double getRelativePrecision ()
 
void updateDiagonalPrices ()
 
double getMinimalDiagonalPrice ()
 
- Public Member Functions inherited from ttk::Debug
 Debug ()
 
 ~Debug () override
 
virtual int setDebugLevel (const int &debugLevel)
 
int setWrapper (const Wrapper *wrapper) override
 
int printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const
 
int printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const
 
int printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const
 
int printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const
 
int printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const
 
int printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const
 
int printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const
 
int printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const
 
void setDebugMsgPrefix (const std::string &prefix)
 
- Public Member Functions inherited from ttk::BaseClass
 BaseClass ()
 
virtual ~BaseClass ()=default
 
int getThreadNumber () const
 
virtual int setThreadNumber (const int threadNumber)
 
virtual int setWrapper (const Wrapper *wrapper)
 

Public Attributes

KDT default_kdt_ {}
 
KDTkdt_ {default_kdt_}
 
std::vector< KDT * > default_correspondence_kdt_map_ {}
 
std::vector< KDT * > & correspondence_kdt_map_
 

Protected Attributes

int wasserstein_ {2}
 
BidderDiagram default_bidders_ {}
 
BidderDiagrambidders_ {default_bidders_}
 
GoodDiagram default_goods_ {}
 
GoodDiagramgoods_ {default_goods_}
 
GoodDiagram diagonal_goods_
 
std::priority_queue< std::pair< int, double >, std::vector< std::pair< int, double > >, Comparediagonal_queue_ {}
 
std::queue< int > unassignedBidders_ {}
 
int n_bidders_ {0}
 
int n_goods_ {0}
 
double epsilon_ {1}
 
double geometricalFactor_ {}
 
double lambda_ {}
 
double delta_lim_ {}
 
double lowerBoundCost_
 
double lowerBoundCostWeight_
 
bool use_kdt_ {true}
 
- Protected Attributes inherited from ttk::Debug
int debugLevel_
 
std::string debugMsgPrefix_
 
std::string debugMsgNamePrefix_
 
- Protected Attributes inherited from ttk::BaseClass
bool lastObject_
 
int threadNumber_
 
Wrapperwrapper_
 

Additional Inherited Members

- Protected Member Functions inherited from ttk::Debug
int printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const
 
int printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const
 
int welcomeMsg (std::ostream &stream)
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

Definition at line 8 of file PersistenceDiagramAuction.h.

Member Typedef Documentation

◆ KDT

Definition at line 15 of file PersistenceDiagramAuction.h.

Constructor & Destructor Documentation

◆ PersistenceDiagramAuction() [1/2]

ttk::PersistenceDiagramAuction::PersistenceDiagramAuction ( int  wasserstein,
double  geometricalFactor,
double  lambda,
double  delta_lim,
bool  use_kdTree 
)
inline

Definition at line 29 of file PersistenceDiagramAuction.h.

◆ PersistenceDiagramAuction() [2/2]

ttk::PersistenceDiagramAuction::PersistenceDiagramAuction ( BidderDiagram bidders,
GoodDiagram goods,
int  wasserstein,
double  geometricalFactor,
double  lambda,
double  delta_lim,
KDT kdt,
std::vector< KDT * > &  correspondence_kdt_map,
double  epsilon = {},
double  initial_diag_price = {},
bool  use_kdTree = true 
)
inline

Definition at line 38 of file PersistenceDiagramAuction.h.

Member Function Documentation

◆ BuildAuctionDiagrams() [1/2]

void ttk::PersistenceDiagramAuction::BuildAuctionDiagrams ( const BidderDiagram BD,
const GoodDiagram GD 
)
inline

Definition at line 97 of file PersistenceDiagramAuction.h.

◆ BuildAuctionDiagrams() [2/2]

void ttk::PersistenceDiagramAuction::BuildAuctionDiagrams ( const DiagramType diagram1,
const DiagramType diagram2 
)
inline

Definition at line 129 of file PersistenceDiagramAuction.h.

◆ buildKDTree()

void ttk::PersistenceDiagramAuction::buildKDTree ( )
inline

Definition at line 179 of file PersistenceDiagramAuction.h.

◆ buildUnassignedBidders()

void ttk::PersistenceDiagramAuction::buildUnassignedBidders ( )
inline

Definition at line 222 of file PersistenceDiagramAuction.h.

◆ getAugmentedNumberOfBidders()

int ttk::PersistenceDiagramAuction::getAugmentedNumberOfBidders ( )
inline

Definition at line 11 of file PersistenceDiagramAuction.h.

◆ getMatchingDistance()

double ttk::PersistenceDiagramAuction::getMatchingDistance ( )
inline

Definition at line 239 of file PersistenceDiagramAuction.h.

◆ getMatchingsAndDistance()

double ttk::PersistenceDiagramAuction::getMatchingsAndDistance ( std::vector< MatchingType > &  matchings,
bool  get_diagonal_matches = false 
)

Definition at line 71 of file PersistenceDiagramAuction.cpp.

◆ getMaximalPrice()

double ttk::PersistenceDiagramAuction::getMaximalPrice ( )

Definition at line 50 of file PersistenceDiagramAuction.cpp.

◆ getMinimalDiagonalPrice()

double ttk::PersistenceDiagramAuction::getMinimalDiagonalPrice ( )
inline

Definition at line 268 of file PersistenceDiagramAuction.h.

◆ getRelativePrecision()

double ttk::PersistenceDiagramAuction::getRelativePrecision ( )
inline

Definition at line 248 of file PersistenceDiagramAuction.h.

◆ initializeEpsilon()

void ttk::PersistenceDiagramAuction::initializeEpsilon ( )
inline

Definition at line 205 of file PersistenceDiagramAuction.h.

◆ initLowerBoundCost()

double ttk::PersistenceDiagramAuction::initLowerBoundCost ( const int  kdt_index = 0)

Definition at line 111 of file PersistenceDiagramAuction.cpp.

◆ initLowerBoundCostWeight()

void ttk::PersistenceDiagramAuction::initLowerBoundCostWeight ( double  delta_lim)
inline

Definition at line 23 of file PersistenceDiagramAuction.h.

◆ reinitializeGoods()

void ttk::PersistenceDiagramAuction::reinitializeGoods ( )
inline

Definition at line 230 of file PersistenceDiagramAuction.h.

◆ run() [1/2]

double ttk::PersistenceDiagramAuction::run ( )
inline

Definition at line 91 of file PersistenceDiagramAuction.h.

◆ run() [2/2]

double ttk::PersistenceDiagramAuction::run ( std::vector< MatchingType > &  matchings,
const int  kdt_index = 0 
)

Definition at line 150 of file PersistenceDiagramAuction.cpp.

◆ runAuctionRound()

void ttk::PersistenceDiagramAuction::runAuctionRound ( int &  n_biddings,
const int  kdt_index = 0 
)

Definition at line 3 of file PersistenceDiagramAuction.cpp.

◆ setBidders()

void ttk::PersistenceDiagramAuction::setBidders ( const DiagramType diagram1)
inline

Definition at line 160 of file PersistenceDiagramAuction.h.

◆ setEpsilon()

void ttk::PersistenceDiagramAuction::setEpsilon ( const double  epsilon)
inline

Definition at line 201 of file PersistenceDiagramAuction.h.

◆ setGoods()

void ttk::PersistenceDiagramAuction::setGoods ( const DiagramType diagram2)
inline

Definition at line 170 of file PersistenceDiagramAuction.h.

◆ updateDiagonalPrices()

void ttk::PersistenceDiagramAuction::updateDiagonalPrices ( )
inline

Definition at line 261 of file PersistenceDiagramAuction.h.

Member Data Documentation

◆ bidders_

BidderDiagram& ttk::PersistenceDiagramAuction::bidders_ {default_bidders_}
protected

Definition at line 285 of file PersistenceDiagramAuction.h.

◆ correspondence_kdt_map_

std::vector<KDT *>& ttk::PersistenceDiagramAuction::correspondence_kdt_map_
Initial value:

Definition at line 20 of file PersistenceDiagramAuction.h.

◆ default_bidders_

BidderDiagram ttk::PersistenceDiagramAuction::default_bidders_ {}
protected

Definition at line 284 of file PersistenceDiagramAuction.h.

◆ default_correspondence_kdt_map_

std::vector<KDT *> ttk::PersistenceDiagramAuction::default_correspondence_kdt_map_ {}

Definition at line 19 of file PersistenceDiagramAuction.h.

◆ default_goods_

GoodDiagram ttk::PersistenceDiagramAuction::default_goods_ {}
protected

Definition at line 286 of file PersistenceDiagramAuction.h.

◆ default_kdt_

KDT ttk::PersistenceDiagramAuction::default_kdt_ {}

Definition at line 17 of file PersistenceDiagramAuction.h.

◆ delta_lim_

double ttk::PersistenceDiagramAuction::delta_lim_ {}
protected

Definition at line 306 of file PersistenceDiagramAuction.h.

◆ diagonal_goods_

GoodDiagram ttk::PersistenceDiagramAuction::diagonal_goods_
protected

Definition at line 288 of file PersistenceDiagramAuction.h.

◆ diagonal_queue_

std::priority_queue<std::pair<int, double>, std::vector<std::pair<int, double> >, Compare> ttk::PersistenceDiagramAuction::diagonal_queue_ {}
protected

Definition at line 292 of file PersistenceDiagramAuction.h.

◆ epsilon_

double ttk::PersistenceDiagramAuction::epsilon_ {1}
protected

Definition at line 298 of file PersistenceDiagramAuction.h.

◆ geometricalFactor_

double ttk::PersistenceDiagramAuction::geometricalFactor_ {}
protected

Definition at line 299 of file PersistenceDiagramAuction.h.

◆ goods_

GoodDiagram& ttk::PersistenceDiagramAuction::goods_ {default_goods_}
protected

Definition at line 287 of file PersistenceDiagramAuction.h.

◆ kdt_

KDT& ttk::PersistenceDiagramAuction::kdt_ {default_kdt_}

Definition at line 18 of file PersistenceDiagramAuction.h.

◆ lambda_

double ttk::PersistenceDiagramAuction::lambda_ {}
protected

Definition at line 300 of file PersistenceDiagramAuction.h.

◆ lowerBoundCost_

double ttk::PersistenceDiagramAuction::lowerBoundCost_
protected

Definition at line 307 of file PersistenceDiagramAuction.h.

◆ lowerBoundCostWeight_

double ttk::PersistenceDiagramAuction::lowerBoundCostWeight_
protected

Definition at line 307 of file PersistenceDiagramAuction.h.

◆ n_bidders_

int ttk::PersistenceDiagramAuction::n_bidders_ {0}
protected

Definition at line 295 of file PersistenceDiagramAuction.h.

◆ n_goods_

int ttk::PersistenceDiagramAuction::n_goods_ {0}
protected

Definition at line 296 of file PersistenceDiagramAuction.h.

◆ unassignedBidders_

std::queue<int> ttk::PersistenceDiagramAuction::unassignedBidders_ {}
protected

Definition at line 293 of file PersistenceDiagramAuction.h.

◆ use_kdt_

bool ttk::PersistenceDiagramAuction::use_kdt_ {true}
protected

Definition at line 308 of file PersistenceDiagramAuction.h.

◆ wasserstein_

int ttk::PersistenceDiagramAuction::wasserstein_ {2}
protected

Definition at line 283 of file PersistenceDiagramAuction.h.


The documentation for this class was generated from the following files: