インドの商品シリーズ1

はじめに

インドの経済発展は順調で、人口も世界一の国となるなど勢いのある国です。ですが、インドでは様々な製品がまだ日本の品質と比べて残念なものが多いです。

そこで、インドに赴任が決まった方々がインドで生活するうえで困らないよう、インドの製品一般の個人的な感想をお伝えすることで事前に準備・心づもりをしてもらえるよう、それぞれの物品について使ってみた感想を記録します。参考にしてください。

生活用品

コロコロ(粘着ローラー)、縦型の物しか売っていない。横型の物は売っていないし、大きさも違うので慣れたものが使いたければ日本から買ってくるとよい。慣れれば縦型でも何とかなるが、広い範囲をきれいにしようとすると縦型は不便。

クイックルワイパー

インドでは売っていない。ホテルやサービスアパートメントに住んでいるか、メイドを雇えば自分で掃除をすることはないかもしれないが、そうでない場合は大理石の床にクイックルワイパーは掃除がはかどるだろう。ただ、シートがかさばるのでスーツケースに入れて持ってくるのは大変だと思う。

プラスチックの洗濯ばさみ

挟むために開こうとするとプラスチック部分が破損する、金具がはじけ飛ぶなど。たくさん購入して生き残るやつを使うが、いずれそれらも破損していく。特にインドでは夏場の日光が強力なので直射日光を浴びる場合は劣化が激しい。金属製(ステンレス)のものは比較的頑丈だが、それも特にばね部分がすぐに錆びる。半年程度の使い捨てと考えて購入するつもりで購入。

洗濯ネット

様々なサイズの物は売っていない。大きいものだけ。買おうと思えば買える。

手指用消毒液、ウェットティッシュ

インドでも購入はできるが何かしら匂いがついている。これが結構強烈についているので、食事をする前に使うと料理の味やにおいを邪魔する。買って持ってきた方が無難。人によっては気にならないかもしれない。気に入る(気にならない)匂いの物を見つけられれば日本から買ってくる必要はない。

歯ブラシ、

もちろん売っているのだが、ヘッドの部分が大きい。日本で売っているもののように小さいものはあるにはあるが、種類は少ない。細かい毛先の物はない。

歯磨き粉

歯磨き粉は種類が少ない。歯肉炎予防とか特定の効果がありそうなものは売っているが、化学薬品ではなくアーユルベーダ的、日本でいうと漢方的なものが多い。効能もそれほどしっかりと説明されているわけではなく、「悪い口の中の状態」→「この歯磨きで歯を磨く」→「きれいでヘルシーな歯」といった説明程度。どの成分がどの効果があるのかははっきりと書かれていない。そもそもインドでは効能が英語で書いてあっても英語が読める人が結構少ないのでそんなに効能をうたう効果はなく、それっぽいパッケージであることが重要なのだろう。英語で書くことをあきらめるというよりは薬事法により何か制限がされているのかもしれないが。実は非常に細かい文字で成分が書かれてはいる。それがどういった作用があるかは別に調べる必要があり不便。

洗濯用せっけん

粉石鹸が一般的で液体せっけんの普及はまだだろうと思っていたらまさかの固形石鹸が一般的だったりする。洗濯機が一般家庭には普及をしていないのだろうか。固形石鹸はたくさん種類がある。

粉せっけんもいくつか種類はあるし、一般的に手に入るので購入には困らないが、日本ほど多様ではない。最近は抗菌作用のあるものも出てきている様子。

雑巾

売っていない。これは日本独自のもの。適当な布を購入して使う。Market99といった100円ショップのようなお店があり、そういったところで5枚セット170円ぐらいで購入できる。値段は99ルピーというわけではなく普通に値付けされている。

インド人はもともとはナチュラルな白さのこの布巾を黒ずんだ灰色になるまで使い続ける。物持ちがいいのはよいことのようであるが、結局のところ汚れがしみ込んでいる布でそこら中を拭くことになるので、清潔感があるとはいいがたい。メイドさんがいる場合などは定期的に布を変えるように伝えるほうが良い。

CS50 Tideman

Harvard XのCS50 2021 Week3 のプロブレムであるTidemanがようやく終わった。

CS50は無料のオンライン講座で、Harvard大学が実施しているCS50という講義をedXというプラットフォームで無料配信している。CSはComputer Science の頭文字をとったものらしい。50というのは講座番号らしいのだけれど、なぜ50なのかは調べてもよくわからなかった。CS50はIntroduction to Computer Scienceという正式名称で、Introductionというのが信じられないぐらい難しい(けど楽しい。)オンライン講義でなければ、つまりハーバード大学に入学していればCS51(Introduction to Computer Science 2)とかCS60というのも履修できるような情報も見つけたけど、ちょっと情報がふるいのでCS51はともかくCS60がまだ存在するのかがわからなかったし、入学しなければいけないのはハードルがかなり高いなあ。

CS50は無料というのが信じられないほど素晴らしい内容で、2時間半程度の講義と講義で扱った内容をもう少し詳しく説明するショートビデオ(Short)、練習問題(Lab)と課題(Problem)で成り立っている。講義の内容はまとまってサイトに上がっているし、講師であるDavidが話した内容がすべて文字に起こされていて、講義の英語がよくわからなかったり、講義のあの部分だけもう一度確認したいといった時に非常に便利。講義も工夫されていて、お金もかかっている様子。なんでも毎年講義内容を更新して講義も撮り直ししているらしい。もともとはハーバード大学で実際に行われている講義を録画したものなので、当然と言えば当然だけど、内容が変わっていくのも素晴らしいと思う。

12週間分の講義を自分のペースで進めていけるのだが、最初はScratchを使ってプログラミングはこんなものですよという紹介から始まって、C言語、Python, HTML+CS+Javascriptを順番にやっていく。盛りだくさんのボリューム。講義を見た後、練習問題や課題をこなして身に着けていく。

練習問題や課題はCS50 IDEというクラウド上のサービスを使って解いていくのだけれど、このCS50 IDEがとてもよくてプログラムの勉強時にありがちな開発環境を整えるだけで時間がかかってしまう、もしくは開発環境構築に挫折してしまうといった事態を避けられる。それにCS50 IDEを使ってエラーのチェックや、課題の提出、さらには採点までされるという、なぜこれが無料で使用できるのかと不思議に思うレベル。何十時間も触っていくことになるので、画面のデザインがシンプルでクールなのもいい。

ターミナルで操作したときの反応が若干遅い気がするのはサーバーが地球の裏側(アメリカ)にあるせいかな。

ここからCS50について確認できます。いつまでリンクが生きているかわからないので、「CS50 Harvard」とかで調べた方がいいかもしれない。

CS50(https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0

さて、Tidemanについて。TidemanはWeek 3(Week 0から始まるから4週目)の課題。同じくWeek 3のRunoffと同様、選挙時の投票システムをつくる課題なのだけれど難易度が桁違いだった。自分はRunoffは3時間ぐらいで終わったが、Tidemanは1日3時間から4時間を5日間かかった。土曜日に始めて水曜日までの5日間。これは作業時間で、起きている間は通勤しているときも、ご飯を食べているときも、お風呂に入っている間も、仕事の会議中でも、とりあえず時間があれば考え続けての5日間です。本当に本当に大変だった。何とか終わってホッとしている。

ネットで「Tideman hard」とかを調べると、いろいろな掲示板で苦しんでいる人の書き込みを見つけられる。お互いに励ましあっていたり、問題が難しすぎると文句を言う人がいたりと反応は様々。ハーバード大学のオンラインショップで「I finished Tideman」というTシャツを売っているぐらい、難しいと有名なある意味名物課題なんだろう。

解き方としては、6個のプログラムを順番に作成していくもので、一つ一つが結構複雑で時間がかかる。それでも一つを除いてはまあ何とかなる。問題は「再帰(recursion)」を使うことにある「lock_pairs」というプログラム。再帰という概念自体が難しいし、選挙システムもややこしい。ここでかなり時間をつかった。

自分はここの部分を考えるのにExcelでマトリックス表を作って、場合分けをしながら、別のファイルにこのプログラムだけを抜き出して、それが想定通りに動くかを1行1行確認していった。再帰の概念を理解するのに「Merge sort」を実装してみたりもした。急がば回れで、こういったちょっと余計な手間をかけるのがよかったのだろうと思う。あと、debug50の使い方を習熟してからこの箇所に臨むと結果的に時間節約になるかな。

lock_pairsをどう考えればいいかはネタバレになるので書かないけれど、あらかじめ準備されているlockedという二次元配列を使うのがポイントになるかな。Candidateが3人とか4人の場合を想定して、Excelに表を作ってコードに合わせて記入をしていくことで自分のコードをよく理解できると思う。

check50を使ってチェックをかけてしまうのもよいと思う。プログラム単体でチェックしてくれるようなので、6つのプログラムそれぞれをつくり終わる都度チェックをかけていけば確実に進んでいるのを実感できるし、精神的な支えになるはず。

Tidemanのアルゴリズム自体がよくわからなければ「シュルツ方式」で検索をかけるとWikipediaで同じような投票方式の説明がある。このサイトは課題を終えた後に見たのであまり詳しく確認していないけど、なんとなくなじみのある矢印とか、「コンドルセ方式」という言葉があるので、参考になるんじゃないだろうか。

混乱をしたのはStrength of Victoryの考え方で、サイトにある説明とBrianの説明、check50の表示が少し違う気がする。サイトにある説明は明確なのだけど、Brianとcheck50ではMargin
of strengthという言葉が使われていて、これだと2つの候補者の得票数の差を計算することになるのだけど、結果がかわってくるんじゃないだろうか。

あと、lock_pairsで票の順番によって結果が変わってくることがある気がする。英語のサイトでこれはTidemanアルゴリズムのバグのようなものなので気にしなくていいとあったけど、少しもやもやする。
細かいところではWalkthroughビデオのBrianはティーダマンと言っているが、英語の発音の法則からはタイドマンが本来は近いのではないかという疑問はある。

気になるところはありつつもようやく終わってよかった。5日間の苦労が報われた。記念に「I finished Tideman」Tシャツを買ってもいいかなと思うぐらいには頑張ったと思う。

ちなみにハーバード大学のオンラインショップにはCS50の特設ページがあってDDB(Duck DeBugger)が売っている。講義の中でDavidの前にずっと置いてあるやつ。これは欲しいなあ。

全ての項目にパス!記念スクショ

Google Colaboratory のバージョン

!python -V
#Vは大文字)

を実行するとバージョンが表示される。2021年6月10日現在は 3.7.10 となっている。

自分のPCにあたらしいバージョンのPythonをインストールしていると、Colaboratoryとの動きが違うことがあるのだが、それはプログラムの中身だけでなく、pipでパッケージをインストールしようとしたときでも、バージョンが違うと「Could not find a version that satisfies the requiremen…」と出てきて、インストールができない。
これはパッケージ名を間違った時や、全く存在しなパッケージを入力したときと同じメッセージなので、何が悪いのかが非常にわかりにくい。バージョンの違いはこういったところにまで影響を及ぼすという話。

Pythonはこのバージョンの整合性を保つという作業に時間と手間を取られる印象がある。ごく少数のライブラリしか使わない場合はそれほど問題ないと思うけれども、プログラム毎に多数のライブラリをインストールして使うとなると、プログラムによってPythonのバージョンを使い分けなければいけないこともある。
それが面倒だと思うし、これを解決しない限り僕のような一般ユーザーには普及しないんではないかと思う。

また、2つのライブラリ同士の相性やバージョンの違いなどで動く動かないといった事態があるので、とても初心者向きではない気がする。それともどのプログラム言語でも同じなんだろうか。

EUのAI規制

2021年4月21日にEUで、AIの活用に関する規制案が提案されたようです。
まだ決定ではないようで、競争力を失うとして産業界からは反発があるようですが、逆にこのことでEUがAIの主導権をとれるという意見もあるようです。
個人情報保護(GDPR)の際も同様な動きだったので、大きな流れは変わらなそうです。

規制では、AIを4つの区分に分けて、一番高いリスクは「許容できないリスク」として禁止されます。これに該当するのは、AIを使って人の潜在意識にはたらきかけるい技術、行動を監視して信用力を格付けしたり、格付けによって行動を制約する技術、犯罪者や容疑者を監視するための監視カメラによる(生体認証)などです。どれも中国で活発に使われている分野です。

次の区分は「ハイリスク」カテゴリーとして、

  1. 人の生態認証による識別とカテゴリー化。
    (例)人を遠隔で生態認証するAIシステム。
  2. 重要インフラの管理・運用
    (例)道路や交通システム、水、ガス、暖房、電気といったインフラの安全な管理・運営・供給のためのAIシステム。
    3.教育および職業訓練
    (例)だれが教育や職業訓練を受けることができるかを決めるAIシステムや、 教育・職業訓練機関の学生を評価するAIシステム、入学試験の中で受験者の評価などに使われるAIシステムなど
  3. 雇用、労働者管理
    (例)採用評価に使われるAIシステム、昇格・解雇の決定や、人事異動の決定に使用されるAIシステム、成果やその人の監視・評価に使用するAIシステム
  4. 重要な民間・公共サービスを使わせて良いかを判断するAIシステム。
    (例)緊急医療を受けたいとき、災害に罹災したときに手当や救助の優先順位を決定するAIシステム

人事労務関連分野で関係するのは教育、職業訓練、雇用・労働管理ですね。
これらのAIが規制されるということは
・企業が採用の際に応募者情報をAIで分析する
・評価や昇進をAIに判断させる
・クビにする人をAIが決める
・学校の入学試験にAIを取り入れる
といった、人事のAIの先進事例として取り上げられることの多くが規制されます。こういったサービスを売り出している多くの企業は頭をかけてしまうでしょう。
EUでの動きですので、直接日本に影響のあるものではありませんが、いずれ日本でも同じ流れになる可能性もあります。日本で法規制されなくても、EUで規制されてしまうとあまりよいイメージは持たれなくなります。

もしくは逆転の発想で、日本では結局規制をせず、Aをが野放しにすることで、AI技術が発展するかもしれません。そうなれば日本にとってチャンスが見えます。