Celebrity

ดาวเด่นในงาน คือ ผู้ที่ทุกคนในงานรู้จักเธอ (หรือเขา) แต่เธอ (หรือเขา) ไม่รู้จักใครสักคนเลย เราหาดาวเด่นในงานได้หลายวิธี เช่น เรานำวิธีทั้งสามมาทดลองกับข้อมูลแบบที่มีดาวเด่น กับแบบที่ไม่มีดาวเด่น สิ่งที่น่าสนใจคือ แบบแบ่งครึ่งมีภาระมากกว่าก็จริง แต่มีแนวโน้มเป็นเชิงเส้น ทำไมจึงเป็นเข่นนั้น ?

และอยากให้ลองเปรียบเทียบเฉพาะจำนวนการถามว่า i รู้จัก j หรือไม่ ซึ่งคือคำสั่ง if (a[ ][ ] ) หรือ if (!a[ ][ ] ) ในโปรแกรมข้างล่างนี้ เลือกพิจารณาของแต่ละเมท็อด เนื่องจากในหนึ่งวิธีที่เขียนอาจมีการถามเช่นนี้มากกว่าหนึ่งแห่ง อย่าลืม tick sumLines ข้างล่างกราฟเส้น เพื่อรวมจำนวนการถามให้ถูกต้อง

(อย่าลืมอ่านข้อแนะนำในการตีความผลการทดลอง)

มีดาวเด่น

การทดลองนี้หาดาวเด่นที่ปรากฏในทุก ๆ ตำแหน่ง ดังนั้นหามี n คน ก็หา n ครั้ง ผลที่ได้เป็นภาระสะสมของการหาทั้ง n ครั้ง จึงนำภาระที่ได้มาหารด้วย n (ดูที่ f(n,c) = c/n) ได้เป็นเส้นตรง ตีความได้ว่า ใช้เวลาแปรเป็นเชิงเส้นกับจำนวนคน

ไม่มีดาวเด่น

การทดลองนี้หาดาวเด่นที่ไม่มีอยู่ในงาน แต่จะทำ n กรณีโดยที่แต่ละกรณีแทนแต่ละคนเกือบเป็นดาวเด่น ดังนั้นหามี n คน ก็หา n ครั้ง ผลที่ได้เป็นภาระสะสมของการหาทั้ง n ครั้ง จึงนำภาระที่ได้มาหารด้วย n (ดูที่ f(n,c) = c/n) ได้เป็นเส้นตรง ตีความได้ว่า ใช้เวลาแปรเป็นเชิงเส้นกับจำนวนคน


สมชาย ประสิทธิ์จูตระกูล