งานวิจัยล่าสุดได้มุ่งเน้นไปที่ประสิทธิภาพของชุดคำสั่งหรืออัลกอริทึมที่แข่งขันกัน โดยทั่วไปประสิทธิภาพนี้จะวัดในแง่ของความต้องการทรัพยากรคอมพิวเตอร์ เช่น เวลาหรือหน่วยความจำ ที่เพิ่มขึ้นเมื่อขนาดของตัวเลขที่จะทดสอบเพิ่มขึ้นตัวอย่างเช่น ประสิทธิภาพของตะแกรงเคารพของ Eratosthenes นั้นสัมพันธ์กับจำนวนของการแบ่งการทดลองที่จำเป็นในการทดสอบจำนวนเต็มที่กำหนดสำหรับความเป็นอันดับหนึ่ง ปัญหาคือจำนวนของแผนกทดลองเพิ่มขึ้นแบบทวีคูณด้วยจำนวนหลักในจำนวนเต็มเป้าหมาย ดังนั้น แม้ว่าจะเป็นวิธีที่ปฏิบัติได้จริงในการทดสอบจำนวนเต็มที่น้อยกว่า 1 หมื่นล้านซึ่งมีเก้าหลัก แต่ก็ล้มเหลวอย่างน่าสังเวชสำหรับจำนวนเต็มตั้งแต่ 25 หลักขึ้นไป
ขั้นตอนการตรวจหาจำนวนเฉพาะที่ใช้คอมพิวเตอร์
อย่างหนักหน่วงในปัจจุบันอาศัยทางลัดทางคณิตศาสตร์ที่ค้นพบในศตวรรษที่ 17 โดยปิแอร์ เดอ แฟร์มาต์ นักกฎหมายและนักคณิตศาสตร์ สิ่งที่เรียกว่าทฤษฎีบทเล็ก ๆ ของเขาแสดงความสัมพันธ์ที่น่าทึ่งเกี่ยวกับจำนวนเฉพาะ: ถ้าจำนวนเต็มpเป็นจำนวนเฉพาะ ดังนั้นสำหรับจำนวนเต็มทั้งหมดaการหารทั้งp และaโดยp จะได้ผลลัพธ์ที่มีเศษเท่ากัน ตัวอย่างเช่น ถ้าp = 7 (a เฉพาะ) และa = 9 การหาร 9 7ด้วย 7 จะได้เศษเป็น 2 เช่นเดียวกับการหาร 9 ด้วย 7
จำนวนเต็มp ใดๆ ที่ไม่ผ่านการทดสอบนี้ไม่ใช่จำนวนเฉพาะ เป็นจำนวนประกอบที่มีตัวประกอบที่ไม่ใช่ 1 และตัวมันเอง อย่างไรก็ตาม จำนวนประกอบบางตัวก็ผ่านการทดสอบ ดังนั้นจำเป็นต้องมีขั้นตอนเพิ่มเติมในการกำจัดพวกมันเพื่อให้แน่ใจว่าเป้าหมายเป็นจำนวนเฉพาะ (SN: 3/6/82, p. 158)
ในทางปฏิบัติ ไม่จำเป็นต้องตรวจสอบเฉพาะสำหรับไพรม์ปลอมเหล่านี้
แนวคิดเบื้องหลังอัลกอริทึมที่ใช้ Fermat ที่มีประสิทธิภาพมากที่สุดในปัจจุบันคือการทดสอบจำนวนเต็มที่ต้องการโดยใช้ค่าที่สุ่มเลือกสำหรับa หากจำนวนเต็มผ่านการทดสอบแฟร์มาต์ มีความเป็นไปได้เพียงเล็กน้อยเท่านั้นที่ไม่เป็นจำนวนเฉพาะ หากจำนวนเต็มเป้าหมายถูกทดสอบอีกครั้งด้วยค่าa ที่เลือกแบบสุ่มอีกค่าหนึ่ง และยังคงผ่าน ความน่าจะเป็นที่ไม่เป็นจำนวนเฉพาะก็ยิ่งน้อยลงไปอีก ยิ่งเวลาผ่านไปมากเท่าไหร่ก็ยิ่งมีโอกาสเป็นนายกที่แท้จริงมากขึ้นเท่านั้น การทดสอบซ้ำหลายครั้งทำให้โอกาสเกิดข้อผิดพลาดลดลงจนเกือบเป็นศูนย์ได้ นั่นดีเพียงพอสำหรับประเภทเฉพาะที่จำเป็นสำหรับระบบเข้ารหัสแบบไพรม์
อย่างไรก็ตาม สิ่งที่นักวิจัยยังไม่เข้าใจจนถึงตอนนี้คือวิธีการตรวจจับเฉพาะที่ไม่เพียงแต่ให้คำตอบที่ถูกต้องเท่านั้น แต่ยังเป็นไปตามเกณฑ์สำคัญอีกประการหนึ่ง นั่นคือ ประสิทธิภาพของการคำนวณ แทนที่จะใช้อัลกอริทึมที่ต้องใช้ระยะเวลาของคอมพิวเตอร์ที่เพิ่มขึ้นอย่างทวีคูณตามขนาดของตัวเลขเป้าหมาย นักวิทยาศาสตร์คอมพิวเตอร์ต้องการอันที่เติบโตช้ากว่า กล่าวคือ ในอัตราที่เป็นสัดส่วนกับขนาดตัวเลขเท่านั้น หรือเป็นไปได้มากกว่า พลังที่ตรงไปตรงมาของ ขนาดเบอร์.
ตัวอย่างเช่น สมมติว่าจำนวนหลักในจำนวนเต็มเป้าหมายคือN และจำนวนหลักจะเพิ่มเป็นสองเท่าเป็น 2 N ด้วยการเติบโตแบบทวีคูณ เวลาที่ใช้ในการทดสอบจำนวนจะเพิ่มขึ้นจากb Nเป็นb 2 Nโดยที่bเป็นค่าคงที่ที่เกี่ยวข้องกับอัลกอริธึมการทดสอบเฉพาะ หากอัตราเพิ่มขึ้นตามกำลังของขนาดตัวเลข เวลาจะเพิ่มขึ้นในอัตราที่สงบมากขึ้นจากN cถึง (2 N ) cโดยที่เลขชี้กำลังcเป็นค่าคงที่ ในกรณีหลังนี้ นักวิจัยอธิบายว่าอัลกอริทึมใช้เวลาไม่เกินพหุนาม พหุนามคือนิพจน์พีชคณิตที่มีกำลังของตัวแปรตั้งแต่หนึ่งตัวขึ้นไป
ในการค้นหาอัลกอริธึมการตรวจจับจำนวนเฉพาะที่สามารถทำงานได้ในเวลาพหุนาม นักวิจัยได้สำรวจวิธีการต่างๆ หลายวิธี ซึ่งบางวิธีใช้วิธีทางคณิตศาสตร์ที่ซับซ้อนมาก แต่ประสบความสำเร็จอย่างจำกัด ในปี 1999 Agrawal ตัดสินใจลองใช้แนวทางง่ายๆ ที่เขาสังเกตเห็นว่าคนอื่นมองข้ามไป เขาขอความช่วยเหลือจาก Kayal และ Saxena ซึ่งเป็นนักศึกษาระดับปริญญาตรีในขณะนั้น
การจำลองด้วยคอมพิวเตอร์ในยุคแรกๆ เป็นสิ่งที่น่าสนับสนุน แต่ในช่วงฤดูร้อนที่ผ่านมานี้เองที่ทีมสามารถหาวิธีการที่สมบูรณ์และข้อพิสูจน์ทางคณิตศาสตร์ที่สร้างประสิทธิภาพทางทฤษฎีของมันได้ในที่สุด
ผลก็คือ ทีมงาน IIT ได้พบทฤษฎีบทเล็กของแฟร์มาต์ฉบับใหม่ซึ่งเป็นแบบทั่วไป ซึ่งจำนวนเต็มa pและaถูกแทนที่ด้วยนิพจน์พหุนาม: ( x – a ) pและ ( x p – a ) โดยใช้รากฐานนี้ พวกเขากำหนดอัลกอริทึมที่สามารถพิสูจน์ได้ว่ามีเวลาทำงานพหุนามเป็นสัดส่วนกับN 12
Chris K. Caldwell จาก University of Tennessee at Martin กล่าว “ในทางตรงกันข้าม [อัลกอริธึม Agrawal-Kayal-Saxena] มีความเรียบง่ายจนน่าตกใจ เป็นอัลกอริทึมที่โปรแกรมเมอร์ส่วนใหญ่ทำตามได้” เขากล่าว
Credit : เว็บสล็อต