人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

2008-01-01から1年間の記事一覧

Pythonでゲーム作りますが何か?

このサイトでは、プログラミング言語Pythonと Pythonのゲーム用ライブラリPygameを用いてゲーム制作の過程やテクニックをまとめています。主に自分の知識の整理に使うつもりですが、これからPythonを学んでゲームを作ってみようという方の参考になれば幸いで…

マウスイベント

ゲームの入力インタフェースとしてキーボードとマウスは欠かせません。ここでは、マウスのクリック、長押し、移動を検出する方法を紹介します。 Pygameでマウス入力を検出する方法は、主に2つあります。1つめは、イベントハンドラ(今まではQUITイベントで使…

イメージを描画する

BMP、GIF、PNG、JPGなどのイメージを画面に描画する方法です。pygame.imageを使います。GIFやPNGなどはお絵描きソフトで透明色(アルファ値)を指定して保存できますが、透明色が指定されていないときにスクリプト中で透明色を指定する方法も説明します。ま…

図形を描画する

pygame.drawを使うと四角形、円、楕円、直線などを基本的な図形を描画できます。ゲームでは画像を使うのが一般的ですが、テスト用に図形を描画する方法を知っておくと便利です。 サンプルスクリプト draw_figure.py #!/usr/bin/env python # -*- coding: utf…

OpenBayesの使い方(2)

OpenBayesの使い方(1)の続き。今回はデータからCPTを学習する方法を紹介します。当然ながらSprinklerの元データは手に入らないので前回のBNからCPTの確率値に従ってサンプルデータを1000個生成し、新しく作ったBNのCPTをこの1000個のサンプルデータから学…

テキストを描画する

画面上にテキストを描画します。テキストを描画するにはpygame.fontモジュールを使います。pygame.fontは、TrueTypeフォント(TTF)を使って描画します。テキストの描画は、 Font オブジェクトを作成 Fontオブジェクトを使ってテキストを描画したSurfaceを作…

OpenBayesの使い方(1)

ベイズネットワークのゲームへの応用(2008/5/2)の続き。というわけでPythonのベイズネットのライブラリであるOpenBayesの使い方をちょっとまとめておきます。ここでは、OpenBayesのチュートリアルにあるSprinklerというベイズネットを作成してみます。この…

ウィンドウを表示する

まずは、すべてのゲームのひな形となるウィンドウを作成するプログラムです。ここでは、Pygameの初期化、メイン画面の作成、ゲームループなどを解説します。 サンプルスクリプト window.py #!/usr/bin/env python # -*- coding: utf-8 -*- import pygame fro…

インストール

まずは、PythonとPygameとPyOpenGLをインストールします。とりあえず2DゲームだけならPythonとPygameだけインストールすればOKです。 Pythonのインストール Pythonは、フリーで配布されていて簡単にインストールできます。Python Programming Language -- Of…

ベイズネットワークのゲームへの応用

「ゲーム開発者のためのAI入門」って本にベイズ推定とベイズネットワーク(ベイジアンネットワークとか信念ネットワークとも呼ばれますね)をゲームに応用する方法が書いてあった。ゲーム領域が不確定な状況下にあるときにプレーヤー以外のキャラクター(NPC…

クロン

2008年4月28日付けの読売新聞夕刊に面白い記事が載っていた。携帯電話の「クロン」(リンク切れ)という新サービスの話。人工無能っぽいけどどうなんだろう?たぶん、この手のサービスは機能的な付加価値が付けば、家電を始めいろいろな分野でブレイクすると…

wxPython in Action

今年の目標(2008/1/1)の1つは数あるPythonライブラリの習得だけどまずはwxPythonを使い始めた。C++で書かれたwxWidgetsというGUIライブラリのPythonバインディング。Python以外にも様々な言語で使える。Python付属のTkinterライブラリと違ってOSごとに標準…

再帰性と予測不能性

再帰的列挙とは、新しいものが古いものから一定の規則によって出現する過程のことである。そのような過程には、びっくりすることがたくさんあるように思われる。再帰的に定義されるその種の数列には、行動の複雑さのある本質的な増大が伴うらしく、先に進め…

生命とは動的平衡にある流れである

今さらだけどベストセラーである『生物と無生物のあいだ』を読んだ。大学研究室の生々しい現状とか研究者の内情とかところどころあってなかなか面白い(そっちの方が本編より面白かったりして)。生物と無生物のあいだ (講談社現代新書)作者: 福岡伸一出版社…

数学における意味と形

ゲーデル・エッシャー・バッハの第2章。この章ではpqシステムという簡単な形式システムを使って「意味と形式」の違いについて説明している。pqシステムは、 (p, q, -) の3つの記号 公理系 1つの推論規則 から成る非常に簡単な形式システム。コンピュータと人…

ソフトウェア工学

最近、大規模プログラムを書くのに必須な技術を勉強している。たとえば、下のようなの。 UML バージョン管理システム(CVS、Subversion、Sourceforge) ドキュメント管理(Doxygen、pydoc) ユニットテスト(JUnit, CppUnit, PyUnit) ビルド(Make、Ant) …

ウロボロス(Ouroboros)

ラブレス夫人も、バッベジ*1に劣らずはっきりと気づいていたことであるが、解析機関の発明によって、ことに解析機関が「自分の尻尾を食べること」(機械が自分自身の記憶されているプログラムに手をつけ変更するときに作り出される不思議の環を表現したバッ…

自己言及の定理(ゲーデル)

ゲーデル・エッシャー・バッハの3人目の重要人物はK・ゲーデル。ゲーデルは不完全性定理の証明の過程で自己言及のパラドックスをうまく回避しつつ自己言及を可能にするテクニックを編み出しました。自己言及は時にとんでもないパラドックスを引き起こします…

無限の可視化(エッシャー)

ゲーデル・エッシャー・バッハの2人目の重要人物はM・C・エッシャー。とても不思議な絵を描くことで有名な人です。私も高校の教科書でエッシャーの絵を初めて知り仰天した覚えがあります。 不思議の環の概念に内在するのは無限の概念だ。というのも、環は無…

無限に上昇するカノン(バッハ)

ゲーデル・エッシャー・バッハの序論を読む。バッハのフーガ、エッシャーの絵画、ゲーデルの定理をもとにこれらの背後にある「不思議の環」という概念を考えましょうという内容。不思議の環とは、ある階層システムの段階を上へ(あるいは下へ)移動すること…

ゲーデル・エッシャー・バッハ―あるいは不思議の環

ゲーデル、エッシャー、バッハ―あるいは不思議の環 20周年記念版作者: ダグラス・R.ホフスタッター,Douglas R. Hofstadter,野崎昭弘,柳瀬尚紀,はやしはじめ出版社/メーカー: 白揚社発売日: 2005/10メディア: 単行本購入: 14人 クリック: 432回この商品を含む…

アイの物語

SF

アイの物語作者: 山本弘,李夏紀出版社/メーカー: 角川書店発売日: 2006/05/31メディア: 単行本購入: 9人 クリック: 138回この商品を含むブログ (120件) を見る神は沈黙せず(2006/6/17)の山本さんのSF。題名や表紙絵を見ると純愛小説みたいだけどこのアイは…

オープンソース検索エンジン

きたこれ。いつか必ずくると思ってたけど意外と早かったな。アーキテクチャにすごい興味がある。ソース読んでみたいな。 グーグル独占にはさせない Wikipedia創設者が挑む、オープンソース検索エンジンの世界 これぞGoogleキラー?Wikipedia創始者らの手によ…

大世界史

ビジュアル 大世界史作者: ナショナルジオグラフィック出版社/メーカー: 日経ナショナルジオグラフィック社発売日: 2007/12/20メディア: 単行本購入: 1人 クリック: 29回この商品を含むブログ (4件) を見る高かったけど奮発して買っちゃった。昨日はずっと『…

2008年目標

Pythonライブラリ(Pygame、wxPython、SciPy、NumPy)の勉強 ゲームプログラミングの深耕(OpenGL、ゲームAI) 人工知能に関する書籍を熟読(1年で12冊目標 - ただいま10冊)こういう関係で面白い本知ってたら教えてください。 解明される意識作者: ダニエル…