ผลต่างระหว่างรุ่นของ "สัญกรณ์โอใหญ่"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
ไม่มีความย่อการแก้ไข
บรรทัด 9:
 
== นิยาม ==
นิยามของสัญกรณ์โอใหญ่มีสองรูปแบบแต่มีความหมายในทางเดียวกันว่า อัตราการเติบโตของฟังก์ชันใดๆ มีค่าเป็นสัญกรณ์โอใหญ่ของอีกฟังก์ชันหนึ่งแล้ว แสดงว่าอัตราการเติบโตของฟังก์ชันใดๆนั้นจะ''โตน้อยกว่าหรือเท่ากับ''อัตราการเติบโตของฟังก์ชันดังกล่าว
 
ให้ <math>f (a_0,a_1,\ldots,a_nn) </math> และ <math>g (a_0,a_1,\ldots,a_nn) </math> เป็น[[ฟังก์ชัน]]หลายตัวแปรใดๆบน[[จำนวนจริง]]ใด ๆ แล้ว
เหตุที่มีนิยามแตกต่างกันเพื่อรองรับฟังก์ชันที่มีลักษณะ[[โดเมน]]ที่แตกต่างกัน แต่ส่วนมากถ้าฟังก์ชันใดใช้นิยามได้มากกว่าสองอันแล้ว มักจะได้คำตอบตรงกัน และทั้งสองนิยามสามารถขยายไปถึงสัญกรณ์โอใหญ่ของหลายตัวแปรได้
:<math>f (n) \in O (g (n)) </math> เมื่อ <math>n\to\infty</math> [[ก็ต่อเมื่อ]]มีจำนวนจริง <math>c</math> และ <math>n_0</math> ค่าหนึ่งที่ทำให้ <math> |f (n)|\le c|g (n)| </math> ทุกๆ <math> n \ge n_0 </math>
 
อย่างไรก็ตาม นิยามนี้จำกัดเฉพาะกรณี <math>n\to\infty</math> เท่านั้น ซึ่งไม่เพียงพอต่อการอธิบายในกรณีที่ <math>n\to a</math> ดังนั้นจึงอาจใช้นิยามในอีกรูปแบบ ในการขยายไปถึงสัญกรณ์โอใหญ่กณิกนันต์ ซึ่งเป็นพิจารณาอัตรากการเติบโตของฟังกชันรอบๆจุด a ใด ๆ
=== นิยามแบบที่หนึ่ง ===
ให้ f (n) และ g (n) เป็น[[ฟังก์ชัน]]ใดๆ
:<math>f (n) \in O (g (n)) </math> ก็ต่อเมื่อ
:มีจำนวนจริง <math>c</math> และ <math>n_0</math> ค่าหนึ่งที่ทำให้
:<math> |f (n)|\le c|g (n)| </math> ทุกๆ <math> n \ge n_0 </math>
 
ให้ <math>f (nx)</math> และ <math>g (nx)</math> เป็น[[ฟังก์ชัน]]ใดๆใด ๆ
==== ตัวอย่างจากนิยามนี้ ====
:<math>f (x) \in O (g (x)) </math> ขณะ x เข้าใกล้ a ก็ต่อเมื่อ <math>\lim_{x\to a} \left|\frac{f (x) }{g (x) }\right| \in [0,\infty)</math>
 
==== การขยายนิยามไปหลายตัวแปร ====
นิยามทั้งสองรูปแบบสามารถขยายไปหลายตัวแปรได้
 
ให้ <math>f (a_0,a_1,\ldots,a_n) </math> และ <math>g (a_0,a_1,\ldots,a_n) </math> เป็น[[ฟังก์ชัน]]หลายตัวแปรใดๆ
:<math>f (a_0,a_1,\ldots,a_n) \in O (a_0,a_1,\ldots,a_n) </math> ก็ต่อเมื่อมีจำนวนจริง <math>c</math> และ <math>n_0</math> ค่าหนึ่งที่ทำให้ <math> |f (a_0,a_1,\ldots,a_n)|\le c |g (a_0,a_1,\ldots,a_n)| </math> ทุกๆ <math> a_0,a_1,\ldots,a_n \ge n_0 </math>
 
เช่นเดียวกันขยายไปถึงสัญกรณ์โอใหญ่กณิกนันต์ กล่าวคือหรือในอีกนิยามที่พิจารณาอัตราการเติบโตของฟังก์ชันรอบๆพิกัด <math> (k_0,k_1,\ldots,k_n) </math> ใดๆว่า
::<math>f (a_0,a_1,\ldots,a_n) \in O (g (a_0,a_1,\ldots,a_n)) </math> ก็ต่อเมื่อ <math>\lim_{a_0a_0,a_1a_1,\ldots,a_n \to k_0k_0,k_1k_1,\ldots,k_n} \left|\frac{f (a_0a_0,a_1a_1,\ldots,a_n) }{g (a_0a_0,a_1a_1,\ldots,a_n) }\right| \in [0,\infty).</math>
 
==== ตัวอย่างจากนิยามนี้ ====
* <math>n^2+n \le 2 n^2</math> ทุกๆ <math> n \ge 1</math> (หาได้จากการแก้[[อสมการ]]) เพราะฉะนั้น <math>n^2+n \in O (n^2) </math> (<math>c=2 , n_0=1</math>)
* <math>n^2+4 \le 2 n^2</math> ทุกๆ <math> n \ge 2</math> (หาได้จากการแก้[[อสมการ]]) เพราะฉะนั้น <math>n^2+4 \in O (n^2) </math> (<math>c=2 , n_0=2</math>)
 
หรือ
==== การขยายนิยามไปหลายตัวแปร ====
ให้ <math>f (a_0,a_1,\ldots,a_n) </math> และ <math>g (a_0,a_1,\ldots,a_n) </math> เป็น[[ฟังก์ชัน]]หลายตัวแปรใดๆ
:<math>f (a_0,a_1,\ldots,a_n) \in O (a_0,a_1,\ldots,a_n) </math> ก็ต่อเมื่อ
:มีจำนวนจริง <math>c</math> และ <math>n_0</math> ค่าหนึ่งที่ทำให้
:<math> |f (a_0,a_1,\ldots,a_n)|\le c |g (a_0,a_1,\ldots,a_n)| </math> ทุกๆ <math> a_0,a_1,\ldots,a_n \ge n_0 </math>
 
* <math> \lim_{n\to\infty} \frac {n^2+n}{n^2} = 1 </math> เพราะฉะนั้น <math>n^2+n \in O (n^2) </math>
=== นิยามแบบที่สอง ===
ให้ f (x) และ g (x) เป็น[[ฟังก์ชัน]]ใดๆ
:<math>f (x) \in O (g (x)) </math> ก็ต่อเมื่อ
:<math> \lim_{x\rightarrow\infty} \frac {f (x) }{g (x) } \in [0,\infty) </math>
ในนิยามนี้สามารถขยายไปถึงสัญกรณ์โอใหญ่กณิกนันต์ กล่าวคือพิจารณาอัตรากการเติบโตของฟังกชันรอบๆจุด a ใดๆว่า
:<math>f (x) \in O (g (x)) </math> ขณะ x เข้าใกล้ a ก็ต่อเมื่อ
::<math>\lim_{x\to a} \left|\frac{f (x) }{g (x) }\right| \in [0,\infty).</math>
==== ตัวอย่างจากนิยามนี้ ====
* <math> \lim_{n\to\infty} \frac {n^2+n}{n^2} = 1 </math> เพราะฉะนั้น <math>n^2+n \in O (n^2) </math>
* <math> \lim_{n\to\infty} \frac {n^2+4}{n^2} = 1 </math> เพราะฉะนั้น <math>n^2+n \in O (n^2) </math>
==== การขยายนิยามไปหลายตัวแปร ====
ให้ <math>f (a_0,a_1,\ldots,a_n) </math> และ <math>g (a_0,a_1,\ldots,a_n) </math> เป็น[[ฟังก์ชัน]]หลายตัวแปรใดๆ
:<math>f (a_0,a_1,\ldots,a_n) \in O (g (a_0,a_1,\ldots,a_n)) </math> ก็ต่อเมื่อ
:<math> \lim_{a_0,a_1,\ldots,a_n \to \infty } \frac {f (a_0,a_1,\ldots,a_n) }{g (a_0,a_1,\ldots,a_n) } \in [0,\infty) </math>
เช่นเดียวกันขยายไปถึงสัญกรณ์โอใหญ่กณิกนันต์ กล่าวคือพิจารณาอัตราการเติบโตของฟังก์ชันรอบๆพิกัด <math> (k_0,k_1,\ldots,k_n) </math> ใดๆว่า
:<math>f (a_0,a_1,\ldots,a_n) \in O (g (a_0,a_1,\ldots,a_n)) </math> ก็ต่อเมื่อ
::<math>\lim_{a_0,a_1,\ldots,a_n \to k_0,k_1,\ldots,k_n} \left|\frac{f (a_0,a_1,\ldots,a_n) }{g (a_0,a_1,\ldots,a_n) }\right| \in [0,\infty).</math>
 
== การใช้งาน ==