Keskimäärin lyhimmän matkan laskeminen

Kuinka määritellään piste, johon olisi lyhin matka muualta. Olkoot vaikkapa pisteiden AB välimatka x, BC=y ja AC=z. Tuostahan näkee suoraan kahden pisteen välisen matkan, mutta ei suoraan sitä mikä piste on keskimäärin lähimpänä muita.

Tarkoitus olisi selvittää mihin paikkaan Suomessa olisi lyhin matka muista paikoista. Käytettävät välimatkat saanee jonkun nettipalvelun kautta, mutta laskentatapa pitäisi keksiä.
6178
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Käytätkö linnuntietä vai valtateitä?

Joka tapauksessa, jos saat välimatkan jokaisen halaumasi paikan välille, niin eihän siinä ole muutakuin laskee jokaiselle sen keskiarvon etäisyydestä muihin ja katsoo mikä on pienin.

Jos löytyy vain välimatkat "naapurikaupunkien" välille, niin sitten tosiaan Dijkstran algoritmilla ne välimatkat saa kaikkien välille.

Tuossa sinun A, B, C esimerkissäsi se lasku menisi näin:

A: (x z)/2
B: (x y)/2
C: (y z)/2

ja näistä valitaan pienin. Tuossa kun on vain kolme kaupunkia, niin sen näkee suoraan, että valitsee kaksi lyhinta välimatkaa ja katsoo mikä kaupunki niissä molemmissa on osallisena ja se on sitten se haluttu. Useammalle se keskiarvo kai kannattaa laskea ihan jokaiselle, tai eihän siinäkään tarvitse jakaa lukumäärällä vaan vertailee vaan summia.

Äänestä
  • Vai etsitkö parempaa kuin O(n^2)-algoritmia?

    Äänestä

  • Tarkoitus on vaan löytää sopiva kaava. Matkanhan voi korvata ajalla, tai miksei euroillakin, jos haluaa laskea vaikka matkakuluina.. mikäli löytäisi jostain vaikka matkalippujen hinnat.

    Kahden paikan välisen matkan linnuntietä pitkin saan jo Pythonin avulla käyttämällä geocoderia. Täytynee vilkaista jos löytyisi sopiva OpenStreetMap-API, jolla saisi haettua matkan pituudet teitä pitkin.

    Pitää kokeilla tuota esittämääsi tapaa.

    Äänestä

Kts. wikipedia: Centroid, erikoisesti kohta "Of a finite set of points".

Äänestä

Kommentoi aloitusta


kmseceur kirjoitti:

Kuinka määritellään piste, johon olisi lyhin matka muualta. Olkoot vaikkapa pisteiden AB välimatka x, BC=y ja AC=z. Tuostahan näkee suoraan kahden pisteen välisen matkan, mutta ei suoraan sitä mikä piste on keskimäärin lähimpänä muita.

Tarkoitus olisi selvittää mihin paikkaan Suomessa olisi lyhin matka muista paikoista. Käytettävät välimatkat saanee jonkun nettipalvelun kautta, mutta laskentatapa pitäisi keksiä.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu