Proc ta ironie? Pokud mam bejt uprimnej, tak jestli mam o nekom z diskutujicich dojem, ze nevi, o cem mluvi, tak jste to vy.
Jistě, matice soustavy, kterou Google řeší, bude zcela jistě velmi řídká, takže Google ve skutečnosti neřeší miliardu rovnic, ale pouze milion, možná 10 milionů. Ale to je přesně to, co říkám: vypouští tiskové zprávy s miliardovými ciframi a je rád, že to lidi baští.
1) Jsem presvedcenej o tom, ze obliba Google plyne spis z uzasny kvality vysledku, ktery vraci, nez z poblouzneni lidi "tiskovyma zpravama s miliardovyma ciframa".
2) Pokud uz chcete jit do detailu a ohanet se zaklady matematiky: Chcete mi tvrdit, ze kdyz mam miliardu rovnic o miliarde neznamych, tak vlastne zalezi na tom, jak ridce nebo huste jsou usporadany, aby se dalo o 1Gx1G mluvit? Podle me zalezi na poctu promennych, ne na tom, kolik operaci je pro vyreseni soustavy provyst.
b) nebo tím, že použijeme hashovací tabulku s literálními hodnotami. [...] případ b) by pro velkou množinu znamenal, že se tabulka nevejde do fyzické paměti a algoritmus bude nepoužitelně pomalý.
Jenze tim hashovanim by napred slo roztridit, kterej pocitac ma to dany slovo zpracovavat, a kazdej pocitac by pak mel v pameti jen svou cast dat. Takze pokud bych uvazoval treba jen 1000 pocitacu s jen 32 MB pameti, uz by mohly zpracovavat 32 GB dat v hashovacich tabulkach (samozrejme bude potreba nejaka ta pamet na vykonnej kod, ale to je celkem zanedbatelna polozka). Nepochybuju, ze tehc pocitacu je mnohem vic, nez 1000, ze maj mnohem vic pameti nez 32 MB, a ze si v ty pameti nedrzej uplne vsehcny slova, ale jenom ty nejcastejsi (ze tu pamet pouzivaj spis jako diskovou cache nez na skladovani obrovskych tabulek). I kdyby se mela indexovat miliarda ruznych slov, tech casto pouzivanych muze bejt maximalne par milionu (spis bych rekl par desitek az set tisic, ale to je jen muj odhad - a ja se lingvistikou nezabyvam), a to uz se do pameti pocitacu klidne vejde. Tech 100 slov denne, co vybocujou z normalu, se klidne muze nacist z disku...
Ano, je jich asi 14 milionů, ale jak je chcete najít aniž byste je setřídil? Budete je postupně po jednom vyhledávat v tabulce a nové vkládat? To bude trvat 10x déle. A pokud se vám ta tabulka náhodou nevejde celá do fyzické paměti, bude to trvat 100x déle.
Pokud projdu 1000 stranek, a uplne na kazdy budou slova jako "A", "ALE", "NEBO" (a ostatne vubec vsechny spojky, predlozky, a osobne bych asi automaticky vyrazoval vsechny jednoznakovy slova), tak uz mam pomerne slusnou pravdepodobnost, ze se ty slova budou vyskytovat i vsude jinde a muzu je vyhazet. Takze prvnich X tisic zaindexovani treba bude pomalejsich, ale o to rychlejsi bude zbytek.
> proc by fulltextovy hledac potreboval radit slova podle abecedy.
Třeba proto, aby z nich sestavil vyhledávací index. Nebo znáte nějaký efektivní algoritmus pro vyhledávání v neseřazených datech?
Slysel jste napriklad nekdy o tzv. hashovani?
Relevantnost takto získaných hodnot by podle mého názoru byla mizivá.
Az bude vas prohledavac vracet vysledky relevantnejsi nez Google, tak si o tom muzeme popovidat. Momentalne ovsem jsme v situaci, kdy vy kritizujete Google za neco, co sam udelat nedokazete, ale Google ano.
Toto je prvni odstavec ze stranky http://www.google.com/technology/index.html.
Takze argument, ze na vasem PC to trva dlouho neobstoji. Na tisicech PC to asi bude o neco rychlejsi.