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

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

26
สร้างคำศัพท์
ความท้าทาย งานของคุณคือการสร้างโปรแกรมที่รับอินพุตสตริงใด ๆ และส่งออกอินพุตในรูปแบบกำลังสอง สตริงว่างควรส่งคืนสตริงว่าง ตัวอย่าง รับอินพุต: golf โปรแกรมของคุณควรส่งออก: golf o l l o flog การป้อนข้อมูล: 123 เอาท์พุท: 123 2 2 321 การป้อนข้อมูล: a เอาท์พุท: a การป้อนข้อมูล: Hello, world! เอาท์พุท (สังเกตช่องว่างระหว่าง, และ w - ช่องว่างไม่ใช่แค่ขึ้นบรรทัดใหม่): Hello, world! e d l l l r o o , w w , o …

22
ทำให้ฉัน 22.5 ด้วยดอกกุหลาบ
รับสายที่เป็นหนึ่งในทิศทางบนเข็มทิศ 16 จุดเพิ่มขึ้น เอาท์พุทสองทิศทางที่อยู่ติดกับทิศทางอินพุตทันทีตามลำดับทวนเข็มนาฬิกา คุณต้องจัดการคู่เหล่านี้ (และคู่เหล่านี้) เท่านั้น: Input Output N NNW NNE NNE N NE NE NNE ENE ENE NE E E ENE ESE ESE E SE SE ESE SSE SSE SE S S SSE SSW SSW S SW SW SSW WSW WSW SW W W WSW WNW WNW W …

30
ทุกคำจาก babab ถึง zyzyz
งานของคุณคือการเขียนโปรแกรมที่จะส่งออกรายการที่สามารถอ่านได้ของทุกคำห้าตัวอักษรด้วยโครงสร้าง พยัญชนะ - สระ - พยัญชนะ - สระ - พยัญชนะ เอาต์พุตควรเรียงลำดับตามตัวอักษรด้วยหนึ่งคำต่อบรรทัดและไม่มีคำซ้ำสองครั้ง สามารถเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ แต่ไม่ผสม ดังนั้นรายการสามารถเริ่มต้นและสิ้นสุดเช่นนี้: babab babac babad ... zyzyw zyzyx zyzyz เสียงสระคือa - e - i - o - u - yส่วนอีก 20 ตัวอักษรเป็นพยัญชนะ คำไม่จำเป็นต้องเป็นคำในพจนานุกรมที่แท้จริง รหัสที่สั้นที่สุดชนะ หมายเหตุ: ไม่กี่ปีที่ผ่านมาฉันสะดุดโปรแกรมในเว็บไซต์มหาวิทยาลัยที่ทำอย่างนั้น เปลี่ยนชื่อและนามสกุลของฉันให้พอดีกับข้อ จำกัด ของ cvcvc และฉันจะไปทำตัวเอง

30
รายชื่อเกมที่เป็นไปได้ทั้งหมดสำหรับเกม Anno
ในวิดีโอเกมซีรีส์ Annoมี 6 เกมที่มีเกมที่ 7 ซึ่งเปิดตัวในต้นปี 2562 ชื่อของพวกเขามักจะมีรูปแบบเฉพาะปีต่อปีในรูปแบบเฉพาะ: Anno 1602, Anno 1503, Anno 1701, Anno 1404, Anno 2070, Anno 2205, Anno 1800 ผลรวมดิจิตอลอยู่เสมอ 9 ปีมีความยาวสี่หลัก ประกอบด้วยศูนย์อย่างน้อยหนึ่งรายการ ภายในข้อ จำกัด เหล่านี้มีชื่อที่เป็นไปได้ 109 ข้อ: [1008,1017,1026,1035,1044,1053,1062,1071,1080,1107,1170,1206,1260,1305,1350,1404,1440,1503,1530,1602,1620,1701,1710,1800,2007,2016,2025,2034,2043,2052,2061,2070,2106,2160,2205,2250,2304,2340,2403,2430,2502,2520,2601,2610,2700,3006,3015,3024,3033,3042,3051,3060,3105,3150,3204,3240,3303,3330,3402,3420,3501,3510,3600,4005,4014,4023,4032,4041,4050,4104,4140,4203,4230,4302,4320,4401,4410,4500,5004,5013,5022,5031,5040,5103,5130,5202,5220,5301,5310,5400,6003,6012,6021,6030,6102,6120,6201,6210,6300,7002,7011,7020,7101,7110,7200,8001,8010,8100,9000] วัตถุประสงค์ของคุณคือรายการทั้งหมดในรูปแบบที่เหมาะสมในจำนวนไบต์น้อยที่สุด

30
พระองค์ทรงสังหาร Jabberwock หรือไม่?
งานของคุณคือการส่งออกสตริงที่แน่นอน The Jabberwocky โดยไม่ต้องป้อนข้อมูล ใช้กฎปกติสำหรับอินพุตและเอาต์พุตดังนั้นอนุญาตให้ทั้งฟังก์ชั่นและโปรแกรม แน่นอนว่ามีการจับมันจะไม่สนุกถ้าไม่มีการจับ โปรแกรมของคุณเมื่อถอดอักขระที่ไม่ใช่ตัวอักษรต้องเริ่มต้นบทกวีJabberwocky (ไม่คำนึงถึงขนาดตัวพิมพ์) ในการเริ่มต้นบทกวีมันจะต้องเป็นสตริงย่อยอย่างต่อเนื่องของบทกวีเริ่มต้นที่จุดเริ่มต้น สตริงว่างเปล่าใช้ได้ (แม้ว่าคุณอาจทำคะแนนได้ไม่ดี) นี่คือข้อความสำหรับการอ้างอิง: twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyofrabjousdaycalloohcallayhechortledinhisjoytwasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabe นี่คือโปรแกรมที่คุณสามารถใช้เพื่อทดสอบคุณสมบัตินี้ หากคุณใช้บทกวีหมดคุณต้องไม่ใช้ตัวอักษรเพิ่มเติมใด ๆ ตัวอักษรเป็นตัวอักษรa- zและA- Zนี่คือรายการที่สมบูรณ์: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz เกณฑ์การให้คะแนน โปรแกรมของคุณจะได้คะแนนในจำนวนไบต์ที่ไม่ใช่ตัวอักษรที่ใช้โดยมีค่าน้อยกว่าจะดีกว่า นี่คือโปรแกรม Haskell ที่ให้คะแนนคำตอบ (ซึ่งถือว่าอินพุตถูกต้อง) โปรแกรมตัวอย่าง โปรแกรมต่อไปนี้จะใช้ได้: twas&*brilliga77812nd Thesli thyt Oves didgy reand Gim bleinth ewab eal lmims ywe"""""""" ret h eb or o g o ve sa n …

30
Kolmogorov จำแลง
เอาท์พุทหรือแสดงข้อความสามบรรทัดต่อไปนี้ตรงตามที่แสดงด้านล่าง ยอมรับการขึ้นบรรทัดใหม่ bC#eF&hI)kL,nO/qR2tU5wX8z A!cD$fG'iJ*lM-oP0rS3uV6xY9 aB"dE%gH(jK+mN.pQ1sT4vW7yZ บล็อคข้อความนั้นเหมือนกันกับด้านล่าง แต่คอลัมน์ที่ n ถูกหมุน n คูณลง: !"#$%&'()*+,-./0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz โปรดทราบว่านี่เป็นความท้าทายที่ซับซ้อนของ kolmogorovดังนั้นรูปแบบผลลัพธ์จึงไม่ยืดหยุ่น

28
ฉันจะได้รับแซนด์วิชเมื่อไหร่
รับหนึ่งในอินพุตต่อไปนี้: ไก่หัวหอมหวานเทอริยากิ ไก่อบเตาอบ อกไก่งวง BMT อิตาลี ทูน่า แฮมฟอเรสต์ ลูกชิ้น Marinaraส่งออกตัวเลขตั้งแต่ 1-7 (หรือ 0-6) แทนวันในสัปดาห์ที่คุณได้รับดีลนั้นเริ่มต้นจากวันจันทร์เป็นจำนวนต่ำสุด อินพุตอาจเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ทั้งหมดหากต้องการ (เช่น "italian bmt") ไม่อนุญาตให้ใช้อินเทอร์เน็ต

30
พิมพ์คลื่นตัวอักษร
คุณจะต้องพิมพ์ข้อความที่แน่นอนนี้: ABABABABABABABABABABABABAB BCBCBCBCBCBCBCBCBCBCBCBCBC CDCDCDCDCDCDCDCDCDCDCDCDCD DEDEDEDEDEDEDEDEDEDEDEDEDE EFEFEFEFEFEFEFEFEFEFEFEFEF FGFGFGFGFGFGFGFGFGFGFGFGFG GHGHGHGHGHGHGHGHGHGHGHGHGH HIHIHIHIHIHIHIHIHIHIHIHIHI IJIJIJIJIJIJIJIJIJIJIJIJIJ JKJKJKJKJKJKJKJKJKJKJKJKJK KLKLKLKLKLKLKLKLKLKLKLKLKL LMLMLMLMLMLMLMLMLMLMLMLMLM MNMNMNMNMNMNMNMNMNMNMNMNMN NONONONONONONONONONONONONO OPOPOPOPOPOPOPOPOPOPOPOPOP PQPQPQPQPQPQPQPQPQPQPQPQPQ QRQRQRQRQRQRQRQRQRQRQRQRQR RSRSRSRSRSRSRSRSRSRSRSRSRS STSTSTSTSTSTSTSTSTSTSTSTST TUTUTUTUTUTUTUTUTUTUTUTUTU UVUVUVUVUVUVUVUVUVUVUVUVUV VWVWVWVWVWVWVWVWVWVWVWVWVW WXWXWXWXWXWXWXWXWXWXWXWXWX XYXYXYXYXYXYXYXYXYXYXYXYXY YZYZYZYZYZYZYZYZYZYZYZYZYZ ZAZAZAZAZAZAZAZAZAZAZAZAZA รายละเอียด คุณสามารถพิมพ์ตัวพิมพ์เล็กทั้งหมดแทนตัวพิมพ์ใหญ่ทั้งหมด อย่างไรก็ตามเคสต้องสอดคล้องกันตลอดเอาต์พุต คุณสามารถพิมพ์บรรทัดการป้อนบรรทัดพิเศษเพิ่มเติมหนึ่งรายการ เกณฑ์การให้คะแนน เนื่องจากนี่เป็นคลื่นตัวอักษรที่มีความผันผวนเล็กน้อยรหัสของคุณควรมีขนาดเล็กในรูปของจำนวนไบต์ ในความเป็นจริงรหัสที่เล็กที่สุดในแง่ของการนับไบต์ชนะ

30
พิมพ์ตัวอักษรและตัวเลขทั้งหมดพร้อมเครื่องหมายขีดล่าง
เขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์หรือผลตอบแทนสตริงของตัวอักษรและตัวเลขบวกขีดให้ในลำดับใด เพื่อความแม่นยำตัวอักษรต่อไปนี้จะต้องมีการส่งออกและไม่มาก : abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ เมื่อพิมพ์ไปยัง stdout บรรทัดใหม่ที่เป็นทางเลือกหลังจากที่คุณอนุญาต ค่าคงที่แบบบิวด์อินที่มีอักขระข้างต้น 9 ตัวขึ้นไปจะไม่ได้รับอนุญาต รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ นี่เป็นความท้าทายที่ง่ายมากซึ่งฉันเชื่อว่าจะสร้างคำตอบที่น่าสนใจ ลีดเดอร์ นี่คือตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น # Ruby, <s>104</s> <s>101</s> 96 bytes หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของไฟล์สองไฟล์หรือคุณต้องการแสดงรายการบทลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว: # Perl, 43 + 2 (-p flag) = 45 bytes นอกจากนี้คุณยังสามารถตั้งชื่อภาษาให้เป็นลิงค์ซึ่งจะปรากฏในตัวอย่างกระดานแต้มนำ: # [><>](http://esolangs.org/wiki/Fish), 121 bytes แสดงตัวอย่างโค้ด …

30
สร้างคลาส Java Tuple 100 คลาส
เขียนสคริปต์ที่เขียนไปยังเอาต์พุตมาตรฐานหรือโค้ด Java ที่เทียบเท่า (100) บรรทัดของภาษาของคุณที่ขึ้นต้นด้วย: class Tuple1 {public Object _0;} class Tuple2 {public Object _0,_1;} class Tuple3 {public Object _0,_1,_2;} class Tuple4 {public Object _0,_1,_2,_3;} class Tuple5 {public Object _0,_1,_2,_3,_4;} class Tuple6 {public Object _0,_1,_2,_3,_4,_5;} class Tuple7 {public Object _0,_1,_2,_3,_4,_5,_6;} class Tuple8 {public Object _0,_1,_2,_3,_4,_5,_6,_7;} class Tuple9 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8;} …

30
พิมพ์ตัวอักษรสี่ครั้ง
โปรแกรมจะต้องพิมพ์ตัวอักษรสี่ครั้ง: ลำดับแรกตามลำดับตัวอักษรตัวที่สองตามลำดับของคีย์บอร์ดแบบ qwerty ที่สามตามลำดับของแป้นพิมพ์ dvorak และสุดท้ายตามลำดับตัวอักษรแบบย้อนกลับ ผลลัพธ์ควรมีลักษณะเช่นนี้: abcdefghijklmnopqrstuvwxyz qwertyuiopasdfghjklzxcvbnm pyfgcrlaoeuidhtnsqjkxbmwvz zyxwvutsrqponmlkjihgfedcba เอาต์พุตไม่คำนึงถึงขนาดตัวพิมพ์และคุณสามารถเพิ่มหรือละเว้นการขึ้นบรรทัดใหม่หรือเว้นวรรคได้ทุกที่ที่คุณต้องการ The catch : โปรแกรมจะต้องมีความยาวน้อยกว่า 104 ตัวอักษรหรืออีกนัยหนึ่งคือเล็กกว่าความยาวของตัวอักษรสี่เท่า ฉันจะยอมรับคำตอบด้วยรหัสที่สั้นที่สุดเว้นแต่ฉันจะเห็นสิ่งที่ฉลาดหรือน่าสนใจจริง ๆ ที่ฉันประทับใจมากขึ้น แก้ไข: ฉันจะยอมรับคำตอบที่สั้นที่สุดในวันพุธที่ 4/27/2011 แก้ไข 2: และผู้ชนะคือGolfscript (ตามปกติ) ใน 64 ตัวอักษร! สถานที่ที่สองซึ่งอยู่ข้างหลังเพียงสามตัวอักษรก็อยู่ใน Golfscript ด้วย 67 ตัวอักษรตามด้วย Bash ในสถานที่ที่สามที่มี 72 ตัวอักษร แต่มีอีกไม่กี่ที่ฉันต้องการพูดถึงเช่นนี้ซึ่งขึ้นอยู่กับคำจำกัดความของคุณใช้เพียง 52 "ตัวอักษร" และอันนี้ที่เขาเขียนในภาษาที่เขาสร้างขึ้น มีคนไม่กี่ คน ที่ทำลายกฎที่ไม่ได้เขียนไว้และไม่ผ่านการคัดเลือก แต่ฉันจะพูดถึงพวกเขาเพียงเพื่อความคิดโดยไม่ต้องใช้กล่อง

18
นับเป็น 100 ในภาษาเดนมาร์ก
พิมพ์ตัวเลขทั้งหมดตั้งแต่ 0-100 ในลำดับที่ถูกต้องโดยใช้วิธีการนับของเดนมาร์ก พวกเขานับอย่างไร เช่นเดียวกับภาษาอังกฤษพวกเขามีคำเฉพาะสำหรับ 0-20, 30, 40 และ 100 แทนที่จะพูดtwenty-oneและtwenty-twoพวกเขาพูดone and twentyและtwo and twenty เริ่มต้นด้วยห้าสิบพวกเขาพูดว่าทวีคูณของ 10 เป็น n * 20 50 = half third times twenty = half way to the 3rd multiple of 20 60 = three times twenty 70 = half fourth times twenty 80 = four …

7
รายการเวอร์ชันของ Python
Python เป็นภาษาโปรแกรมหลักที่เติบโตเร็วที่สุดในปัจจุบัน มันเป็นภาษาที่ต้องการมากที่สุดสำหรับปีที่สามติดต่อกันซึ่งหมายความว่านักพัฒนาที่ยังไม่ได้ใช้มันบอกว่าพวกเขาต้องการที่จะเรียนรู้มัน [1] สาเหตุของความนิยมของ Python ก็คือหลายรุ่น [อ้างจำเป็น]มีจริง ๆ แล้วหลาม 116 รุ่นรวมทั้งสองรุ่นพัฒนา งานของคุณคือส่งออก / พิมพ์รายการเวอร์ชัน Python ทั้งหมดตามลำดับที่คุณต้องการและในรูปแบบที่คุณชอบ คุณไม่สามารถใช้ฟังก์ชันในตัวที่มีการจัดเก็บข้อมูลนี้ คุณมีอิสระในการเลือกรูปแบบการส่งออก แต่ในแต่ละรุ่นจะต้องมีการระบุไว้ในวิธีมาตรฐาน: 1.1, 2.3.0, 2.7.10และอื่น ๆ รายการที่สมบูรณ์ของเวอร์ชัน Python 2คั่นด้วยเครื่องหมายจุลภาคดังแสดงด้านล่าง: 1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, …

22
พื้นฐาน ASCII Tallies
หัวข้อสำรอง: นับประโยคที่เรือนจำของคุณติดไว้ที่ผนัง กำหนดตัวเลขการnส่งออกนับเป็นกลุ่มแบบดั้งเดิม 5 ต่อกลุ่มและ 50 ต่อแถว ตัวอย่าง 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| …
36 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 

30
ฝูงชนของจ้องมองที่ว่างเปล่า
ปัญหา ให้ไม่มีอินพุตเขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกหรือส่งกลับสตริงต่อไปนี้: (<(<>(<>.(<>.<(<>.<>(<>.<>)<>.<>)>.<>).<>)<>)>) กฎระเบียบ โปรแกรมที่สั้นที่สุดชนะ อนุญาตช่องว่างต่อท้าย ขึ้นบรรทัดใหม่ที่ได้รับอนุญาต พารามิเตอร์ที่ไม่ได้ใช้สำหรับฟังก์ชั่นที่ได้รับอนุญาต

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