คำถามติดแท็ก cellular-automata

ปริศนาที่เกี่ยวข้องกับเซลลูลาร์ออโตมาตะเช่นเกมแห่งชีวิตของคอนเวย์

3
ใช้การจัดช่องไฟแบบง่าย
บทนำ การจัดช่องไฟหมายถึงการปรับระยะห่างระหว่างตัวอักษรของข้อความ ยกตัวอย่างพิจารณาคำที่Topเขียนด้วยร่ายมนตร์ต่อไปนี้สามอัน: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... เราสามารถเติมช่องว่างระหว่างร่ายมนตร์ด้วยจุดแล้วเติมลงไปได้ แต่ช่องว่างก็ดูกว้างเกินไป แต่เราเลื่อนร่ายมนตร์ไปทางซ้ายเพื่อให้พวกมันสัมผัสเกือบ: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... มันดูดีขึ้นมาก! หมายเหตุวิธีบาร์ของด้านบนของเส้นขอบด้านซ้ายของT oในการท้าทายนี้งานของคุณคือการใช้โปรแกรมการจัดช่องไฟอย่างง่ายสำหรับร่ายมนตร์รูปสี่เหลี่ยมผืนผ้าดังกล่าว กระบวนการจัดช่องไฟ พิจารณาสองสี่เหลี่ยม 2D อาร์เรย์ของตัวอักษร.และ#รูปทรงเดียวกัน ในขั้นตอนการจัดช่องไฟอย่างง่ายของเราอันดับแรกเราวางอาร์เรย์แบบเรียงต่อกันโดยมีคอลัมน์หนึ่งคอลัมน์.อยู่ระหว่างกัน จากนั้นเราย้ายแต่ละรายการ#ในอาเรย์ขวาหนึ่งก้าวไปทางซ้ายจนกระทั่ง#อาเรย์ซ้ายและขวาบางอันอยู่ติดกันแบบมุมฉากหรือแนวทแยงมุม ผลลัพธ์ของการจัดช่องไฟเป็นขั้นตอนก่อนที่เราจะแนะนำ#s ที่อยู่ติดกัน งานของคุณคือการใช้กระบวนการนี้ …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

8
จำลองหุ่นยนต์เคลื่อนที่ของ Wireworld
Wireworldเป็นหุ่นยนต์อัตโนมัติที่ออกแบบมาให้มีลักษณะคล้ายอิเล็กตรอนที่ไหลผ่านสายไฟ กลไกง่าย ๆ ของมันช่วยให้การสร้างวงจรดิจิตอล มันได้รับอนุญาตแม้แต่การก่อสร้างของคอมพิวเตอร์ทั้งหมด ภารกิจของคุณคือการสร้างการติดตั้ง Wireworld ที่สั้นที่สุดในภาษาที่คุณเลือก แต่ละเซลล์ในกริดมีหนึ่งในสี่สถานะ สี่รัฐคือ "ช่องว่าง" "ทองแดง" "หัวอิเล็กตรอน" หรือ "หางอิเล็กตรอน" เซลล์ว่างจะยังคงเป็นเซลล์ว่างเสมอ หัวอิเล็กตรอนจะกลายเป็นหางอิเล็กตรอนเสมอ หางอิเล็กตรอนจะกลายเป็นทองแดงเสมอ เซลล์ทองแดงจะกลายเป็นหัวอิเล็กตรอนถ้าหนึ่งหรือสองในแปดเพื่อนบ้านเป็นหัวอิเล็กตรอนไม่เช่นนั้นจะยังคงอยู่ที่ทองแดง การแข่งขันนี้จะมีรูปแบบคล้ายกับการแข่งขันShortest Game of Lifeแต่มีการเปลี่ยนแปลงเล็กน้อย ตารางต้องมีอย่างน้อย 40 คูณ 40 เซลล์ ขอบของกริดต้องไม่พันกัน (ไม่ใช่ทอรัส) ปฏิบัติต่อเซลล์ภายนอกสนามว่า "ว่าง" อย่างต่อเนื่อง ผู้ใช้ต้องป้อนการกำหนดค่าเริ่มต้นของตนเอง การจ้องมองที่หน้าจอว่างเปล่านั้นไม่สนุก โปรแกรมต้องแสดงภาพจำลองขณะที่กำลังทำงาน นี่คือรหัสกอล์ฟมีจำนวนน้อยที่สุดที่จะชนะ

10
ลำดับ XOROR
เซลลูล่าร์ออโตมาน่าหลงใหลอย่างแท้จริง สิ่งที่มักถูกพูดถึงคือเลขฐานสองคือเลขที่แทนด้วยตัวเลข อย่างไรก็ตามในความคิดของฉันได้ทำไปสู่ความตาย Ternary CA นั้นน่าสนใจกว่านี้ แต่เรามี ASCII ทั้งหมดที่ต้องพิจารณา! สนุกจังเลย! แทนที่จะเลือกชุดกฎสำหรับตัวละครแต่ละตัวฉันจะใช้กฎการตัดสินใจง่าย ๆ ที่จะพูดถึงในไม่ช้า ในการตัดสินใจเลือกคนรุ่นต่อไปเราจะพิจารณาเซลล์ "สามอันดับแรก" เหมือนเซลล์ออโตมาตา สังเกตตัวอย่าง: QWERTY X Y Z "ด้านบน" ของYคือWERการเป็นเซลล์ด้านบนและขวาด้านบนและด้านบนและด้านซ้าย Y จะเป็นผลมาจากฟังก์ชั่นที่ฉันกำลังจะกำหนดซึ่งเป็นฟังก์ชั่นในสามสายอักขระ "top" ของXเป็น QW, หรือบรรจุในพื้นที่ที่ไม่มีอยู่จริง / มือถือที่หายไป ตอนนี้สำหรับฟังก์ชั่นความสนุก ! ฉันเรียกลำดับนี้ว่าลำดับ XOROR ด้วยเหตุผล อนุญาตให้Aเป็นรหัสอักขระเซลล์ด้านบนซ้ายเป็นรหัสอักขระBของเซลล์ด้านบนและCเป็นรหัสอักขระของเซลล์ด้านบนขวา จากนั้นเซลล์ที่เกิดเป็นตัวละครที่มี charcode เป็น(A XOR B) OR C, (A^B)|Cที่อยู่, (หากค่าผลลัพธ์มากกว่า 126 จะมีการตั้งค่าเป็น(CHARCODE % 127) …

5
มีวัตถุแข็งหรือวัตถุนิ่ม ๆ หรือไม่
ได้รับแรงบันดาลใจจากการเปิดหนังสือ What-If อินพุตเป็นสี่เหลี่ยมผืนผ้าของช่องว่างในรูปของสตริงรายการของสตริง ฯลฯ โดยมีวัตถุที่ทำจาก#ภายใน: ######## # # ######## ### #### ### #### ### วัตถุจะไม่ตัดกันไม่สัมผัสสี่เหลี่ยม วัตถุนุ่มถูกกำหนดให้เป็นวัตถุที่ไม่ได้#อยู่ตรงกลางและเป็นเพียงเส้นขอบวัตถุแข็งคือวัตถุที่เต็มไป วัตถุที่มีความกว้างหรือความสูง<=2ถือว่ายาก วัตถุทั้งหมดมีความแข็งหรืออ่อน หากมีวัตถุแข็งมากขึ้นในการป้อนข้อมูลการส่งออก"Hard"ถ้ามากขึ้นนุ่มผลผลิต"Soft"ถ้าพวกเขามีค่าเท่ากัน, "Equal"เอาท์พุท นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! กรณีทดสอบ กรณีเหล่านี้ไม่ได้ป้อนข้อมูลเต็ม แต่ควรระบุว่าแต่ละวัตถุควรเป็นอย่างไร การป้อนข้อมูลจริงจะเป็นแบบ ascii-art ที่ด้านบนของคำถาม ยาก # #### ## ## ########## ########## ########## อ่อนนุ่ม ### # # ### ################### # # # # # # ################### …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

6
เกมแห่งชีวิตที่มั่นคง
ท้าทาย: ให้เมทริกซ์ (หรืออาร์เรย์ 2d) เป็น 0s และ 1s ส่งออกจำนวนขั้นตอนที่ใช้สำหรับเกมชีวิตของคอนเวย์เพื่อให้ถึงสถานะที่มั่นคงหรือ -1 ถ้ามันไม่ถึงหนึ่ง สถานะคงที่คือสถานะที่ไม่มีการเปิดหรือปิดเซลล์ในแต่ละขั้นตอน เกมจะต้องทำงานในเมทริกซ์ที่กำหนดโดยมีการเชื่อมต่อด้านบนและด้านล่างและการเชื่อมต่อด้านข้าง (เช่นได้รับเมทริกซ์ 4x3 ที่ควรรันบน 4x3 torus) เมทริกซ์อินพุตจะไม่ใหญ่กว่า 15x15 หมายเหตุ: ถ้าเมทริกซ์เริ่มต้นในสถานะเสถียรเอาต์พุตควรเป็น 0 ตัวอย่าง: การป้อนข้อมูล: [[0,0,0], [0,1,1], [0,1,0]] เอาท์พุท: 2 กระบวนการ: (ไม่จำเป็นต้องแสดง) [[0,0,0], [0,1,1], [0,1,0]] [[1,1,1], [1,1,1], [1,1,1]] [[0,0,0], [0,0,0], [0,0,0]] การป้อนข้อมูล: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] เอาท์พุท: 2 กระบวนการ: [[0,0,1,1], …

3
ชีวิตที่แปลกประหลาดของรังผึ้ง
นักวิจัยได้ค้นพบอาณานิคมผึ้งที่น่าสนใจซึ่งอาศัยอยู่ในทุ่งรวงผึ้งที่ไม่มีที่สิ้นสุด: แต่ละเซลล์สามารถเลี้ยงผึ้งได้หรือไม่ ในความเป็นจริงชีวิตของสิ่งมีชีวิตเหล่านั้นดูเหมือนจะวุ่นวาย ... สามารถคำนวณได้ว่าอาณานิคมจะเริ่มต้นด้วยรูปแบบต่อไปนี้เสมอ: (ผึ้งวาดโดย เอ็มมานู Boutet ในวิกิพีเดีย . นี้ภาพรังผึ้งและผึ้งจึงออกภายใต้ CC-By-SA . grumbles ) หลังจากนั้นวงจรชีวิตของผึ้งจะถูกแบ่งออกเป็นรุ่นที่เรียกว่า ผึ้งเก่าแต่ละรุ่นตายและฟักใหม่และขึ้นอยู่กับเพื่อนบ้านของเซลล์เป็นหลัก: หากผึ้งมีเพื่อนบ้านน้อยกว่าสองคนมันจะตายเนื่องจากความเหงา หากผึ้งมีเพื่อนบ้านมากกว่าสามคนมันจะตายเนื่องจากความแออัด หากเซลล์มีผึ้งสองหรือสามหรือสี่ตัวในเซลล์ข้างเคียงผึ้งตัวใหม่จะฟักที่นั่นในรุ่นต่อไป ผึ้งที่ตายจะไม่ตายจนกว่าจะถึงยุคสุดท้ายดังนั้นพวกมันจึงยังคงมีผลต่อเซลล์รอบข้างที่อาจฟักผึ้งในรุ่นต่อไป ตอนนี้เรารู้แล้วว่าอาณานิคมเหล่านี้ทำงานอย่างไรเราสามารถจำลองมันได้หลายชั่วอายุคน อินพุต อินพุตเป็นหมายเลขเดียวNซึ่งถูกกำหนดให้กับอินพุตมาตรฐานถูกยกเลิกโดยตัวแบ่งบรรทัด 0 ≤ N ≤ 150 นี่คือจำนวนรุ่นที่จะจำลอง เอาท์พุต เอาท์พุทเป็นตัวเลขเดี่ยวในเอาต์พุตมาตรฐานและตามด้วยตัวแบ่งบรรทัดเดียวซึ่งแทนจำนวนผึ้งที่มีชีวิตหลังจาก รุ่นN เอาต์พุตเพิ่มเติมเกี่ยวกับข้อผิดพลาดมาตรฐานจะถูกละเว้น อินพุตตัวอย่าง 0 5 42 100 ตัวอย่างผลลัพธ์ 6 44 1029 5296 สภาพการชนะ รหัสที่สั้นที่สุดชนะเช่นเดียวกับในกอล์ฟ ในกรณีที่เสมอกันการแก้ปัญหาก่อนหน้านี้ชนะ กรณีทดสอบ มีสองสคริปต์ทดสอบที่มีกรณีทดสอบเหมือนกัน: ทุบตี …

3
ค้นหาตัวตนของทราย
คำถามนี้เป็นคำถามเกี่ยวกับsandpiles ศาสนาคริสต์ อ่านความท้าทายก่อนหน้านี้และดูวิดีโอเลขที่นี้เพื่อเรียนรู้เพิ่มเติม กองทรายแบบอาเบลเรียนขนาดnคูณnเป็นตารางที่มีหมายเลข 0, 1, 2 และ 3 (แทนจำนวนเม็ดทราย) การเพิ่มทรายสองอันทำงานโดยการเพิ่มองค์ประกอบทีละองค์ประกอบก่อนจากนั้นจึงพลิกองค์ประกอบใด ๆ ที่สูงกว่า 3 ลำดับที่คุณโค่นล้มไม่สำคัญผลลัพธ์ที่ได้จะเหมือนกัน เมื่อเซลล์ล้มจำนวนลดลง 4 และแต่ละเพื่อนบ้านโดยตรงเพิ่มขึ้น 1 นี้สามารถทำให้เกิดปฏิกิริยาลูกโซ่ หากเซลล์อยู่บนขอบของตารางธัญพืชใด ๆ ที่หล่นลงมาจากตารางในขณะที่โค่นล้มหายไป ตัวอย่างเช่นฉันกำลังเพิ่มทราย 2 3 คูณ 3 (ให้ปฏิกิริยาลูกโซ่ค่อนข้างรุนแรง): 3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 …

4
วันที่บีบอัดของสัปดาห์
กำหนดอินพุตของรายการวันในสัปดาห์เอาท์พุทการเรียงลำดับที่สั้นที่สุดของรายการ รูปแบบของการป้อนข้อมูลที่เป็นสตริงประกอบด้วยหนึ่งหรือมากกว่าของสตริงสองตัวอักษรSu(วันอาทิตย์), Mo(วันจันทร์) Tu( ฯลฯ ) We, Th, และFr Saอินพุตอาจไม่จำเป็นต้องถูกจัดเรียงตามลำดับ ในการแปลงอินพุตเป็นรูปแบบเอาต์พุต จัดเรียงอินพุตตามวันในสัปดาห์โดยเริ่มจากวันอาทิตย์ (เช่นThMoSaSuFrTuWe-> SuMoTuWeThFrSa) ลดตัวย่อลงไปหนึ่งตัวอักษรถ้ามันไม่มีใบความคลุมเครือ ตัวอย่างเช่นSuMoTuWeควรเป็นSMTWเพราะ S ตัวแรกไม่สามารถเป็นวันเสาร์ได้เนื่องจากจะทำให้เอาต์พุตไม่ได้เรียงลำดับ (เหมือนกันสำหรับ T) อย่างไรก็ตามThFrSaควรเป็นThFSเช่นวันอังคารและวันพฤหัสบดีมาก่อนวันศุกร์และลดลงเพื่อTFSสร้างความกำกวม หากเอาท์พุทเป็นตอนนี้MTWTFเอาท์พุทDแทน (ซึ่งหมายถึง "สัปดาห์วัน ") ในทำนองเดียวกันSSควรจะเป็นEสำหรับสัปดาห์สิ้นสุด ในที่สุด SMTWTFSควรกลายเป็นAสำหรับทุกวัน ทั้งอินพุตและเอาต์พุตต้องเป็นสตริงเดี่ยว เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ กรณีทดสอบ: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | …

1
ชีวิต: สร้างหรือพัฒนา
เมื่อพิจารณาถึงสถานะของตารางเกมแห่งชีวิตตารางตรวจสอบว่ามันอาจมีการพัฒนาจากสถานะก่อนหน้าใด ๆ หรืออาจถูกสร้างขึ้นเท่านั้น นั่นคือระบุว่ารัฐเป็นรัฐ"Garden of Eden"หรือไม่ อินพุต กริดของรัฐที่มี 1 ระบุว่า "มีชีวิตอยู่" และ 0 หมายถึง "ตาย" คุณสามารถเลือกสองสัญลักษณ์ที่แตกต่างแทน 0 และ 1 หากคุณต้องการ ความยาวด้านของกริดจะไม่เป็นศูนย์ แต่อาจเป็นจำนวนธรรมชาติใด ๆ 1 <= N <= 20 เซลล์ใด ๆ หรือทั้งหมดที่อยู่นอกกริดอินพุตอาจมีชีวิตในรุ่นนี้และเซลล์ใด ๆ หรือทั้งหมดอาจมีชีวิตอยู่ในรุ่นก่อนหน้า เอกภพที่จะพิจารณานั้นไม่มีที่สิ้นสุดดังนั้นจึงไม่มีเงื่อนไขขอบเขต ขอบของอินพุตไม่ใช่ขอบของจักรวาล โดยเฉพาะอย่างยิ่งกริดไม่ได้ห่อ อินพุตอาจอยู่ในรูปแบบของสตริงที่คั่นด้วยแถวหรือสตริงเดี่ยว หากคุณต้องการคุณอาจใช้ความยาวด้านหรือพื้นที่ของกริดเป็นอินพุตเพิ่มเติม (ก่อนหรือหลังกริด) รูปแบบอินพุตที่ยอมรับได้: 010,101,010 010101010 010 101 010 3 010101010 เอาท์พุต "สร้าง" หากไม่มีสถานะก่อนหน้านี้ที่เป็นไปได้ …

8
ออโตเซลลูล่าร์ดิจิตอล
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มบวกคี่และสตริงของเลขทศนิยม ( 0123456789) สตริงหมายถึงสิบรัฐหนึ่งมิติเซลล์หุ่นยนต์ แต่ละหลักครอบครองหนึ่งเซลล์และกฎการอัปเดตจากรุ่นหนึ่งไปยังอีกรุ่นหนึ่งคือทุกเซลล์กลายเป็นตัวเลขที่เกิดจากผลรวมของเซลล์ N ที่มีศูนย์กลางอยู่ที่เซลล์ modulo 10 เซลล์แรกและเซลล์สุดท้ายล้อมรอบราวกับว่าเพื่อนบ้านดังนั้นเซลล์จึงสามารถมีเซลล์ N อยู่กึ่งกลางได้ โปรดทราบว่า N อาจมีขนาดใหญ่กว่าความยาวของสตริงซึ่งหมายความว่ามันสามารถพันได้หลายครั้งและบางหลักจะอยู่ในผลรวมหลายครั้ง ตัวอย่างเช่นถ้า N คือ 7 และสตริงคือ038เพื่อให้เห็นภาพของเซลล์เพื่อหาผลรวมเราสามารถเขียน038ซ้ำแบบไม่สิ้นสุดในทั้งสองทิศทาง ...038038038038038... ดังนั้นตัวเลขที่0จะเปลี่ยนเป็นผลรวมของ 7 หลักอยู่ที่ใด ๆ0โมดูโล 10: ...038038038038038... ^_____^ | sum all these นี่คือซึ่งเป็น(0+3+8+0+3+8+0)%102 ในทำนองเดียวกันตัวเลข3และ8เปลี่ยนเป็นกำหนดโดย(3+8+0+3+8+0+3)%10= 5และ(8+0+3+8+0+3+8)%10= 0ตามลำดับ ดังนั้นรุ่นหลัง038คือ250เมื่อ N คือ 7 โปรแกรมหรือฟังก์ชั่นของคุณจำเป็นต้องพิมพ์หรือคืนค่าสายอักขระหลักของสายป้อนตัวเลข เช่นใช้กฎการอัปเดตหนึ่งครั้งกับแต่ละเซลล์และให้ผลลัพธ์ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ [digit string] -> [N = 1], …

1
Regex กำลังตรวจสอบความถูกต้องของ regex [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา สร้าง regex ที่จะยอมรับสตริง regex เป็นอินพุตและตรวจสอบว่ามันถูกต้อง โดยทั่วไป regex ของคุณควรจะสามารถตรวจสอบตัวเอง (ไม่ควรตรวจสอบ regex ที่ไม่ถูกต้องดังนั้นคุณจึงไม่สามารถใช้.*;) รสชาติของคุณจะต้องได้รับการสนับสนุนอย่างเต็มที่จากการใช้งานที่รู้จักกันดี (Perl, sed, grep, gawk, ฯลฯ ) และต้องสนับสนุนอย่างเต็มที่ว่าการใช้งานเหล่านั้นรองรับอะไรบ้าง [ไม่ต้องกังวลกับทนายพูด ฉันแค่พยายามลบช่องว่างที่เป็นไปได้สำหรับสมาร์ท ***] ฉันเขียนโค้ดกอล์ฟแต่ฉันกังวลว่ามันจะให้ความรู้แก่ผู้ที่รู้จักและใช้รสชาติที่ไม่มีคุณสมบัติ หรือความกังวลของฉันไม่มีมูลความจริง?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

3
ลำดับ Game-of-Life ที่ไม่ซ้ำกันนานที่สุด
รับจำนวนเต็มบวก N กำหนดรูปแบบเริ่มต้นบน N x N- กริดที่ให้ลำดับที่ไม่ซ้ำกันที่ยาวที่สุดภายใต้ Game of Life-rules และสิ้นสุดด้วยรูปแบบคงที่ (วงจรความยาว 1) เล่นบนพรู เป้าหมายไม่ใช่โปรแกรมที่สั้นที่สุด แต่เร็วที่สุด เนื่องจากโลกนี้มีขอบเขต จำกัด ในที่สุดคุณก็จะจบลงด้วยการวนซ้ำดังนั้นจึงเป็นรัฐที่เยี่ยมชมแล้วซ้ำอีก หากการวนซ้ำนี้มีระยะเวลา 1 รูปแบบเริ่มต้นจะเป็นตัวเลือกที่ถูกต้อง เอาต์พุต: รูปแบบเริ่มต้นและจำนวนรวมของสถานะที่ไม่ซ้ำกันในลำดับ (รวมถึงรูปแบบเริ่มต้น) ตอนนี้ 1x1-torus เป็นพิเศษเนื่องจากเซลล์อาจถูกพิจารณาว่าอยู่ใกล้เคียงกับตัวเองหรือไม่ แต่ในทางปฏิบัติไม่มีปัญหาเซลล์ที่มีชีวิตเดียวจะตายในกรณีใดกรณีหนึ่ง ดังนั้นอินพุต 1 ให้ผลตามลำดับความยาว 2 ลำดับเป็นหนึ่งเซลล์ที่มีชีวิตจากนั้นก็ตายไปตลอดกาล แรงจูงใจสำหรับคำถามนี้คืออนาล็อกของฟังก์ชันบีเวอร์ที่วุ่นวาย แต่มีความซับซ้อนน้อยกว่าเนื่องจากเรามีความจำที่ จำกัด นี่จะเป็นลำดับที่ดีที่จะรวมไว้ใน OEIS เช่นกัน สำหรับ N = 3 ความยาวของลำดับคือ 3 รูปแบบใด ๆ บนด้านซ้ายมือถึงพื้นที่สี่เหลี่ยมจัตุรัสสีดำสนิทขนาด 3x3 …

7
ความเสมอภาคผันผวน
เรามีวัตถุที่สั่นระหว่างจุดสองจุดจำนวนเต็ม[l, r]ที่ความเร็วของหนึ่งหน่วยต่อหน่วยเวลาที่เริ่มต้นที่เกี่ยวกับl คุณอาจจะสมมติt=0 l < rตัวอย่างเช่นถ้าวัตถุแกว่งไป[3, 6]มาเราจะได้: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 ฯลฯ แต่วัตถุสั่นอย่างต่อเนื่องดังนั้นเราจึงยังมีและt=0.5 -> 3.5t=3.7 -> 5.3 เมื่อให้วัตถุสองชนิดสั่นระหว่างกัน[l1, r1]ให้[l2, r2]กำหนดว่ามีเวลาใดtที่วัตถุทั้งสองแบ่งปันตำแหน่งเดียวกันหรือไม่ คุณใช้เวลาl1, r1, l2, r2ในรูปแบบที่สะดวกและส่งออกค่าจริง / เท็จ อินพุตที่แท้จริง: [[3, 6], [3, …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

4
เปลี่ยนกฎของชีวิต
หุ่นยนต์เคลื่อนที่คล้ายชีวิตเป็นหุ่นยนต์อัตโนมัติที่คล้ายกับเกมแห่งชีวิตของคอนเวย์ซึ่งทำงานบนกริดขนาดใหญ่ (ในทางทฤษฎี) โดยที่แต่ละเซลล์มี 8 เพื่อนบ้านอย่างแน่นอนและเป็นหนึ่งใน 2 สถานะคือมีชีวิตและตาย . อย่างไรก็ตามเวอร์ชัน Like-like เหล่านี้มีความแตกต่างกันในวิธีการที่สำคัญ: กฎสำหรับเซลล์ที่กำหนดให้มีชีวิตอยู่และกฎสำหรับเซลล์ที่กำหนดให้อยู่รอดในรุ่นต่อไป ตัวอย่างเช่น Game of Life คลาสสิคใช้กฎB3/S23ซึ่งหมายความว่าจะต้องใช้เซลล์ที่มีชีวิต 3 เซลล์เพื่อสร้างเซลล์ใหม่และทั้ง 2 หรือ 3 เพื่อนบ้านที่มีชีวิตอยู่รอด สำหรับความท้าทายนี้เราจะสมมติว่าเพื่อนบ้านไม่รวมตัวมันเองดังนั้นแต่ละเซลล์มี 8 เพื่อนบ้านอย่างแน่นอน งานของคุณคือกำหนดค่าเริ่มต้นกฎการเกิดกฎการเอาชีวิตรอดและจำนวนเต็มบวก (จำนวนรุ่นที่จะทำงาน) จำลองหุ่นยนต์เสมือนชีวิตโดยใช้กฎเหล่านั้นสำหรับจำนวนรุ่นที่กำหนดในรหัสสั้นที่สุดเท่าที่จะทำได้ . การกำหนดค่าเริ่มต้นจะเป็นอาร์เรย์เมทริกซ์จตุรัส / 2 มิติหรือสตริงหลายบรรทัดคุณสามารถเลือกได้ ผู้อื่นอาจได้รับในรูปแบบและวิธีการที่สมเหตุสมผล ตัวอย่างเช่นถ้ากฎการเกิดคือ12345678(เพื่อนบ้านที่มีชีวิต) กฎการเอาชีวิตรอด2357และการกำหนดค่าเริ่มต้นคือ 0 0 0 0 0 0 0 0 0 0 0 0 1 …

7
Pseudorandom Cellular Automaton
บทนำ ในความท้าทายนี้เราจะจำลองหุ่นยนต์เคลื่อนที่อัตโนมัติที่น่าจะเป็นไปได้โดยใช้ตัวเลขเทียมปลอมที่แย่มาก หุ่นยนต์เซลลูลาร์ถูกกำหนดบนสตริงไบนารีโดยกฎโลคัลต่อไปนี้ สมมติว่าเพื่อนบ้านซ้ายของเซลล์และเซลล์ของตัวเองมีรัฐและab หากmin(a,b) == 0แล้วรัฐใหม่ของมีที่bmax(a,b) หากmin(a,b) == 1แล้วรัฐใหม่ของที่ถูกเลือกโดยการสุ่มจากb{0,1} ภาพต่อไปนี้แสดงให้เห็นถึงวิวัฒนาการ 10 ขั้นตอนเดียวที่เป็น1ไปได้ 1 11 101 1111 11001 101011 1111111 10001001 110011011 1010111101 สังเกตว่า1บางครั้ง s สองอันที่อยู่ติดกันพัฒนาไป1มาและบางครั้งถึง0และบิตที่ขอบสุดจะเป็น1s เสมอ งานของคุณคือผลิตวิวัฒนาการออโตมาตาเซลในรูปแบบนี้ ปัจจัยการผลิต อินพุตของคุณเป็นจำนวนเต็มบวกnแสดงถึงจำนวนแถวที่จะแสดงและรายการบิตที่ไม่ว่างLซึ่งเราใช้เป็นแหล่งของการสุ่ม เอาท์พุต การส่งออกของคุณคือรายชื่อของรายการหรืออาร์เรย์ 2 มิติของบิตภาพวาดวิวัฒนาการของเดียว1สำหรับnขั้นตอนเวลาในรูปดังกล่าวข้างต้น คุณสามารถวางผลลัพธ์ด้วย0s เพื่อให้ได้แถวที่มีความยาวเท่ากันหากต้องการ แต่จะต้องไม่มีการนำหน้า0s ตัวเลือกแบบสุ่มในหุ่นยนต์เซลลูล่าร์จะต้องดึงออกมาจากรายการLแล้วกระโดดกลับไปที่จุดเริ่มต้นเมื่อหมดแล้ว อย่างชัดเจนยิ่งขึ้นถ้าผลลัพธ์ถูกส่งผ่านหนึ่งแถวในรูปแบบเวลาจากบนลงล่างจากซ้ายไปขวาจากนั้นตัวเลือกสุ่มที่ต่อเนื่องจะสร้างรายการLซ้ำหลาย ๆ ครั้งตามที่จำเป็น ตัวอย่าง สมมติว่าปัจจัยการผลิตที่มีและn = 7 L = [0,1,0]จากนั้นหุ่นยนต์เซลลูล่าร์จะค่อยๆพัฒนาดังต่อไปนี้ในช่วง 7 ขั้นตอนที่เราวางตัวเลือกไว้vเหนือตัวเลือกแบบสุ่ม: …

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