第35回プロコン-競技部門

10月19~20日に開催された第35回高専プロコンに競技部門で参加しました。

挨拶

お久しぶりです。きのなこです!
プロコンに参加してきたのでレポート書きます。自分は何もしてない見てるだけのごみだったのですが、めっちゃ楽しかったです。

結果

競技部門は 予選2位通過、準決勝4位敗退でした。
名刺クエスト 企業と学生部門どちらも上位10チームでした!(10000円分のアマギフGET!!)
当日の競技中の様子は以下の動画でご覧ください。

http://www.youtube.com/live/yIifjdYdwkY?si=8jBZY1ikWa1dEkL5
http://www.youtube.com/live/DBorqw6p_bM?si=sP535AB4ttgPlXbr

感想

今回、競技で使ったプログラムは全部、赤石匠くんがYokochi先輩の協力のもと、一人で頑張ってくれたものです。ほんとにすごい尊敬、感謝です。後輩のシャケもチームの紹介動画制作とかたくさん頑張ってました。それに比べて自分、何もしてないゴミすぎる。 競技部門を通して、他高専のアルゴリズムやプログラムを見せていただいたり、徹夜部門とかいう人もいて、いろんな意味でとてもいい経験になったのと、友達100人できました!(*^^)v

MinecraftのMODを作ってみたよ(未完成)

この記事は、SYSKEN Advent Calendar 2023 12月02日の記事です。

初めに

御閲覧の皆々様

津山工業高等専門学校 4年 riverと申します。
今年のアドベントカレンダーを最初に書かせていただきます。
突然の更新となり申し訳ございませんが、今後ともよろしくお願いいたします。

皆様にいたしましては、近日の鮭の大群が押し寄せる中いかがお過ごしでしょうか?

さて、今回はMinecraftというゲームにおけるMODの作成の
環境構築を紹介させていただきます。

目次

  • はじめに
  •  本文
    • 用意するもの
    • Intellij IDEAの設定
    • JDKの設定
    • プロジェクトの起動の確認
    • プロジェクトの初期化
    • 続きは?
  • 終わりに
  • 参考文献

続きを読む »

第34回高専プロコン-課題部門

10月14~15日に開催された第34回高専プロコンに課題部門で参加しました。

課題部門は敢闘賞とさくらインターネット企業賞を頂きました。

副賞はHHKB人数分とレットブル1年分をもらいました。

名刺クエストでは企業、学生ともに2位でした。

続きを読む »

0円で旅行しましたin山口

第30回 中国コンピュータフェスティバル

初めに

こんにちは!今回コンフェスの競技部門に参加させていただいたriver Kです。
ちなみにgoogleもslackもdiscordもダークモードでございます。
さて今回は久々のオフライン開催ということで
幹事校である山口県の大島商船高等専門学校へと
行ってまいりました。
その際の実際の雰囲気などを伝えられたらなと思います。

目次

  • コンフェスって何 ?
  • オフラインでしたこと
  • 結果発表
  • 使った資料もろもろ

コンフェスって何 ?

そもそもコンピュータフェスティバルって何?って人もいるかもしれないので
説明させていただきます。
コンピュータフェスティバルは、中国地区高専コンピュータクラブコミュニティによって
毎年開催されるフェスティバル形式のコンテストです。
詳細はWikipedia参照。(第23回の記事参照。)

オフラインでしたこと

大会前

まずコンフェスの大会前に出場する皆さんが必要な物を何らかの形で集計し段ボールに梱包し
すぐに持ち運べる状態にしましょう。
(ちなみに競技部門はそのアンケートをぶっちし、必要物品を現地調達しました不思議)

 

1日目

朝6時に起き津山駅へ
ばちくそに眠い中体を引きづりと行きました。
え?どうして眠いかだって?それはね!作品が完成してないからさ!
メインはバスでの移動の時間がほとんどんで隣のチームメンバーとワイワイしながら
移動しました。18:00ホテル着

ホテル!きれい!すごい!(写真なかった)

あったけど5MG超えててアップロードできんかった;;あ…できた。

皆さんここがあがける最後のチャンスです!もし同じ状況に陥ってる民がいましたら
ここで頑張りましょう!!

2日目

朝8時出発!(寝坊した人がいなかった奇跡)

競技部門は9時から大会が始まります。ちなみに作ったプログラム
(大阪高専のgithubをダウンロードしただけ)が動きません!
なぜでしょう?
この広大なブラックボックスを解き明かすことができません!

そんなこんなで始まる競技部門

友達が盗撮した写真いただきました。

11:30
いぇ~い競技部門終わり~ストレスからの解放!
結果は後ほど

ということでお昼ごはんでございます

おいしい!

その後は
メディア部門、アプリケーション部門、ゲーム部門をそれぞれ見て回りました。
こちらコミュ障展示物のバグを見つけて遊ぶも本人に話しかけられない。
キョドキョドしてる。

そして中には空白を展示している方もいましたね。

最後には各高専の交流会という名の部長晒上げ大会を聞きました。
みなさんなかなかに個性的に仕上げてきていてさすが高専だなと思いました。

無事閉会式のちにホテルへ帰還

その後夜に友達とあつまって人生ゲームをしてお開きとなりました。
実質修学旅行

3日目

朝の9時出発のためそれより少し早く起きてお見上げを買ってレッツバスゴーゴ

バスの中で性癖当て人狼ゲーム

無事解散

まとめ・結果

結果は

競技部門 : 「 あぁ(0.5秒)」作 : river,tomooki,sera 順位 : 2位

ゲーム部門 : 「押すだけ」 作 : makura 順位 : 2位

メディア部門 : 「Live2Dでアニメーション」 作 : rain 順位 : 1位

と以下の通りでしたうれしい

大まかなまとめとして前日に用意するものはちゃんと話し合うこと。
締め切り駆動はほどほどに!もっといろんな人に声を書けれたらよかったな

最後に高専交流会で使ったプレゼン資料と、競技部門が使ったサイトを掲載して
この記事を終了しようと思います。

来年は鳥取県!

使った資料諸々

交流会で使った資料PDF

津山高専について

大阪高専っすごい

理論値解答

演奏会録音のあれこれ

どうも、部長からだいぶ前に退いたJunです。

先日歌唱部と吹奏楽部の定期演奏会の撮影・録音をしたのでそれらについての技術継承も兼ねた備忘録をつらつらと書きます。一抹も興味がわかない人はこれを見るより別のことをしたほうが時間を有意義に使えます。

演奏会の動画制作においての主なステップは次の3つです。

  1. セッティング
  2. 撮影・録音
  3. 編集

続きを読む »

アドベントカレンダーまとめサイトのまとめサイト

この記事は、SYSKEN Advent Calendar 2022 12月4日の記事です。

はじめに

拝啓

めっちゃめちゃ寒くて毎日震えるしかない民ですが、皆様はいかがお過ごしでしょうか。

今年もアドベントカレンダーの時期になってまいりました。
世間では防弾チョッキやヘルメット、戦車、機関銃、手榴弾などを忘れず持ち歩くなどという
狂言を発する方々がおり、世も末かなと思っております。

まぁぶっちゃけ、特に内容が思いつかなかったのでアドベントカレンダーと検索して出てくる
アドベントカレンダーの記事をまとめるアドベントカレンダーの一記事になってやろうという
次第です。「それって手抜きじゃない?」って言ったやつ前に出てこい

 

中身

ということで中身です。個人的におもろい?と思ったものや、
いい感じにまとめてくれてるサイト、アドベントカレンダー作成サイト等をご紹介していきます。

Advent Calendar 2022 – 気になる技術系アドベントカレンダー!今年も集めますよ~!』
ここに大体乗ってるっていうかこれ紹介しとけば私の記事要らないまである超便利

Qiita Advent Calendar
説明不要 偉大なるQitta様に逆らうことなかれ
個人的に気になってる会社とかの社名を入れると意外と書いてたりするのでぜひ調べてみてね

Adventar
アドベントカレンダーが簡単に作れる作成ツールにして便利な紹介ツール
いろんな人のアドベントカレンダーを読んでみよう

TRPGなんでも Advent Calendar 2022
TRPGのいろんな記事が載ってるよ!TRPGおもろいよ!
TRPGを布教したい!!!

奇妙な感情たちカレンダー Advent Calendar 2022
なんかこの絶妙な感じが好き

終わりに

今回の反省点として

  • もっと早くに構成ねっとけばよかったなぁ
  • 時間ねぇなぁ
  • ディープラーニングについて描けばよかったんでは?
    ↑あ!天才

ということで、

中身2

皆さんこんにちは、お元気ですか?私は徹夜でTRPGをしたのちにバイトをし、
TRPGの続きをするをし、アドベントカレンダーの提出を忘れるくらい元気です。
この後レポートが…

さて、思いついたので話すのですがDeep Learning(深層学習)について話します。
やはりアウトプットしてこそその身に焼き付くというものですからね。
といっても今回は概要のみなっており詳しいことは特に語りません。次回があるとは言っていない

パーセプトロン

Deep Learningについて説明をするには、まずパーセプトロンというものについて
説明しなければなりません。どうしてパーセプトロンについて説明しなければならないのか
については後述します。

パーセプトロンとはあるっていのは複数の入力を重み付けして、0か1を出力するだけのものです。
情報高専生にわかりやすく言うと論理回路を組み合わせていろいろな数を表現するものを
なんかかっこいい感じの図に表したものがパーセプトロンとなっています。

 

ニューラルネットワーク

次にニューラルネットワークについて説明させていただきます。
実はニューラルネットワークとは先ほど説明したパーセプトロンを多層化させたものとなっています。つまり、パーセプトロンがわからなければなーんも分からんということです。

そして当然だだ多層化させるだけではちょっと複雑なだけな回路になってしまうため
この多層化させたものにシグモイド関数やらReLU関数やらエントロピー誤差なんかを
使うことでいい感じにすると

ニューラルネットワークとなります

Deep Learning

では皆さんお待ちかねのDeep Learning(深層学習)ですね、睡眠学習のほうではないですよ。
その前に、これまで「パーセプトロンが集まってできたニューラルネットワークというものがある」
といったいった説明をしました。そしてDeep Learningは、実はニューラルネットワークを
多層化させたものがDeep Learningとなります。

もちろんただ多層化させればDeep Learningになるわけではありません。
この多層化させたニューラルネットワークに、ハイパーパラメータの最適化
過学習の抑制させたり、初期値を最適化させたりすると

Deep Learningとなります。

まとめ

つまりDeep Learningとはパーセプトロンがたくさん集まったニューラルネットワークが
たくさん集まってできた。めちゃめちゃ複雑なネットワークということです。

ついでに言うと、Deep Learningの使い方はDeep Learningを複数回同時に行い
それによって出力された値の平均を取っておおよその値を出すことになります。

終わり

ぶっちゃけほとんど走り書きでまったく検閲してないけど、
なんかいい感じに埋まったし間に合ったのでよし!
でこれにてアドベントカレンダーを終わらせていただきます。

寒気厳しき折柄、くれぐれもご自愛ください。

敬具

次回のSYSKEN Advent Calendar 2022は12月6日、担当はRain先輩です。お楽しみに。

第33回高専プロコン【課題部門】

はじめに

Arataです。10月15日〜16日に開催された第33回高専プロコンに参加してきました。この記事では私たちが参加した課題部門について書いていきます。

つくったもの

今年の課題部門のテーマは「オンラインで生み出す新しい楽しみ」です。私達は日頃の雑談に焦点を当てた「とーふとーく」という作品を作りました。

 

審査

プレゼンテーション審査ではシステムについて口頭で発表しました。発表はNotoくんが担当してくれました。

デモンストレーション審査では実機を使いながらシステムについて説明しました。審査は主にRainさんが、一般公開はメンバー全員が担当してくれました。

マニュアル審査では事前に提出したマニュアル通りにシステムが動作するかの審査を受けました。審査は主にArataが担当しました。

結果

特別賞と、株式会社さくらインターネット様から企業賞をいただきました。企業賞の副賞はMeta Quest 2 人数分とRed Bull 1年分でした。ありがとうございました。

また、名刺クエストの企業部門で上位10チームに入賞しました。

おわりに

メンバー5人のうち4人が高専プロコン初参加でしたが、賞をいただくことができ素直に嬉しいです。しかしながら、優勝を狙えるアイデアだったと考えており、己の実力不足を感じる大会でもありました。今回の振り返りを後輩に引き継いでいければと考えています。

最後になりますが、高専プロコン実行委員会の方々、協賛企業の方々、そしてメンバーの皆様、本当にありがとうございました。

【未経験者向け】体から炭素を乗り除く方法【タイピング】

この記事は、SYSKEN Advent Calendar 2021 最終日の記事です。

どうもこんにちは。記事タイトルに【】を乱用する者を抹殺する硝酸坂 魂之助(しょうさんざか たましいのすけ)です。

みなさん、小さい頃の夢は思い出せるでしょうか。サッカー選手パティシエプリキュアなんJ民……いろいろな夢があると思います。

そのなかでも特に世のちびっこ達を引きつける素晴らしい職業がありますね。

そう、感のいい人ならお気づきでしょう。消火栓です。

消火栓は消火活動の際に水を補給するための設備、つまり全人類の生命線です。まさにみんなの憧れる存在ですね。消火栓は赤いので闘牛をいなすのにも使えて一石二鳥です。

さて、とは言ったものの消火栓を目指すのは正に茨の道。並大抵の努力でどうにかなるものではありません。なにせ無機物ですからね。体から炭素を取り除かなければなりません。どうにかできないか、私は一週間寝ずに考え続けました。

そして出た結論は、「人間のデータ化」です。いっそのこと炭素だけでなく、人体をまるごと消してしまえば無機物になれる。発想の転換です。あとはデータ化した自分を消火栓にインストールすれば晴れて新たな人生、いや、消火栓生のスタートです。いやっほう!!

しかし壁はまだまだあります。そもそも、「人間の記憶をデータ化できなければいけない」という致命的な問題が。これは、もはやヤバイ級ハッカーにでもならなければ実現不可能…………

……………………

………………

…………

自分自身がヤバイ級ハッカーになればよいのでは!!??

はい、名案が出ましたね。ハッカーになれば自分自身をデータ化するだけでなく、信号機の色を変えて信号待ちの時間を減らしたり、ソシャゲの公式HPにハッキングして存在しないコラボを捏造したり、S○RNの陰謀を暴いたり……人生が豊かになること間違いなしです。

しかし、ヤバイ級ハッカーには必要不可欠な能力があります。そう、パソコンを高速でカタカタする能力です。パソコンを叩けないハッカーなど好感度を教えてくれない親友と同じくらい無力な存在。そこで今回は、みなさんに初心者のためのタイピング練習サイトを紹介します。

それがこちら、Typing clubというサイトです。

はい。広がるアメリカ語恐怖を感じている人もいるでしょうが、安心してください。そのうち日本語にできます。「Get started」と書いてある部分をクリックしましょう。

するとこんな感じのページに飛びます。右上にある国旗みたいなやつをクリックすると言語を変えられます。Steamの美少女ノベルゲームをプレイしている皆様にはおなじみ言語設定ですね。

とりあえずこれを読んでいるのはタイピングナンテゼンゼンデキナイヨーという人が多いと思うので、そんな人は「開始するにはレッスンをクリック」と書かれた場所を押してみてください。

はい、なんか流暢な英語の動画が再生されたと思います。右下から日本語字幕が表示できるので表示させましょう。タイピングの何たるかを教えてくれます。ところでタイピングってタイのpngファイルみたいですよね。

あとは適当に指示に従って進めていけばいい感じに教えてくれます。読めない文字とか出てきたらGoogle翻訳とか駆使して戦ってください。

このサイトのいいところ

このサイトのいいところはなんといっても初心者の目線で教えてくれるところです。これは私がタイピングを練習しようとして直面した問題なのですが、【タイピングの基本を教えます!】みたいなサイトを見るとASDFGHJKL;:]のキーをいきなり全部覚えさせられるんですよね。できるわけがない。アニメ版RewriteのMoon編を理解するくらいの無理難題です。

しかし、このサイトは2キーづつ丁寧に教えてくれるので非常に覚えやすいです。これをコツコツやれば未経験からでも全然ノールックでタイピングできるようになります。できるようになったら寿司で寿司でも喰いましょう。
寿司打

また、システム研究部内では日本国憲法の前文を打つスピードを競うランキングがあるので、こちらに挑戦してみてもいいですよ。ちなみに私のスコアは347です。

タイピングを習得するコツは、とにかく毎日練習して体に覚えさせることです。誰だって最初は全くできないもの。それでも練習を続ければ、そのうち光明が見えてくるはずです。諦めずに挑戦しましょう。そして消火栓になりましょう
なんでもできる!なんでもなれる!輝く未来を抱きしめて!

今年のアドベントカレンダーはこれにて終了となります。この企画のトリを飾る非常に名誉ある記事を書けたこと、光栄に思います。それでは皆さん、よいクリスマスを。ノシ

使用素材:写真ACイラストAC

 

Atcoderで賞金をもらおう!

This article is the 23th day of the SYSKEN Advent Calendar 2021.

こんにちは、river Kです。
みんな何ら菓子らの前置きを書いているのを見て
ここ最近特にネタなく特にしゃべることがないのでどうしたものか
という状態で今、特に何も考えずにタイピングしてみたら
それっぽくなるのではと思い適当に打ってる夜空がきれいだなぁ
それでもシス研のメンバーとして引き受けたからには何か書かないといけないわけで、
しかも自分はCPグループのリーダー(メンバー数1)なのでそれなりに活動しといたほうがいいのかなぁ
とか思ってたらそれなりに前置きもかけた気がするので
気になったんだけど「なんらかしら」って方言?

皆さん、Atcoderを知っていますか?
簡潔に言うと世界最高峰の競技プログラミングコンテストです。
このコンテストにはさまざまあって中には賞金が出るものも多数存在します

 

目次

  • 競プロって何?/Atcoderとは?
  • 参加の仕方
  • 初心者のために

プログラミングコンテストって何?/Atcoderとは?

プログラミングコンテストって何?

まずAtcoderについて説明する前にそもそもプログラミングコンテストってなんぞ?ってことを
説明させていただくと
与えられた問題を解くアルゴリズムをイメージしてそれをコードする事を競技化したもので、
それをどれだけ多くの問題を解けたかや、それを実行して問題を解く速さや、
どれくらい正確に作れているかなどを競うというもの。

Atcoderって何?

簡潔に言うと先ほど述べた競プロのオンラインコンテストのルールや採点、
順位付けなどをしてくれるサイトのこと

様々な企業がAtcoderのサイトからコンテストを開いていてその中で高い順位を獲得した人には
アマゾンカード2万円など賞金をもらうことができる大会もいくつかある

世界最高峰と書いてあるように世界各国からコンテストを受け付けていて
また、様々な外国人ユーザーがいるちょーすごいとこ

参加の仕方

自分が説明するよりわかりやすいサイトを見つけてしまったので
Atcoderの説明
これを参照して頑張ってくさい
丸投げでごめんなさい

 

初心者のために

ここでは、C++について学びたいと思ってい方にAtcoderを使って
簡単に勉強することができるよってことの解説です

まず初めに、Atcoderにログインしてください
そして常駐コンテストと書いてあるところから
C++入門Atcoder……と書いてあるところクリックしてください

画像のような画面が出たらOKです。

次に個々の問題と書いてあるところクリックしてください
そうすると第1章~第4章と書いてある問題とexと書いてあるものがあると思います

ここの解説をしますと
第1章~第4章はC++の書き方についての説明です
そしてexはそれぞれの説明に付属する問題で
流れとして説明を読んで問題を解くを繰り返すことで学習しようといった形式です

あとがき

今回はすごい手抜き感が満載な気がするけど、許してください
次回はRain先輩です。ラストまでもうひと踏ん張り!!!!

SATソルバーで二次方程式を解く

この記事はSYSKEN Advent Calendar 2021 19日目の記事です。

2週目が回ってきました、あらたです。

今回は夏休みの間に作っていたSATソルバーについて少し話をします。とはいえ、論理学を専攻しているわけではないので念のため以下にわかりやすい資料のリンクを貼っておきます。

  • https://jssst-ppl.org/workshop/2017/slides/ppl2017_c4_soh.pdf
  • https://rkx1209.hatenablog.com/entry/2017/12/17/175439

1. SATソルバーとは

次のような論理式を考えます。

(x1 | x2) & (!x1 | !x2)

x1とx2にfalseもしくはtrueを代入して、この論理式全体の値をtrueにできるでしょうか。答えは、可能です。例えばx1=true、x2=falseとしたときに、論理式全体の値をtrueにすることができます。このように、論理式が与えられたときに変数の値を適切に選んで、論理式全体の値をtrueにできるか判定する問題を、充足可能性問題(SAT問題: SATisfiability problem)と呼びます。そしてこの問題を解いてくれるようなプログラムをSATソルバーと呼びます。

今回は、このSATソルバーを使って二次方程式の解を求めることを目指します。

2. 1bit整数の演算

しかし、論理式を扱うSATソルバーに整数の問題が扱えるとは思えません。いったいどのようにして二次方程式を解かせればよいのでしょうか。

そのために、まずは計算機の仕組みに目を向けてみましょう。我々が使っているコンピューターは半加算器という組み合わせ回路を使って1bitの加算を実現しています。そしてこの回路では、0と1の二値を使って数を表現しています。共通点が見えてきました。

論理式においても、変数に代入できるのはfalseとtrueの二値のみです。つまりは、コンピューターと同じように行えば、論理式でも整数の演算を定義できるのではないのでしょうか。

はい、実は任意の組み合わせ回路はSAT問題に落とし込むことが可能であると知られています。そのために使うのが、Tseytin transformationです。例として、ANDゲートを取り上げてみましょう。Tseytin transformationにより、ANDゲートは次の論理式で表すことが可能です。

(!A | !B | C) & (A | !C) & (B | !C)

この論理式を充足するような変数A、B、Cの組は、常にC = A & Bの関係を満たしています。同様に、ORゲートやNOTゲート、XORゲートなども論理式で表現することが可能です。つまりは、論理式の世界で半加算器を実装してやれば、1bit整数の演算を定義できるというわけです。

3. 整数の演算

次に、2bit以上の整数の演算を定義したいです。そのためにBitVectorと呼ばれる理論を導入します。これは整数を2進数のバイナリとして扱い、その上で算術演算や論理演算などを定義する理論です。

なにやら難しい言葉が並んでいますが、要するに整数を2進数で表現して1bitずつ計算すれば2bit以上の整数の計算もできるよね、という話です。基本的には前節で述べたことの繰り返しなので、その詳細は省略します。

そんなこんなで、足し算をSAT問題に変換してSATソルバーに渡してあげると、SATソルバーで足し算を計算することができます。以下の画像では、11 + x = 15の解を求めています。

4. 二次方程式の解を求める

ここまでで、足し算をSAT問題に変換できることがわかりました。あとは論理回路の知識を使って掛け算を定義してやれば、二次方程式を表現できるようになります。

これはx^2 – 6x + 9 = 0 を解いたときのツイート

5. おわりに

普段使っているangrやz3で「SATソルバー」という単語を聞いたことはありましたが、その背景理論まで学んだのは初めてでした。今後はこのSATソルバーを使ってSMTソルバーを実装できると面白そうだなと思っています。

明日はTomooki君の投稿です。お楽しみに!