Informatika1-2012/HF4

A MathWikiből
(Változatok közti eltérés)
(Bevezetés)
(Bevezetés)
8. sor: 8. sor:
 
Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket".(A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)
 
Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket".(A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)
  
 +
* Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: [http://en.wikipedia.org/wiki/Jaccard_index | Jaccard index]
 +
*Írj sage függvényt, mely
 +
* bemenetként megkap két listát,
 +
* kiszámolja a két lista Jaccard-távolságát,
 +
* nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari'] és ['mercedes','williams'] listák hasonlósága 1/3.
 +
* A függvény neve legyen "jaccard_index".
 +
* Számítsd ki a függvénnyel a ['U2','Isis', 'Slash','sleepmakeswaves', 'Coldplay', 'Maybeshewill'] és ['Isis','Slash','Amplifier', 'Led Zeppelin', 'U2'] listák hasonlóságát!
 +
* Segítség: a gaykorlat "szószámláló" és "szótár összehasonlító" függvényeinél látott ötletek segíthetnek. Azonban a feladat nagyon sokféleképp megoldható, és ennek megfelelően sokféle jó megoldást el tudunk fogadni.
  
* Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: [http://en.wikipedia.org/wiki/Jaccard_index | Jaccard távolság]
+
*Általánosan az ún. "Tanimoto" hasonlóság adja meg (többek között) két halmaz hasonlóságát. A és B halmazok hasonlósága ebben az esetben a következő [ http://upload.wikimedia.org/math/6/b/2/6b260afdf37ef02644acc4870a233d25.png| T(A,B) ].
*Írj sage függvényt, mely:
+
  ** Bemenetként megkap két listát
+
  ** Kiszámolja a két lista Jaccard-távolságát
+
  ** Nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari'] és ['mercedes','williams'] listák hasonlósága 1/3
+
  ** "jaccard_index"-ként hívható meg, tehát ez legyen a függvény neve
+
*Számítsd ki a függvénnyel a ['','', '',''] és ['','',''] listák hasonlóságát!
+

A lap 2012. október 7., 15:40-kori változata

Bevezetés

Gyakori feladat, hogy két halmazról kell eldöntenünk, mennyire "hasonlóak". Például:

  • meg kell mondanunk, hogy két vásárló mennyire vett azonos termékeket
  • két ember mennyire olvas hasonló könyvket, hallgat azonos zenét, ...

Az alapfeladat, hogy eldöntsük Sage-ben két listáról, hogy "mennyire tartalmaznak azonos elemeket".(A listák egy-egy matematikai értelemben vett halmaznak felelnek meg.)

  • Multiplicitás nélküli halmazok összehasonlításának egyik módja a Jaccard index kiszámítása. Ez egyszerűen két halmaz metszetének és uniójának hányadosa: | Jaccard index
  • Írj sage függvényt, mely
  • bemenetként megkap két listát,
  • kiszámolja a két lista Jaccard-távolságát,
  • nem dolgozik multiplicitással, tehát például a ['ferrari','mercedes','ferrari'] és ['mercedes','williams'] listák hasonlósága 1/3.
  • A függvény neve legyen "jaccard_index".
  • Számítsd ki a függvénnyel a ['U2','Isis', 'Slash','sleepmakeswaves', 'Coldplay', 'Maybeshewill'] és ['Isis','Slash','Amplifier', 'Led Zeppelin', 'U2'] listák hasonlóságát!
  • Segítség: a gaykorlat "szószámláló" és "szótár összehasonlító" függvényeinél látott ötletek segíthetnek. Azonban a feladat nagyon sokféleképp megoldható, és ennek megfelelően sokféle jó megoldást el tudunk fogadni.
Személyes eszközök