タグ付けされた質問 「set-theory」

集合論は、オブジェクトの順序付けられていないコレクションを研究する数学の分野です。このタグの課題には、セットの操作または分析が含まれます。

3
Laverテーブルの計算とZFCで終了することが知られていないアルゴリズム
海苔テーブルは数学の標準公理システムに終了することが示されていないプログラムの例を提供ZFC 1は非常に巨大基数公理を前提としたときに終了しますけど。 前書き 古典的なLaverテーブルは、基になるセットと、アイデンティティーを満たし、どこで、どこで満たす操作を行うユニークな有限代数です。An{1,...,2n}*x * (y * z)=(x * y) * (x * z)x*1=x+1x<2n2n*1=1 古典的な海苔テーブルの詳細については、Patrick Dehornoyの書籍Braids and Self-Distributivityを参照してください。 チャレンジ 1*32従来のLaverテーブルで計算し、nwith が見つかったときに正確に終了する最短のコード(バイト単位)は何ですか?言い換えると、with が見つかった場合にのみプログラムは終了しますが、それ以外の場合は永久に実行されます。1*32<2nn1*32<2n 動機 ランクにランクカーディナル(また、I3-カーディナルと呼ばれる)は、非常に大きい無限のレベルと1つのランクにランクカーディナルの存在を前提とした場合、その後、一つ一つがない場合よりも多くの定理を証明することができますランクからランクへの枢機existenceの存在を想定します。ランクからランクへの枢機inalが存在する場合、古典的な海苔の表があります。ただし、ZFCでの既知の証拠はありません。さらに、最小の場所がより大きいことが知られています(アッカーマン関数は急速に成長する関数であるため、これは非常に大きな数です)。したがって、このようなプログラムは非常に長い時間続きます。An1*32<2n1*32<2nn1*32<2nAck(9,Ack(8,Ack(8,254)))Ack プログラムが標準の公理システムZFCを使用して終了するかどうかはわからないが、プログラムが最終的にはるかに強力な公理システム、つまりZFC + I3で終了することがわかるように、プログラムがどれくらい短く書けるかを見たいです。この質問は、スコットアーロンソンの最近の投稿に触発されたもので、アーロンソンとアダムイディディアが8000未満の状態でチューリングマシンを構築したため、ZFCはチューリングマシンが終了しないことを証明できませんが、大きな基数仮説を仮定しても終了しないことがわかっています。 古典的な海苔表の計算方法 海苔のテーブルを計算する場合には、代数であるという事実を使用することが通常便利である、我々が持っているすべてのためにあるの。An2n * x=xxAn 次のコードは、古典的な海苔表を計算します An #table(n、x、y)はA nに x * yを返します table:= function(n、x、y) x = 2 ^ nの場合、yを返します。 elif y = 1の場合、x + …

4
不定サイズのリストを数値にマッピングします!
無限大を研究する数学の分野では、有限量の可算集合のデカルト積も可算であることはよく知られています。 あなたの仕事は、これを実装する2つのプログラムを書くことです。1つはリストから整数にマッピングし、もう1つは整数からリストにマッピングします。 関数は全単射で決定論的である必要があります。つまり、1常に特定のリストにマップされ、2常に別の特定のリストなどにマップされます。 以前、整数を0とのみで構成されるリストにマッピングしました1。 ただし、リストは負ではない数字で構成されます。 スペック プログラム/機能、合理的な入力/出力フォーマット。 マップされた整数が開始する1か開始するか0はユーザーの選択です。つまり、0何にもマップする必要はありません(マップすることはできます)。 空の配列[]はエンコードする必要があります。 入力/出力は任意のベースにあります。 2つの関数間でコードを共有できます。 得点 これはcode-golfです。最低スコアが勝ちます。 スコアは、2つのプログラム/関数の長さの合計(バイト単位)です。

4
組み合わせのリストを繰り返しで貪欲に分割する
まず、いくつかの定義: とが与えられた場合n、マルチセットkのソートされたリストを検討してください。各マルチセットについて、繰り返しを使用して番号を選択します。k{0, 1, ..., n-1} たとえば、n=5およびの場合、次のようになりk=3ます。 [(0、0、0)、(0、0、1)、(0、0、2)、(0、0、3)、(0、0、4)、(0、1、1)、( 0、1、2)、(0、1、3)、(0、1、4)、(0、2、2)、(0、2、3)、(0、2、4)、(0、 3、3)、(0、3、4)、(0、4、4)、(1、1、1)、(1、1、2)、(1、1、3)、(1、1、 4)、(1、2、2)、(1、2、3)、(1、2、4)、(1、3、3)、(1、3、4)、(1、4、4) 、(2、2、2)、(2、2、3)、(2、2、4)、(2、3、3)、(2、3、4)、(2、4、4)、( 3、3、3)、(3、3、4)、(3、4、4)、(4、4、4)] 一部は一部のすべてのマルチセットの交差点の大きさは、少なくともある特性を有するマルチセットのリストですk-1。つまり、すべてのマルチセットを受け取り、それらを(マルチセットの交差を使用して)一度に交差させます。例[(1, 2, 2), (1, 2, 3), (1, 2, 4)]として、交差点のサイズが2であるパー​​ツはですが、[(1, 1, 3),(1, 2, 3),(1, 2, 4)]交差点のサイズが1であるため、そうではありません。 仕事 あなたのコードは2つの引数nを取る必要がありkます。次に、これらのマルチセットをソート順に貪欲に調べ、リストの一部を出力します。この場合n=5, k=3、正しいパーティション分割は次のとおりです。 (0, 0, 0), (0, 0, 1), (0, 0, 2), (0, 0, 3), (0, 0, 4) (0, 1, 1), (0, 1, …

12
N固有の加算セット
セットは重複することなく順序付けされていないことに注意してください。 定義アンN -uniquely添加集合S長さであり、Kは、セットようであるすべてのNに-lengthサブセットSの異なる数の合計。言い換えれば、SのすべてのN長さのサブセットの合計はすべて異なっています。 対物入力として配列/セットと番号が与えられるN任意の合理的な形式で機能するか、完全なプログラムには、検索およびリターン又は出力truthy又はfalsey値入力であるか否かを示す(falseyためerroringは大丈夫です)N -独自の添加剤。 各要素は最大で1回しか出現せず、各数値は言語のネイティブデータ型内にあると想定できます。必要に応じて、入力がソートされていると想定することもできます。最後に、あなたはそれを仮定するかもしれません0 < N <= K。 例 セットS = {1, 2, 3, 5}とを考えてみましょうN = 2。以下は、すべての一意のペアのすべての合計ですS(一意のペアのみが合計の対象となるため)。 1 + 2 = 3 1 + 3 = 4 1 + 5 = 6 2 + 3 = 5 2 + 5 = 7 3 + 5 = 8 出力に重複がないことがわかるので、Sは2一意的に加算されます。 …

17
2つのリストの共通部分を設定する
目標は、整数の2つのリストの積集合を計算することです。共通部分は、両方の入力リストで少なくとも1回見つかった整数の順序付けされていない一意のグループとして定義されます。 入力 入力は任意の形式(関数パラメーター、stdioなど)にすることができ、整数の2つのリストで構成されます。多くの場合、負でない数の整数が含まれている(つまり、並べ替えられていない、重複が含まれている、長さが異なる、空であるなど)以外は、各リストについて何も想定していません。各整数は、言語のネイティブな符号付き整数型に適合し、1桁以上の10進数であり、符号付きであると想定されています。 入力例: 1 4 3 9 8 8 3 7 0 10 1 4 4 8 -1 出力 出力は、2つのリストの共通部分を任意のフォーマット(戻り値、stdioなど)に設定した整数のリストのようなものです。出力をソートする必要はありませんが、常にソートされる実装を提供することはできます。出力は、順序付けされていない有効なセットを形成する必要があります(たとえば、重複する値が含まれていてはなりません)。 テストケースの例(出力の順序は重要ではないことに注意してください): 最初の2行は入力リスト、3行目は出力です。(empty)空のリストを示します。 (empty) (empty) (empty) 1000 (empty) (empty) 3 1 2 4 3 1 1 1 1 3 3 1 -1 0 8 3 3 1 1 3 1 …

1
理論的演算を設定(+および*)[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Code Golf Stack Exchangeのトピックとなるようにします。 4年前休業。 理論演算を設定する 前提 乗算演算子なし(こことここ)で乗算することを含むいくつかの課題がすでにあり、この課題も同じように(2番目のリンクに最も類似しています)です。 この課題は、以前の課題とは異なり、自然数(N)の集合論的定義を使用します。 そして 例えば、 等々。 チャレンジ 私たちの目標は、セット演算(下記参照)を使用して、自然数を加算および乗算することです。この目的のために、すべてのエントリは同じ「設定言語」であり、そのインタープリターは下にあります。これにより、一貫性とスコアリングが容易になります。 このインタプリタを使用すると、自然数をセットとして操作できます。あなたの仕事は2つのプログラム本体(以下を参照)を書くことです。1つは自然数を追加し、もう1つはそれらを乗算します。 セットに関する予備的な注記 セットは通常の数学的構造に従います。ここにいくつかの重要なポイントがあります: セットは注文されていません。 セット自体は含まれていません 要素はセットに含まれるかどうか、これはブール値です。したがって、セット要素は多重度を持つことができません(つまり、要素はセットに複数回存在することはできません)。 通訳と詳細 この課題の「プログラム」は「設定言語」で記述され、ヘッダーと本文の2つの部分で構成されます。 ヘッダ ヘッダーは非常に単純です。それはあなたが解決しているプログラムをインタプリタに伝えます。ヘッダーはプログラムの最初の行です。+or *文字のいずれかで始まり、スペースで区切られた2つの整数が続きます。例えば: + 3 5 または * 19 2 有効なヘッダーです。最初は、あなたが解決しようとしていること3+5、つまりあなたの答えが正しいことを意味します8。2つ目は乗算を除いて同様です。 体 本文は、通訳に対する実際の指示がある場所です。これが、真に「加算」または「乗算」プログラムを構成するものです。答えは、各タスクに1つずつ、2つのプログラム本体で構成されます。次に、実際にテストケースを実行するようにヘッダーを変更します。 構文と手順 指示は、コマンドとそれに続く0個以上のパラメーターで構成されます。次のデモンストレーションでは、アルファベット文字は変数の名前です。すべての変数はセットであることを思い出してください。labelはラベルの名前です(ラベルはセミコロン(つまりmain_loop:)が後に続く単語です)int。整数です。以下は有効な手順です。 フロー制御: jump label無条件にラベルにジャンプします。ラベルは、セミコロンが後に続く「単語」main_loop:です。たとえば、ラベルです。 je A label Aが空の場合はラベルにジャンプ jne A label …

3
シーケンスの共通部分を印刷する
シーケンス 1からまで番号が付けられた4つの番号シーケンスが与えられ4ます。 OEIS0自然数が2進数でリストされている場合のの場所。シーケンスを計算する方法の例を次に示します。 0,1,10,11,100,101,110,111 ^ ^ ^^ ^ ^ 0 3 78 10 14 シーケンスの開始は次のようになります。 0, 3, 7, 8, 10, 14, 19, 20, 21, 23, 24, 27, 29, 31, 36, 37, 40, 45, 51, ... OEISこのシーケンスには、最初の自然数が含まれ、次の2つがスキップされ、次に次の3つが含まれ、次に次の4つがスキップされて続行されます。 0, 3, 4, 5, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, …

6
順列番号付け
チャレンジ n個の整数の特定のセットについて、辞書式インデックスを出力するプログラムを記述します。 ルール 入力は、スペースで区切られた一意の非負の整数のセットでなければなりません。 順列の辞書式インデックス(範囲0〜n!-1を含む)を出力する必要があります。 順列ライブラリまたは順列ビルトインは使用できません。 インデックスの検索に役立つように、入力の順列のセットまたは順列のサブセットを生成することはできません。 また、指定された順列を次または前の(辞書式に)順列にインクリメントまたはデクリメントすることもできません。 階乗を使用せずにこれを完了する方法が見つかった場合、ボーナスポイント(-10バイト)。 n = 100の場合、実行時間は1分未満である必要があります バイト数による最短コードの勝ち 火曜日に選ばれた勝者(2014年7月22日) 順列の詳細 http://www.monkeyphysics.com/articles/read/26/numbering_permutations.html 順列グループ操作 http://lin-ear-th-inking.blogspot.com/2012/11/enumerating-permutations-using.html 例 0 1 2 --> 0 0 2 1 --> 1 1 0 2 --> 2 1 2 0 --> 3 2 0 1 --> 4 2 1 0 --> 5 0 …

3
{1,2、…、n}のトポロジの数を計算します
仕事 nパラメーター/入力として受け取り、セットのトポロジーの数(以下に示す)を出力/返す関数/プログラムを記述します{1,2,...,n}。 トポロジーの定義 xは任意の有限集合を、およびのサブセットであるT、と仮定するパワーセット Xの(すなわちXのサブセットを含むセット)は、満足これらの条件を。 Xと空のセットはTにあります。 2組のU及びVがTである場合、組合それら二組のはT.であります 2つのセットUとVがTにある場合、これら2つのセットの共通部分はTにあります。 ... TはXのトポロジと呼ばれます。 仕様書 プログラムは次のいずれかです。 nパラメータとして受け取る関数 または入力するプログラム n そして、セットの(個別の)トポロジの数を出力または返します{1,2,...,n}。 n 11未満の任意の非負整数(もちろん、プログラムが11より大きいnを処理する場合は問題ありません)であり、出力は正の整数です。 プログラムでは、トポロジの数を直接計算するライブラリ関数やネイティブ関数を使用しないでください。 入力例(nの値): 7 出力/戻りの例: 9535241 ここまたはここで戻り値を確認できます。 もちろん、最短のコードが優先されます。 勝者は決まりますが、短いコードが表示された場合は勝者を変更することがあります。

3
ASCIIアートベン図
重複する要素を含まない二つのリストを考えるaとb、二つのリストを出力ASCII-アートベン図間のクロスオーバーを見つけます。ベン図は、単純化のために従来の円の四角形バージョンを使用します。 例 与えられた: a = [1, 11, 'Fox', 'Bear', 333, 'Bee'] b = ['1', 333, 'Bee', 'SchwiftyFive', 4] 出力(ベン図が正しい限り、順序は100%任意です): +-----+----+-------------+ |11 |333 |SchwiftyFive | |Fox |Bee |4 | |Bear |1 | | +-----+----+-------------+ プログラムは、実装に応じて検討する'1' == 1か'1' != 1、検討します。また、すべてを文字列として扱い、文字列の入力のみを受け入れるように選択することもできます。 与えられた: a=[] b=[1,2,3] 出力(2つの空の部分にまだ右パッドスペースがあることに注意してください): +-+-+--+ | | |1 | | | |2 …

2
¿Yo Quiero jQuery?
セットアップ あなたは、与えられた簡単なWebページを 11個の要素と: 順番にinputIDがi1から10の要素i10 outputIDを持つ1つの要素out input要素にはvalue、HTMLソースで定義された属性があります。与えられた入力の値は、から0までの整数10です。 このWebページにはコアjQuery 1.10.1ライブラリ(フィドルで見られる)が装備されており、DOMが読み込まれるとすぐにコードブロックを実行します。 チャレンジ 6つの特定の課題を以下に示します。いずれの場合も、目的はの関数を計算しinput、計算結果をの内部HTMLに配置することoutputです。各課題は、他の課題から独立して解決されるべきです。課題の解決策は、計算/出力を実装するコードのブロックです(たとえば、フィドルの「Javascript」ウィンドウのコード)。ソリューションの長さは、このコードブロックの長さ(バイト単位)です。 これはすべて、かなり興味深い制限ではないとしても、非常に単純に思えます。 あなたのコードは... jQuery関数$()を呼び出して引数を渡す 変数を定義して使用する 使用する this 任意のjQueryオブジェクトの任意のプロパティを読み取る(.length最も役立つ) 関数/ラムダを定義します。これらは後で呼び出され、変数に格納され、引数として渡されます。関数はreturn、必要に応じて引数と値を受け入れることができます。 jQuery DOMトラバーサルメソッドのいずれかを呼び出す 任意の呼び出しのjQuery DOM操作方法を、除いてwidth、height、innerWidth、innerHeight、outerWidth、outerHeight、offset、position、replaceAll、replaceWith、scrollLeft、scrollTop、css、prop、removeProp、呼び出されない可能性があります 演算子を使用:オブジェクトの作成{}; 配列の作成/インデックス参照/フィールド参照[]、関数/メソッドの呼び出し()、文字列の連結+、および割り当て= 文字列リテラルを使用する あなたのコードは... 上記以外の演算子を使用する 使用任意の文字列リテラルではありませんリテラル 呼び出し任意の具体的に除外上記以外の関数/メソッド 使用任意の制御構造やキーワードを(例えばfor、while、try、if、with、など)、除くthis、var、let、関数やラムダ でDOMを操作する任意のコードの注入の結果は(より下記参照)する方法 上記以外の非ユーザー定義変数または非ユーザー定義フィールド/プロパティにアクセスする 6つの課題 すべてのinput値の合計を計算し、結果をの内部HTMLに配置しoutputます。 すべてのinput値の最大値を計算し、結果をの内部HTMLに配置しoutputます。 すべてのinput値の積を計算し、<= 2その結果をの内部HTMLに配置しoutputます。すべての入力値がある場合は> 2、場所0の内側のHTMLの中へoutput。 すべてのinput値のモーダル値(つまり、頻度が最も高い値)を計算し、結果をの内部HTMLに配置しoutputます。モーダル値が一意でない場合は、いずれかのモーダル値をの内部HTMLに配置しoutputます。 させるI1入力の値もi1、I2入力の値もi2入力値のシーケンスが場合など、I1... I10を形成フェンス付きのI1 < I2ところ、"TRUE"うち内側のHTMLへoutput。それ以外の場合"FALSE"は、出力の内部HTMLに配置します。具体的には、フェンスの条件はI1 < I2 > I3 < I4 > …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.