เห็นได้ชัดว่าจากมุมมองของอัลกอริทึมทางคณิตศาสตร์ล้วนๆสิ่งนี้เป็นไปไม่ได้ แต่ในความเป็นจริงมีหลายตัวอย่างในโลกแห่งความเป็นจริงเมื่อการขยายขนาดโครงการของคุณทำให้ง่ายขึ้นมากซึ่งไม่ง่ายสำหรับผู้ใช้ปลายทาง
เส้นทาง : ยิ่งเส้นทางของคุณยาวขึ้นบางครั้งพวกเขาก็สามารถทำได้ง่ายขึ้น ตัวอย่างเช่นหากฉันต้องการให้ Google Maps บอกทิศทางให้ฉันไปทางตะวันตก 3,000 ไมล์ฉันสามารถขับรถไปที่ชายฝั่งตะวันตกได้และจะได้รับคำแนะนำในการขับรถข้ามประเทศ แต่ถ้าฉันต้องการไปทางตะวันตก 6,000 ไมล์ฉันจะจบลงด้วยคำแนะนำที่ง่ายกว่ามาก: ขึ้นเครื่องบินจากนิวยอร์คถึงฮอกไกโด การให้เส้นทางข้ามประเทศที่รวมการจราจรถนนสภาพอากาศและอื่น ๆ นั้นค่อนข้างเป็นอัลกอริธึม แต่การบอกให้ฉันขึ้นเครื่องบินและค้นหาเที่ยวบินในฐานข้อมูลนั้นค่อนข้างง่ายกว่า กราฟ ASCII ของความยากลำบากเทียบกับระยะทาง:
| /
| /
Difficulty | / ____-------
| / ____----
| / ____----
---------------------------------
Distance
การแสดงผล : บอกว่าฉันต้องการเรนเดอร์หนึ่งหน้าและเรนเดอร์ 1,000 หน้า; นี่เป็นโฆษณาบิลบอร์ดดังนั้นภาพสุดท้ายทั้งภาพต้องมีขนาด 10,000px คูณ 5,000 พิกเซล การแสดงผลหนึ่งใบหน้าในความเป็นจริงอาจทำได้ยาก - ด้วยความละเอียดหลายพันพิกเซลทั่วทั้งภาพคุณต้องใช้เครื่องจักรที่ทรงพลังจริงๆ - แต่สำหรับผู้คนกว่า 1,000 ใบหน้าแต่ละใบหน้านั้นต้องการเพียงสิบพิกเซลเท่านั้นและสามารถโคลนได้อย่างง่ายดาย! ฉันอาจแสดงผลได้ 1,000 ใบหน้าบนแล็ปท็อปของฉัน แต่การแสดงผลใบหน้าที่เหมือนจริงขนาด 10,000px จะใช้เวลานานและเครื่องที่ทรงพลัง กราฟ ASCII ของความยากลำบากเทียบกับวัตถุที่แสดงผลแสดงว่าความยากลำบากในการเรนเดอร์วัตถุ n ไปยังรูปภาพขนาดที่กำหนดลดลงอย่างรวดเร็ว แต่จากนั้นกลับช้า:
| -
|- - _________
Difficulty | -- ______-------
| ------
|
---------------------------------
Objects
การควบคุมฮาร์ดแวร์ : หลาย ๆ อย่างที่ฮาร์ดแวร์ทำได้ง่ายกว่ามาก "Move motor X 1 degree" นั้นยากและ / หรือเป็นไปไม่ได้และคุณต้องจัดการกับทุกสิ่งที่คุณไม่ต้องจัดการกับ "move motor X 322 degrees"
งานช่วงเวลาสั้น ๆ :สมมติว่าคุณต้องการให้รายการ X เปิด (เวลาน้อยมาก) ทุกวินาที ด้วยการเพิ่มระยะเวลาที่ X รันคุณจะต้องใช้ซอฟต์แวร์ที่ซับซ้อนน้อยลงรวมทั้งฮาร์ดแวร์