ºñÆ®Çʵ忡¼­ Range Weight ±¸Çϱâ
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>RangeWeight



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

ÄÚµå

#include <stdio.h> 
 
float AndOrValue(int a, int b) 
{ 
  int n = 0; 
  int Orflag = 0; 
  int Andflag = 0; 
  for (n = 0; n < 16; n++) 
  { 
    if ( a >> 30 && b >> 30) 
    { 
      Andflag++; 
    } 
    if (((a >> 30) || (b >> 30))) 
    { 
      Orflag++; 
    } 
 
    a = a << 2; 
    b = b << 2; 
  } 
  return (float)Andflag/(float)Orflag; 
} 
int main(int argc, char **argv) 
{ 
  printf("%f\n", AndOrValue(1000, 5000)); 
} 
 

¼Ò°³

ºñÆ®Çʵ忡¼­ ÃÖ»óÀ§ ºí·° ¾ò¾î¿À±âÀÇ ¿¬Àå¿¡ ÀÖ´Â ÄÚµå´Ù. ÇϳªÀÇ ¹®¼­¿¡¼­ 2°³ÀÌ»óÀÇ TermÀÌ ¹ß°ßµÇ¾úÀ» °æ¿ì¸¦ »ý°¢ÇØ º¸ÀÚ. ÀÌ °æ¿ì µÎ°³ÀÇ ÅÒÀÌ ¹®¼­ÀÇ ºñ½ÁÇÑ À§Ä¡¿¡¼­ ¿¬¼ÓÀûÀ¸·Î ¹ß»ýÇßÀ» ¶§, Score¸¦ ³ô¿©ÁÖ´Â °ø½ÄÀ» ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù. ¹®Á¦¸¦ Ǫ´Â ¹æ½ÄÀº ´Ù¾çÇҰǵ¥, ´ÙÀ½°ú °°Àº °£´ÜÇÑ ¹æ½ÄÀ» »ý°¢ÇØ º¸¾Ò´Ù.

  • µÎ°³ÀÇ Term ºñÆ®Çʵ带 OR ¿¬»êÇØ¼­ ÂüÀÎ Çʵ带 ±¸ÇÑ´Ù.
  • µÎ°³ÀÇ Term ºñÆ®Çʵ带 AND¿¬»êÇØ¼­ ÂüÀÎ Çʵ带 ±¸ÇÑ´Ù.
  • AND/OR¸¦ ±¸ÇÑ´Ù.

Áï Term A¿Í Term BÀÇ ºñÆ®Çʵ尡 ´ÙÀ½°ú °°À» ¶§.
00 00 00 00 00 00 00 00 00 00 00 11 11 10 10 00  Term A 
00 00 00 00 00 00 00 00 00 01 00 11 10 00 10 00  Term B 
 
  • Or Field # = 5, And Field # = 3
  • ±×·¯¹Ç·Î Bit Weight ´Â 3/5 °¡ µÈ´Ù.

¹®¼­ D¿¡¼­ N°³ ¸¸Å­ÀÇ TermÀÌ ¹ß»ýÇß´Ù¸é ±âº» °ø½ÄÀº
{ 
   Term 1 = AndField# / ORField # 
 + Term 2 = AndField# / ORField # 
 + Term 3 = AndField# / ORField # 
 + .... 
 + Term N = AndField# / ORField # 
} * Norm 
 

ÀÌ °ø½ÄÀº ¼öÁ¤ÇØ¾ß ÇÒ Á¡ÀÌ ÀÖ´Ù. ÇÔ¼ö¸¦ È£ÃâÇϸé È£ÃâÇÒ ¼ö·Ï OR FieldÀÇ °¹¼ö°¡ ´Ã¾î³ª¼­ µÚ·Î °¥¼ö·Ï Á¡¼ö°¡ ³ô¾ÆÁú ¼ö ÀÖ´Ù´Â Á¡Àε¥, Àû´çÇÑ °ªÀ» °öÇØÁ༭ °ªÀ» º¸Á¤ÇØ Áà¾ß ÇÒ °ÍÀÌ´Ù. (* 1/N) Á¤µµ°¡ °¡Àå ÆíÇÒ °Å °°´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.