วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี

คำถาม & คำตอบสำหรับนักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีและนักวิจัยในสาขาที่เกี่ยวข้อง

1
การแก้สมการไดโอแฟนไทน์เชิงเส้นประมาณ
พิจารณาปัญหาต่อไปนี้: อินพุต : ไฮเปอร์เพลนH={y∈Rn:aTy=b}H={y∈Rn:aTy=b}H = \{ \mathbf{y} \in \mathbb{R}^n: \mathbf{a}^T\mathbf{y} = {b}\} , ที่กำหนดโดยเวกเตอร์a∈Zna∈Zn\mathbf{a} \in \mathbb{Z}^nและb∈Zb∈Zb \in \mathbb{Z}ในการแทนเลขฐานสองมาตรฐาน x∈Zn=argmind(x,H)x∈Zn=arg⁡mind(x,H)\mathbf{x} \in \mathbb{Z}^n = \arg \min d( \mathbf{x}, H) d(x,S)d(x,S)d(\mathbf{x}, S)x∈Rnx∈Rn\mathbf{x} \in \mathbb{R}^nS⊆RnS⊆RnS \subseteq \mathbb{R}^nd(x,S)=miny∈S∥x−y∥2d(x,S)=miny∈S‖x−y‖2d(\mathbf{x}, S) = \min_{\mathbf{y} \in S}{\|\mathbf{x} - \mathbf{y}}\|_2 ในคำพูดเราได้รับไฮเปอร์เพลนและเรากำลังมองหาจุดในโครงตาข่ายจำนวนเต็มที่ใกล้กับไฮเปอร์เพลนมากที่สุด คำถามคือ: ความซับซ้อนของปัญหานี้คืออะไร? โปรดทราบว่าเวลาพหุนามที่นี่จะหมายถึงพหุนามในบิตขนาดของอินพุต เท่าที่ฉันเห็นปัญหาน่าสนใจแม้ในสองมิติ ดังนั้นจึงไม่ยากที่จะเห็นว่าเพียงพอที่จะพิจารณาเฉพาะโซลูชันเหล่านั้น(x1,x2)(x1,x2)(x_1, x_2)ด้วย0≤x1≤|a1|/gcd(a1,a2)0≤x1≤|a1|/gcd(a1,a2)0\leq x_1 \leq |a_1|/\mathsf{gcd}(a_1, …

10
มีปัญหาอะไรบ้างที่เรารู้ว่าเรามีอัลกอริธึมที่เหมาะสมที่สุด?
อะไรคือปัญหาที่ไม่สำคัญที่เรารู้ว่าอัลกอริธึมปัจจุบันที่เรามีคือปัญหาที่เหมาะสมที่สุด (สำหรับเครื่องทัวริง) และนี่พิสูจน์ได้อย่างไร

2
โครงสร้างข้อมูลถาวรใดสำหรับชุดองค์ประกอบที่เรียงลำดับบางส่วน
ฉันต้องการจัดเก็บชุดองค์ประกอบของประเภท a ประเภทสั่งบางส่วนเพื่อเปรียบเทียบ1และ2สามารถกลับมามีขนาดเล็กมากขึ้นเท่ากันหรือหาที่เปรียบมิได้a1a1a_1a2a2a_2 ปัญหาอย่างหนึ่งของแฮชเทเบิลคือองค์ประกอบที่เท่ากันสองค่าสามารถนำเสนอได้แตกต่างกันและฉันไม่สามารถเข้าถึงฟังก์ชันการแฮชที่สอดคล้องกับความเท่าเทียมกันได้ การเปรียบเทียบองค์ประกอบสองรายการอาจเป็นกระบวนการที่มีความยาวดังนั้นจึงน่าสนใจที่จะลดการเปรียบเทียบให้น้อยที่สุด หากจำเป็นสามารถบันทึกการโทรไปยังผู้ดำเนินการเปรียบเทียบได้ ตอนนี้ฉันรู้แล้วว่าฉันจะต้องเก็บ antichains เท่านั้น (หรือสมมติว่าเป็นอย่างนั้น) แม่นยำมากขึ้นการดำเนินการที่ฉันจะต้องดำเนินการมีดังนี้: ลบองค์ประกอบออกจาก antichain; ลองเพิ่มองค์ประกอบ หากองค์ประกอบมีขนาดเล็กกว่าสมาชิกอย่าเพิ่มองค์ประกอบมิฉะนั้นให้เพิ่มและลบทุกองค์ประกอบที่เล็กกว่านั้น i1&lt;a&lt;i2i1&lt;a&lt;i2i_1 < a < i_2i3&lt;b&lt;i4i3&lt;b&lt;i4i_3 < b < i_4i2&lt;i3i2&lt;i3i_2 < i_3a&lt;ba&lt;ba < bi2≮i3i2≮i3i_2 \not< i_3a≮ba≮ba \not < b

1
รักษาความสงบเรียบร้อยในรายการในในเวลา
ปัญหาการบำรุงรักษาคำสั่งซื้อ (หรือ "การรักษาคำสั่งซื้อในรายการ") คือการสนับสนุนการดำเนินงาน: singleton: สร้างรายการที่มีหนึ่งรายการส่งคืนตัวชี้ไปยังรายการนั้น insertAfter: กำหนดตัวชี้ไปยังรายการแทรกรายการใหม่หลังจากส่งคืนตัวชี้ไปยังรายการใหม่ delete: กำหนดตัวชี้ไปยังรายการเอาออกจากรายการ minPointer: กำหนดสองพอยน์เตอร์ให้กับรายการในรายการเดียวกันส่งคืนค่าที่ใกล้กับด้านหน้าของรายการมากขึ้น ฉันทราบวิธีแก้ไขปัญหาสามข้อที่ดำเนินการทั้งหมดในเวลาตัดจำหน่าย พวกเขาทั้งหมดใช้การคูณO ( 1 )O(1)O(1) Athanasios K. Tsakalidis: การรักษาลำดับในรายการที่เชื่อมโยงทั่วไป Dietz, P. , D. Sleator, สองอัลกอริทึมสำหรับการรักษาความสงบเรียบร้อยในรายการ Michael A. Bender, Richard Cole, Erik D. Demaine, Martin Farach-Colton และ Jack Zito“ สองอัลกอริทึมแบบง่ายสำหรับการคงคำสั่งในรายการ” สามารถเก็บรักษาลำดับในรายการในเวลาตัดจำหน่ายโดยไม่ใช้การดำเนินการทางคณิตศาสตร์ใด ๆ ที่ไม่ได้อยู่ในหรือไม่?O ( 1 )O(1)O(1)C0Aค0AC^0

2
ทฤษฎีการพิสูจน์ของ biproducts?
หมวดหมู่มีbiproductsเมื่อวัตถุเดียวกันมีทั้งผลิตภัณฑ์และ coproducts มีใครตรวจสอบทฤษฎีการพิสูจน์ของหมวดหมู่ด้วย biproducts หรือไม่? บางทีตัวอย่างที่รู้จักกันดีที่สุดคือหมวดหมู่ของปริภูมิเวกเตอร์ซึ่งผลรวมโดยตรงและการสร้างผลิตภัณฑ์โดยตรงให้เวกเตอร์สเปซเดียวกัน นั่นหมายถึงการเว้นวรรคเวกเตอร์และแผนที่เชิงเส้นเป็นรูปแบบลอจิคัลเชิงเส้นที่เสื่อมโทรมเล็กน้อยและฉันอยากรู้ว่าทฤษฎีประเภทที่ยอมรับความเสื่อมนี้จะมีลักษณะอย่างไร

1
การประมาณฟังก์ชั่นสากล
มันเป็นที่รู้จักกันผ่านทฤษฎีการประมาณสากลว่าเครือข่ายประสาทที่มีชั้นเดียวที่ซ่อนอยู่และฟังก์ชั่นการเปิดใช้งานโดยพลสามารถประมาณฟังก์ชั่นใด ๆ อย่างต่อเนื่อง รุ่นอื่น ๆ ที่มีตัวประมาณฟังก์ชั่นสากล

3
แหล่งที่มาสำหรับทฤษฎีเกมวิวัฒนาการขั้นตอน
ฉันใช้คำชื่อในแง่ที่หลวมมาก มีงานจำนวนมากเกี่ยวกับทฤษฎีเกมวิวัฒนาการรวมถึงพื้นฐานทางคณิตศาสตร์ ฉันแนะนำ "เกมวิวัฒนาการและพลวัตประชากร" แต่ยังไม่ได้เจาะลึก นอกจากนี้ยังมีงานจำนวนมากเกี่ยวกับทฤษฎีเกมอัลกอริทึมซึ่งเป็นหัวข้อยอดนิยมในเว็บไซต์นี้ สิ่งที่ฉันต้องการเห็นก็คืองานที่ทำให้เกิดความซับซ้อนในการคำนวณหรือข้อความเกี่ยวกับการลู่เข้าเกี่ยวกับการเปลี่ยนแปลงทางวิวัฒนาการ ตัวอย่าง (เขียนอย่างหลวม ๆ ): เมื่อพิจารณาจากประชากรและโครงการวิวัฒนาการเราสามารถทำให้ความน่าจะเป็นที่จะเกิดขึ้นกับการเพิ่มประสิทธิภาพของประชากรในระยะยาว (เทียบกับบุคคลที่ดีที่สุดที่ผลิตได้หรือไม่) สิ่งนี้ดูเหมือนจะเกี่ยวข้องอย่างมากกับผู้เชี่ยวชาญและปัญหาโจร สิ่งที่เกี่ยวกับการตั้งค่า nonstationary? เนื่องจากกลุ่มประชากรของสปีชีส์ต่าง ๆ ที่มีปฏิสัมพันธ์ในสภาพแวดล้อมของพวกเขาเล่นเกมที่มีผู้เล่นหลายคนค่อนข้างมากสิ่งที่เราสามารถพูดได้เกี่ยวกับความมั่นคงในที่สุดของกลยุทธ์หรือการกระจายกลยุทธ์ของพวกเขา ในสภาพแวดล้อมใด ๆ ที่มี "niches" มากมาย (เป็นวิธีการใช้ถ้อยคำที่เกินจริงฉันเข้าใจ) ไม่ว่าจะเป็นความสัมพันธ์โดยตรงกับสภาพแวดล้อมหรือในแง่ของความสัมพันธ์กับสายพันธุ์อื่น ๆ ข้ามซอกเหล่านี้ ปัญหาใด ๆ ที่ฉันไม่ได้ถาม แต่ควร - ฉันมาที่นี้ด้วย AGT, TCS, Algorithms ทางพันธุกรรมทฤษฎีเกมวิวัฒนาการหรือภูมิหลังชีววิทยาของประชากร ฉันถามคำถามจากมุมมองการเพิ่มประสิทธิภาพ / การเรียนรู้ของเครื่อง / สถิติซึ่งอาจผิดหรือไม่สมบูรณ์

2
ต้นกำเนิดของความสัมพันธ์เชิงตรรกะคืออะไร?
ที่จริงฉันมีสองคำถาม: ใครเป็นคนแรกที่ใช้ความสัมพันธ์เชิงตรรกะเพื่อเชื่อมโยงความหมาย? ฉันตามรอยพวกเขากลับไปที่ " ความสัมพันธ์ระหว่างความหมายโดยตรงและความต่อเนื่อง " ของ Reynold แต่ฉันไม่สามารถอ้างว่าได้ทำการค้นหาอย่างละเอียดถี่ถ้วน ฉันได้พบการอ้างอิงถึงความสัมพันธ์เชิงตรรกะในการเดทก่อนหน้านี้ (Tait, '67) แต่ไม่ใช่สำหรับความหมายที่เกี่ยวข้อง อะไรคือการแนะนำที่ดีที่สุดในปัจจุบันสำหรับความสัมพันธ์เชิงตรรกะ? ฉันรู้เกี่ยวกับ " ระบบการพิมพ์สำหรับภาษาโปรแกรม " ของมิตเชลล์จากคู่มือ TCS มีงานแสดงสินค้าอะไรอีกบ้าง?

2
นิพจน์ mu-recursive ชัดเจนสำหรับฟังก์ชัน Ackerman
คุณช่วยชี้ให้เห็นถึงวิธีการสร้างฟังก์ชั่น Ackerman (อันที่จริงฉันสนใจรุ่นที่เสนอโดยRózsaPéterและ Raphael Robinson) ผ่านผู้ให้บริการ mu-recursive มาตรฐานหรือไม่? ฉันลองใช้เอกสารต้นฉบับโดยPéterและ Robinson แต่กระดาษของPéterใช้ภาษาที่แตกต่างจากเอกสารภาษาอังกฤษและของโรบินสัน“ การเรียกซ้ำและการเรียกซ้ำสองครั้ง” และ“ ฟังก์ชั่นการเรียกซ้ำแบบดั้งเดิม” ก็ไม่ได้ช่วยอะไรเลย เรียกตัวดำเนินการเรียกซ้ำสองครั้งเพื่อกำหนดฟังก์ชัน Ackerman ดังนั้นในกรณีนี้คำจำกัดความที่ชัดเจนของผู้ประกอบการในเงื่อนไข mu-recursive จะถูกค้นหา คำตอบที่ใกล้ที่สุดที่สุดคือพี. สมิ ธ ใน“ คำนำของทฤษฎีบทของ Godel” (CUP, 2007) (29.4 ฟังก์ชัน Ackermann-Peter นั้นเป็นμ-recursive) แต่เขากลับมาพร้อมกับสิ่งต่อไปนี้: น่าเบื่อ แต่ก็ไม่ยาก ไม่มีอะไรที่จะเรียนรู้ได้จากการสะกดรายละเอียดที่นี่: ดังนั้นเราจะไม่ทำ” ฉันยังลองหนังสือของRózsaPéter“ ฟังก์ชั่นวนซ้ำ” (1967, Academic Press) มีตัวแปรมากมายสำหรับตัวดำเนินการเรียกซ้ำที่ให้ไว้ โดยปกติจะลดลงหนึ่งไปยังอีก ฉันเชื่อว่ามีตัวดำเนินการเรียกซ้ำที่เหมาะสมกับคำนิยามของฟังก์ชัน Ackerman และลำดับขั้นตอนที่ลดไปที่ตัวดำเนินการเรียกซ้ำและการย่อขนาดดั้งเดิม แต่ฉันพบว่าตัวเองไม่สามารถตรวจสอบได้ทั้งหมด

1
การสลายตัวแบบแยกส่วนและความกว้างกลุ่ม
ฉันพยายามที่จะเข้าใจแนวคิดบางอย่างเกี่ยวกับการแยกส่วนแบบแยกส่วนและกราฟความกว้างกลุ่ม ในบทความนี้ ("ในกราฟ P4-ระเบียบ") มีหลักฐานของวิธีการแก้ปัญหาการเพิ่มประสิทธิภาพเช่นจำนวน clique หรือหมายเลขรงค์โดยใช้การสลายตัว Modular การแก้ปัญหาเหล่านี้โดยการเขียน (โดยใช้ผลรวมไม่รวมหรือแยกอิสระ) กราฟสองกราฟ G1, G2 นั้นง่ายเมื่อคุณรู้คำตอบสำหรับ G1 และ G2 เนื่องจากกราฟเฉพาะบนการสลายตัวของกราฟ P4-ระเบียบเป็นกราฟที่ถูกล้อมรอบ (เช่น C5, P5, ฯลฯ ) มันง่ายที่จะแก้มันสำหรับ "เคสฐาน" เหล่านี้จากนั้นจึงแก้ปัญหาสำหรับการจัดองค์ประกอบ ดังนั้นด้วยการใช้ทรีย่อยสลายมันเป็นไปได้ที่จะแก้ปัญหาเหล่านี้ในเวลาเชิงเส้น แต่ดูเหมือนว่าเทคนิคนี้จะใช้ได้กับคลาสกราฟใด ๆ ที่กำหนดขอบเขตกราฟไว้ จากนั้นฉันก็พบบทความนี้ "ปัญหาการเพิ่มประสิทธิภาพเชิงเส้นเวลาที่แก้ไขได้เชิงเส้นบนกราฟของความกว้างของกลุ่มความกว้างของขอบเขต" ซึ่งดูเหมือนจะทำให้เป็นเรื่องทั่วไปที่ฉันกำลังมองหา แต่ฉันไม่เข้าใจมันเป็นอย่างดี คำถามของฉันคือ: 1-จะเทียบเท่ากับการบอกว่ากราฟไพรม์ของแผนภูมิการสลายตัวถูกล้อมรอบ (เช่นในกรณีกราฟ P4-ระเบียบเรียบร้อย) และบอกว่ากราฟมีคุณสมบัติ "Clique-Width" 2-ในกรณีที่คำตอบสำหรับ1คือไม่ใช่ดังนั้น: มีผลใด ๆ เกี่ยวกับคลาสของกราฟที่มีขอบเขตกราฟกำหนดช่วงเวลา (เช่นในกราฟ P4 เรียบร้อย) และทำให้เกิดปัญหาการหาค่าเหมาะที่สุดเช่นหมายเลข clique-solvable …

2
การเรียนรู้ควอนตัม PAC
พื้นหลัง ฟังก์ชันในเป็น PAC ที่เรียนรู้ได้ในเวลา quasipolynomial ด้วยอัลกอริทึมแบบดั้งเดิมที่ต้องใช้แบบสอบถามที่เลือกแบบสุ่มเพื่อเรียนรู้วงจรความลึก d [1] หากไม่มีอัลกอริทึมการแฟ็กเตอริงนี่ก็เป็นสิ่งที่ดีที่สุด [2] แน่นอนในคอมพิวเตอร์ควอนตัมเรารู้วิธีคำนึงถึงปัจจัยดังนั้นขอบเขตล่างนี้จึงไม่ช่วย ยิ่งไปกว่านั้นอัลกอริธึมคลาสสิคที่เหมาะสมที่สุดใช้สเปกตรัมของฟูริเยร์ของฟังก์ชั่นจึงกรีดร้องC0Aค0AC^0O ( 2)l o g( n )O ( d))O(2ล.โอก.(n)O(d))O(2^{log(n)^{O(d)}})2no ( 1 )2nโอ(1)2^{n^{o(1)}} [1] N. Linial, Y. Mansour และ N. Nisan [1993] "วงจรเชิงลึกคงที่, การแปลงฟูริเยร์, และการเรียนรู้", วารสาร ACM 40 (3): 607-620 [2] M. Kharitonov [1993] "ความแข็งการเข้ารหัสของการเรียนรู้เฉพาะการกระจาย", การดำเนินการของ ACM STOC'93, pp. 372-381 …

1
การกดปุ่มชุดของการตัดกันครอบครัวตามเข็มนาฬิกา
ชุดชนของครอบครัวS= { S1, … , Sn}S={S1,...,Sn}\mathcal{S} = \{S_1, \dots, S_n\}เป็นเซตของดังกล่าวว่าสำหรับn ปัญหาในการค้นหาชุดการกดปุ่มต่ำสุดของตระกูลที่กำหนดคือปัญหาทั่วไปของ NP-hard เนื่องจากมันครอบคลุมปัญหาของจุดยอด ตอนนี้คำถามของฉันคือ:⋃ n i = 1 S i H ∩ S i ≠ ∅ 1 ≤ i ≤ nHHH⋃ni = 1Sผม⋃ผม=1nSผม\bigcup_{i=1}^{n} S_iH∩ Sผม≠ ∅H∩Sผม≠∅H \cap S_i \ne \emptyset1 ≤ ฉัน≤ n1≤ผม≤n1 \le i \le n ปัญหาชุด hitting ยังคงอยู่ที่ …

2
มีใครใช้ Pottier และ Gauthier ของ polymorphic defunctionalization ในโมดูลคอมไพเลอร์หรือไม่?
Defunctionalizationคือการแปลงโปรแกรมที่แปลงโปรแกรมที่มีลำดับสูงกว่าไปเป็นโปรแกรมที่มีลำดับที่หนึ่ง แนวคิดคือให้โปรแกรมมีแลมบ์ดาบทคัดย่อจำนวน จำกัด เท่านั้นดังนั้นคุณสามารถแทนที่แลมบ์ดาแต่ละอันด้วยรหัสและแอปพลิเคชันฟังก์ชั่นแต่ละอันด้วยการเรียกใช้ขั้นตอนการสมัครที่แยกสาขาในรหัสนั้น บางครั้ง สิ่งนี้ถูกใช้ในคอมไพเลอร์สำหรับภาษาที่ใช้งานได้ แต่การบังคับใช้ของมันถูก จำกัด ด้วยความจริงที่ว่า defunctionalization คือการแปลงทั้งโปรแกรม (คุณต้องรู้จักฟังก์ชันทั้งหมดในโปรแกรม) และโปรแกรมคอมไพเลอร์ทั้งหมดเท่านั้นที่ใช้ มัน. อย่างไรก็ตามPottier และ Gauthierได้กำหนดอัลกอริทึม defunctionalization พิมพ์ polymorphic โดยใช้การพิมพ์ที่ซับซ้อนมากขึ้นที่เกี่ยวข้องกับ GADT ตอนนี้เมื่อได้รับการเข้ารหัสแล้วก็เป็นไปได้ที่จะเพิ่มเคส catch-all ให้เป็นประเภทข้อมูลแลมบ์ดาที่ไม่ใช่แท็ก แต่มีฟังก์ชั่นการสั่งซื้อที่สูงกว่า ซึ่งหมายความว่าเป็นไปได้ที่จะใช้การเข้ารหัสเพื่อทำหน้าที่เป็นโมดุลย์ต่อโมดูล มีใครทำสิ่งนี้และชี้ให้ฉันไปที่คอมไพเลอร์โดยใช้ความคิดนี้หรือไม่? (คอมไพเลอร์ของเล่นนั้นโอเคและในความเป็นจริงก็เป็นที่ต้องการ)

5
การอ้างอิงสำหรับการแยกส่วนประกอบแบบแยกส่วน
กระดาษ / หนังสืออะไรที่ดีที่จะเข้าใจพลังของการสลายตัวแบบแยกส่วนและคุณสมบัติของมัน? ฉันสนใจเป็นพิเศษในด้านอัลกอริทึมของการแยกส่วนประกอบแบบแยกส่วน ฉันได้ยินมาว่ามีความเป็นไปได้ที่จะพบการแยกส่วนประกอบแบบแยกส่วนของกราฟในเวลาเชิงเส้น มีอัลกอริธึมที่ค่อนข้างง่ายสำหรับเรื่องนี้หรือไม่? อัลกอริธึมที่ไม่ค่อยมีประสิทธิภาพ แต่ง่ายกว่านี้อย่างไร

1
กำลังมองหาเอกสารและบทความเกี่ยวกับ Tarskian Möglichkeit
บางหลัง: Łukasiewicz logics หลายมูลค่าตั้งใจเป็นคำกริยา logics และŁukasiewiczให้extensionalนิยามของผู้ประกอบกิริยา: (ซึ่งเขาแอตทริบิวต์ Tarski)◊A=def¬A→A◊A=def¬A→A\Diamond A =_{def} \neg A \to A นี้จะช่วยให้ตรรกะกิริยาแปลกที่มีความขัดแย้งบางอย่างถ้าไม่ได้ไร้สาระทฤษฎีบทดูเหมือนสะดุดตา ) ทดแทน¬ AสำหรับBเพื่อดูว่าทำไมมันถึงได้ถูกผลักไสไปยังเชิงอรรถในประวัติศาสตร์ของตรรกะโมดัล(◊A∧◊B)→◊(A∧B)(◊A∧◊B)→◊(A∧B)(\Diamond A\land \Diamond B) \to \Diamond (A\land B)¬A¬A\neg ABBB อย่างไรก็ตามฉันได้ตระหนักว่ามันไร้สาระน้อยลงเมื่อนิยามของโอเปอเรเตอร์ที่เป็นไปได้นั้นถูกนำไปใช้กับ Linear Logic และ logics substructural อื่น ๆ ฉันมีการพูดคุยอย่างไม่เป็นทางการเกี่ยวกับเรื่องนี้เมื่อต้นเดือน ลิงก์ไปยังการพูดคุยนั้นอยู่ที่http://www.cs.st-andrews.ac.uk/~rr/pubs/lablunch-20110308.pdf (หนึ่งในเหตุผลที่ฉันถามเกี่ยวกับคำกริยา log substructural คือการเปรียบเทียบความหมายของ logics เหล่านั้นกับการใช้ตัวดำเนินการนี้) อย่างไรก็ตามงานที่ไม่สำคัญเพียงอย่างเดียวที่ฉันได้พบการอ้างอิงถึงคือการพูดคุยโดย A. Turquette, "ความทั่วไปของ Tarski ของMöglichkeit" ที่สมาคมออสตราเลเซียนประจำปี 1997 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.