計算終わるのに３年かかる。失敗から学ばない私。制御(28)

100万人に伝えたい！失敗を乗り超えた話を共有しよう
https://qiita.com/official-events/e9f582bec72278130942

参加投稿です。技術士（情報工学）、工学博士　小川清です。

＜この記事は書きかけです。順次追記します。＞
This article is not completed. I will add some words in order.
# 失敗：3年かかる計算
工業大学電気工学科の卒業研究が、「連立微分方程式のPade近似」のFortranの倍精度ライブラリの作成だった。

Fortran 連立微分方程式のPade近似解法。手の最適化とコンパイラの最適化、誤差の評価
https://qiita.com/kaizen_nagoya/items/c55d29f0d7e9ebd07a31

連立微分方程式のPade近似と、Cコンパイラとモデルに基づく設計
https://qiita.com/kaizen_nagoya/items/5e50b3c9c0004fe92bd9

研究所勤務になり、４倍精度で誤差評価をしようと、全数検査プログラムを造った。　

動かしたら、１日では終わらなかった。途中で中断してどこまで計算したか出力できる仕組みを入れて、計算を再開した。３日目に止めたら、計算終わるまでに３年かかることがわかった。　

1986年のことです。それから３０年経ったころ、計算速度が１０００倍になった。１日で計算結果が出ることがわかった。　

Pade近似はMatlabでも採用している。精度確認が必要かどうかよくわかっていない。　

MATLAB 完全に理解するには
https://qiita.com/kaizen_nagoya/items/867e8743fa813be9b37c

誤差の評価が苦手（専門分野以外）
https://qiita.com/kaizen_nagoya/items/cc3a50827b24ab80985f
# 学ばない１：数式処理　
Mathematicaというソフトウェアが仕事場にあった。使い方がよくわからなかった。
Reduceという数式処理プログラムを購入した。その後、オープンソースになったらしい。
https://reduce-algebra.sourceforge.io
http://www.jssac.org/Editor/Suushiki/V18/No2/V18N2_130.pdf
http://yang.amp.i.kyoto-u.ac.jp/~yyama/FreeBSD/math/reduce-j.html

数値計算で時間がかかるなら、数式処理で誤差評価ができないかという試みとしてReduceを使おうとした。何日経っても、よい考えが思い浮かばないまま１年が過ぎた。　

失敗から学ばない私　その１。
# 学ばない２：抽象データ型言語　
プログラミング言語に精通していないことが原因かと思い、　
電総研(現在の産業総合研究所の一部)の言語システム研究室の研修生として在籍し、　
Cコンパイラの創り方を学び、OBJという抽象データ型言語のシンタックスチェッカを作成し、OBJでできることと、できないことを検討した。　
https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=31262&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8&usg=AOvVaw23buP9zq2n0dkeD9aZD0KI&opi=89978449
https://dl.acm.org/doi/pdf/10.1145/318593.318610

できないことは、抽象データ型で世界をどう記述するとよいかという方法論だった。　

抽象データ型を継承する仕組みを用意していても、　
ある問題で、どの方法を取るとよいかという先見的な知見は得られなかった。　

何を解きたいかという問題に依存しており、解が見つけられるかどうかは、発見的かもしれないと感じた。　

心理学の本を読むよりはコンパイラ書いた方がよくね。仮説（34）
https://qiita.com/kaizen_nagoya/items/fa715732cc148e48880e

コンパイラを書くのは難しいか。仮説（175）
https://qiita.com/kaizen_nagoya/items/a87c65d487bc7a67da11

Panasonic: アメリカ留学、アメリカ就職の代わりに行ったこと。行なっていること。英語(33) 仮説(111)
https://qiita.com/kaizen_nagoya/items/9f8e791bd6be3bed34bb

失敗から学ばない私　その２。
なお、OBJのシンタックスチェッカ作成上の失敗は、別の物語。　

デバッグモードでしか動かないプログラム。静的検査。
https://qiita.com/kaizen_nagoya/items/02b7ee50e152475f7ff0

# 学ばない３：証明系　
OBJは、抽象データ型に対応した書きかえ系で、証明系の一部だと言えるかもしれない。　

自動車システムの安全性を確認するために証明系の利用を検討してきた。　

JAXA/IPA クリティカルソフトウェアワークショップ WOCS言語関連発表(改定版)
https://qiita.com/kaizen_nagoya/items/4789832baf494cb74626

状態遷移の管理については、成果が出ている。　
自動車安全については、道路系、自動車系、歩行者・自転車系など、人間系が関わることによる複雑さが解決できているとは言えない。　
人間系の課題は、より安全なシステムになれば、人間の注意が散漫になり、安全が劇的に改善するとは限らないからかもしれない。

「coq入門」の入門
https://qiita.com/kaizen_nagoya/items/13566f0b2083ea8d4998

プログラミング言語教育のXYZ。 仮説（52）
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

失敗から学ばない私　その３。
# 成果：MISRA C
失敗から学ばなくても、経験から成果がでることがある。
失敗を乗り越えたわけではない。
今日も、失敗の連続の中で、記録したことが役立つ。
Cコンパイラを書いた経験は、Cのコーディング標準の創り方、運用の仕方、展開方法には役立った。　コンパイルエラーをまめに保存し、時々体系化するだけで、いろんな方のお役に立っているらしい。自分の失敗を記録すれば、自分以外の人が乗り越えていってもいいじゃないか。三方よしの三つのあり方に繋がるかもしれない。

「三方よし」への三つのあり方
https://qiita.com/kaizen_nagoya/items/ad4ffd6d8a4045d1117a

MISRA C 2012 －組み込みプログラミングの高信頼性ガイド 
https://webdesk.jsa.or.jp/books/W11M0090/index/?bunsyo_id=430006

３つの失敗を重ねるなかで、得た経験で役立った最初の成果かもしれない。　
MISRAは、規則の例をコンパイルできるようにExampleSuiteとして提供している。　
それに対してC言語規格は、コンパイルできる例になっておらず、毎回改定のたびに、全文書のコード断片をコンパイルして確かめている。

[C][C++]の国際規格案の例題をコンパイルするときの課題７つ。
https://qiita.com/kaizen_nagoya/items/5f4b155030259497c4de

C++/C コンパイルエラーを記録するとよい理由7つ
https://qiita.com/kaizen_nagoya/items/85c0e92b206883140e89

MISRA C まとめ #include <misra_c.h>
https://qiita.com/kaizen_nagoya/items/f1a79a7cbd281607c7c9

C Puzzle Bookの有り難み5つ、C言語規格及びCコンパイラの特性を認識
https://qiita.com/kaizen_nagoya/items/d89a48c1536a02ecdec9
# まとめに代えて　
数値計算から数式処理、コンパイラと進んできた。　
専門分野は通信規約で、通信プログラムの自動生成にコンパイラは役立っている。　
通信規約の整合制の確認に証明系を使っている知り合いもいる。　

私は遅延測定で博論を書いた。誤差評価の経験が生きているといえばかっこいい。

今まで書いてよかった技術書を紹介しよう！
https://qiita.com/kaizen_nagoya/items/d31b7c158541d345a7ef

時刻同期って難しいのですか？
https://qiita.com/kaizen_nagoya/items/caffc006cdebc15057fc
# 関連資料
夜勤明けで免許更新で眼鏡付きになった。６９歳のゴールド免許
https://qiita.com/kaizen_nagoya/items/a735e751cf398996590b

計算終わるのに３年かかる　失敗から学ばない私
https://qiita.com/kaizen_nagoya/items/42fd3cebca69525c2951

FAXが送れない。「Microsoft Exchange活用ガイド」技術評論社。裏話。
https://qiita.com/kaizen_nagoya/items/a129bba18cb32d68ad59

索引体系化に失敗。統計を取ろう。
https://qiita.com/kaizen_nagoya/items/57b89e7ec8ef2e1b3c83

失敗してもめげないプログラマになるには。仮説（174）
https://qiita.com/kaizen_nagoya/items/fd4515cfb6efa769661d

失敗の記録：文字列処理スクリプトの場合
https://qiita.com/kaizen_nagoya/items/dcf07a892ce32966fbb3

QC検定に落ち「たか」らかける記事。20,000人の方に読んでいただけ「たか」ら書ける記事。「たかたか」分析の勧め。
https://qiita.com/kaizen_nagoya/items/2a371ee8c8f1b78cd5bb

作業診断(process assessment)を成功させる５つの鍵。失敗する５つの罠 。仮説（50）
https://qiita.com/kaizen_nagoya/items/bcdc60db20e8d7081fab

物理記事　上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

数学関連記事１００
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

言語・文学記事　１００
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

通信記事１００
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

自動車　記事　１００
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

Qiita(0)Qiita関連記事一覧（自分）
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道（０）鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

日本語（０）一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説（0）一覧（目標100現在40）
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

安全（0）安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎　OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on 
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

TOPPERSまとめ　#名古屋のIoTは名古屋のOSで
https://qiita.com/kaizen_nagoya/items/9026c049cb0309b9d451

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

小川清最終講義、小川清最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
#### 文書履歴(document history)
ver. 0.01 初稿　　20230729
ver. 0.02 URL追記 20230730
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.