ในทฤษฎีจำนวน การแยกตัวประกอบจำนวนเต็ม (อังกฤษ: integer factorization) หรือ การแยกตัวประกอบเฉพาะ (อังกฤษ: prime factorization) คือการแบ่งย่อยจำนวนประกอบออกเป็นตัวหารไม่ชัด (ตัวหารที่ไม่ใช่ 1 กับ ตัวมันเอง) หลายๆ ตัว ซึ่งเมื่อคูณตัวหารไม่ชัดเหล่านั้นเข้าด้วยกันจะได้ผลลัพธ์ดังเดิม
เมื่อจำนวนมีขนาดใหญ่มาก ไม่มีขั้นตอนวิธีการแยกตัวประกอบของจำนวนเต็มใดๆ ที่มีประสิทธิภาพเพียงพอ ในปี 2009 ความพยายามในการแยกตัวประกอบของเลข 232 หลัก ได้สำเร็จลง จากการใช้เครื่องจักรมากกว่า 100 เครื่องภายในระยะเวลา 2 ปี ความยากของปัญหาแหละนี้คือหัวใจของขั้นตอนวิธีบางอย่างในวิทยาการเข้ารหัสลับ เช่น RSA
จำนวนที่มีความยาวเท่ากัน ใช่ว่าจะแยกตัวประกอบด้วยความยากเท่ากัน กรณีที่ยากที่สุดของปัญหาเหล่านี้ (สำหรับกลวิธีที่รู้กันในปัจจุบัน) คือจำนวนครึ่งเฉพาะ (semiprime) ซึ่งก็คือจำนวนที่เป็นผลคูณของจำนวนเฉพาะ 2 ตัว
จากทฤษฎีบทมูลฐานของเลขคณิต จำนวนเต็มบวกทุกตัวจะมีการแยกตัวประกอบเฉพาะที่แตกต่างกัน
ความยากและความซับซ้อน
ถ้าจำนวน b บิตเป็นผลคูณของจำนวนเฉพาะ 2 ตัวที่มีขนาดใกล้เคียงกันแล้ว จะไม่มีขั้นตอนวิธีใดๆ ที่สามารถแยกตัวประกอบมันได้ภายในเวลาแบบพหุนาม (polynomial time) กล่าวคือ ไม่สามารถแยกตัวประกอบได้ภายใน O (bk) เมื่อ k คือค่าคงที่ค่าหนึ่ง ปัจจุบันมีขั้นตอนวิธีหลายขั้นตอนที่เร็วกว่า O ((1+ε) b) เมื่อ ε คือจำนวนบวก กล่าวคือ มีประสิทธิภาพเชิงเวลาแบบใต้เลขชี้กำลัง (sub-exponential)
ขั้นตอนวิธีที่มีเวลาการทำงานเชิงเส้นกำกับที่ดีที่สุดคือ การกรองตัวเลขในขอบเขตแบบธรรมดา (general number field sieve (GNFS)) สำหรับจำนวน b บิตจะมีความซับซ้อนเป็น
สำหรับคอมพิวเตอร์ทั่วไป การกรองตัวเลขในขอบเขตแบบธรรมดา (GNFS) คือขั้นตอนวิธีที่ดีที่สุดสำหรับจำนวนขนาดใหญ่มากๆ (เลข 100 หลักขึ้นไป) แต่สำหรับควอนตัมคอมพิวเตอร์ ปีเตอร์ ชอร์ ได้ค้นพบขั้นตอนวิธีที่สามารถแก้ปัญหาได้ในเวลาแบบพหุนามในปี พ.ศ. 2537 ขั้นตอนวิธีของชอร์ใช้เวลาการทำงานเพียงแค่ O (b3) และใช้ปริภูมิ O (b) สำหรับจำนวน b บิต
เวลาการทำงานที่คาดหวัง
ขั้นตอนวิธีการแยกตัวประกอบเป็นขั้นตอนวิธีเชิงความน่าจะเป็น หรือ ขั้นตอนวิธีแบบสุ่ม เวลาการทำงานที่คาดหวังของมันจึงไม่เกิน
ขั้นตอนวิธีการแยกตัวประกอบต่างๆ
วัตถุประสงค์เฉพาะ
เวลาการทำงานขึ้นอยู่กับคุณสมบัติของจำนวนที่จะแยกตัวประกอบ ตัวอย่างเช่น ขั้นตอนวิธีทดลองการหาร ถูกจัดเข้าหมวดวัตถุประสงค์เฉพาะ เพราะว่าเวลาการทำงานเป็นสัดส่วนตามขนาดของตัวประกอบที่เล็กที่สุด
วัตถุประสงค์ทั่วไป
เวลาการทำงานขึ้นอยู่กับขนาดของจำนวนเต็มที่จะทำการแยกตัวประกอบเพียงลำพัง
ขั้นตอนวิธีที่มีชื่อเสียงอื่นๆ
อ้างอิง
- โดนัลด์ คนูธ. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1997. . Section 4.5.4: Factoring into Primes, pp. 379–417.
- Richard Crandall and (2001). Prime Numbers: A Computational Perspective (1st ed.). Springer. ISBN . Chapter 5: Exponential Factoring Algorithms, pp. 191–226. Chapter 6: Subexponential Factoring Algorithms, pp. 227–284. Section 7.4: Elliptic curve method, pp. 301–313.
แหล่งข้อมูลอื่น
- A collection of links to factoring programs
- Richard P. Brent, "Recent Progress and Prospects for Integer Factorisation Algorithms", Computing and Combinatorics", 2000, pp. 3-22. download
- , Neeraj Kayal, Nitin Saxena, "PRIMES is in P." Annals of Mathematics 160 (2) : 781-793 (2004). August 2005 version PDF
- [1][] is a public-domain integer factorization program for Windows. It claims to handle 80-digit numbers. See also the web site for this program MIRACL 2011-09-30 ที่ เวย์แบ็กแมชชีน
- The RSA Challenge Numbers 2006-12-09 ที่ เวย์แบ็กแมชชีน - a factoring challenge, no longer active.
- Eric W. Weisstein, “RSA-640 Factored” MathWorld Headline News, November 8, 2005
- Qsieve, a suite of programs for integer factorization. It contains several factorization methods like Elliptic Curve Method and MPQS.
- Source code by Paolo Ardoino 2012-03-14 ที่ เวย์แบ็กแมชชีน, Three known algorithms and C source code.
- Factorization Source Code: by Paul Herman & Ami Fischman, C++ source code for many factorization algorithms including Pollard Rho & Shor's.
- a database containing factorizations, complete and incomplete, of over 80 million numbers.
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
inthvsdicanwn karaeyktwprakxbcanwnetm xngkvs integer factorization hrux karaeyktwprakxbechphaa xngkvs prime factorization khuxkaraebngyxycanwnprakxbxxkepntwharimchd twharthiimich 1 kb twmnexng hlay tw sungemuxkhuntwharimchdehlannekhadwykncaidphllphthdngedim emuxcanwnmikhnadihymak immikhntxnwithikaraeyktwprakxbkhxngcanwnetmid thimiprasiththiphaphephiyngphx inpi 2009 khwamphyayaminkaraeyktwprakxbkhxngelkh 232 hlk idsaerclng cakkarichekhruxngckrmakkwa 100 ekhruxngphayinrayaewla 2 pi khwamyakkhxngpyhaaehlanikhuxhwickhxngkhntxnwithibangxyanginwithyakarekharhslb echn RSA canwnthimikhwamyawethakn ichwacaaeyktwprakxbdwykhwamyakethakn krnithiyakthisudkhxngpyhaehlani sahrbklwithithirukninpccubn khuxcanwnkhrungechphaa semiprime sungkkhuxcanwnthiepnphlkhunkhxngcanwnechphaa 2 tw cakthvsdibthmulthankhxngelkhkhnit canwnetmbwkthuktwcamikaraeyktwprakxbechphaathiaetktangknkhwamyakaelakhwamsbsxnthacanwn b bitepnphlkhunkhxngcanwnechphaa 2 twthimikhnadiklekhiyngknaelw caimmikhntxnwithiid thisamarthaeyktwprakxbmnidphayinewlaaebbphhunam polynomial time klawkhux imsamarthaeyktwprakxbidphayin O bk emux k khuxkhakhngthikhahnung pccubnmikhntxnwithihlaykhntxnthierwkwa O 1 e b emux e khuxcanwnbwk klawkhux miprasiththiphaphechingewlaaebbitelkhchikalng sub exponential khntxnwithithimiewlakarthanganechingesnkakbthidithisudkhux karkrxngtwelkhinkhxbekhtaebbthrrmda general number field sieve GNFS sahrbcanwn b bitcamikhwamsbsxnepn O exp 649b 13 log b 23 displaystyle O left exp left left begin matrix frac 64 9 end matrix b right 1 over 3 log b 2 over 3 right right dd sahrbkhxmphiwetxrthwip karkrxngtwelkhinkhxbekhtaebbthrrmda GNFS khuxkhntxnwithithidithisudsahrbcanwnkhnadihymak elkh 100 hlkkhunip aetsahrbkhwxntmkhxmphiwetxr pietxr chxr idkhnphbkhntxnwithithisamarthaekpyhaidinewlaaebbphhunaminpi ph s 2537 khntxnwithikhxngchxrichewlakarthanganephiyngaekh O b3 aelaichpriphumi O b sahrbcanwn b bitewlakarthanganthikhadhwngkhntxnwithikaraeyktwprakxbepnkhntxnwithiechingkhwamnacaepn hrux khntxnwithiaebbsum ewlakarthanganthikhadhwngkhxngmncungimekin Ln 1 2 1 o 1 displaystyle L n left 1 2 1 o 1 right khntxnwithikaraeyktwprakxbtangwtthuprasngkhechphaa ewlakarthangankhunxyukbkhunsmbtikhxngcanwnthicaaeyktwprakxb twxyangechn khntxnwithithdlxngkarhar thukcdekhahmwdwtthuprasngkhechphaa ephraawaewlakarthanganepnsdswntamkhnadkhxngtwprakxbthielkthisud karharechingthdlxng khntxnwithiorhkhxngphxllard khntxnwithiphilbhnungkhxngphxllardwtthuprasngkhthwip ewlakarthangankhunxyukbkhnadkhxngcanwnetmthicathakaraeyktwprakxbephiynglaphng taaekrngkalngsxng karkrxngtwelkhinkhxbekhtaebbthrrmdakhntxnwithithimichuxesiyngxun khntxnwithikhxngchxrxangxingodnld khnuth The Art of Computer Programming Volume 2 Seminumerical Algorithms Third Edition Addison Wesley 1997 ISBN 0 201 89684 2 Section 4 5 4 Factoring into Primes pp 379 417 Richard Crandall and 2001 Prime Numbers A Computational Perspective 1st ed Springer ISBN 0 387 94777 9 Chapter 5 Exponential Factoring Algorithms pp 191 226 Chapter 6 Subexponential Factoring Algorithms pp 227 284 Section 7 4 Elliptic curve method pp 301 313 aehlngkhxmulxunA collection of links to factoring programs Richard P Brent Recent Progress and Prospects for Integer Factorisation Algorithms Computing and Combinatorics 2000 pp 3 22 download Neeraj Kayal Nitin Saxena PRIMES is in P Annals of Mathematics 160 2 781 793 2004 August 2005 version PDF 1 lingkesiy is a public domain integer factorization program for Windows It claims to handle 80 digit numbers See also the web site for this program MIRACL 2011 09 30 thi ewyaebkaemchchin The RSA Challenge Numbers 2006 12 09 thi ewyaebkaemchchin a factoring challenge no longer active Eric W Weisstein RSA 640 Factored MathWorld Headline News November 8 2005 Qsieve a suite of programs for integer factorization It contains several factorization methods like Elliptic Curve Method and MPQS Source code by Paolo Ardoino 2012 03 14 thi ewyaebkaemchchin Three known algorithms and C source code Factorization Source Code by Paul Herman amp Ami Fischman C source code for many factorization algorithms including Pollard Rho amp Shor s a database containing factorizations complete and incomplete of over 80 million numbers