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 ] |