คิวลำดับความสำคัญสำหรับลำดับความสำคัญที่สั่งซื้อบางส่วนด้วย infima


16

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

มีโครงสร้างข้อมูลฮีปใดบ้างที่สามารถใช้กับการสั่งซื้อบางส่วนได้ หรือการแก้ไขคิวลำดับความสำคัญปกติเพื่อทำงานกับมัน? ตัวเลือกทั่วไปสำหรับอัลกอริทึมที่ฉันต้องการคือไบนารีแบบง่ายหรือ 4-ary heap แต่ไม่สามารถใช้กับการสั่งซื้อบางส่วนได้

การสนับสนุนค่าลำดับความสำคัญ:

  1. ̸ abbaa⋚̸b
  2. การค้นหาinfima (glb) และ suprema (lub) เป็นสูงสุดปีดังกล่าวว่าY \ preccurlyeq x_i คำนวณ infimum ของnค่าใช้เวลาO (n)เวลา มีค่าน้อยที่สุด (และสูงสุด) ของทุกชุดy y x i n O ( n )inf(xi)yyxinO(n)
  3. สามารถกำหนดส่วนขยายเชิงเส้นสำหรับการสั่งซื้อบางส่วนได้ การใช้สำหรับคิวลำดับความสำคัญเป็นวิธีที่ง่ายเนื่องจากอัลกอริทึมทำงานในลักษณะนั้น แต่คำสั่งซื้อนั้นมีผลต่อประสิทธิภาพและลำดับของการแทรกดูเหมือนจะดีที่สุดในการหลีกเลี่ยงกรณีที่เลวร้ายที่สุด

นอกจากนี้อัลกอริทึมที่ฉันต้องการใช้สิ่งนี้จำเป็นต้องรู้ถึงลำดับความสำคัญต่ำสุดในคิว

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


หมายเหตุ: ฮีปแบบไบนารีไม่ทำงานกับการสั่งซื้อบางส่วน สมมติกองไบนารีกับ,และซึ่งและและค พวกเขาอยู่ในลำดับที่ดังนั้น̸ ̸ abcaca⋚̸ba⋚̸c

     a (0)
   /   \
 b (1)   c (2)

ตอนนี้dถูกแทรก ตำแหน่งว่างถัดไปคือ 3 ลูกซ้ายของเราจึงได้b

        a (0)
      /   \
    b (1)   c (2)
  /
d (3)

ถ้า (ซึ่งหมายถึงจากการเปลี่ยนแปลง แต่ไม่ได้พูดอะไรเกี่ยวกับและ ) และดังนั้นจึงไม่สลับกับเพราะมันไม่น้อย แต่จริงๆแล้วมันน้อยกว่าแต่ก็ไม่ได้ถูกเปรียบเทียบกับมันดังนั้นตอนนี้ค่าคงที่หลักของ heap จะไม่ถูกเก็บไว้ ด้านบนไม่น้อยd ̸ dadcdbd⋚̸bdba

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


หมายเหตุ: การเรียงลำดับเป็นบางส่วนและในขณะที่มีวิธีกำหนดส่วนขยายเชิงเส้นสำหรับส่วนเพิ่มการประทับเวลาและใช้เป็นเกณฑ์รองไม่ใช่หนึ่งในนั้น สมมติว่าเรามอบหมายประทับเวลาสำหรับแต่ละและกำหนดสั่งซื้อเป็น' IFF หรือ ( และT ( ) T ( ) . แล้วสมมติว่าเรามีความแตกต่างกัน, b , ca t(a)aababbat(a)t(b)abcเช่นว่าและจากนั้นa bและb cแต่c aดังนั้นความสัมพันธ์ไม่ใช่สกรรมกริยาดังนั้นจึงไม่ใช่คำสั่งเลย การขยายแบบนี้ใช้ได้กับการเรียงลำดับแบบอ่อนเท่านั้น แต่ไม่ใช่การขยายบางส่วนt(a)t(b)t(c)caabbcca


แก้ไข:ฉันรู้ว่าไม่เพียง แต่จะไม่ จำกัด จำนวนชุดที่กำหนด แต่จริง ๆ แล้วฉันจำเป็นต้องได้รับองค์ประกอบที่น้อยที่สุดในคิวอย่างมีประสิทธิภาพ ตอนนี้ฉันกำลังพิจารณาว่าการเพิ่มโหนดพิเศษที่มี infima ของ subtrees ในโครงสร้างฮีพทั่วไปบางส่วนจะช่วยได้หรือไม่


คุณถือว่าคิวลำดับความสำคัญที่จัดทำดัชนีแล้วหรือยัง?

@hulkmeister: คุณช่วยอธิบายได้ว่าการจัดทำดัชนีคิวทำงานอย่างไรกับการสั่งซื้อบางส่วน (ไม่ฮีปไบนารีธรรมดาไม่ทำงานกับการสั่งซื้อบางส่วน)

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

1
@hulkmeister: ดีปัญหาอยู่ลึกกว่านั้น เมื่อรายการใหม่ถูกแทรกคิวลำดับความสำคัญโดยปกติจะเปรียบเทียบกับองค์ประกอบบางอย่าง แต่ถ้าพวกเขาหาที่เปรียบมิได้มันก็ไม่รู้ว่าจะใส่มันที่ไหน และความไม่ลงรอยกันกับดัชนีจะไม่ทำงานเพราะดัชนีมีการเปลี่ยนแปลงและเพราะมันอาจจะไม่ทำให้การสั่งซื้อทั้งหมดสอดคล้องกับลำดับความสำคัญต่อไป

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

คำตอบ:


3

แม้ว่าปัญหาที่ถูกวางในคำถามดั้งเดิมดูเหมือนจะยาก (และฉันจะสนใจวิธีแก้ปัญหานั้นโดยเฉพาะส่วนการหา infima) ฉันแค่อยากจะทราบว่าถ้าชุดที่สั่งซื้อบางส่วนนั้นประกอบด้วยเวกเตอร์ที่ใช้คำสั่งซื้อผลิตภัณฑ์และถ้ามันเพียงพอที่จะมีการรับประกันว่าคิวลำดับความสำคัญส่งคืนค่าในลำดับที่ "เข้ากันได้" กับคำสั่งบางส่วน ( นั่นคือองค์ประกอบที่เล็กกว่าจะถูกส่งคืนเสมอก่อนที่องค์ประกอบที่มีขนาดใหญ่กว่า) จากนั้นก็มีวิธีที่ง่ายในการทำเช่นนั้น

แนวคิดนี้มีความสำคัญในการค้นหาการจัดเรียงโทโพโลยีของชุดที่สั่งบางส่วน นั่นคือคำสั่งซื้อรวม 'ดังกล่าวว่าT . สำหรับเวกเตอร์ที่ใช้คำสั่งซื้อผลิตภัณฑ์นี่ค่อนข้างง่าย: เพียงแค่ใช้คำสั่งพจนานุกรม 'S ' โดยที่ "ส่วนประกอบ" ตัวแรกคือผลรวมของส่วนประกอบทั้งหมดที่ใช้สำหรับการสั่งซื้อผลิตภัณฑ์ ดังนั้นคุณสามารถติดกับคำสั่งที่อ่อนแอ) แล้วเราจะเห็นว่า < abaTbS และ a = b

a<bi(aibi) and i(ai<bi)(iai)<(ibi)aSb
และทำให้ที่
a=bi(ai=bi)(iai)=(ibi)aSb,
. ดังนั้นเราสามารถใช้คำสั่งนี้กับคิวลำดับความสำคัญและตรวจสอบให้แน่ใจว่ามีการแยกองค์ประกอบขนาดเล็ก (ในลำดับผลิตภัณฑ์) ก่อนองค์ประกอบที่มีขนาดใหญ่กว่าเสมอabaSb

มีตัวเลือกอื่น ๆ อีกมากมาย ใช้หนึ่งในส่วนประกอบขั้นต่ำสูงสุดสูงสุดการผสมเชิงเส้นใด ๆ กับสัมประสิทธิ์ที่ไม่เป็นลบอย่างน้อย การเลือกส่วนขยายมีผลต่อความรวดเร็วของอัลกอริทึมการซ้อนทับ
Jan Hudec

2

เกิดอะไรขึ้นกับการสั่งซื้อบางส่วนของคุณเสร็จสมบูรณ์

แต่แทนที่จะทำตามคำสั่งโดยพลการฉันจะชอบถ้าคิวนั้นมีเสถียรภาพในแง่ที่ว่าถ้ามีองค์ประกอบขั้นต่ำมากกว่าหนึ่งชิ้นมันควรคืนค่าเก่าที่สุดก่อน

หากคุณต้องการ 'เก่าที่สุดก่อน' คำสั่งซื้อของคุณจะเสร็จสมบูรณ์อย่างมีประสิทธิภาพ รายการ 'เปรียบ' เทียบได้กับอายุ

เพิ่มการประทับเวลา (หรือจำนวนเต็มอื่น ๆ ที่จำเจเพิ่มขึ้น) ในแต่ละรายการและใช้หากการเปรียบเทียบ 'ของจริง' เป็นไปไม่ได้


3
มันจะดีมากถ้ามันสามารถสร้างส่วนขยายเชิงเส้นของการเรียงลำดับบางส่วนได้ แต่มันไม่ใช่ ลองมามีค่าที่แตกต่างกัน 3 ค่า, เรียงตามลำดับa , b , c , ซึ่งc ≤ aและbนั้นหาที่เปรียบไม่ได้ด้วย ส่วนขยายที่มีการประทับเวลาเติมใน≤ 'bและb ≤' cดังนั้นจากความไวแสงในขณะนี้aควรน้อยกว่าcแต่มันขัดแย้งกับการสั่งซื้อจริง

บางทีคุณอาจสับสนด้วยคำสั่งที่อ่อนแอ ในการจัดลำดับที่อ่อนแอองค์ประกอบที่เปรียบมิได้จะสร้างคลาสที่เท่ากันดังนั้นคุณสามารถเพิ่มเกณฑ์เพิ่มเติมตามอำเภอใจได้ สำหรับการสั่งซื้อบางส่วนคุณไม่สามารถทำได้

1

แก้ไข: นี่ดูเหมือนจะเป็นปัญหาที่น่าสนใจและฉันมีการวิจัยเล็กน้อยเกี่ยวกับเรื่องนี้ ฉันขอแนะนำให้คุณอ่านต่อไปนี้:

  1. Darell Raymond ฐานข้อมูลคำสั่งบางส่วนวิทยานิพนธ์ระดับปริญญาเอกมหาวิทยาลัยวอเตอร์

ฉันแนะนำให้คุณอ่านบทความนี้: Daskalakis, Constantinos, และคณะ "การเรียงลำดับและการเลือกใน posets" วารสารสยามคอมพิวเตอร์ 40.3 (2554): 597-622

qO(nq)O(wn)w

หมายเหตุ: ฉันลบคำตอบไร้เดียงสาก่อนหน้านี้ โปรดคลิกที่แก้ไขเพื่อดู


0

การใช้คำศัพท์ของฉันอาจไม่ถูกต้อง โปรดแก้ไขคำตอบของฉันโดยตรงเพื่อแก้ไขปัญหาที่คุณพบ


ก่อนอื่นต้องตรวจหาชุดที่หาที่เปรียบไม่ได้ร่วมกันจากอินพุต

ตัวอย่างเช่นอาจมีวัตถุ 5 ชิ้นa, b, c, d, eแต่รูปแบบการสั่งซื้อบางส่วนของพวกเขาเป็นสองกราฟตัดการเชื่อมต่อ:

  • a ≤ b ≤ c
  • d ≤ e
  • แต่ใด ๆ ของ{a, b, c}ที่เปรียบมิได้กับใด ๆ {d, e}ของ

ชุดตรวจจับที่เปรียบมิได้เหล่านี้จำเป็นต้องตรวจพบก่อนก่อนที่วัตถุจะถูกเก็บไว้ในโครงสร้างข้อมูลที่เหมาะสม ซึ่งสามารถทำได้ด้วยอัลกอริทึมการค้นหาสหภาพ


เพื่อประสิทธิภาพการแทรกของวัตถุใหม่จำเป็นต้องมีวิธีที่มีประสิทธิภาพในการค้นหา "รายการของวัตถุที่มีอยู่ซึ่งเปรียบได้กับวัตถุใหม่นี้"


ตอนนี้ภายในแต่ละเซ็ตย่อย (ตามลำดับ{a, b, c}และ{d, e}) ค่าต่ำสุดควรมีความชัดเจน (สำหรับแต่ละชุดย่อยอาจมีหนึ่งหรือน้อยกว่านั้นเนื่องจากการสั่งซื้อบางส่วน)

ผมเห็นว่านี่เป็นชี้นำวัฏจักรกราฟ การพยายามใส่ให้พอดีกับกองดูเหมือนหายนะ


เมื่อต้องการแยก minima จากโครงสร้างข้อมูลคอมโพสิตนี้ขั้นตอนต่อไปคือการรับรายการ minima ทั้งหมดจากชุดย่อยทั้งหมดเลือกชุดที่มีการประทับเวลาที่เร็วที่สุดแล้วเอาออกและส่งคืนวัตถุนี้


น่าเสียดายที่ฉันไม่เห็นวิธีที่จะค้นหารายการของวัตถุที่เทียบเคียงได้อย่างมีประสิทธิภาพ

ชุดที่สั่งมาบางส่วนนั้นสามารถดูได้เป็นกราฟอะคิลิกกำกับ แต่สิ่งหนึ่งที่ได้รับจากตาราง adjacency (ฟังก์ชั่นจริง ๆ ) มากกว่ารายการ adjacency การค้นหาโพสิตรอนน้อยที่สุดที่กำหนดโดยรายการ adjacency นั้นเป็นเรื่องง่าย แต่สำหรับตาราง adjacency มันเป็นปัญหา

Minima นั้นถูกกำหนดอย่างดีในชุดดั้งเดิมเช่นกัน ฉันไม่เห็นว่าการค้นหาส่วนประกอบที่เชื่อมต่อจะช่วยได้อย่างไรเพราะมันไม่ใช่กราฟที่สมบูรณ์

1
ดูเหมือนว่าคุณจะคิดว่าแผนภาพ Hasse เป็นป่าของต้นไม้ยูนารี (กราฟเส้นทางที่เท่ากัน) แต่คำถามนี้ได้ระบุไว้แล้วว่ามันเป็นคำสั่งซื้อผลิตภัณฑ์ดังนั้นโครงตาข่ายหลายมิติ
Peter Taylor

0

โครงการที่ฉันกำลังทำอยู่นั้นเกี่ยวข้องกับปัญหาที่คล้ายกัน เรามีอัลกอริธึมเวลากำลังสองสำหรับการเรียงลำดับรายการที่สุ่มและฉันได้พัฒนาอัลกอริธึมการแทรกโดยการสังเกตพฤติกรรมของมันเมื่อวัตถุเพียงอันเดียวไม่อยู่ในอันดับ เราไม่รู้ว่านี่เป็นการใช้งานที่เร็วที่สุดหรือไม่

นี่คือรหัสเทียมบางส่วน

class PartialOrderPriorityQueue
   q <- empty list
   method insert (n):
     for i <- 0 to (q.length - 1):
       if q[i] <= n:
         t <- q[i]
         q[i] <- n
         n <- t
     q.append(n)

   method pop():
     return q.remove(0)

-1

พฤติกรรมฮีปปกติคือการผนวกค่าใหม่เข้ากับแบ็กเอนด์จากนั้นกรองขึ้นในขณะที่มันเปรียบเทียบมากกว่าพาเรนต์

หากคุณเขียนการเปรียบเทียบที่ส่งคืนค่าเดียวกันสำหรับพาเรนต์และชายด์ไม่ใช่เคสที่เทียบเคียงกันได้สำหรับพาเรนต์มากกว่า child , sift up ยังควรสิ้นสุดที่จุดที่ถูกต้อง

การนับนั้นเป็นการจัดลำดับที่มีเสถียรภาพเพียงพอสำหรับวัตถุประสงค์ของคุณหรือไม่?


ในการชี้แจงให้นำตัวอย่างจากความคิดเห็นของคุณ: a> bและcไม่เทียบกับaหรือb :

  • a แล้ว b = c => a, b, c ... นี่คือคำสั่งในกองแล้วและไม่มีอะไรที่เคยย้ายในการลอด
  • b, a, c => a, b, c ... a ถูกกรองไปยังตำแหน่งที่ถูกต้องและอีกครั้งเราอยู่ในลำดับที่ถูกต้องของฮีป
  • a, c, b => a, c, b ... b ไม่สามารถกรองได้เพราะมันไม่สามารถเทียบเคียงได้กับ c แต่สิ่งนี้ทำให้พวกมันอยู่ในลำดับ FIFO ตามที่คุณถาม
  • c, b, a => c, a, b ... a และ b อยู่ในลำดับญาติที่ถูกต้อง แต่ไม่สามารถไปข้างหน้าของ c เพราะพวกเขาไม่สามารถเปรียบเทียบกับมัน

ดังนั้นผลลัพธ์ขึ้นอยู่กับลำดับของการแทรก - นี่ดูเหมือนจะตรงกับสิ่งที่คุณขอ แต่ฉันไม่แน่ใจว่ามันเป็นสิ่งที่คุณต้องการจริงๆ หากไม่ใช่คุณสามารถแสดงผลลัพธ์ที่คุณต้องการเห็นได้หรือไม่?


ตกลงดังนั้นจากความคิดเห็นของคุณ (และการแก้ไขคำถามของคุณ) คุณต้องการให้องค์ประกอบที่ "เปรียบได้" เพื่อก้าวกระโดด "ที่ไม่สามารถเปรียบเทียบได้" และหาสถานที่ที่เหมาะสมภายใต้การสั่งซื้อถ้ามี ฉันถามเรื่องนี้เพราะฉันไม่แน่ใจว่าจะตีความอย่างไร

หากองค์ประกอบบางอย่างหาที่เปรียบไม่ได้มันจะส่งคืนพวกเขาตามลำดับที่พวกเขาแทรก

(d และ b เป็นจำนวนคู่ที่หาที่เปรียบมิได้ในการแก้ไขของคุณ แต่คุณไม่ต้องการให้เรียงตามลำดับที่ถูกแทรก)

คำถามต่อไปของฉันน่าจะเกี่ยวกับความสัมพันธ์ระหว่างองค์ประกอบ "เทียบเคียง" และ "ไม่สามารถเทียบเคียงได้" แต่ฉันเห็นว่าคุณเปิดเผยแล้วว่าพวกเขาอยู่ในลำดับเวกเตอร์ของผลิตภัณฑ์ (ไม่ชัดเจนว่าองค์ประกอบบางอย่างเป็นคู่) หาที่เปรียบไม่ได้กับทุกสิ่งเช่น NaN หรืออะไร)

ดังนั้นถ้าฉันยกตัวอย่างใหม่ของคุณและกำหนดค่าเวคเตอร์มันถูกต้องไหมว่านี่เป็นตัวอย่างที่ b ไม่เทียบเคียงได้กับสิ่งอื่น:

        a (1,1)
      /      \
    b (0,4)   c (3,3)
  /
d (2,2)

และควรเรียงลำดับดังนี้:

        a (1,1)
      /      \
    d (2,2)   c (3,3)
  /
b (0,4)

?


ฉันพูดถึงคำถามอย่างชัดเจนว่ามันใช้งานไม่ได้เพราะฉันคิดว่าฉันมีตัวอย่างที่เคาน์เตอร์ แต่ตอนนี้ฉันยังไม่แน่ใจ คุณสามารถพิสูจน์ได้ว่าคิวดังกล่าวจะเป็นเสียง (สำหรับการลบแทรกและอัปเดตด้วย) และจำไว้ว่าเป็นไปได้ที่≤ bแต่cนั้นไม่สามารถเทียบเคียงได้ (และจะเปรียบเทียบ "เท่ากับ" กับกฎข้างต้น) กับทั้งสองอย่าง

นั่นยังไม่สามารถพิสูจน์ได้ ยังไม่สนใจคำสั่งซื้อและพิสูจน์ว่า heap นั้นมีองค์ประกอบน้อยที่สุดที่ด้านบนเสมอ (หมายเหตุ: (มากกว่า) การประชุมทั่วไปและความต้องการที่แท้จริงของอัลกอริทึมนั้นน้อยที่สุดที่ด้านบนดังนั้นถ้าa> b , bมาก่อน )

ที่จริงฉันสงสัยว่ามีตัวอย่างที่เคาน์เตอร์ สมมติว่า, และอยู่ในกอง≤ขและ≤ค , อยู่ด้านบน, Bเป็นลูกซ้าย, เป็นเด็กที่เหมาะสม ตอนนี้มาที่d ≤คและหาที่เปรียบมิได้มีและข มันถูกแทรกเป็นลูกของb , ไม่น้อยและอยู่ที่นั่น ตอนนี้มาอีที่เป็นค≤อี (จึงยัง≤อี ) และเปรียบข ดังนั้นeไปในฐานะลูกที่ถูกต้องของbและอยู่ ตอนนี้แยกa (ตกลงaน้อยที่สุด) eได้ถูกสับเปลี่ยนกันอยู่ที่เดิมแล้วร่อนลง มันเป็นเปรียบแต่น้อยกว่าเพื่อแลกเปลี่ยนกับค ตอนนี้สารสกัดจาก , ผิด , d ≤ค

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

1
ตกลงแม้แต่ตัวอย่างเคาน์เตอร์ที่ง่ายกว่า สมมติว่าa , bและcอยู่ใน heap, a ≤ , bนั้นหาที่เปรียบไม่ได้ด้วยเช่นกัน aคือด้านบน, bคือลูกที่เหลือ, cคือลูกที่ถูกต้อง dมาในเพื่อให้d ≤ (ดังนั้นวันที่≤ค ) และหาที่เปรียบมิได้กับข ช่องฟรีถัดไปเป็นลูกที่เหลือของbและdหาที่เปรียบมิได้ดังนั้นจึงอยู่ที่นั่น ตอนนี้แยก, ผิด , d ≤ โปรดทราบว่าไม่ว่าจะเป็น or not does not matter, the situation is the same if they were incomparable.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.