คำถามติดแท็ก kolmogorov-complexity

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

28
ทำเสื้อคลุมคำง่ายๆ
(หมายเหตุ: นี่คือคำถามรหัสกอล์ฟครั้งแรกของฉัน แต่เท่าที่ฉันสามารถบอกได้ไม่มีใครทำอย่างนี้ดังนั้นฉันควรจะดี) งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ใช้ในสตริงsและจำนวนเต็มnและส่งคืนหรือส่งออกข้อความที่ห่อเป็นหลายบรรทัด แต่ละคำต้องอยู่ในบรรทัดทั้งหมด กล่าวคือไม่มีคำแยกกลาง แต่ละบรรทัดต้องมีความยาวไม่เกินnอักขระและคุณต้องใส่คำให้มากที่สุดเท่าที่จะทำได้ในแต่ละบรรทัด ตัวอย่าง: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

30
แสดงตัวเลขที่ขาด 2
แสดงตัวเลขจากหนึ่งถึงหนึ่งร้อย (ตามลำดับที่เพิ่มขึ้น) แต่หมายเลข 2 ไม่ควรปรากฏที่ใดก็ได้ตามลำดับ ตัวอย่างเช่นตัวเลขสอง ( 2) หรือยี่สิบสาม ( 23) ไม่ควรอยู่ในลำดับ นี่คือตัวอย่างเอาต์พุตโดยมีบรรทัดใหม่คั่นตัวเลข: 1 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 30 31 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 …

3
วาดลายเซ็นของคีย์ ASCII
รับอินพุตของบันทึกส่งออกการวาดภาพ ASCII ของคีย์หลักที่สอดคล้องกันในโน๊ตสาม นี่คือกุญแจสำคัญทั้งหมด (ซึ่งไม่รวมถึงชาร์ปสองเท่าหรือดับเบิลแฟลต) และลายเซ็นคีย์ที่เกี่ยวข้อง: Circle of Fourths deluxe 4โดยผู้ใช้ Wikipedia เพียงธรรมดา Bill CC ลิขสิทธิ์ -SA 3.0 หากอินพุตเป็นคีย์ที่มี sharps ให้วาด ASCII art ต่อไปนี้ด้วยจำนวน sharps ที่เหมาะสม: # -#------- # ----#---- # -------#- # --------- --------- และหากการป้อนข้อมูลเป็นกุญแจสำคัญกับแฟลต: --------- b ----b---- b -b------- b -----b--- b --------- นี่เป็นบทสรุปโดยสังเขปของอินพุตที่เป็นไปได้รวมถึงจำนวนชาร์ปหรือแฟลตที่ใช้: 0 1 2 3 …

15
โค่นล้มโดมิโน!
ขอบคุณคำถามนี้สำหรับแรงบันดาลใจบางอย่าง ในความท้าทายนี้เราจะเป็นตัวแทนของสายของแต้มเป็นสตริงของที่|, และ/ \คุณจะได้รับสายอักขระโดมิโนเป็นอินพุตและคุณต้องพิจารณาสิ่งที่พวกเขาดูเหมือนเมื่อพวกเขาได้ตัดสิน นี่คือกฎสำหรับแต้มที่ตกลงมา โดมิโนที่ยืนอยู่|, ซ้ายของโดมิโนที่ล้มลงทางซ้าย\, จะกลายเป็นโดมิโนที่ล้มลงด้วยเช่นกัน โดมิโนที่ยืนอยู่|ด้านขวาของโดมิโนที่ถูกตก/จะกลายเป็นโดมิโนที่ตกลงมาอย่างถูกต้องเช่นกัน หากโดมิโนยืนอยู่ระหว่างซ้าย\และขวาตก/โดมิโนมันจะยังคงยืนอยู่ กฎเหล่านี้จะถูกนำมาใช้ซ้ำ ๆ จนกระทั่งข้อตกลงไม่เปลี่ยนแปลงอีกต่อไป นี่คือตัวอย่างของวิธีการป้อนข้อมูลเดียวอาจมาถึงข้อสรุปของมัน |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| งานของคุณคือการเขียนโค้ดที่ค้นหาและแสดงผลลัพธ์สุดท้ายของอินพุต คุณอาจสมมติว่าอินพุตนั้นถูกต้องเสมอและมีอย่างน้อย 2 ตัวอักษร นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

30
รับตัวเลขสุ่ม n ตัวเลขด้วยตัวเลขที่แตกต่างกันและไม่ใช่ 0
ฉันอ่านคำถามนี้และคิดว่ามันจะเป็นการท้าทายที่ดี งาน ให้อินพุต0<n<10สร้างตัวเลขสุ่มด้วย ตัวเลขที่แน่นอน ครั้งแรกไม่ได้ 0 ดังนั้น f(n)>10**(n-1)-1 ตัวเลขที่แตกต่างกัน เกณฑ์การชนะ นี่คือรหัส - กอล์ฟเพื่อให้ได้รหัสที่สั้นที่สุด สุ่ม ฉันหมายถึงการกระจายแบบสุ่มอย่างสม่ำเสมอ ดังนั้นจากมุมมองของโปรแกรมแต่ละหมายเลขที่เป็นไปได้มีโอกาสเดียวกัน หากภาษาที่คุณกำลังเขียนมีตัวสร้างตัวเลขสุ่มแปลก ๆ ก็ไม่เป็นไรที่จะใช้มัน ตัวอย่าง รายการค่าที่จะเลือกแบบสุ่มสำหรับn=2คือ: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

30
วาดหมวกปาร์ตี้ตัวอักษร
งานของคุณคือการพิมพ์ข้อความที่แน่นอนนี้: z yz xyz wxyz vwxyz uvwxyz tuvwxyz stuvwxyz rstuvwxyz qrstuvwxyz pqrstuvwxyz opqrstuvwxyz nopqrstuvwxyz mnopqrstuvwxyz lmnopqrstuvwxyz klmnopqrstuvwxyz jklmnopqrstuvwxyz ijklmnopqrstuvwxyz hijklmnopqrstuvwxyz ghijklmnopqrstuvwxyz fghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz defghijklmnopqrstuvwxyz cdefghijklmnopqrstuvwxyz bcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz กรณีไม่สำคัญ จำไว้ว่านี่คือcode-golfดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ

15
รหัสคะแนนกอล์ฟกอล์ฟ
มันคือวันศุกร์ ... งั้นไปเล่นกอล์ฟกันเถอะ! เขียนรหัสที่กำหนดคะแนนของผู้เล่นในหลุมในเกมกอล์ฟ รหัสสามารถเป็นได้ทั้งฟังก์ชั่นหรือโปรแกรมทั้งหมด ตามประเภทที่แนะนำรหัสที่สั้นที่สุดชนะ อินพุต (พารามิเตอร์หรือ stdin, ตัวเลือกของคุณ): จำนวนเต็มแทนค่ารูของหลุมรับประกันว่าจะอยู่ระหว่าง 3 ถึง 6 จำนวนเต็มแทนคะแนนของนักกอล์ฟรับประกันได้ระหว่าง 1 ถึง 64 เอาท์พุท (พิมพ์ไปที่ stdout หรือย้อนกลับลากขึ้นบรรทัดใหม่ที่ได้รับอนุญาต แต่ไม่จำเป็นต้องเลือกของคุณ): ถ้าคะแนนเท่ากับ 1 ให้เอาท์พุท "Hole in one" ถ้า score == par - 4 และ par> 5, output "Condor" ถ้า score == par - 3 และ par> 4, เอาต์พุต …

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

6
วาดลวดลาย Houndstooth
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกสองตัวความกว้างและความสูงและวาดรูปแบบกริดศิลปะ ASCII houndstoothกับมิติเหล่านั้นโดยใช้ขนาดข้อความ 25 × 26 เป็นเซลล์ฐาน: .......#.....#####....... .......##.....#####...... .......###.....#####..... .......####.....####..... .......#####.....###..... .......######.....##..... .......#######.....#..... .......########.......... ####################..... .####################.... ..####################... ...####################.. ....####################. .....#################### #.....##############.#### ##.....#############..### ###....#############...## ####...#############....# #####..#############..... .#####.#############..... ..##################..... ........#####............ .........#####........... ..........#####.......... ...........#####......... ............#####........ ดังนั้นถ้าอินพุตเป็น2,1เอาต์พุตจะเป็น: .......#.....#####..............#.....#####....... .......##.....#####.............##.....#####...... .......###.....#####............###.....#####..... .......####.....####............####.....####..... .......#####.....###............#####.....###..... .......######.....##............######.....##..... .......#######.....#............#######.....#..... .......########.................########.......... ####################.....####################..... .####################.....####################.... ..####################.....####################... ...####################.....####################.. ....####################.....####################. .....####################.....#################### #.....##############.#####.....##############.#### ##.....#############..#####.....#############..### …

5
หมายเลข StickStack
StickStack เป็นภาษาการเขียนโปรแกรมแบบกองซ้อนที่ง่ายมากโดยมีเพียงสองคำสั่งเท่านั้น: | ดันความยาวของสแต็กลงบนสแต็ก -ดึงองค์ประกอบสองอันดับแรกจากสแต็กและผลักกลับความแตกต่าง ( second topmost - topmost) รายละเอียดภาษา สแต็กว่างเปล่าเมื่อเริ่มต้นโปรแกรม คำแนะนำทั้งหมดจะดำเนินการตามลำดับจากซ้ายไปขวา หากมีจำนวนน้อยกว่า 2 หมายเลขในสแต็ก-คำแนะนำนั้นผิดกฎหมาย ในตอนท้ายของการดำเนินการกองควรมีตรงหนึ่งหมายเลข จำนวนเต็มใด ๆ สามารถสร้างได้โดยโปรแกรม StickStack ตัวอย่างเช่น: |||--||-- generates the number 2 through the following stack states: [] [0] [0, 1] [0, 1, 2] [0, -1] [1] [1, 1] [1, 1, 2] [1, -1] [2] …

2
DNA: Deoxyribonucleic ASCII
เมื่อได้รับลำดับของฐาน Adenine, Cytosine, Guanine และ Thymine (เข้ารหัสเป็นACGT) คุณจะต้องสร้างงานศิลปะ ASCII ของ DNA คู่ที่สอดคล้องกัน เส้นใยจะยืดในแนวตั้ง สาระซ้ายมือคือสิ่งที่คุณได้รับเป็นอินพุต เกลียวด้านขวาจะเป็นส่วนประกอบ สำหรับผู้ที่ไม่คุ้นเคยกับดีเอ็นเอAถูกจับคู่กับTและถูกจับคู่กับC Gนอกจากนี้ยังมีโครงสร้างกระดูกสันหลังที่ด้านใดด้านหนึ่งของเกลียวคู่ซึ่งเหมือนกันสำหรับฐานทั้งหมด ดังนั้นถ้าคุณได้รับอินพุตTAGCATโครงสร้างขนาดใหญ่ของศิลปะ ASCII จะเป็น: BTAB BATB BGCB BCGB BATB BTAB ที่Bแสดงถึงกระดูกสันหลัง ทีนี้ตัวอักษรแต่ละตัวเหล่านี้ย่อมาจากโมเลกุลทั้งหมดและคุณต้องสร้างโครงสร้างโมเลกุลขึ้นมาใหม่ ฐาน ใช้เทมเพลตต่อไปนี้1สำหรับแต่ละฐาน (แต่ละอันจะแสดงพร้อมกับฐานประกอบและโมเลกุลแบ็กโบนสองตัว): 1เครดิตให้กับ Peter Taylor สำหรับช่วยเหลือในการจัดวาง ASCII adenine O O \\ / P / \ --O O / | < N …

4
ใครอยากเป็น Kolmogorov ผู้ชนะที่ซับซ้อน
ภารกิจของคุณในวันนี้คือการประดิษฐ์เครื่องอัดข้อความ งาน คุณจะเขียนสองฟังก์ชั่น: ตัวแบ่งบรรจุเป็นฟังก์ชันที่ยอมรับสตริงของอักขระ ASCII (U + 0000 ถึง U + 007F) และส่งออกสตริง Unicode (U + 0000 ถึง U + 10FFFF) ซึ่งมีอักขระน้อยที่สุดเท่าที่จะเป็นไปได้ โปรแกรมเปิดไฟล์เป็นฟังก์ชั่นที่ยอมรับสตริงเข้ารหัส Unicode และผลตรงสตริง ASCII เดิม อินพุต อินพุตที่ได้รับอนุญาตเท่านั้นคือสตริง ASCII (สำหรับผู้หีบห่อ) และสตริง Unicode ที่บรรจุ (สำหรับผู้แยกบรรจุ) ไม่มีการป้อนข้อมูลของผู้ใช้ไม่มีการเชื่อมต่ออินเทอร์เน็ตไม่ใช้ระบบไฟล์ ฟังก์ชั่นของคุณสามารถเข้าถึงรายการคำศัพท์ภาษาอังกฤษนี้ คุณสามารถใช้รายการนี้เป็นไฟล์ txt ท้องถิ่นหรือคัดลอกเนื้อหาในรหัสต้นฉบับของคุณเป็นสตริงหรืออาร์เรย์ของสตริง คุณไม่สามารถถอดรหัสโค้ดด้านล่างในฟังก์ชั่นของคุณได้ เอาท์พุต เอาต์พุตที่ได้รับอนุญาตเท่านั้นสำหรับทั้งสองฟังก์ชันคือสตริง เอาต์พุตของ unpacker จะต้องมีตัวอักษรเหมือนกับอินพุตของผู้แบ่งบรรจุ อินพุตและเอาต์พุตของคุณสามารถใช้การเข้ารหัสอักขระที่สนับสนุน Unicode ทั้งหมด (UTF-8/16/32, …

24
ดื่มกาแฟยามเช้า
วาดถ้วยกาแฟ Ascii นี้: โอ โอ โอ __________ / \ __ | J | \ | A | | | V | | | A | __ / \ __________ / คะแนนบราวนี่สำหรับกาแฟสคริปต์หรือจาวา :) โค้ดที่สั้นที่สุดในหน่วยไบต์ฟังก์ชั่นหรือโปรแกรมขึ้นบรรทัดใหม่หรือพื้นที่สีขาวเป็นที่ยอมรับดื่ม!

30
การทดสอบหลายหลาก
ใช้ภาษาการเขียนโปรแกรมใด ๆ เพื่อแสดงตัวเลขระหว่าง 1 ถึง 99 (รวมทั้งคู่) ในลักษณะดังกล่าวเพื่อที่: ตัวเลขถูกคั่นด้วยช่องว่างเดียว ถ้าจำนวนหารด้วย 3 ก็ควรอยู่ในวงเล็บ ถ้าจำนวนหารด้วย 4 ก็ควรอยู่ในวงเล็บเหลี่ยม หากตัวเลขหารด้วย 3 และ 4 ทั้งสองควรเป็นทั้งในวงเล็บและวงเล็บเหลี่ยม โปรแกรมของคุณควรแสดงอย่างถูกต้อง: 1 2 (3) [4] 5 (6) 7 [8] (9) 10 11 ([12]) 13 14 (15) [16] 17 (18) 19 [20] (21) 22 23 ([24]) 25 26 (27) [28] 29 …

8
Fizz Buzz ที่มีอักขระเฉพาะในคอลัมน์
แรงบันดาลใจจากตัวเลขในช่องทางของพวกเขาและ1, 2, Fizz, 4, Buzz บทนำ งานของคุณคือสร้างผลลัพธ์ต่อไปนี้: 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 …

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