{"created":"2021-03-01T06:29:05.098220+00:00","id":21415,"links":{},"metadata":{"_buckets":{"deposit":"b3c8a457-1cf4-49b7-9396-95ffcec65358"},"_deposit":{"id":"21415","owners":[],"pid":{"revision_id":0,"type":"depid","value":"21415"},"status":"published"},"_oai":{"id":"oai:nagoya.repo.nii.ac.jp:00021415","sets":["312:313:314"]},"author_link":["62133","62134","62135","62136","62137","62138","62139","62140","62141","62142"],"item_10_alternative_title_19":{"attribute_name":"その他のタイトル","attribute_value_mlt":[{"subitem_alternative_title":"A SAT Encoding for Finding Operation Sequences of Malbolge that Implement Trit-wise Functions","subitem_alternative_title_language":"en"}]},"item_10_biblio_info_6":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2012-10","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"275","bibliographicPageEnd":"12","bibliographicPageStart":"7","bibliographicVolumeNumber":"112","bibliographic_titles":[{"bibliographic_title":"電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス","bibliographic_titleLang":"ja"}]}]},"item_10_description_4":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"Malbolgeは最も難解なプログラミング言語として知られている.低級アセンブリ言語の開発によりMalbolgeのループプログラムの作成が可能になったものの,低級アセンブリ言語には通常のプログラミング言語が持つような演算命令がなく,Malbolge特有の演算を行う命令のみであるため,低級アセンブリ言語でのプログラミングにも困難が伴う.低級アセンブリプログラミングにおいては,目的のプログラムに必要な二引数三値関数を実現するMalbolge特有の演算命令列の発見が求められる.しかしこれまで,そのような命令列を発見するための手法は網羅的な探索に限られており,低級アセンブリプログラミング上の制限となっていた.本稿では,二引数三値関数を実現するMalbolge命令列の発見にSATソルバを利用した手法を提案することで,この問題の解決を試みる.そのため,二引数三値関数を実現するMalbolge命令列を発見する問題を定式化し,その問題のSATエンコーディングを提案する.実験により,既存手法より高速に,かつ,長い命令列が発見できることが分かった. ","subitem_description_language":"ja","subitem_description_type":"Abstract"},{"subitem_description":"Malbolge is known to be one of the most esoteric programming languages. Although it becomes possible to write programs in Malbolge language due to the development of the low-level assembly language, the programming in the low-level assembly language is difficult. This is because the arithmetic instructions of the low-level assembly language are not those of ordinary programming languages, but the same as the ones of Malbolge. To construct a program in low-level assembly language, it is necessary to find instruction sequences of Malbolge that implement binary trit-wise functions. For finding such instruction sequences, however, an inefficient exhaustive search is the only known method, which is one of limitations in developing programs in the low-level assembly language. In this paper, to solve this problem, we propose a method to find instruction sequences of Malbolge that implement binary trit-wise functions, which is more efficient due to the use of state-of-art SAT solvers. We formalize a problem that finds an instruction sequence of Malbolge that implements a given binary trit-wise function, and propose a SAT encoding for this problem. Experiments shows that our method is able to find instruction sequences faster than the existing method and hence essentially longer ones.","subitem_description_language":"en","subitem_description_type":"Abstract"}]},"item_10_description_5":{"attribute_name":"内容記述","attribute_value_mlt":[{"subitem_description":"IEICE Technical Report;SS2012-37","subitem_description_language":"en","subitem_description_type":"Other"}]},"item_10_identifier_60":{"attribute_name":"URI","attribute_value_mlt":[{"subitem_identifier_type":"URI","subitem_identifier_uri":"http://ci.nii.ac.jp/naid/110009642349/"},{"subitem_identifier_type":"HDL","subitem_identifier_uri":"http://hdl.handle.net/2237/23558"}]},"item_10_publisher_32":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"一般社団法人電子情報通信学会","subitem_publisher_language":"ja"}]},"item_10_relation_40":{"attribute_name":"シリーズ","attribute_value_mlt":[{"subitem_relation_name":[{"subitem_relation_name_text":"IEICE Technical Report;SS2012-37"}]}]},"item_10_relation_43":{"attribute_name":"関連情報","attribute_value_mlt":[{"subitem_relation_type":"isVersionOf","subitem_relation_type_id":{"subitem_relation_type_id_text":"http://ci.nii.ac.jp/naid/110009642349/","subitem_relation_type_select":"URI"}}]},"item_10_rights_12":{"attribute_name":"権利","attribute_value_mlt":[{"subitem_rights":"(c)一般社団法人電子情報通信学会 本文データは学協会の許諾に基づきCiNiiから複製したものである","subitem_rights_language":"ja"}]},"item_10_select_15":{"attribute_name":"著者版フラグ","attribute_value_mlt":[{"subitem_select_item":"publisher"}]},"item_10_source_id_7":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"0913-5685","subitem_source_identifier_type":"PISSN"}]},"item_1615787544753":{"attribute_name":"出版タイプ","attribute_value_mlt":[{"subitem_version_resource":"http://purl.org/coar/version/c_970fb48d4fbd8a85","subitem_version_type":"VoR"}]},"item_access_right":{"attribute_name":"アクセス権","attribute_value_mlt":[{"subitem_access_right":"open access","subitem_access_right_uri":"http://purl.org/coar/access_right/c_abf2"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"安藤, 聡","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"62133","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"酒井, 正彦","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"62134","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"坂部, 俊樹","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"62135","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"草刈, 圭一朗","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"62136","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"西田, 直樹","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"62137","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"ANDO, Satoshi","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"62138","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"SAKAI, Masahiko","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"62139","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"SAKABE, Toshiki","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"62140","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"KUSAKARI, Keiichirou","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"62141","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"NISHIDA, Naoki","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"62142","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2017-09-16"}],"displaytype":"detail","filename":"110009642349.pdf","filesize":[{"value":"789.1 kB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"110009642349.pdf","objectType":"fulltext","url":"https://nagoya.repo.nii.ac.jp/record/21415/files/110009642349.pdf"},"version_id":"2c7e9b59-03a6-4da3-b5d0-e3178bca977a"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"難解プログラミング言語","subitem_subject_scheme":"Other"},{"subitem_subject":"Malbolge","subitem_subject_scheme":"Other"},{"subitem_subject":"SATエンコーディング","subitem_subject_scheme":"Other"},{"subitem_subject":"三値関数","subitem_subject_scheme":"Other"},{"subitem_subject":"Esoteric programming language","subitem_subject_scheme":"Other"},{"subitem_subject":"Malbolge","subitem_subject_scheme":"Other"},{"subitem_subject":"SAT encoding","subitem_subject_scheme":"Other"},{"subitem_subject":"Trit-wise function","subitem_subject_scheme":"Other"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"journal article","resourceuri":"http://purl.org/coar/resource_type/c_6501"}]},"item_title":"三値関数を実現するMalbolge命令列の発見のためのSATエンコーディング","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"三値関数を実現するMalbolge命令列の発見のためのSATエンコーディング","subitem_title_language":"ja"}]},"item_type_id":"10","owner":"1","path":["314"],"pubdate":{"attribute_name":"PubDate","attribute_value":"2016-02-23"},"publish_date":"2016-02-23","publish_status":"0","recid":"21415","relation_version_is_last":true,"title":["三値関数を実現するMalbolge命令列の発見のためのSATエンコーディング"],"weko_creator_id":"1","weko_shared_id":-1},"updated":"2023-01-16T04:10:39.305485+00:00"}