皆さん、Xamarin の名前くらいは聞いた事がありますよね!
『ああ、C#で、iOSアプリが開発できるやつね。』
6年前、Objective-Cから逃げたくて手を出した、Xamarin.iOSは私に幸福をもたらすはずだった...
だがしかしそこに待ち受けていたのは底なし沼だった!
気づけばどんどん深掘りされる技術!
その底にたどり着いた時に膨大な、これ必要か⁉︎的な知識を得ている事に気づきました!
今明かされるXamarin.iOSの全貌!
●普通に書くと即メモリーリーク!
●幻の大地か!ネイティブとマネージド、2つの世界を行き来してメモリーリークのチェック!
●情報がないのでSwiftのコードを読む日々
●Swiftじゃダメだ!Objective-Cを理解せねば!
●あれ?俺何のためにXamarin.iOS始めたんだっけ?
●それでも俺はXamarin.iOSをやめない!
Windows / macOS / Ubuntu / iOS / Android / UWP向けに縦書きのできるテキストエディタを趣味で開発しています。
小説や脚本などでいまだに根強い需要のある縦書きのテキスト入力を6プラットフォームに提供する唯一のプロダクトを目指しています。
(Windows / macOS / Ubuntu / Androidでリリース済み、iOS版リリース予定、UWP版プロトタイプ完成済み)
このプロダクトでは全プラットフォームで同じ描画結果を手に入れるためにテキスト描画エンジンから自前で作っています。
トークでは文字とコンピュータの関係、縦書きという特殊な書字方式とその裏側の実装、テキストエディタや組版、iOSやAndroidに限らないクロスプラットフォームなアプリ開発について話します。
内容
「プログラミング」と「論理」の世界には直接的な対応関係があり、
私たちが普段書いているSwiftにおいても例外ではありません。
例えば、論理の世界における命題「AかつB」はタプル型 (A, B)
、
「AならばB」は関数型 A -> B
を使って書くことができます。
これらの型(命題)を組み合わせ、適用していくことで、
あたかも論理式(や数式)を証明するかのように、アプリのプログラムが完成します。
この、「型 ⇔ 命題」、「プログラム ⇔ 証明」に対応することを「Curry-Howard同型対応」と言います。
この背景を知るには、「直感主義論理」と「型付きラムダ計算」の両方を学ぶことが重要です。
そこで、この発表では、理論的基盤となる「古典命題論理・述語論理」「ラムダ計算」の基本をおさらいした後、
「直感主義命題論理」「Curry-Howard同型対応」について、実際にSwift言語を使ってお話しします。
また、Swiftがサポートする「多相型」、「Protocol (Witness)」、「Opaque Result Type」等にも触れ、
圏論の図式を使った、より手軽で簡単な解説も予定しています。
なお、今回の発表は、昨年のiOSDCの発表の続編になります。
事前の予習として、下記のスライドをご参考ください。
代数的データ型 https://speakerdeck.com/inamiy/algebraic-data-type-in-swift
圏論とSwiftへの応用 https://speakerdeck.com/inamiy/iosdc-japan-1
人工知能技術の発展により、端末による物体の判別や自然言語処理など、iOSの様々な可能性が広がってきました。これらのうちほとんどは、現在隆盛のディープラーニング技術をベースにしています。しかしながら、このようなディープラーニングベースの人工知能はあくまで「ツール」としての人工知能です。ヒトの知能のもっとも高度な部分は大脳が担っていますが、大脳が扱う「意識」は、例えば夢を見ているときのように入力が出力が無くても自発的な活動を続けています。むしろ、大脳への入力や出力は、そのとてつもなく高度な機能の本質ではないのかもしれません。また、ディープラーニングは出力に対応する正解が必要な教師あり学習ですが、高度な自律性、汎用性を有する実際の大脳では正解データのない教師なし学習が行われています。より自律的、より汎用的な人工知能をiOSアプリが搭載するためには、このようなより天然の知能に近い仕組みをアプリが備える必要があります。
そのために、本発表ではアプリが「意識」を備えるためには何が必要なのか、様々な可能性を示していきます。脳科学と人工知能の関係性から始めて、単純なルールから一筋縄ではいかない複雑な因果関係が生まれるカオスや複雑系、さらに意識を扱う理論である統合情報理論、グローバル・ワークスペース理論などを解説していきます。その上で、自律的な動作をする「意識のようなもの」へつながるアルゴリズムを探っていきます。
果たして、スマートフォンはヒトにとって単なる「ツール」であり続けるのでしょうか、それとも、ドラえもんのようなヒトにとって大事な「パートナー」になるのでしょうか。本発表では、従来の「ツール」として有用なディープラーニングを離れて、生き物のような自律性を持つ「パートナー」としての人工知能の可能性を探求します。