タグ

pythonに関するniamのブックマーク (30)

  • PythonでA*(A-Star)アルゴリズム - Pashango’s Blog

    今回はA*アルゴリズムをPythonでやってみます。 ゲームプログラマの間では、もはや常識となりつつある最短経路問題解決アルゴリズムです。 A*は、古典的手法である「ダイクストラ法」を改良したものです。 スタート地点からノードnを通ってゴールに辿り付くとき、最短距離をf(n)とすると、 f(n) = g(n) + h(n) とすることができます、g(n)は「スタートからノードnまでの最短距離」、h(n)は「ノードnからゴールまでの最短距離」です。 でも、最初から適切なg(n)とh(n)が判ってるなら苦労しませんよね。 だから、テキトーな予測値を使って、最短経路をある程度予測して効率的に経路探索をしてみようという事です。 テキトーな予測値を使った最短経路距離をf*(n)とすると f*(n) = g*(n) + h*(n) となります、f*(n)を求めるためにテキトーなg*(n)とh*(n)を

    PythonでA*(A-Star)アルゴリズム - Pashango’s Blog
  • Google Python スタイルガイド

    概要¶ これは Google Python Style Guide Revision 2.29 を日語に訳したものです。 家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、ガイドも同ライセンスを継承します。 家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、ガイドの翻訳者は以下の通りです。 Kosei Kitahara ガイドに誤植、誤訳があった場合は issue で教えてください。 その他ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ PythonGoogle で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ

  • VimのPython向け設定 - climpyの日記

    インデント方法には空白派かタブ派かがあるようだが私は空白派である。 更にいえば Vi派か Emacs派かと聞かれれば Emacs派であるが、諸事情でEmacsが動かない環境で簡単なプログラムを書く必要に迫られることもあって Vi(Vim)も良く使う。 そんな理由からVimPythonを便利に使えるように設定してみる。 ↓ここに書いてあった。 http://wiki.python.org/moin/ViImproved%20%28Vim%29 ~/.vimrc に autocmd BufRead,BufNewFile *.py syntax on autocmd BufRead,BufNewFile *.py set ai autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except

    VimのPython向け設定 - climpyの日記
  • 「自然言語処理は Python がいちばん」について

    http://d.hatena.ne.jp/mamoruk/20090327/p1 「いちばん」かどうかはわかりませんが、うちの会社の製品ではpythonを主力に使った自然言語処理を含む製品を販売しているので、実際の感想を。 うちでは、pythonを元データの整備のための運用バッチ処理から、客が最終的に手にする情報の生成、実際に客が使うWEBインターフェースまで、pythonを主力にしています。 別のチームが作った別の製品ではS2Struts(JAVAね。)でWEBを作っている部分もありますが。 自然言語処理はぶっちゃけどの言語でも可能だとは思います。 mecabが使えて、Unicodeが使えて、正規表現が使えれば、まあ、どの言語を使ってもそんなに大差はないのではないでしょうか。 あとはsennaのような日語用の全文検索エンジンなども使いますが、そこらへんに近い部分は基的にC++で書き

    「自然言語処理は Python がいちばん」について
    niam
    niam 2009/08/29
    企業の方からの貴重な意見.Python云々よりも,NLTKを使わず自社開発しているという部分の方に注目した.自社開発は高コストだが,それでも出来合いのルーチンを使うよりメリットがあるとみなされているのか.
  • Steve Krenzel - 18. Distributed Computing: MapReduce and HashFold

    This is a post about HashFold, a theoretical framework (for now) that is suited to performing the same types of distributed computation that MapReduce can perform, but improves upon MapReduce both in runtime and memory usage. This is quite a claim so I'm putting the idea out there for public scrutiny. If you're familiar with MapReduce, HashFold does away with sorting values and the concept of a co

  • PythonのGCについて

    PythonのGarbageCollection 原文 Neil Schemenauer (翻訳:中村 成洋) ポータブルなGarbageCollection 概要 循環参照はリスト,タプル,インスタンス,クラス,辞書,関数に伴って見つかります. インスタンスの __del__ メソッドは正常に取り扱われます. 新しいタイプをGCの対象に追加するのは簡単です. このGCが有効なPythonは,通常のPythonとバイナリ互換です. 世代別GCが動いています(今は三世代).このオーバヘッドをpybenchで測ったら,大体4%くらい占めていました. 実質的に,すべての拡張モジュールは,不変に(私は,標準的な配布において 新しいものとcPickleを修正しなければなりませんでした)ならなければなりま せん.gcと呼ばれている新しいモジュールは,コレクターを調整して,デバッ ギングオプションをセッ

  • プログラミングを教えるということ:中学生プログラマーの感想録 - CNET Japan

    みなさん、たくさんのコメントやGood、当にありがとうございます。 みなさんの期待に答えられるよう、頑張ります。 それでは実質初めての投稿です。 Pythonを教えること 僕は現在Pythonを勉強しているわけですが、 使ってみて思ったことは、「習得しやすい言語」だということです。Cをはじめ、VisualBasicやらC#やらJavaやらいくつかの言語を勉強した のですが、いずれも、理解に苦しむ、「挫折ポイント」とでも言いましょうか、習得しにくい部分がありました。そんな中Pythonを勉強し始めて、(他言 語を勉強していた、というのももちろんありますが)すらすらと様々な概念が習得できたことに驚きました。 そんなこんなで僕もある程度Pythonを扱えるようになっていきました。そこで僕は、部活(科学部のPC班)でPythonの布教活動に着手し始めました。プログラミング未経験者(後

  • SpringPython 1.0登場、SpringのパワーをPythonへ | エンタープライズ | マイコミジャーナル

    SpringSource 1日(米国時間)、Spring Pythonの最新安定版にして初のメジャーリリースとなるSpring Python 1.0.0 GAが発表された。Spring PythonはSpring Frameworkで実装されたコンセプトをPythonで実現するというもの。Javaで開発されているSpring Frameworkの機能やフレームワークをPythonに提供する。 すでにオーバービューやコンセプト、実装内容などをまとめた参照ドキュメントがSpring Python - Reference Documentationとして公開されているほか、開発に使えるAPIマニュアルがPython: package springpythonにおいて公開されている。 PythonGoogle App Engineの対応言語として最初に対応されるなど、活躍の場を広げている。Spr

  • ダイクストラ法 - Bug's Groove

    前回のアルゴリズムイントロダクション輪講の話題、単一始点最短路問題から。詳しくは アルゴリズムイントロダクション第24章 単一始点最短路問題 - naoyaのはてなダイアリー へ。その中で丁度前回 書いたプリム法と同じく、ダイクストラ法が最小優先度付きキューを使うので、ちょっといじったらかけるのでは?と思って書いてみました。(相変わらずの乱プログラムご容赦...)。対象のグラフは教科書通り。 実装的には、minheap クラスは前回のプリム法と全く一緒。MinPriorityQueue は前回と使い方が違うので一部実装し直し。(といっても relax の周り)。実行するとこんな感じになるはずです。 s -> y -> t (8) s -> y -> t -> x (9) s -> y (5) s -> y -> z (7) 教科書のヒープソート (6章) にもあったように、優先度付きキュー

    ダイクストラ法 - Bug's Groove
  • Stephen Marsland

    This webpage contains the code and other supporting material for the textbook "Machine Learning: An Algorithmic Perspective" by Stephen Marsland, published by CRC Press, part of the Taylor and Francis group. The first edition was published in 2009, and a revised and updated second edition is due out towards the end of 2014. The book is aimed at computer science and engineering undergraduates studi

  • Google Developer Day 2009で学んだ Java版Google App Engineの勘所

    はじめに 6月9日に開催された「Google Developer Day 2009」で、夷藤勇人氏と鵜飼文敏氏により「Javaで動かすGoogle App Engine」というセッションが講演されました。稿では、その概要をお伝えします。 Google Developer Dayとは、Googleが主催する開発者向けのイベントです。例年、Google Japanのスタッフのみならず、世界中のオフィスからソフトウェアエンジニアやデベロッパーアドボケイト(advocate;支持者)、API Expert(Google認定のサードパーティエンジニア)が駆けつけて、Googleが関わる最新のテクノロジーのセッションが行われています。 セッションでは、前半で夷藤勇人氏がGoogle App Engineの概要を説明し、後半で鵜飼文敏氏がデータストアについて説明しました。 以下、罫線で囲んだ部分は、セ

    Google Developer Day 2009で学んだ Java版Google App Engineの勘所
  • クラスカルのアルゴリズム - naoyaのはてなダイアリー

    昨年からはじめたアルゴリズムイントロダクションの輪講も終盤に差し掛かり、残すところ数章となりました。今週は第23章の最小全域木でした。辺に重みのあるグラフで全域木を張るとき、その全域木を構成する辺の合計コストが最小の組み合わせが最小全域木です。 アルゴリズムイントロダクションでは、クラスカルのアルゴリズム、プリムのアルゴリズムの二点が紹介されています。いずれも20世紀半ばに発見された古典的なアルゴリズムです。 二つのうち前者、クラスカルのアルゴリズムは、コスト最小の辺から順番にみていって、その辺を選んだことで閉路が構成されなければ、それは安全な辺であるとみなし、最小全域木を構成する辺のひとつとして選択します。これを繰り返しているうちに最小全域木が構成されるというアルゴリズムです。 今日はクラスカルのアルゴリズムを Python で実装してみました。扱うグラフは書籍の例を使ってみました。以下

    クラスカルのアルゴリズム - naoyaのはてなダイアリー
  • Digital News and Articles at Your Fingertips | Dan Wein Reb

    Good business strategy is all about creating value for your company. It’s about finding ways to improve your bottom line by increasing revenue, reducing costs, or both. But what does that mean in practical terms? Here are a few examples of strategies that can help improve your business bottom line:…

    Digital News and Articles at Your Fingertips | Dan Wein Reb
    niam
    niam 2009/06/03
    そういえば、僕がLispでプログラムを提出した始めての授業は、プログラミングの授業じゃなくて、ロボットの授業だったなぁ。
  • Bigtableの使い方教えます - ひがやすを技術ブログ

    GAE/Jを使うのに一番戸惑うのが、データのストレージがRDBMSではなく、Bigtableなことでしょう。 JOINが使えなかったり、WHERE句でORが使えなかったり、これまで慣れ親しんでいた方法が軒並み使えません。 これらの制限は、Bigtableに限ったことではなく、KVS(Key Value Store)型のクラウド系のデータベースではみんないえることだと思います。 最初、私も戸惑ったんだけど、いろいろ触っているうちに気付きました。昔、AS400でやってたころと一緒ジャンと。AS400とは、IBMから出ているオフコン(?)ですね。今は、System iと呼ばれているようです(最新だとまた違うようですが)。 AS400のファイル(テーブル)は、キーもしくはインデックスでアクセスします。インデックス(論理ファイル)は、ある行の特定のカラムがソートされていて、物理ファイル(テーブル)へ

    Bigtableの使い方教えます - ひがやすを技術ブログ
  • たけまる / Google App Engine のデータストアは Bigtable をどのように使っているのか

    _ Google App Engine のデータストアは Bigtable をどのように使っているのか [gae][bigtable] Google App Engine (GAE) が発表されてから2週間ほど経ちます.GFS や Bigtable という名前だけはよく耳にするようになりましたが,Bigtable と GAE のギャップについては話題になっていないように思います. Bigtable は multi dimensional sorted table と言われるように, primary key (row key) でソートされたテーブルでしかありません.つま り,GAE のデータストアが提供するような多様な検索機能は持たないわけ です.というわけで,GAE のデータストアを実現するために,Bigtable がどのように使われているのかを考えてみました. # この件について,もし

  • 全文検索エンジンを試作してみたよ - やればできる子の日記

    今日は奥様とタイ料理&タイ式マッサージの日でした。マッサージはちょっと素晴らしいなあ。 表題のように、全文検索エンジンをGAE上で試作してみました。GAEはGoogle様提供のサービスにもかかわらず「なんで全文検索機能がないねん」という声が上がっていたんですよね。主にtwitter界隈から。 「Introduction to Information Retrieval」というのドラフトPDFと、たつをさんのところのIIR輪講の資料を参考に作りました。つっても、第1章の一部の知識しか使ってないですが。論理和検索もスキップリストも使ってないし(論理和検索はクエリ式のパーサを書くのが面倒だった)。 import logging import re from urllib import urlencode import wsgiref.handlers from google.appengine

    全文検索エンジンを試作してみたよ - やればできる子の日記
  • pyclewn

    Get notifications on updates for this project. Get the SourceForge newsletter. Get newsletters and notices that include site news, special offers and exclusive discounts about IT products & services. I understand by clicking below I am agreeing to the SourceForge Terms and Conditions. I agree to receive these communications from SourceForge.net. I understand that I can withdraw my consent at anyti

  • [Python] PythonにおけるCursesプログラミング - SumiTomohiko's blog

    はじめに この記事は、Curses Programming with Pythonの日語訳です。 PythonにおけるCursesプログラミング A.M. Kuchling (amk@amk.ca), Eric S. Raymond (esr@thyrsus.com) 概要 この記事は、Python 2.xでテキストモードのプログラムを記述する方法について述べています。ディスプレイの制御には、curses拡張モジュールを使います。 この記事は、http://www.python.org/doc/howtoのPython HOWTOで読めます。 目次 1 cursesとは何か? 1.1 Pythonのcursesモジュール 2 cursesアプリケーションの起動と終了 3 ウィンドウとパッド 4 テキストの表示 4.1 属性と色 5 ユーザからの入力 6 より詳しい情報 この記事について.

    [Python] PythonにおけるCursesプログラミング - SumiTomohiko's blog
  • Python, free PDF download

    Build an Eclipse development environment for Perl, Python, andPHP Section2. Introducing DLTK and the DLTK editor Eclipse offers many capabilities for building custom development tools, but they're not easy touse or understand. www6.software.ibm.com Embed Pythonscripting in C applications Format Python TypeCtype Notes s String char* Null terminates string i Integer int f Float float (items) Tuple V

  • 本文抽出ライブラリWebstemmerのblog本文抽出用特化スクリプト「blogstemmer」を書いてみた - FutureInsight.info

    以前のエントリーで文抽出ライブラリWebstemmerを使ってみました。 Webstemmerによるブログの文抽出 - FutureInsight.info Webstemmerは非常に興味深い文抽出ライブラリなのですが、ニュースサイトなどの複雑な階層構造を持っているサイトの文抽出に特化しているため、逆にblogのようなシンプルなケースでの文抽出に用いるには、ちょっとオーバースペックです。 Webstemmer Webstemmer はニュースサイトから記事文と記事のタイトルをプレインテキスト形式で自動的に抽出するソフトウェアです。サイトのトップページの URL さえ与えれば全自動で解析するため、人手の介入はほとんど必要ありません。 そのあたりのことを考慮して、文抽出ライブラリWebstemmerのblog文抽出用特化スクリプト「blogstemmer」を作成してみました。

    本文抽出ライブラリWebstemmerのblog本文抽出用特化スクリプト「blogstemmer」を書いてみた - FutureInsight.info