2020-01-01から1年間の記事一覧

2020年振り返り

昨年の自分も書いてましたんで(以下リンク),今年の自分も今年やったこと,成し遂げたことを書こうと思います(僕の好きな食べ物の一つはイカリング). gotutiyan.hatenablog.com 言語処理学会2020に参加した COLING2020に参加した IVRC2020で企画がSEED …

アートを切り替えて不思議に魅せる技法について(Processing Advent Calendar 2020 Day1)

本記事は,Processing Advent Calendar 2020の1日目の記事です.10周年だそうで,おめでとうございます! 目次 目次 2020振り返り・Processingコミュニティについて はじめに 雛形 簡単な実例で! 市松模様で作るアート 前準備 「黒タイル側」の実装 「白タ…

ICPC アジア地区予選2016-A Rearranging a Sequence 解説

問題: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1367 C++で解説しています. 問題の概要 数列(1,2,...,n)があります.その後,の順で,を数列の先頭に出します.最終的な数列を出力してください. 例えばsample1では, 1,2,3,4,5 4,1,2,3,…

ICPC 2020-B 接触追跡 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1641?year=2020 問題の概要 解法(一般論) 実装(C/C++) 実装(python) 別解: boolのOR演算 問題の概要 人がm人います.最初,そのうちの一人がウイルスに感染しています.その後…

ICPC 2020-A カウントダウンアップ2020 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1640?year=2020 問題の概要 解法(一般論) 実装(C/C++) 実装(C++の別解) 実装(python) 問題の概要 0から9までの整数で構築された配列があります。この配列の部分列として2,0,2,…

【python】xlsxwriterの使い方を丁寧に

はじめに 本記事では,xlsxwriterでエクセルに数値や文字列を書き込む方法を紹介します.また,文字列の一部を色付けする,セルを結合後に書き込む,リスト形式のデータを書き込む,列の幅を調整するようなことも記載しています. 目次 はじめに 目次 xlsxwr…

【Processing】当たり判定を”色”で検出するテクニック

はじめに Processingによる当たり判定の検出は,座標を用いて行われることがほとんどだと思います.しかし,座標の当たり判定を書くのは結構大変です.大変さの要因として, 「当たる側」と「当てられる側」の座標を両方考慮しないといけないこと 座標の大小…

ICPC 2019 国内予選B 「スクリーンキーボード」解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1633 C++で解説しています. 問題の言い換え のマス目があり,各マスに文字が割り当てられている.最も左上のマスを(0, 0)とする.あなたは(0, 0)におり,1回の移動で上下左右の1マ…

ICPC 2019 国内予選A 「期末試験の成績」 解説

問題: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1632 C++で解説しています. 問題の言い換え 整数が行列で並んでいる.列の合計値の最大値を求めよ. 解法 各列の合計を計算して,最大値を出力します.計算方法はいくらでもありま…

ICPC 2003国内予選B 「Get Many Persimmon Trees」

問題URL: https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1125?year=2003 問題の言い換え 横,縦個のマス目がある.ここに個の点を打つ.個目の点は座標である.点の座標は重複しない.この下で,横,縦の領域で囲める点の数の最大値を出…

NAIST受験記2020(2021年春入学・1回目)

本記事は1年前の情報です (2021年7月21日に追記)この記事は2021年度・春入学の受験記です.既に2022年度・春入学の第一回入試は終了しており,この記事も1年前の古い情報になりました.NAISTの入試形式が変わらない限りは本記事の情報も生き続けますが,基…

【python】コマンドライン引数を扱うargparseを丁寧に

はじめに 本記事では,argparseを用いてコマンドライン引数を便利に使う方法を紹介します. 公式ドキュメントはこちら:argparse --- コマンドラインオプション、引数、サブコマンドのパーサー — Python 3.10.6 ドキュメント 目次 はじめに 目次 argparseは…

spaCyで英語の文をトークナイズする方法を丁寧に

はじめに 本記事では,spaCyを用いて英文をトークナイズする方法を紹介します. トークナイズに関する情報を比較的詳しく解説するとともに,公式ドキュメントやソースコードへの導線を張ることを目的にしています. 本記事に書いてあることは,公式ドキュメ…

多クラス分類における混同行列と評価指標を丁寧に

はじめに 本記事では多クラス分類(マルチクラス分類)における評価値の考え方・計算方法について説明します.具体的には,最も重要な混同行列の作成方法から始まり,適合率(Precision),再現率(Recall),F1スコア,マクロ平均,およびマイクロ平均を扱…

【NLTK】NLTKに収録されているコーパスの利用方法

はじめに 本記事ではnltkに収録されているコーパスの利用方法を紹介します. 公式ドキュメント: www.nltk.org 以下では,まずは収録コーパスを扱うためのメソッドを紹介した後,収録されている主なコーパスの紹介を行います.なお,メソッドの紹介のサンプ…

【sklearn】TfidfVectorizerの使い方を丁寧に

はじめに 本記事では[sklearn.feature_extraction.text.TfidfVectorizerについて丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに tfとidf TfidfVectorizerの役割 TfidfVectorizerの入出力 TfidfVectorizerの宣言 主なメソッド・属性 fit()…

【sklearn】Classification_reportの使い方を丁寧に

はじめに 本記事ではsklearn.metrics.classification_reportについて丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに classification_reportの役割 classification_reportの入出力 classification_reportの宣言 出力の説明 列ラベルの説明…

【sklearn】LabelEncoderの使い方を丁寧に

はじめに 本記事ではsklearn.preprocessing.LabelEncoder()について丁寧に説明します. 公式ドキュメント: scikit-learn.org はじめに LabelEncoderの役割 LabelEncoderの基本的な入出力 LabelEncoderの宣言 fit() transform() (ラベル→ラベルID) fit_trans…

【Pytorch】nn.Embeddingの使い方を丁寧に

はじめに 本記事では,Pytorchの埋め込み層を実現するnn.Embedding()について,入門の立ち位置で解説します. ただし,結局公式ドキュメントが最強なので,まずはこちらを読むのをお勧めします. pytorch.org 対象読者は, 他のモデルの実装記事見ても,全人…

Processingで「時間」を扱う一般的なテクニック

はじめに 本記事では時間を扱うテクニック全般を紹介します. 時間を扱いたくなる場面としては,ゲーム制作であれば,ステージをクリアするのに時間制限を設けるとき,必殺技的な何かを打った時のクールダウンを設定するときなどが考えられます.アート作品…

甲南大学知能情報学部の成績優秀者表彰制度について・ボーダー予想

はじめに 本記事は,表題の表彰制度の報酬やGPAのボーダーの予想について書きます.筆者は2年連続これを受賞しています(自慢です,というのは嘘で,記事の信ぴょう性のためです.). この表彰制度について 簡単に言うと,良い成績(=高いGPA)を取れば受…

bibを入力とした論文読みサイトを作ってみた

はじめに 論文管理,大変ですよね.日本語や英語問わず,論文を読むようになって思うのは,「論文へのアクセスに時間かかるな」ということです.一度読んだ論文をもう一度読みたい時. タイトルや著者もしくは会議で検索 学会の論文ページに飛ぶ 論文のPDFを…

【入門】processingで最小限のブロック崩しゲームを作る

この記事は,processingを用いてブロック崩しを作るためのチュートリアルです.初心者でも完成までたどり着けるように、詳しく書いていきたいと思います. 出てくるプログラムの知識は int型, float型、変数、if、for程度です.どれも事前知識があると嬉しい…

甲南大学知能情報学部の講義感想

はじめに 甲南大学の知能情報学部の講義について,学べることや感想を書いていきます.あくまでも,僕が受けた授業についてのみ書いていることにご注意ください. また,講義の内容については,各講義のシラバスが最も正確であり,最も信憑性が高いというこ…

【Pytorch】ミニバッチ学習に便利なDataSet・DataLoaderの使い方

はじめに 深層学習によって学習を行う際には,ミニバッチ化して学習させることが一般的です.本記事では,pytorchで提供されているDataSetとDataLoaderという機能を用いてミニバッチ化を実現する方法について書きます. はじめに ミニバッチ化とは DataSetと…

【python3.x】 練習問題55本ノック【問題と解答】

はじめに ここではpythonの練習問題を掲載しています. データを処理する際には,必ず「データの格納」と「データの取り出し」を行うことになるので,その方法を知ることを目的としています.問題は暗算で解けるものや,頭の中で答えが分かるものが多数あり…

【python3.x】 練習問題55本ノック【問題のみ】

はじめに ここではpythonの練習問題を掲載しています. データを処理する際には,必ず「データの格納」と「データの取り出し」を行うことになるので,その方法を知ることを目的としています.問題は暗算で解けるものや,頭の中で答えが分かるものが多数あり…

書評・感想:リーダブルコード

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) どのような本なのか タイトル通りと言えばそれまでですが.「いか…

Processingという言語は何ができるのか

0. はじめに ここでは,Processingという言語について,何ができるのかを解説します. processing.org 大学などで行われるプログラミング教育では,学習の入り口としてProcessingが使われることがあります. これによって,学習者は2つのことを習得します.1…

processingにおけるシーン遷移(画面遷移)を実現する一般的なテクニック

はじめに 基本アイデア 実装例 1. draw()に直書き 2. 関数を呼び出す 3. シーンを文字列で指定する 単純なゲーム制作で理解するシーン遷移 共通部分の追加 スタートシーンの追加 ゲームシーンの追加 クリアシーンの追加 おわりに はじめに ここでは,process…