Answer me on StackOverflow (graph theory)

  • Durum: Closed
  • Ödül: $35
  • Alınan Girdiler: 3
  • Kazanan: oskarsaravia

Yarışma Özeti

Synonym chains - Efficient routing algorithm for iOS/sqlite
[login to view URL]

I'll award the most useful answer $35 within 24 hours. Your answer might include a expectiminimax tree, or other heuristic/optimization. Get me on a useful path to solve this.

(If your stackoverflow username does not match your upwork username, I suggest you do an md5 hash of your upwork username, and append the first 2 letters of the hash to the end of your stackoverflow reply.)

A synonym chain is a series of closely related words that span two anchors. For example, the English words "black" and "white" can connected as:

black-dark-obscure-hidden-concealed-snug-comfortable-easy-simple-pure-white
Or, here's "true" and "false":

true-just=fair=beautiful=pretty-artful-artificial-sham-false
I'm working on a thesaurus iOS app, and I would like to display synonym chains also. The goal is to return minimum spanning tree(s) of a weighted planar graph of word relations. My source is a very large thesaurus with weighted data, where the weights measure similarity between words. (e.g., "outlaw" is closely related to "bandit", but more distantly related to "rogue.")

What optimization strategies do you recommend to make this realistic, e.g., within 5 seconds of processing on a typical iOS device? Assume the thesaurus has half a million terms, each with 20 associations. I'm sure there's a ton of prior research on these kinds of problems, and I'd appreciate pointers on what might be applied to this.

My current algorithm involves recursively descending a few levels from the start and end words, and then looking for intercepting words, but that becomes too slow with thousands of sqlite (or Realm) selects.

Tavsiye Edilen Beceriler

İşveren Geribildirimi

“oskarsaravia had exactly the solution to my problem. thanks!”

Profil Görüntüsü wxidea, United States.

Bu yarışmadan başlıca girdiler

Daha Fazla Katılım Görüntüle

Genel Açıklama Panosu

Henüz mesaj yok.

Yarışmalara nasıl başlanır

  • Projenizi ilan edin

    Yarışmanızı İlan Edin Hızlı ve kolay

  • Tonlarca girdi alın

    Tonlarca Girdi Alın Bütün dünyadan

  • En iyi girdiyi seçin

    En iyi girdiyi seçin Dosyaları indirin - Kolay!

Şimdi bir Yarışma İlan Et ya da Bugün Bize Katılın!