การเปลี่ยนแปลงของเกม


20

นี่เป็นการทบทวนคำถามก่อนหน้านี้อีกครั้ง

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

  • (1,2,3,4) - บ๊อบชนะทันทีตามคำจำกัดความ

  • (4,3,2,1) - อลิซชนะหลังจากสามรอบไม่ว่าใครจะเล่น

  • (2,4,1,3) - บ๊อบสามารถชนะในรอบแรกได้ไม่ว่าอลิซจะเล่นอย่างไร

  • (1,3,2,4) - อลิซชนะทันทีโดยลบ 2 หรือ 3; ไม่เช่นนั้นบ๊อบสามารถชนะในเทิร์นแรกของเขาได้โดยการลบ 2 หรือ 3

  • (1,4,3,2) - ในที่สุดอลิซชนะถ้าเธอใช้ 1 ในเทิร์นแรกของเธอ; ไม่เช่นนั้นบ๊อบสามารถชนะในเทิร์นแรกของเขาได้โดยไม่ลบ 1

มีอัลกอริธึมเวลาพหุนามเพื่อพิจารณาว่าผู้เล่นคนไหนที่ชนะเกมนี้จากการเปลี่ยนแปลงเริ่มต้นที่กำหนดโดยสมมติว่าเป็นการเล่นที่สมบูรณ์แบบ ? โดยทั่วไปแล้วเนื่องจากเป็นเกมที่เป็นกลางมาตรฐานการเปลี่ยนแปลงทุกครั้งมีค่าSprague – Grundy ; ตัวอย่างเช่น (1,2,4,3) มีค่า* 1และ (1,3,2) มีค่า * 2 การคำนวณค่านี้ยากแค่ไหน?

อัลกอริทึมการย้อนรอยที่เห็นได้ชัดทำงานในเวลา O (n!) ถึงแม้ว่าสิ่งนี้จะสามารถลดลงเป็นเวลาผ่านการเขียนโปรแกรมแบบไดนามิกO(2npoly(n))


4
ดูเหมือนว่าอัลกอริทึมไร้เดียงสาจะทำงานในเวลา O (2 ^ n⋅poly (n))
Tsuyoshi Ito

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

1
@chazisop:“ อลิซชนะเสมอหากลำดับลดลงมา” นั่นคือกรณีที่หาก n เป็นเลขคู่
Tsuyoshi Ito

@ Jɛ ff E ในกรณีที่ 3 บ๊อบชนะในเทิร์นแรกของเขาอย่างไร
Suresh Venkat

2
@Suresh: ในกรณีของ (2,4,1,3) การแทนกราฟคือกราฟเชิงเส้นใน 4 จุดยอด (2-1-4-3) ถ้าอลิซลบโหนดปลายทางออกจากกราฟเชิงเส้นบน 3 จุดยอด; Bob ชนะโดยการลบจุดสุดยอดกลาง (ตอบ 3 โดย 1 และ 2 ตอบโดย 4) ถ้าอลิซลบโหนดภายในออกสิ่งนี้จะทำให้ทั้งสองจุดยอดที่เชื่อมต่อและโหนดแยก บ๊อบชนะโดยการลบจุดยอดที่เชื่อมต่อกันอย่างใดอย่างหนึ่ง (ดังนั้น 1 ตอบโดย 3 หรือ 4 และ 4 ตอบโดย 1 หรือ 2)
mjqxxxx

คำตอบ:


7

"เกมเรียงสับเปลี่ยน" isomorphic ในเกมต่อไปนี้:

ปลด ผู้เล่นสลับลบจุดจากกราฟGผู้เล่นที่สร้างกราฟที่ตัดการเชื่อมต่ออย่างสมบูรณ์ (เช่นกราฟที่ไม่มีขอบ) เป็นผู้ชนะG

กราฟสอดคล้องกับการเปลี่ยนแปลงเริ่มต้นโดยเฉพาะมีเพียงขอบเหล่านั้นซึ่งและมีสัญญาณตรงกันข้าม นั่นคือตัวเลขแต่ละคู่ในลำดับที่ไม่ถูกต้องในการเปลี่ยนแปลงมีความสัมพันธ์กับขอบ เห็นได้ชัดว่าการเคลื่อนไหวที่อนุญาตคือ isomorphic ต่อผู้ที่อยู่ในเกมเรียงสับเปลี่ยน (ลบตัวเลข = ลบโหนด) และเงื่อนไขการชนะคือ isomorphic เช่นกัน (ไม่มีคู่ตามลำดับจากมากไปน้อย = ไม่มีขอบเหลืออยู่) π S n ( ฉัน, J ) ฉัน- เจπ ( ฉัน) - π ( J )GππSn(i,j)ijπ(i)π(j)

ได้รับมุมมองที่สมบูรณ์โดยพิจารณาจากการเล่นเกม "คู่" บนกราฟประกอบซึ่งมีขอบเหล่านั้นที่และเป็น ในลำดับที่ถูกต้องในการเปลี่ยนแปลง เกมคู่ที่จะตัดการเชื่อมต่อคือ: ( i , j ) i jGπc=GR(π)(i,j)ij

เชื่อมต่อ ผู้เล่นสลับลบจุดจากกราฟGผู้เล่นที่สร้างกราฟที่สมบูรณ์เป็นผู้ชนะG

เกมหนึ่งเกมเหล่านี้อาจดูง่ายกว่าเกมอื่นที่ต้องทำการวิเคราะห์ ข้อดีของการแสดงกราฟคือชัดเจนว่าองค์ประกอบที่ไม่ได้เชื่อมต่อของกราฟนั้นเป็นเกมที่แยกจากกันดังนั้นเราจึงหวังว่าจะลดความซับซ้อนลงได้บ้าง นอกจากนี้ยังทำให้สัดส่วนของตำแหน่งชัดเจนขึ้น แต่น่าเสียดายที่สภาพการชนะที่ไม่ได้มาตรฐาน ... เกมการเปลี่ยนแปลงมักจะจบก่อนที่จะย้ายทั้งหมดจะถูกนำมาใช้ให้มันอะไรบางอย่างที่misèreตัวอักษร โดยเฉพาะอย่างยิ่ง nim-value ไม่สามารถคำนวณเป็น nim-sum (binary XOR) ของ nim-values ​​ของคอมโพเนนต์ที่ตัดการเชื่อมต่อ


สำหรับการยกเลิกการเชื่อมต่อก็ไม่ยากที่จะเห็นว่ากราฟใด ๆและแม้เกมเทียบเท่ากับ (ที่เป็นกราฟ edgeless บนจุด) . เพื่อพิสูจน์ว่าเราต้องแสดงให้เห็นว่าผลรวมเป็นผู้เล่นที่สองที่ชนะ หลักฐานอยู่โดยอุปนัยบน nหากไม่มีขอบผู้เล่นคนแรกเสียทันที (ทั้งสองเกมจบ) มิฉะนั้นผู้เล่นคนแรกสามารถย้ายในและผู้เล่นที่สองสามารถคัดลอกการเคลื่อนไหวของเขาในอีกคนหนึ่ง (ลดเหลือด้วยn G ˉ K n G ˉ K n n G + G ˉ K n | G | + n G G G ' + G '¯ K n | G | = | G | - 1 n 2 G + G ˉ K n - 2GnGK¯nGK¯nnG+GK¯n|G|+nGGG+GKn¯|G|=|G|1 ); หรือถ้าผู้เล่นคนแรกสามารถย้ายในส่วนที่ไม่ได้เชื่อมต่อและผู้เล่นคนที่สองสามารถทำเช่นเดียวกัน (ลดลงถึง )n2G+GK¯n2

นี้แสดงให้เห็นว่ากราฟเทียบเท่ากับที่เป็นส่วนหนึ่งของไม่มีจุดเชื่อมต่อและหรือคือความเท่าเทียมกันของจำนวนของจุดเชื่อมต่อในGเกมทุกเกมในคลาสที่เท่าเทียมกันมีค่า nim-value เหมือนกันและยิ่งกว่านั้นความสัมพันธ์ที่เท่าเทียมกันจะเคารพการดำเนินการของสหภาพ: ถ้าและจากนั้นP'} ยิ่งไปกว่านั้นเราจะเห็นว่าเกมในและH K p H G p = 0 1 G G H K p G H K p G GG ( H H ) K p p [ H K 0 ] [ H K 1 ] H H + H GHKpHGp=01GGHKpGHKpGG(HH)Kpp[HK0][HK1]มีค่า nim ต่างกันยกเว้นคือกราฟว่าง: เมื่อเล่นผู้เล่นคนแรกสามารถใช้จุดสุดยอดที่แยกได้ออกจากแล้วคัดลอกการเคลื่อนไหวของผู้เล่นคนที่สองหลังจากนั้นH H + HH+HK1H+H

ฉันไม่ทราบผลลัพธ์การสลายตัวใด ๆ ที่เกี่ยวข้องสำหรับการเชื่อมต่อใหม่


การเรียงสับเปลี่ยนแบบพิเศษสองแบบสอดคล้องกับเกมฮีปง่าย ๆ โดยเฉพาะ

  1. ครั้งแรกเป็นจากน้อยไปมากวิ่งแทรกเช่น32165487เมื่อจะใช้รูปแบบนี้รูปแบบของกราฟเป็นสหภาพของชมรมเคลื่อนและเกมปลดลดเกมบนกอง: ผู้เล่นสลับกันเอาถั่วเดียวจากกองจนกว่ากองทุกคนมีขนาด 1π G π 132165487πGπ1
  2. ประการที่สองคือจากมากไปน้อยวิ่งขึ้นเป็นเช่น78456123เมื่อใช้แบบฟอร์มนี้กราฟเป็นกลุ่มของกลุ่มที่ไม่ต่อเนื่องกันและเกมของ Reconnect จะลดเกมเป็นกอง: ผู้เล่นสลับเอาถั่วเดี่ยวออกจากกองจนกว่าจะมี เพียงหนึ่งกองทิ้งไว้π G c π78456123πGπc

ความคิดเล็ก ๆ น้อย ๆ แสดงให้เห็นว่าเกมที่แตกต่างกันสองเกมนี้บนกอง (เราสามารถเรียกพวกเขาว่า1-HeapsและOne-Heapซึ่งมีความเสี่ยงที่จะเกิดความสับสน ทั้งคู่สามารถแสดงโดยเกมบนไดอะแกรม Young (ตามที่เสนอครั้งแรกโดย @domotorp) ซึ่งผู้เล่นเลือกที่จะลบสี่เหลี่ยมจัตุรัสล่างขวาจนกระทั่งเหลือเพียงแถวเดียวเท่านั้น เห็นได้ชัดว่าเป็นเกมเดียวกับ 1-Heaps เมื่อคอลัมน์ตรงกับ heaps และเกมเดียวกับ heap เมื่อแถวตรงกับ heaps

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

ในคำตอบของเขา @PeterShor ให้การวิเคราะห์ที่สมบูรณ์ของ One-Heap ผลที่ได้คือ:

  • อ็อตโตชอบ -heaps และ -heaps และสามารถทนฮีปที่ใหญ่กว่าเดี่ยวได้ เขาชนะถ้าเขาสามารถทำให้ขนาดกองทั้งหมดยกเว้นหนึ่งอย่างน้อยโดยไม่ต้องให้อีฟชนะทันทีในรูปแบบn) กลยุทธ์ที่เหมาะสมที่สุดสำหรับอ็อตโตอยู่เสมอใช้เวลาจากกองใหญ่เป็นอันดับสองยกเว้นเมื่อรัฐเป็นเมื่อเขาควรจะใช้เวลาจากnอ็อตโตจะสูญเสียถ้ามีถั่วจำนวนมากในกองใหญ่เริ่มต้นด้วย2 2 ( 1 , n ) ( 1 , 1 , n > 1 ) n122(1,n)(1,1,n>1)n
  • อีฟไม่ชอบ -heaps เธอชนะถ้าเธอสามารถทำให้กองทุกขนาด2 กลยุทธ์ที่ดีที่สุดสำหรับอีฟคือการใช้เวลาตั้งแต่ -heap ถ้ามีและจะไม่ใช้จาก -heap อีฟจะสูญเสียถ้ามี -heaps มากเกินไปที่จะเริ่มต้นด้วย2 1 2 112121

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

  • อ็อตโตชอบฮีปขนาดใหญ่หนึ่งหรือสองกองและสามารถทนต่อ -heaps ได้ไม่ จำกัด จำนวน เขาชนะถ้าเขาสามารถทำให้ทุก แต่ทั้งสองกองใหญ่ที่สุดเป็น -heaps อย่างน้อยโดยไม่ต้องให้อีฟชนะทันทีในรูปแบบ1,2) กลยุทธ์ที่ดีที่สุดสำหรับอ็อตโตคือการรับจากกองที่ใหญ่เป็นอันดับสามเสมอหรือจากกองเล็ก ๆ เมื่อมีเพียงสองกอง1 ( 1 , 1 , , 1 , 2 )11(1,1,,1,2)
  • อีฟไม่ชอบช่องว่างระหว่างกองที่ใหญ่ที่สุดและใหญ่เป็นอันดับสอง เธอชนะถ้าเธอสามารถทำให้ฮีปทั้งสองมีขนาดใหญ่เท่ากัน กลยุทธ์ที่ดีที่สุดสำหรับอีฟต้องใช้จากกองที่ใหญ่ที่สุดเสมอหากเป็นเอกลักษณ์และไม่เคยมีขนาดที่ใหญ่ที่สุดสองเท่าแน่นอน

ในฐานะที่เป็น @PeterShor บันทึกไม่ชัดเจนว่า (หรือถ้า) การวิเคราะห์เหล่านี้สามารถขยายไปยังเกมทั่วไปของ Disconnect และ Reconnect ได้อย่างไร


2
ฉันคิดว่าเกมประเภทนี้เรียกรวมกันว่า "เกมการลบจุดสุดยอด" แต่ฉันเห็นด้วยกับคุณว่าสภาพการชนะค่อนข้างไม่เป็นมาตรฐานเพราะมันหมายถึงทรัพย์สินทั่วโลกของกราฟแทนที่จะเป็นคุณสมบัติในท้องถิ่นเช่นระดับของ จุดสุดยอด
Tsuyoshi Ito

4
กราฟที่สร้างขึ้นเรียกว่ากราฟเรียงสับเปลี่ยน ( en.wikipedia.org/wiki/Permutation_graph ) ในวรรณคดี คุณสมบัติโครงสร้างบางอย่างอาจช่วยได้
โยชิโอะโอคาโมโตะ

1
@ โยชิโอ: นั่นเป็นจุดที่ดี เกมเรียงสับเปลี่ยนนั้นมีความผิดปกติกับเกมกราฟ แต่กราฟเริ่มต้นนั้นไม่ได้กำหนดขึ้นเอง ดังนั้นแม้ว่าเกมกราฟทั่วไปจะยากต่อการวิเคราะห์เป็นไปได้ว่าเมื่อ จำกัด คลาสย่อยของกราฟนี้มันจะง่ายขึ้น
mjqxxxx

2
ในทางกลับกันการกำหนดทั่วไปที่มากกว่านั้นอาจพิสูจน์ได้ยากกว่า ตัวแปรของเกมจุดสุดยอด - การลบเป็นที่รู้จักกันในชื่อ PSPACE-hard ตัวอย่างเช่น: emis.ams.org/journals/INTEGERS/papers/a31int2005/a31int2005.pdf
Jeffε

2
ฉันได้เพิ่มคำถามเกี่ยวกับเกมประเภทนี้โดยเฉพาะที่ math.SE ( math.stackexchange.com/questions/95895/… ) อนึ่งเนื่องจากการเรียงสับเปลี่ยนกราฟเป็นกราฟวงกลมการกำหนดทางเลือกมีดังต่อไปนี้: ผู้เล่นผลัดกันเอาคอร์ดออกจากชุดเริ่มต้น; ผู้เล่นที่ออกชุดคอร์ดที่ไม่ตัดกันจะเป็นผู้ชนะ
mjqxxxx

7

ในคำตอบของเขา domotorp แนะนำการวิเคราะห์กรณีพิเศษของเกม กรณีพิเศษนี้เกิดขึ้นเมื่อการเรียงสับเปลี่ยนเป็นลำดับของลำดับที่เพิ่มขึ้นซึ่งแต่ละอันมีขนาดใหญ่กว่าลำดับต่อไปนี้เช่น (8,9,5,6,7,4,1,2,3) ในเกมนี้คุณเริ่มต้นด้วยชุดของก้อนหินและผู้เล่นสลับเอาก้อนหินหนึ่งก้อนออกจากกอง ผู้เล่นที่ออกจากกองเดียวชนะ เราจะบอกว่า TH กองมีหินในนั้นและคิดว่าจะได้รับในการสั่งซื้อลดลง ตัวอย่างเช่นสำหรับการเปลี่ยนแปลงข้างต้นคือ 3,3,2,1 ฉันพยายามวิเคราะห์เกมนี้ในความคิดเห็นต่อคำตอบของ domotorp แต่ (a) ฉันเข้าใจผิดและ (b) ไม่มีความคิดเห็นเพียงพอที่จะแสดงหลักฐานจริงiชั่วโมงฉันชั่วโมงฉันhihihi

ในการวิเคราะห์เกมนี้เราต้องเปรียบเทียบสองปริมาณ: , จำนวนฮีปที่ประกอบด้วยสโตนเดี่ยวและ ; โปรดทราบว่าเราไม่สนใจฮีปที่ใหญ่ที่สุดในจำนวนรวม นี่คือจำนวนของหินที่คุณจะต้องลบออกเพื่อให้แน่ใจว่ากองทั้งหมด แต่อย่างใดอย่างหนึ่งมีไม่เกินสองก้อน เราอ้างว่าสถานะการสูญเสียมีดังนี้:t = i 2 , h i > 2st=i2,hi>2hi2

  1. ตำแหน่งที่มีจำนวนหินแปลกts2

  2. ตำแหน่งที่มีจำนวนของก้อนหินts

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

เพื่อให้การแสดงจบลงว่าถูกต้องเราจำเป็นต้องแสดงให้เห็นว่าจากตำแหน่งใด ๆ ที่ไม่อยู่ในหมวดหมู่ (1) หรือ (2) ผู้เล่นคนแรกสามารถเคลื่อนที่หนึ่งครั้งไปถึงตำแหน่งในหมวดหมู่ (1) หรือ (2) หรือชนะโดยตรง

มีสองกรณี:

  1. ตำแหน่งที่มีจำนวนของหินแปลก ที่นี่ถ้าให้เอาหินออกจากกองด้วยหินก้อนเดียว หากเหลือเพียงกองเดียวเราจะชนะ มิฉะนั้นเราตอนนี้มีs หากไม่มีกองหินก้อนเดียวให้เอาก้อนหินออกจากกองอย่างน้อยสามก้อน (เนื่องจากมีหินแปลกจำนวนมากจึงเป็นไปได้) ตั้งแต่เรามีss > 0 t s s = 0 t sts1s>0tss=0ts

  2. ตำแหน่งที่มีจำนวนของก้อนหิน ที่นี่หากมีกองใด ๆ ที่มีหินอย่างน้อยสองก้อนนอกเหนือจากกองใหญ่ที่สุดให้เอาหินออกจากก้อนใดก้อนหนึ่ง หากกองนี้มีหินสามก้อนหรือมากกว่านั้นหินจะลดลงก้อน หากมีตรงสองหินในมันเพิ่มขึ้นโดยหนึ่ง ขณะนี้เรามีS-2 กรณีสุดท้ายคือเมื่อกองทั้งหมดยกเว้นหนึ่งประกอบด้วยหินเดียว; ในกรณีนี้มันเป็นเรื่องง่ายที่จะตรวจสอบผู้เล่นคนแรกที่ชนะถ้ามีจำนวนของหินt s t s - 2ts1tsts2

ฉันได้ลองใช้กลยุทธ์นี้กับเกมดั้งเดิมและไม่ได้คิดวิธีที่จะทำ


1
ในคำตอบของฉันฉันตั้งข้อสังเกตว่าการแก้ปัญหากรณีพิเศษนี้ยังแก้กรณีพิเศษด้วยการลดจำนวนการรันที่เพิ่มขึ้นโดยการเล่นในตำแหน่ง "คู่" ที่ได้รับจากการย้ายแผนภาพ Young โดยเฉพาะอย่างยิ่งกลยุทธ์ที่ดีที่สุดของอีฟกลายเป็น "รับจากกองที่ใหญ่ที่สุดเว้นแต่จะมีสองขนาดนั้น" และกลยุทธ์ที่เหมาะสมที่สุดของอ็อตโตกลายเป็น "รับจากกองที่เล็กที่สุด"
mjqxxxx

ฉันมั่นใจว่าวิธีการนี้จะนำไปสู่ทางออกที่สมบูรณ์แบบ แต่ในขณะนี้ยังมีข้อผิดพลาดเล็กน้อยเช่น (3,1) ไม่แพ้และ (3,1,1) เป็น ปัญหาคือคำจำกัดความของ 2 ควรแยกกรณีนี้เนื่องจากเราสามารถเข้าถึงหนึ่งฮีปตำแหน่งในขั้นตอนเดียว แต่ฉันคิดว่านี่เป็นปัญหาเดียวของ 2. และหวังว่ามันจะไม่ยากที่จะแก้ไข
domotorp

1
@domotorp: สำหรับ (3,1), t = 0 และs = 1 ดังนั้นt sและเกณฑ์ (2) บอกว่ามันไม่ใช่ตำแหน่งที่แพ้ สำหรับ (3,1,1), t = 0 และs = 2 ดังนั้นt s 2 และเกณฑ์ (1) บอกว่ามันเป็นตำแหน่งที่สูญเสีย ฉันคิดว่าคุณพลาดไปในนิยามของtคุณไม่สนใจกองใหญ่ที่สุด -
Peter Shor

แน่นอนฉันลืมส่วนนั้นในตอนท้าย ... จากนั้นเกมนี้ได้รับการแก้ไข!
domotorp

1
ไม่ใช่คำตอบที่สมบูรณ์ แต่ก็ยังคุ้มค่ากับความโปรดปราน
Jeff

3

ฉันใช้โซลูชันเพื่อตรวจสอบสมมติฐานอย่างรวดเร็ว รู้สึกอิสระที่จะเล่นกับมัน หากคุณไม่มีคอมไพเลอร์ C ++ แบบโลคัลคุณสามารถรันบนอินพุตที่แตกต่างกันแบบรีโมตโดยใช้ลิงก์ "อัพโหลดด้วยอินพุตใหม่"O(2nn)

@ Jɛ ff E เกิดขึ้นที่ (1,4,3,2) มีค่า * 1 ไม่ใช่ * 2 ตามที่คุณแนะนำ


โอ๊ะฉันผิดพลาด แก้ไขคำถาม: g (1,3,2) = mex {g (1,3), g (1,2), g (3,2)} = mex {0, 0, * 1} = * 2
Jeff

@ Jɛ ff E เป็นที่น่าสนใจว่าสำหรับค่า SG ของตำแหน่งใด ๆ ไม่เกิน 2 ฉันพยายามที่จะพิสูจน์ว่าตอนนี้สำหรับโดยพลการแม้ว่าฉันจะไม่ช่วยได้อย่างไร nn10n
Dmytro Korduban

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

3

แก้ไขวันที่ 5 มกราคม: อันที่จริงเกม One Heap ที่อธิบายไว้ด้านล่างเป็นกรณีพิเศษของปัญหาเช่นเมื่อตัวเลขติดตามกันในลักษณะเฉพาะเช่นกลุ่มแรกมีขนาดใหญ่กว่ากลุ่มที่สองซึ่งใหญ่กว่ากลุ่มที่สาม ฯลฯ และตัวเลขในแต่ละกลุ่มก็เพิ่มขึ้น เช่น 8, 9, 4, 5, 6, 7, 2, 3, 1 เป็นการเปลี่ยนแปลงเช่นนี้ ดังนั้นฉันจึงเสนอให้แก้กรณีพิเศษนี้ก่อน

ข้อจำกัดความรับผิดชอบ: ฉันไม่อ้างว่าหลักฐานด้านล่างนี้ถูกต้องอีกต่อไปดูเช่นความคิดเห็นของ Tsuyoshi ซึ่งแสดงให้เห็นว่าการลบตัวเลขจากการเปลี่ยนแปลงจะทำให้ไดอะแกรมไม่สามารถทำได้โดยการลบสี่เหลี่ยมออกจากแผนภาพของการเปลี่ยนแปลง ฉันทิ้งคำตอบไว้ที่นี่เพื่อแสดงให้เห็นว่าวิธีการนี้ใช้ไม่ได้และเนื่องจากมันมีเกมง่ายๆอีกเกมหนึ่ง

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

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

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

แม้ว่าเกมไดอะแกรมนี้จะง่ายพอ แต่ก็มีความคล้ายคลึงกับเกมต่อไปนี้เล็กน้อยซึ่งดูเหมือนจะเป็นมาตรฐานมากกว่า:

เกม Heap หนึ่งเกม: ผู้เล่นจะได้รับกองบางก้อนในแต่ละก้อน ในแต่ละตาแหน่งหากมีฮีปเดียวเหลือผู้เล่นปัจจุบันแพ้และผู้เล่นอื่นชนะ มิฉะนั้นผู้เล่นปัจจุบันจะลบก้อนกรวดออกจากกองและเล่นผ่านไปยังผู้เล่นคนอื่น

หากมีวิธีง่ายๆในเกม heap (และฉันเชื่ออย่างยิ่งว่ามีอยู่หนึ่งเกม) เรายังได้คำตอบสำหรับเกมดั้งเดิม: เพียงแค่ใส่ลำดับใน Young Tableaux แล้วแปลงแผนภาพเป็นกอง

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

หนึ่งกอง; (1,1,1); (2,2); (3,1,1); (2,1,1,1); (1,1,1,1,1); (4,2); (3,3); (2,2,2)

ทุกคนสามารถแก้เกมนี้ได้?

แก้ไข: Peter Shor สามารถดูคำตอบของเขา!


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

5
นี่คือตัวอย่างต่อต้านการเรียกร้องที่อ่อนแอว่าการลบตัวเลขออกจากการเปลี่ยนแปลงนั้นสอดคล้องกับการลบเซลล์ด้านล่างขวาหนึ่งออกจากแผนภาพ Young ที่เกี่ยวข้อง(แทน Young tableau ) ให้ n = 5 และพิจารณาตำแหน่งที่ระบุโดยการเปลี่ยนแปลง [4,1,3,5,2] (นั่นคือσ (1) = 4, σ (2) = 1, และอื่น ๆ ) และลบ 3 จากมัน. แผนภาพ Young ที่สอดคล้องกันก่อนการย้ายคือ 5 = 3 + 1 + 1 แต่แผนภาพ Young ที่สอดคล้องกันหลังจากการย้ายคือ 4 = 2 + 2 ซึ่งไม่ได้รับจากการลบหนึ่งเซลล์จาก 3 + 1 + 1
Tsuyoshi Ito

5
และการเรียงสับเปลี่ยน [5,4,1,2,3] มีแผนภาพ Young เหมือนกับ [4,1,3,5,2] แต่คุณไม่สามารถเข้าถึง Young แผนภาพ 4 = 2 + 2 จากนั้น ดังนั้นเกมขึ้นอยู่กับรูปร่างของ Young tableau
Peter Shor

2
ไชโยสำหรับความเข้าใจผิดที่สร้างสรรค์!
Jeff

3
@ Jɛ ff E: ใช่มันมีประโยชน์มากกว่าการพิสูจน์ว่ามีการเข้าใจผิด
Tsuyoshi Ito
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.