情報科学Ⅱ 2017

アルゴリズム、プログラムによる社会変革の仕組み

情報科学Iの続きとして、アルゴリズムによる社会変革の背景の仕組みについて学習する。さらに、アルゴリズムを実現し実行するためのコンピュータとインターネットの仕組みを学習する。特にウェブ利用者を観察するロボットについて、その習性と仕組みを知る。アクティブなウェブに欠かせないJavaScriptについて入門書を使いながら言語を理解する。アルゴリズムとプログラムを理解した上で、映画や音楽業界が消費者をコントロールする仕掛けを知る。

大学 gmail

Gmail に**大学のアカウント(学籍番号@g.matsuyama-u.ac.jp)**を使ってログインする。

件名には、授業科目名を必ず書き、
本文中に、学籍番号と氏名を書くこと。


第1回目 イントロダクション

情報科目イントロダクション

この科目ではプログラミングをやるのだが、現代のクライアント・サーバモデルでは、クライアントプログラミングとサーバプログラミングがある。この授業では、クライアント側でのプログラミングを中心とする。

JavaScript のサンプルスクリプトを実行してみる

参考のために、BASIC言語で書いた同様のプログラムを見てみる。

授業の進め方について。

松山大学の学生用専用 愛媛新聞電子版

ログイン後、次のようにジャンル別メニューの中から愛媛新聞を選んで電子版愛媛新聞を読むことができる。
ログイン後の、ジャンル別メニュー


第2回目 インターネット ボット、ウェブ ロボットとは何か

2016 ボット トラフィック報告書

人間とボットは、50%と50%の割合

良いボットと悪いボットの割合は?

Imgur Ael Matsuyama

Bot って何?

人間のように話しかけてくるプログラム。ボット(Bot)は未来のものでしょうか。いえ、もうすでにあなたの近くにいます。ボットはネットの中でどんどん成長して大きくなっているのです。

さて、いったいボットとは何か、具体的な例を取り上げてみましょう。

ボットの例

  • Siri
  • Cortana
  • Tay ティーンエイジャー向けのチャットボットTay.aiのアカウントは凍結されたまま現在に至る。

彼女はCortana の少女バージョンとしてtwitterに登場した。あくまで実験であった。しかし、無垢な少女をインターネットに放り出すと……

Tay videos

Microsoft AI Tay の黒歴史 2016年春のこと

Tay.ai は、インターネットで最悪のことを覚えてしまった。

Microsoft Office 97 から2003 まで、マイクロソフト社はオフィスソフトにオフィス・アシスタント機能を持たせた。

Clip

Microsoft Clippy

ボットはテクノロジーがあるところ今やどこにでもいます。ウィルスを仕込みにやって来る悪者ボットもいれば、インターネットで情報を検索する人々のために新しいウェブページを見つけようとやって来るボットもいます。

もう少し具体的なSMSを使う例をあげてみます。

SMS

  • Digit 銀行口座が気になる人は

  • Magic (ほとんど)何でも手に入る

  • Cloe

  • Assist

Assist

未来はボットの世界になるか?

そうかもしれないし、そうでないかもしれない。たいていの開発者や企業は、ユーザはもうアプリをたくさん入れるのに飽きてしまったと判断している。そのかわりにボットをひとつ入れて、そのボットに頼めば、ボットがユーザに代わってたいていのことをやってくれることを願っていると考えている。食べ物を注文したり、スポーツの結果を教えてくれるように。

まだまだそんな世界は先のことのようだが、アマゾンの Alexa はちょっとその方向に向かって近づいている。

Amazon Echo Alexa

Alexa

ただ、Siri が何でもやってくれる世界はまだ遠いようだ。

参考リンク

課題

Amazonプライムのビデオで、実際のボットではないがボットとも言えるようなビデオを閲覧しようとしたが、再生できなくなっていた。内容の問題か制限がかかったようだ[1]


第3回目 Java Script入門①

JavaScript は、このリンク先で授業の内容を解説する。JavaScriptの基本的な事柄は、下記のリンクを参照する。

w3schools.com

w3schools

とりあえず、

HTML と Script タグで動かす原始的なやり方で HTML と JavaScript を書いて、動かしてみよう。Windows で動かすには、エディタとブラウザがあればよい。titleタグは空欄にしてあるから、スクリプトにあわせて自分で適当に埋める。ただ空欄のままでも問題はない。

<html>
<head>
  <title></title>
</head>
<body>
 
<script>
console.log("JavaScript 動いてる!");
</script>
</body>
</html>

次にScript(コード)とHTMLを分けて書くやり方。

<script>
console.log("JavaScript 動いてる!");
</script>
<script src="script.js"></script>
W3schools

あとは、w3schoolsにある例題を動かしてみよう。これを一通り動かせば、JavaScriptの雰囲気はつかめるはずだ。

あとは、AndroidのアプリPyでプログラミングを自習する。このPyは、iOS用のプログラミング学習もできる。

Android apps
  • アプリ Py このJavaScript 学習用アプリをインストールする。内容は次のように「はじめに」からスタートして順にドリルを解いていくとJavaScriptの書き方と意味が理解できる。

  • はじめに(Introduction)

    コンソールログ命令で1+2計算 console.log(1+2)

    画面に15をだすためには?をいくつに console.log(5+?)

  • データ型と変数

  • ......

iPhone apps
  • アプリ Py

第4回目 Java Script入門②

前回の質問: ブラウザのバージョンについて。
今回の質問: もう一度調べてバージョンアップがあったかどうか見てみる。

ロボットがバイクを操縦する - IT Media News

Youtubeで、Yamaha MOTOBOTの走りを見ることができる。ロッシの走りと比べてどうだろうか。

  • Windows OS のシステム例

C:>systeminfo

Host Name: ROADSTER-PC
OS Name: Microsoft Windows 10 Pro Insider Preview
OS Version: 10.0.17017 N/A Build 17017
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00330-80000-00000-xxxxx
Original Install Date: 2017/10/22, 17:42:52
System Boot Time: 2017/10/22, 17:38:20
System Manufacturer: Dell Inc.
System Model: XPS 12 9Q23
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 58 Stepping 9 GenuineIntel ~1900 Mhz
BIOS Version: Dell Inc. A06, 2013/04/11
Windows Directory: C:\WINDOWS
System Directory: C:\WINDOWS\system32
Boot Device: \Device\HarddiskVolume1
System Locale: ja;Japanese
Input Locale: en-us;English (United States)
Time Zone: (UTC+09:00) Osaka, Sapporo, Tokyo
Total Physical Memory: 8,071 MB
Available Physical Memory: 4,046 MB
Virtual Memory: Max Size: 9,991 MB
Virtual Memory: Available: 4,712 MB
Virtual Memory: In Use: 5,279 MB
Page File Location(s): C:\pagefile.sys
Domain: HAIKUSPHERE
Logon Server: \ROADSTER-PC
Hotfix(s): N/A
Network Card(s): 2 NIC(s) Installed.
[01]: Intel(R) Centrino(R) Advanced-N 6235
Connection Name: Wi-Fi
DHCP Enabled: Yes
DHCP Server: 192.168.100.1
IP address(es)
[01]: 192.168.100.108
[02]: fe80::597d:d728:26f5:35e
[03]: 2001:268:c0a8:1277:9067:1c62:33f5:2
[04]: 2001:268:c0a8:7f8:9067:1c62:33f5:2
[02]: Bluetooth Device (Personal Area Network)
Connection Name: Bluetooth Network Connection 2
Status: Media disconnected
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes


第5回目 Java Script入門③

人工知能(AI)に関するトピックス:朝日新聞デジタル

最近のAIに関するニュース

QWOPと人工知能

qwop-ai

JavaScript のプログラム

Film 'her'

近未来 OS1 10分10秒くらいから見る。

映画 「オートマタ


第6回目 Java Script入門④

第7回目 Java Script入門⑤


第8回目 テキスト型ゲーム①

第9回目 テキストのゲーム②

Nethack.com


第10、11回目 JavaScript と業界

JavaScript

人間のパターンを分類するアルゴリズムを利用する映画、音楽業界


第11,12回目 .NET と Mono、ソフトウェア開発業界

ロボット続き

犬とロボット


dotnetfoundation

Imgur

Mono project

Imgur

Imgur

hello world プログラムをUbuntuで動かす。

hello.cs

using System;

public class HelloWorld
{
	static public void Main ()
	{
		Console.WriteLine ("ようこそ Mono ワールド");
	}
}

mcs hello.cs

mono hello.exe

ようこそ Mono ワールド

hello-wf.cs

using System;
using System.Windows.Forms;

public class HelloWorld : Form
{
    static public void Main ()
    {
        Application.Run (new HelloWorld ());
    }

    public HelloWorld ()
    {
        Text = "ようこそ Mono 世界";
    }
}

Imgur

hello.aspx

<%@ Page Language="C#" %>
<html>
<head>
   <title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>

xsp4 --port 9000

http://localhost:9000/hello.aspx

Mono Project


ネットワーク中立性の問題


第12 ビットコイン


暗号通貨ビットコイン Bitcoin
通貨単位はBTC

Bitcoin, Wikipedia

Bitcoin is a cryptocurrency and worldwide payment system. It is the first decentralized digital currency, as the system works without a central bank or single administrator. The network is peer-to-peer and transactions take place between users directly through the use of cryptography, without an intermediary. As such, bitcoin transactions are anonymous. Bitcoin transactions are verified by network nodes and recorded in an immutable public distributed ledger called a blockchain. Bitcoin was invented by an unknown person or group of people under the name Satoshi Nakamoto and released as open-source software in 2009.

The Crypto-Currency, Bitcoin and its mysterious inventor.
By Joshua Davis, The NEW YORKER, October 10, 2011

There are lots of ways to make money: You can earn it, find it, counterfeit it, steal it. Or, if you’re Satoshi Nakamoto, a preternaturally talented computer coder, you can invent it. That’s what he did on the evening of January 3, 2009, when he pressed a button on his keyboard and created a new currency called bitcoin. It was all bit and no coin. There was no paper, copper, or silver—just thirty-one thousand lines of code and an announcement on the Internet.

ドキュメンタリー「仮想通貨 ビットコイン」

Imgur

「貨幣」「市場」「経済」

Bitcoin souce code - GitHub

Download Bitcoin Core

Imgur

ハッシュ関数について

Imgur


第13回目 公開鍵暗号を理解する

RSA暗号の仕組み


第14回目 私達は自分が機械ではないことを機械に示さねばならない時代に生きている

私達の時代はいま……

CAPTCHA

ReCAPTCHA

道路標識のポールは道路標識か?

人型ロボット「ソフィア」は人間のようになりたい?ースプートニク記事

Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性 - Gigazine

Reddit - 'Kernel memory leaking' Intel processor design flaw forces Linux, Windows redesign

Gaming disorder

Bugs in modern computers leak passwords and sensitive data. - spectre paper

spectre papaer pdf

Intel Responds to Security Research Findings

この世界は仮想現実?

THE WORLD IS SIMULATED, PROOF OF A VIRTUAL REALITY EXISTENCE? 2017

We Are Living In A Simulation - New Evidence!


第15回目 まとめ


  1. 2017.10.5 現在は、閲覧できるようになっている。 ↩︎