Grover Algorithm

 

Grover ¾Ë°í¸®ÁòÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ ƯÁ¤Á¶°ÇÀ» ¸¸Á·ÇÏ´Â Ç׸ñÀ» ã´Â ¾çÀÚ ¾Ë°í¸®ÁòÀÌ´Ù. µ¥ÀÌÅͺ£À̽º°¡ ±¸Á¶È­µÇ¾îÀÖ´Â °æ¿ì °íÀüÀû ¾Ë°í¸®ÁòÀ¸·Î ºñ±³Àû ºü¸¥ ã±â°¡ °¡´ÉÇÏ´Ù. ±×·¯³ª ±¸Á¶È­µÇÁö ¾ÊÀº µ¥ÀÌŸº£À̽º¿¡¼­ ¿øÇÏ´Â Ç׸ñÀ» ã´Â °æ¿ì µ¥ÀÌŸº£À̽ºÀÇ Ç׸ñÀÇ ¼ö°¡ NÀ̶ó ÇÒ¶§ ÇÇ¿äÇÑ Ã£±âÀÇ ¼ö´Â Æò±ÕÀûÀ¸·Î N/2°¡ µÇ°í ´õÀÌ»ó ´ÜÃàÇÒ ¼ö°¡ ¾ø´Ù. Grover¾Ë°í¸®ÁòÀº root-NÀÇ Ã£±â·Î N°³ÀÇ Ç׸ñ¿¡¼­ ¿øÇÏ´Â Ç׸ñÀ» ãÀ»¼ö ÀÖ´Ù. ¼öÇÐÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º´Â {1,2,,,,N} ÀÇ Á¤ÀÇ¿ªÀ» °®´Â ÇÔ¼ö f(x)ÀÇ Ç¥·Î ±¸¼ºµÈ´Ù. º» ³íÀÇ¿¡¼­´Â ÀÏ´Ü ÇÔ¼öf(x)´Â ÀÏ´ëÀÏ ÇÔ¼ö¶ó ÇÑÁ¤ÇÑ´Ù. ¿ì¸®ÀÇ ¸ñÀûÀº ÁÖ¾îÁø °ª a¿¡ ´ëÇØ f(x)=a¸¦ ¸¸Á·ÇÏ´Â x¸¦ ã´Â °ÍÀÌ´Ù.

Oracle

oracleÀº ÁÖ¾îÁø input¿¡ ´ëÇØ 0 ¶Ç´Â 1ÀÇ outputÀ» ÁÖ´Â ÀÏÁ¾ÀÇ blackboxÀÌ´Ù. oracleÀº ÀÔ·ÂµÈ Ç׸ñ x°¡ f(x)=a ¸¦ ¸¸Á·Çϸé 1À» Ãâ·ÂÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é 0À» Ãâ·ÂÇÑ´Ù.Áï ´ÙÀ½°ú°°´Ù.

¿©±â¼­ w(ȤÀº|W>)´Â ã°íÀÚ ÇÏ´Â Ç׸ñÀ» ³ªÅ¸³½´Ù. Áïf(w)=aÀÌ´Ù. oracleÀÇ Ãâ·Â°á°ú¸¦ ÅëÇØ ÀÔ·ÂÇ׸ñÀÌ Ã£°íÀÚ ÇÏ´Â Ç׸ñÀÎÁöÀÇ ¿©ºÎ¸¦ °¡¸± ¼ö ÀÖ´Ù.

Grover Iteration

¿¬»êÀ» ½ÃÀÛÇϱ⠾ռ­ »óź¤Å͸¦ ÃʱâÈ­ÇØÁÖ´Â °ÍÀÌ ÇÊ¿äÇѵ¥ º¸ÅëÀº |00,,,00>À¸·Î ÃʱâÈ­µÇ°í º» ³íÀÇ¿¡¼­µµ À̸¦ µû¸¥´Ù. Grover ¾Ë°í¸®ÁòÀº Å©°Ô ¼¼°¡Áö ¿¬»êÀ¸·Î ¼öÇàµÈ´Ù.ù¹øÂ° ÇÊ¿äÇÑ ¿¬»êÀÌ Hadamard¿¬»êÀ¸·Î ÃʱâÈ­µÈ »óź¤Å͸¦ ´ÙÀ½°ú °°ÀÌ º¯È¯ÇÑ´Ù.

Grover ¾Ë°í¸®Áò¿¡¼­´Â oralceÀÇ Ãâ·ÂÀÌ ¾à°£ ¼öÁ¤µÇ¾î ´ÙÀ½°ú °°Àº ÀԷ¿¡ ´ëÇÑ Ãâ·ÂÀ» °®´Â´Ù.

°á±¹ quantum oracleÀÌ ¼öÇàÇÏ´Â ¿¬»êÀº ´ÙÀ½°ú °°´Ù.

ÀÌ ¿¬»êÀº ã°íÀÚ ÇÏ´Â Ç׸ñ¿¡ ÇØ´çÇÏ´Â ºñÆ®ÀÇ phase¸¦ ¹Ù²Ù¾îÁֹǷΠphase rotation transformationÀ̶ó ºÒ¸®¿ì¸ç µÎ¹øÂ° ¿¬»ê°úÁ¤ÀÌ´Ù. ÀÌ ¿¬»êÀÇ ÇÑ Æ¯Â¡Àº ÁÖ¾îÁø »óź¤ÅÍÀÇ |W>¹æÇâ ¼ººÐÀ» |W>¿¡ ¼öÁ÷ÇÑ Æò¸é¿¡ ´ëÇØ ¹ÝÀü½ÃŰ´Â ÀÛ¿ëÀ» ÇÑ´Ù´Â °ÍÀÌ´Ù.

¸¶Áö¸·À¸·Î ´ÙÀ½°ú °°Àº ¿¬»êÀ» »ý°¢ÇÏÀÚ.

ÀÓÀÇÀÇ »óź¤ÅÍ¿¡ |Q>´ëÇÑ ÀÌ ¿¬»êÀÇ ¼ºÁúÀ» »ìÆìº¸ÀÚ. |Q>¸¦ ´ÙÀ½°ú °°ÀÌ °íÀ¯º¤ÅÍÀÇ ÁßøÀ¸·Î ³ªÅ¸³¾¼ö ÀÖ´Ù.

¿©±â¿¡ ¿¬»êÀ» °¡ÇÏ¸é ´ÙÀ½°ú °°´Ù.

Áï ÀÌ ¿¬»êÀº »óź¤Å͸¦ °íÀ¯º¤ÅÍÀÇÁßøÀ¸·Î ³ªÅ¸³¾ ¶§ °¢ °íÀ¯º¤ÅÍÀÇ °è¼ö¸¦ °è¼öÀÇ Æò±Õ¿¡ ´ëÇØ ¹ÝÀü½ÃŰ´Â ÀÛ¿ëÀ» ÇÑ´Ù. ÀÌ·± Àǹ̿¡¼­ ÀÌ ¿¬»êÀ» Æò±Õ¿¡ ´ëÇÑ ¹ÝÀü ¿¬»ê (inversion about average operation)¶ó ºÎ¸¥´Ù. ÀÌ ¿¬»êÀÇ ÇÑ Æ¯Â¡Àº »óź¤ÅÍÀÇ |S>¿¡ ¼öÁ÷ÇÑ ¼ººÐÀ» |S>¸¦ ÃàÀ¸·Î ¹ÝÀü½ÃŲ´Ù´Â °ÍÀÌ´Ù.

Grover IterationÀº ´ÙÀ½°ú °°ÀÌ µÎ ¿¬»êÀÇ °öÀ¸·Î ÁÖ¾îÁø´Ù.

°¢ ½êŸ¸¦ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇÑ´Ù.

À̶§ Grover IterationÀº »óź¤Å͸¦ |S>¿Í |W>·Î ÀÌ·ç¾îÁø Æò¸é»ó¿¡¼­ |W>ÂÊ¿¡¼­ |S>ÂÊÀ¸·Î 2½êŸ¸¸Å­ ȸÀü½ÃŰ´Â ¿ªÇÒÀ» ÇÑ´Ù.

Finding 1 out of 4

4°³ÀÇ Ç׸ñÁß¿¡ ¿øÇÏ´Â ÇÑ Ç׸ñÀ» ã´Â ¹æ¹ýÀ» »ìÆìº¸ÀÚ. ÀÌ °æ¿ì À§¿¡¼­ Á¤ÀÇµÈ ½êŸ´Â 30"°¡ µÈ´Ù. °á±¹ |S>¿¡ ´ëÇØ Grover IterationÀ» Çϸé |S>°¡ |W>ÂÊÀ¸·Î 60"ȸÀüÇÏ°Ô µÇ¾î |W>°¡ µÈ´Ù. Áï ´ÙÀ½ÀÌ ¼º¸³ÇÑ´Ù.

À̻󿡼­ ´Ü ÇѹøÀÇ oracle¿¡ ´ëÇÑ ¹°À½À¸·Î ¿øÇÏ´Â Ç׸ñÀ» ã¾Æ³»°Ô µÈ´Ù.

Finding N out of 4N

4°³ÀÇ Ç׸ñÁß ÇϳªÀÇ Ç׸ñÀ» ã´Â °úÁ¤¿¡ ¾à°£ÀÇ ¼öÁ¤À» °ÅÄ¡¸é 4N°³ÀÇ Ç׸ñÁß NÇ׸ñÀ» ã´Â ¾Ë°í¸®ÁòÀÌ ¾ò¾îÁø´Ù.Á¶°ÇÀ» ¸¸Á·ÇÏ´Â Ç׸ñÀÇ ÁýÇÕÀ» F¶ó ÇÒ ¶§ oracleÀÇ Ãâ·ÂÀº ´ÙÀ½°ú °°´Ù.

ÀÌ oracle¿¡ ÀÇÇØ ÇàÇØÁö´Â ¿¬»êÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

¿©±â¼­ |Wi>´Â ã°íÀÚ ÇÏ´Â Ç׸ñÀ» ³ªÅ¸³½´Ù. ÀÌ·¸°Ô ¼öÁ¤µÈ phase rotation transformationÀ» ÀÌ¿ëÇÏ¿© Grover IterationÀ» ¼öÇàÇÏ¸é ´ÙÀ½ÀÇ °úÁ¤À» °ÅÃÄ ÃÖÁ¾ »óź¤ÅÍ´Â ¿øÇÏ´Â Ç׸ñµé¸¸ÀÇÁßøÀÌ µÈ´Ù.

¸Î´Â¸»

À§ÀÇ µÎ°¡Áö °æ¿ì À̿ܿ¡µµ N°³ÀÇ Ç׸ñ¿¡¼­ ÇϳªÀÇ Ç׸ñÀ» ã´Â ¹®Á¦,N°³ÀÇÇ׸ñ¿¡¼­ r(rÀÌ Nº¸´Ù ¸Å¿ì ÀÛÀº °æ¿ì)°³ÀÇ Ç׸ñÀ» ã´Â ¹®Á¦, µ¥ÀÌŸº£À̽º°¡ ¾à°£ÀÇ ±¸Á¶¸¦ °®´Â °æ¿ìÀÇ Ã£±â ¹®Á¦µîÀÌ ¿¬±¸µÇ¾ú´Ù. ¼­¿ï´ëÀÇ Áöµ¿Ç¥±³¼ö´Â 4N°³ÀÇ Ç׸ñÁß N°³ ÀÌ»óÀÇ Ç׸ñÀ» ã´Â °æ¿ì ÇѹøÀÇ ÀϹÝÈ­µÈ Grover IterationÀ¸·Î ¿øÇÏ´Â Ç׸ñÀ» Ç×»ó ãÀ»¼ö ÀÖÀ½À» º¸À̱⵵ Çß´Ù.4°³Áß¿¡ ÇϳªÀÇ Ç׸ñÀ» ã´Â ¹®Á¦´Â 2-bit nmrÄÄÇ»ÅÍ·Î ½ÇÇèÀûÀ¸·Îµµ ±¸ÇöµÇ¾ú´Ù.

[ Prev | Return | Next ]