著者
高野 保真 岩崎 英哉 佐藤 重幸
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.1, pp.1_253-1_287, 2015-01-26 (Released:2015-02-11)

関数型言語 Haskellは,遅延評価を標準とするプログラミング言語であり,近年注目を集めている.デファクトスタンダードの処理系である Glasgow Haskell Compiler(GHC)は多くの研究の基盤として用いられ,新しい言語概念など先進的な研究成果が取り入れられている.その一方で,GHCの実装は巨大で複雑になってきており,GHCに新機能を導入することは障壁が高くなってしまった.このような状況において,我々は実行時メモリの効率化を目指して,遅延オブジェクトを再利用する手法を提案し,GHCに実装してきた.我々が提案した手法は,コンパイル時にプログラム変換を行い,再利用対象とする遅延オブジェクトへの参照を単一にした上で,遅延オブジェクトを破壊的に書き換えて再利用する.その基本的な機構は既に先行論文において述べ,メモリ削減の効果も確認済みである.本論文は,再利用手法を実現するために考えられる各種手法の実装方法,および,それらの手法の得失・取捨選択に関する議論を詳細に行う.また,再利用手法の基本的な機構の実装で培った経験を生かし実装した,再利用手法の改善技法をいくつか提案する.それらの技法を導入することにより,実行時間に関するオーバヘッドを低く抑えることが可能であることを実験により確認した.最後に,GHCを研究の基盤に用いた経験より得られた遅延型関数型言語処理系に関する知見についても述べる.特に,GHCが Haskellで記述されていることは,処理系の拡張性に大きく貢献していることが分かった.
著者
石川 貴一 粕野 悠聖 高野 保真 佐久田 博司
雑誌
研究報告ヒューマンコンピュータインタラクション(HCI) (ISSN:21888760)
巻号頁・発行日
vol.2019-HCI-182, no.2, pp.1-5, 2019-03-11

近年,フィットネスクラブやジムの利用者の増加にともなって,筋力トレーニングに注目が集まっている.さらに,IT 分野の急速な発展により,筋力トレーニングに IT 技術を取り入れるための様々な試みがなされている.そのような背景のもと,本研究は,マーカー型モーションキャプチャによって取得したユーザの動作を,VR ゴーグル内にアバタとして再現し,VR ゴーグルを装着した状態で筋力トレーニングした際のプロテウス効果について調査した.プロテウス効果は,仮想空間内のアバタの外観が,ユーザの心理的 ・ 身体的に影響するという現象である.今回は,男女 16 名の被験者を対象に筋肉量の異なる外観の二種類のアバタを用いて,筋力トレーニング時の疲労度に与える影響を調査した.主観的な疲労度をアンケートにより集計した結果,被験者を男性に限定すると,筋肉質のアバタを映した場合には疲労度が軽減されるということが分かった.
著者
田村 知博 高野 保真 岩崎 英哉
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.1, no.2, pp.28-41, 2008-09-26

実行効率の良い探索プログラムを書くためには,結果に寄与しない計算を除去する枝刈りが有効であるが,一般に,簡潔なプログラム構造を保ったまま枝刈りの記述をすることは難しい.この問題点を解決するために,Improving Sequence(IS)というデータ構造を用いる手法が提案され,有効性が確認されている.ISとは,ある全的に定義された推移的な二項関係に従い,要求駆動によって単調に最終結果へ近づいていく近似値の列のことである.ISを用いたプログラムでは,枝刈りをするか否かの判断に近似値を用いることができる.従来の純関数型言語上のISの実装はライブラリによるものだったので,近似値の数に比例したヒープ領域を必要とし,効率があまり良くないという問題点があった.この問題点を解決するため,本論文では,ISの近似値が持つ単調性に着目し,また,近似値が枝刈りの判断にのみ用いられ,中間データとしての役割しか持たないことを前提として,純関数型言語において,定数領域しかヒープを消費しないISの実装を提案する.提案手法の効果を確認するため,Glasgow Haskell Compilerに実装を施し,ナップサック問題など,いくつかのプログラムで実験を行った.その結果,問題によってばらつきはあるものの,メモリ消費量において3%~75%程度の減少が見られ,安定的に改善できることが確認できた.また,メモリ消費量を削減することで,多くの場合に実行時間を改善できることも確認できた.