สิ่งที่ไม่


15

สิ่งที่ไม่logO(1)⁡nหมายถึง?

ฉันตระหนักถึงสัญกรณ์ใหญ่ ๆ แต่สัญกรณ์นี้ไม่สมเหตุสมผลสำหรับฉัน ฉันไม่สามารถหาข้อมูลเกี่ยวกับมันได้เนื่องจากไม่มีเครื่องมือค้นหาตีความอย่างถูกต้อง

สำหรับบิตของบริบทประโยคที่ผมพบว่ามันอ่าน "[ ... ] เราเรียกฟังก์ชั่น [ประสิทธิภาพ] ถ้าจะใช้พื้นที่และที่มากที่สุดเวลาเข้าสู่ระบบO ( 1 ) nต่อรายการ."O(log⁡n)logO(1)⁡n


1
ฉันยอมรับว่าไม่ควรเขียนสิ่งนี้เว้นแต่จะมีความชัดเจนเกี่ยวกับสิ่งที่มันหมายถึง (และบอกผู้อ่านว่ามันคืออะไร) และใช้กฎเดียวกันนี้อย่างสม่ำเสมอ
— Raphael

1
ใช่คุณควรเขียนเป็น (log⁡(n))O(1).

1
@RickyDemer นั่นไม่ใช่ประเด็นที่ราฟาเอลกำลังทำอยู่ หมายถึงว่า( บันทึกn ) ขลิตรชั่วโมง logblah⁡n(log⁡n)blah
— David Richerby

4
@Raphael นี่เป็นเครื่องหมายมาตรฐานในฟิลด์ ทุกคนในรู้จะรู้ว่ามันหมายถึงอะไร
— Yuval Filmus

1
@YuvalFilmus ฉันคิดว่าความหลากหลายของคำตอบที่ไม่เห็นด้วยเป็นข้อสรุปที่ชัดเจนว่าการอ้างสิทธิ์ของคุณเป็นเท็จและควรหลีกเลี่ยงการใช้สัญกรณ์ดังกล่าว
— Raphael

คำตอบ:


16

คุณต้องเพิกเฉยสักครู่ความรู้สึกที่แข็งแกร่งที่ " " อยู่ผิดที่และไถลไปด้วยคำจำกัดความโดยไม่คำนึงถึง ฉ( n ) = บันทึกO ( 1 ) nหมายถึงว่ามีอยู่คงที่kและn 0ดังกล่าวว่าสำหรับทุกn ≥ n 0 , F ( n ) ≤ บันทึกk ⋅ 1 n = log k nOf(n)=logO(1)⁡nkn0n≥n0f(n)≤logk⋅1⁡n=logk⁡n

โปรดทราบว่าหมายถึง( บันทึกn ) k ฟังก์ชั่นของฟอร์มบันทึกO ( 1 ) nมักจะถูกเรียกว่าpolylogarithmicและคุณอาจได้ยินคนพูดว่า " fคือ polylog  n "logk⁡n(log⁡n)klogO(1)⁡nfn

คุณจะสังเกตเห็นว่ามันเป็นเรื่องง่ายที่จะพิสูจน์ให้เห็นว่าตั้งแต่2 n ≤ k nสำหรับทุกn ≥ 0ที่k = 2 คุณอาจจะสงสัยว่าถ้า2 บันทึกn = เข้าสู่ระบบO ( 1 ) n คำตอบคือใช่ตั้งแต่ขนาดใหญ่พอnให้ล็อกn ≥ 2ดังนั้น2 log n ≤ log 2 nสำหรับใหญ่พอ 2n=O(n)2n≤knn≥0k=22log⁡n=logO(1)⁡nnlog⁡n≥22log⁡n≤log2⁡n .n

ในบันทึกที่เกี่ยวข้องคุณมักจะเห็นพหุนามที่เขียนเป็น : แนวคิดเดียวกันnO(1)


สิ่งนี้ไม่ได้รับการสนับสนุนจากการประชุมตัวแทนทั่วไป
— Raphael

ฉันถอนความคิดเห็นของฉัน: คุณเขียนในสถานที่สำคัญทั้งหมดซึ่งเพียงพอ ≤
— ราฟาเอล

@ ราฟาเอลตกลง ฉันยังไม่มีเวลาตรวจสอบ แต่ความรู้สึกของฉันคือคุณอาจจะสั่งซื้อปริมาณที่แตกต่างจากที่ฉันเป็น ฉันไม่แน่ใจว่าเรากำลังกำหนดฟังก์ชั่นคลาสเดียวกัน
— David Richerby

ฉันคิดว่าคุณกำลังกำหนดของฉัน (2) และทอมกำหนด } ⋃c∈R>0{logc⁡n}
— Raphael

9

นี่คือการละเมิดของโน้ตที่สามารถทำให้ความรู้สึกโดยได้รับการยอมรับโดยทั่วไปการประชุมยึด : เมื่อใดก็ตามที่คุณพบว่ามีรถม้าระยะแทนที่ (ในใจของคุณหรือบนกระดาษ) โดยพลการฟังก์ชั่นกรัม∈ O ( ฉ )O(f)g∈O(f)

ดังนั้นหากพบ

f(n)=logO(1)⁡n

คุณต้องอ่าน

สำหรับบางกรัม∈ O ( 1 )f(n)=logg(n)⁡ng∈O(1).(1)

สังเกตความแตกต่างจากการพูดว่า " to power of constant คงที่": g = n ↦ 1 / nเป็นไปได้ที่แตกต่างกันlogg=n↦1/n

คำเตือน:ผู้แต่งอาจใช้สัญลักษณ์ที่ดูผิดๆและต้องการให้คุณอ่าน

สำหรับบางกรัม∈ O ( 1 )f(n)∈O(logg(n)⁡n)g∈O(1).(2)

สังเกตความแตกต่างระหว่าง (1) และ (2); ในขณะที่มันทำงานออกมาเพื่อกำหนดฟังก์ชั่นค่าบวกชุดเดียวกันที่นี่สิ่งนี้ไม่ได้ผล อย่าขยับในการแสดงออกโดยไม่สนใจ!O


3
ผมคิดว่าสิ่งที่ทำให้มันติ๊กคือเป็นต่อเนื่องและ surjective เพียงพอสำหรับแต่ละคงn Monotonic ทำให้ตำแหน่งของOเทียบเท่าและให้ (2) ⇒ (1); การไปทางอื่นนั้นต้องการให้gมีอยู่ซึ่งอาจล้มเหลวหากf ( n )อยู่นอกขอบเขตของฟังก์ชัน หากคุณต้องการชี้ให้เห็นว่าการเคลื่อนย้ายOไปรอบ ๆ นั้นอันตรายและไม่ครอบคลุมฟังก์ชั่น "wild" ดี แต่ในกรณีนี้มันใช้ได้สำหรับฟังก์ชั่นที่เป็นตัวแทนของต้นทุน x↦logx⁡(n)nOgf(n)O
— Gilles 'หยุดความชั่วร้าย'

@Gilles ฉันอ่อนแอคำสั่งเพื่อเตือนทั่วไป
— Raphael

1
คำตอบนี้ได้รับการแก้ไขอย่างหนักและตอนนี้ฉันสับสน: ตอนนี้คุณอ้างว่า (1) และ (2) เหมือนกันหรือไม่
— Oebele

@Oebele เท่าที่ฉันสามารถบอกได้พวกเขาไม่ได้อยู่ในทั่วไป แต่ที่นี่
— Raphael

แต่บางอย่างเช่นไม่ตรงกับ (1) แต่ตรงกับ (2) ใช่มั้ย หรือตอนนี้ฉันงี่เง่า? 3log2n
— Oebele

6

มันหมายความว่าฟังก์ชั่นเติบโตมากที่สุดเมื่อกับกำลังของค่าคงที่บางค่าเช่นlog 2 ( n )หรือlog 5 ( n )หรือlog 99999 ( n )loglog2⁡(n)log5⁡(n)log99999⁡(n) ...


สิ่งนี้สามารถนำมาใช้ได้เมื่อการเติบโตของฟังก์ชั่นเป็นที่ทราบกันว่าถูก จำกัด ด้วยพลังคงที่ของแต่ค่าคงที่เฉพาะไม่ทราบหรือไม่ระบุซ้าย log
— Yves Daoust

สิ่งนี้ไม่ได้รับการสนับสนุนจากการประชุมตัวแทนทั่วไป
— Raphael

2

"ที่มากที่สุด " หมายความว่ามีค่าคงที่cเช่นนั้นสิ่งที่ถูกวัดคือO ( บันทึกc n )logO(1)⁡ncO(logc⁡n) )

ในบริบทที่กว้างขึ้น, เทียบเท่ากับคำสั่งที่มีอยู่ (อาจจะลบ) คงที่และขดังกล่าวว่าF ( n ) ∈ O ( log n )และF ( n ) ∈ โอห์ม( บันทึกข n )f(n)∈logO(1)⁡nabf(n)∈O(loga⁡n)f(n)∈Ω(logb⁡n)

มันเป็นเรื่องง่ายต่อการมองเห็นขอบเขตล่าง ในสภาพแวดล้อมที่มีความสำคัญ (ซึ่งจะแปลกมากถ้าคุณสนใจศึกษาการเติบโตแบบซีมโทติค ) คุณไม่ควรมั่นใจอย่างเต็มที่ว่าผู้เขียนหมายถึงขอบเขตที่ต่ำกว่าจริง ๆ และจะต้องพึ่งพาบริบทเพื่อ ตรวจสอบให้แน่ใจΩ(logb⁡n)


ความหมายที่แท้จริงของสัญกรณ์จะทำเลขคณิตเกี่ยวกับครอบครัวของฟังก์ชั่นที่เกิดในครอบครัวที่มีฟังก์ชั่นทั้งหมดที่เข้าสู่ระบบกรัม( n ) nที่กรัม( n ) ∈ O ( 1 ) วิธีนี้ใช้ได้ผลเช่นเดียวกับวิธีการคูณO ( g ( n ) )ด้วยh ( n ) ให้ผลลัพธ์เป็นO ( g ( n ) h nlogO(1)⁡nlogg(n)⁡ng(n)∈O(1)O(g(n))h(n)O(g(n)h(n)), except that you get a result that isn't expressed so simply.


เนื่องจากรายละเอียดของขอบเขตล่างอยู่ในอาณาเขตที่อาจไม่คุ้นเคยจึงควรดูที่ตัวอย่างบางส่วน โปรดจำไว้ว่านั้นมีขนาดเท่ากัน ว่ามีความคงที่คเช่นว่าทุกขนาดใหญ่พอn , |g(n)∈O(1)cn|g(n)|<c.

เมื่อมองไปที่ asymptotic การเจริญเติบโตมักจะมีเพียงถูกผูกไว้บนเรื่องตั้งแต่เช่นคุณรู้อยู่แล้วว่าฟังก์ชั่นเป็นบวก อย่างไรก็ตามในทั่วไปเต็มรูปแบบที่คุณต้องใส่ใจกับขอบเขตที่ต่ำกรัม( n ) > -คg(n)<cg(n)>−c

ซึ่งหมายความว่าตรงกันข้ามกับการใช้สัญกรณ์ทั่วไปที่ใหญ่กว่ามากฟังก์ชั่นที่ลดลงเร็วเกินไปอาจไม่สามารถอยู่ใน ; ตัวอย่างเช่น 1logO(1)⁡n

1n=log−(log⁡n)/(log⁡log⁡n)⁡n∉logO(1)⁡n
−log⁡nlog⁡log⁡n∉O(1)
O(1)

−1∉logO(1)⁡n


Can't I just take b=0 and make your claimed lower bound go away?
— David Richerby

1
@DavidRicherby ไม่ ข=0 ยังคงบอกว่า ฉมีขอบเขตด้านล่าง Hurkyl: ทำไมล่ะฉ(n)=1/n ใน เข้าสู่ระบบO(1)⁡n?
— Gilles 'SO- stop being evil'

@Gilles: เพิ่มเนื้อหาเพิ่มเติม!

@Gilles OK, sure, it's bounded below by 1. Which is no bound at all for "most" applications of Landau notation in CS.
— David Richerby

1) Your "move around O" rule does not always work, and I don't think "at most" usually has that meaning; it's just redundant. 2) Never does O imply a lower bound. That's when you use Θ. 3) If and how negative functions are dealt with by a given definition of O (even without abuse of notation) is not universally clear. Most definitions (in analysis of algorithms) exclude them. You seem to assume a definition that bounds the absolute value, which is fine.
— Raphael
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.