Feedback from users is very valuable to us in designing and improving NetLogo. We'd like to hear from you. (See Contacting Us.)
ユーザーからのフィードバックはNetLogoの設計と改善においてとても役立ちます。あなたの声を聞かせてください。(Contacting Usを参照してください)
The "Logo" part is because NetLogo is a dialect of the Logo language.
"Logo" の部分は、NetLogoがLogo言語の派生言語だからです。
"Net" is meant to evoke the decentralized, interconnected nature of the phenomena you can model with NetLogo, including network phenomena. It also refers to HubNet, the multiuser participatory simulation environment included in NetLogo.
"Net" の部分は、NetLogoでモデル化する現象がネットワーク現象のように分散型で相互作用するという性質を表しています。またHubNetというNetLogoに含まれるマルチユーザー参加型のシミュレーション環境を表しています。
If you use or refer to NetLogo, HubNet or a model from the NetLogo models library, we ask that you cite it as follows:
NetLogo、HubNet、またはNetLogoモデルライブラリのモデルを利用もしくは参照するときは、下記のように引用してください。
NetLogo itself: Wilensky, U. 1999. NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
NetLogo本体:
Wilensky, U. 1999. NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
HubNet: Wilensky, U. & Stroup, W., 1999. HubNet. http://ccl.northwestern.edu/netlogo/hubnet.html. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
HubNet:
Wilensky, U. & Stroup, W., 1999. HubNet. http://ccl.northwestern.edu/netlogo/hubnet.html. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
The correct citation is included in the "Credits and References" section of each model's Info tab.
正確な引用方法は各モデルのInfoタブの "Credits and References" 節に記載されています。
NetLogo was first created in 1999 by Uri Wilensky at the Center for Connected Learning and Computer-Based Modeling, then at Tufts University in the Boston area. NetLogo grew out of StarLogoT, which was authored by Wilensky in 1997. In 2000, the CCL moved to Northwestern University, in the Chicago area. NetLogo 1.0 came out in 2002, 2.0 in 2003, 3.0 in 2005, 4.0 in 2007, 4.1 in 2009, and 5.0 in 2012.
1999年にボストンにあるタフツ大学"Center for Connected Learning and Computer-Based Modeling"のUri Wilenskyが最初にNetLogoを開発しました。NetLogoは1997年にWilenskyが書いたStarLogoTを発展させたものです。CCLは2000年にシカゴのノースウェスタン大学に移転しました。NetLogo 1.0は2002年に、2.0は2003年に、3.0は2005年に、4.0は2007年に、4.1は2009年に5.0は2012年に公開されました。
NetLogo is written mostly in Scala, with some parts in Java. (Scala code compiles to Java byte code and is fully interoperable with Java and other JVM languages.)
NetLogoは主にScalaで、部分的にはJavaで書かれています。 (ScalaのコードはJavaバイトコードにコンパイルされます。Javaや他のJVM言語とは完全な互換性があります。)
The original StarLogo began at the MIT Media Lab in 1989 and ran on the Connection Machine. Later versions were developed for Macintosh computers: MacStarLogo (1994, MIT) and StarLogoT (1997, Tufts).
当初のStarLogoの開発はMITメディアラボで1989年に始まり、コネクションマシン上で動作していました。後にマッキントッシュ用のバージョンが開発されました。MacStarLogo (1994年MIT) と StarLogoT (1997年タフツ大学) です。
Today there are two StarLogo descendants under active development: NetLogo (from the CCL at Northwestern University) and StarLogo TNG (from MIT). NetLogo is the most widely used agent-based modeling environment in both education and research. StarLogo TNG is distinguished by its programming interface based on colored blocks.
今日では StarLogo から派生した2つの言語の開発が続いています。NetLogo (ノースウェスタン大学CCL) と StarLogo TNG (MIT) です。NetLogoは教育や研究において最も広く活用されているエージェントベースモデリング環境です。StarLogo TNGは色つきブロックに基づいたプログラミングインターフェースを特徴としています。
NetLogo is free, open source software under the GPL (GNU General Public License), version 2, or (at your option) any later version.
NetLogoはGPL (GNU General Public License), version 2もしくは(あなたが望むのであれば)それ以降のバージョンのもとで公開されているフリーなオープンソースソフトウェアです。
The source code is on GitHub, here. Development discussion is on the netlogo-devel group.
ソースコードはGitHubにあります。開発に関するディスカッションはnetlogo-develグループで行われています。
The User Manual is published under a Creative Commons Attribution-ShareAlike license (CC BY-SA 3.0).
ユーザーマニュアルはクリエイティブ・コモンズ表示-継承3.0(CC BY-SA 3.0)ライセンスのもとで公開されています。
Source code for all of the extensions bundled with NetLogo is on GitHub, here. Most of the extensions are in the public domain (CC0 notice). Other extensions are released under open source licenses. See each extension's README for details.
NetLogoにバンドルされているすべての拡張機能のソースコードはGitHubに掲載されています。拡張機能の多くはパブリックドメイン(CC0 notice)です。そうでないものはオープンソースライセンスのもとで公開されています。詳しくはそれぞれの拡張機能のREADMEを参照してください。
The Code Examples in the the Models Library are in the public domain (CC0 notice).
モデルライブラリのコード例はパブリックドメイン(CC0 notice)です。
The rest of the models in the Models Library are provided under a variety of licenses. Some are public domain and some are open source, but most are under the Creative Commons Attribution-ShareAlike license (CC BY-NC-SA), which is not an open source license, though the models are free for noncommercial distribution and use.
モデルライブラリのその他のモデルは様々なライセンスのもとで公開されています。いくつかはパブリックドメインまたはオープンソースですが、多くのモデルはクリエイティブ・コモンズ表示-非営利-継承3.0ライセンス(CC BY-NC-SA)であり、これは非営利目的での配布と利用は可能ですがオープンソースライセンスではありません。
See each model's Info tab to check its particular license.
各モデルのライセンスを確認するにはモデルのInfoタブをご覧ください。
The models are in a public Git repository here.
モデルは公開のGitリポジトリにあります。
We offer workshops from time to time. If a workshop has been scheduled, we will announce it on the the NetLogo Users Group.
ワークショップは時々実施しています。ワークショップの日程が決まったらNetLogo Users Groupでアナウンスします。
See the Textbooks section of our Resources page.
ResourcesページのTextbooks節をご覧ください。
We at the CCL have hoped to write several NetLogo textbooks for quite some time. These could be aimed at different audiences, such as: middle school, high school, undergraduate course in modeling or complexity, practical guide for interested adults.
CCLではNetLogoの教科書の執筆を検討しています。これらは中学生、高校生、モデリングや複雑系を学ぶ学部学生、実用的ガイドが必要な社会人などを対象とするものです。
Unfortunately, we have not yet been able to find the time to make these happen. If anyone from the user community would like to collaborate on such a venture, please let us know. We would welcome it.
残念ながらこれらはまだ実現していません。ユーザーコミュニティの誰かがこのような事業に協力したい場合はご連絡ください。歓迎します。
Volunteers have translated the user manual into Chinese and Czech. The translated versions are available from the NetLogo web site.
ボランティアがユーザーマニュアルを中国語とチェコ語に翻訳してくれました。翻訳版はNetLogoのウェブサイトで見られます。
At present, NetLogo is available in English, Spanish, Chinese, and Russian. All four languages are included in the standard download.
現時点で、NetLogoは英語、スペイン語、中国語、ロシア語で利用可能です。これら4言語はすべて標準ダウンロードに含まれています。
We are seeking volunteers to complete and improve these localizations and to translate the NetLogo software and manual into as many other languages as possible. If you're able to help in this endeavor, please contact us.
NetLogoのソフトウェアとマニュアルをできる限り多くの言語へ翻訳し、ローカライゼーションを完成させ改善してくれるボランティアを求めています。協力いただける場合はご連絡ください。
Short answer: partially compiled. We are working towards a full compiler.
短い答え:部分的にコンパイルされます。現在、完全コンパイラ化を進めています。
Long answer: NetLogo does include a compiler that generates Java byte code. However, this compiler does not yet support the entire language, so some parts of user code are interpreted. We are working on expanding the compiler to support the entire language. Note that our compiler generates Java byte code, and Java virtual machines have "just-in-time" compilers that in turn compile Java byte code all the way to native code, so much user code is ultimately translated to native code.
長い答え:NetLogoはJavaバイトコードを生成するコンパイラを含んでいます。しかし、このコンパイラは言語全体をサポートしていません。そのためユーザーコードの一部はインタプリタによって実行されます。現在、言語全体をサポートするためのコンパイラの拡張を進めています。このコンパイラはJavaバイトコードを生成し、Java仮想マシンはJavaバイトコードをネイティブコードへコンパイルする "just-in-time" のコンパイラを持っていますので、ユーザーコードは最終的にはネイティブコードへと翻訳されます。
Try looking at the NetLogo Models Library, our Community Models page, and our list of references to NetLogo in outside works.
NetLogoモデルライブラリ、Community Modelsページ、外部の業績からのNetLogoへの参照の一覧などを探してみてください。
You might also ask the question on the NetLogo Users Group and/or search past messages on the group.
NetLogoユーザーグループで質問することもできますし、グループの過去の発言を検索することもできます。
Yes. NetLogo's pseudorandom number generator and agent scheduling algorithms are deterministic, and NetLogo always uses Java's "strict math" library, which gives bit-for-bit identical results regardless of platform. But keep the following cautions in mind:
はい。NetLogoの疑似乱数発生器とエージェントのスケジューリングアルゴリズムは実際には乱数ではありません。またNetLogoはJavaのStrictMathライブラリを使用しており、プラットフォームに関わらず同一の計算結果が得られます。ただし以下の点に注意してください:
For now, yes. NetLogo 3D is included with NetLogo, but it is still a separate application.
現在までのところはyesです。NetLogo 3DはNetLogoに含まれていますが、別々のアプリケーションです。
Eventually a single unified application will support both 2D and 3D modeling. We will design the 3D world support so it doesn't get in the way when you are building 2D models.
将来的には単一の統合アプリケーションが2Dと3Dの双方のモデルをサポートします。3Dサポートを設計し、2Dモデルを作成する際の邪魔にならないようにする予定です。
Models built in NetLogo 3D may require changes in order to run in the eventual unified application.
NetLogo 3Dで作成されたモデルは、将来の統合アプリケーションで動作させるには修正が必要になる可能性があります。
No. It's because NetLogo is based on Java, which Apple doesn't support (or even allow!) on iOS. Hopefully Apple will change their minds on this someday.
いいえ。NetLogoはJavaをベースとしており、AppleはiOS上でのJavaの動作をサポートしていません(許可すらしていません)。Appleはいつか考えを改めるかもしれません。
We are seeking funding for an alternate implementation on a JavaScript and HTML5 base. It would work on a variety of tablets and phones. But the many person-years of development effort that have gone into the Java version can't cheaply or easily be replicated on another platform.
JavaScriptとHTML5ベースで動作するバージョンの開発の資金援助を探しています。これならば各種のタブレットやスマートフォンで動作させることができます。しかしJavaバージョンの開発に費やしてきた長年の労力と同じ労力を他のプラットフォームのために費やすのは容易なことではありません。
Yes. When you install NetLogo, the folder that is created contains has the version number in its name, so multiple versions can coexist.
はい。NetLogoをインストールするときに作成されるフォルダにはバージョン名が付いています。ですので複数のバージョンが共存することができます。
On Windows systems, whichever version you installed last will be the version that opens when you double click a model file in Windows Explorer. On Macs, you can control what version opens via "Get Info" in the Finder.
Windowsでは、バージョン番号とは関係なく、最後にインストールしたバージョンがモデルファイルをダブルクリックしたときに起動するバージョンになります。Macでは、ファインダーの "Get Info" でどのバージョンを起動するかを設定することができます。
Some of the files in the tarball have long pathnames, too long for the standard tar format. You must use the GNU version of tar instead (or another program which understands the GNU tar extensions). On some systems, the GNU version of tar is available under the name "gnutar". You can find out if you are already using the GNU version by typing tar --version and seeing if the output says "tar (GNU tar)".
tarballに含まれているいくつかのファイルのパス名が標準のtarフォーマットとしては長すぎるためです。代わりにtarのGNUバージョン(もしくはGUNのtar拡張を読めるプログラム)を使う必要があります。tarのGNUバージョンが "gnutar" の名前で利用できるシステムもあります。GNUバージョンを既に使っているならば、tar --version とタイプすれば "tar (GNU tar)" と表示されます。
It depends on which platform you are using.
使用しているプラットフォームによって異なります。
Linux: Untar NetLogo into the appropriate place.
Mac: Copy the NetLogo directory from the disk image into the Applications folder.
Windows:
Run the installer from the command line using the -q option:
NetLogo5.0.4Installer.exe -q
NetLogo5.0.4Installer.exe -q
The without-Java installer automatically searches for appropriate Java installations on your machine. If you wish to direct NetLogo to a particular installation you may do so by setting the environment variable NETLOGO_JAVA to the full path of the installation.
without-Javaインストーラーはあなたのマシンから適切なJavaインストレーションを自動的に検索します。もしNetLogoに特定のJavaインストレーションを指定したいときは、NETLOGO_JAVA環境変数にそのインストレーションのフルパスを設定してください。
Your web browser must support Java 5 or later. For details on Java requirements see the Applet guide.
Java 5以降をサポートするブラウザを使ってください。Javaに関して必要な仕様の詳細はアプレットガイドを参照してください。
Normally, the code is not secret. In order for the applet to operate, the model file containing the code must be accessible.
通常はコードは秘密にはなりません。アプレットを作動させるためには、コードを含むモデルファイルがアクセス可能である必要があります。
When you use "Save as applet" on the File menu, the HTML page generated contains the source code and a link where the user can download the model file.
"File" メニューで "Save as applet" を使うと、生成されるHTMLページはソースコードとユーザーがモデルファイルをダウンロードできるリンクを含むものとなります。
If you want to keep the code secret, you can remove the source code and the link. Removing the link will make it harder for the user to access the model file, but not impossible.
コードを秘密にしたいときは、そこからソースコードとリンクを消去してください。リンクを消去するとユーザーがモデルファイルにアクセスしにくくなりますが、不可能ではありません。
However, Peter Brooks has developed a NetLogo obfuscator which makes the code "as indecipherable as possible". It is online here.
しかし、Peter Brooksはコードを"できる限り"解読困難にするNetLogo難読化ツールを開発しています。オンラインではこちらで公開しています。
Yes, but only to read files that are stored in the same directory on your web server as the HTML and model files. Unsigned Java applets cannot read files on the user's computer, only the web server.
はい。しかしウェブサーバー上でHTMLおよびモデルファイルと同じディレクトリに格納されているファイルに限られます。署名されていないJavaアプレットはユーザーのコンピュータではファイルを読み込めません。ウェブサーバーでのみ読み込めます。
If your web server returns custom error messages in response to requests for non-existent pages it must also return a status code of 404 Not Found, otherwise, NetLogo thinks the following data is what it requested and tries to read it as such. This happens even if all the files required to run the applet are present.
ウェブサーバーが存在しないページへの要求に対するカスタムエラーメッセージを返すのであれば、404 Not Foundの状態コードも返すはずです。そうでないなら、NetLogoは付随するデータを読み込むよう要求されたと考えて、読み込もうとしています。この現象はアプレットを動かすのに必要なファイルがそろっていたとしても発生します。
If you don't have control over the error messages on your web server you can use the following as a workaround:
もしウェブサーバー上のエラーメッセージをコントロールできないのでしたら、以下を回避策として使えます。
org.apache.commons.logging.impl.LogFactoryImpl
org.apache.commons.logging.impl.LogFactoryImpl
Note that all the directory and file names are case sensitive.
すべてのディレクトリ名およびファイル名は状況によって変わりうることに注意してください。
Yes. NetLogo runs fine from any file system, including read-only file systems.
はい。NetLogoはリードオンリーのファイルシステムを含むどのようなファイルシステムからでも正常に動作します。
Your computer is switching to power saving mode when unplugged. It's normal for this to reduce speed a little, but unfortunately there is a bug in Java that drastically slows down Swing applications, including NetLogo.
あなたのコンピューターは電源を抜くと省電力モードへ移行します。このために動作が若干遅くなるのは正常なことなのですが、残念ながらJavaにバグがあるため、NetLogoを含むSwingを使ったアプリケーションの動作が非常に遅くなります。
One workaround is to change the power settings on your computer so it doesn't go into power saving mode when you unplug it. (If you do this, your battery won't last as long.)
一つの回避策は、電源を抜いても省電力モードに移行しないようにあなたのコンピューターの電源オプションを変更することです。(こうするとバッテリーは長持ちしなくなります。)
Another workaround is to run NetLogo with an option recommended by Oracle, by editing the NetLogo 5.0.4.vmoptions file, found in the NetLogo directory (under Program Files on your hard drive, unless you installed NetLogo in a different location). Add on a new line:
もう一つの回避策は、NetLogoディレクトリ(NetLogoをインストールする場所を変更しない限り、ハードドライブのProgram Filesの下にあります)の中にあるNetLogo 5.0.4.vmoptionsファイルを編集して、Oracleが推奨する設定のもとでNetLogoを実行することです。以下の新しい行を追記します:
-Dsun.java2d.ddoffscreen=false
You can see the details of the Java bug and vote for Oracle to fix it here.
hereで、Javaの当該バグの詳細を確認し、修正するようOracleに呼びかけることができます。
We recommend Oracle's Java runtime when using NetLogo on Linux.
LinuxでNetLogoを動かす際はOracleのJavaランタイムを推奨します。
In theory, any Java 5 or later runtime will run NetLogo. In practice, some Java implementations aren't high enough quality. GNU libgcj does not work. Very recent versions of OpenJDK (1.6.0.0-22.b22 or newer) may work; older ones don't.
理屈の上では、Java 5以降のランタイムならばNetLogoは動くはずです。実際は、Javaの実行で十分な品質が得られない場合もあります。GNU libgcjは動作しません。OpenJDKの最近のバージョン(1.6.0.0-22.b22以降)は動作しますが、ぞれ以前のバージョンは動作しません。
Ubuntu users should consult http://help.ubuntu.com/community/Java.
Ubuntuのユーザーはhttp://help.ubuntu.com/community/Javaで聞いてみてください。
A nearly certain fix is to use a text editor to edit the NetLogo 5.0.4.vmoptions file (found in the NetLogo directory, by default in C:\Program Files):
ほとんど確かな解決方法は、テキストエディターを使ってNetLogo 5.0.4.vmoptionsファイル(デフォルトではC:\Program FilesのNetLogoディレクトリにあります)を編集することです。
-Xmx1024m
Try changing the 1024m a smaller number like 512m. This should permit NetLogo to start, although the lower heap size limit may affect your ability to run models with many agents. (See How big can my model be?.)
1024mという数値を512mのようなより小さい数値に変更してみてください。これにより、ヒープサイズが小さくなるためにモデルで実行できるエージェントの数が制限されますが、NetLogoを実行することはできます(モデルはどこまで大きくできますか?を参照してください)
If running with the lower heap size limit is unacceptable, read on.
もしヒープサイズを小さくすることで不都合が生じる場合は、数字を調整してみてください。
Some Windows systems have trouble allocating large amounts of contiguous virtual memory. Upgrading to a newer version of Windows may help.
Windowsシステムでは、連続仮想メモリとして大きな容量を割り当てると不具合が生じる場合があります。Windowsの新しいバージョンにアップグレードすると解決するかもしれません。
Running Windows in 64-bit mode instead of 32-bit mode may also help. Double check that Windows is actually running in 64-bit mode; see Microsoft's FAQ page on 64-bit Windows.
Windowsを32ビットモードの代わりに64ビットモードで実行することも解決になるかもしれません。Windowsが実際に64ビットモードで動いているかをダブルチェックしてください。Microsoft's FAQ page on 64-bit Windowsを参照してください。
Yes. The easiest way is to set up your model run or runs as a BehaviorSpace experiment. No additional programming is required. See the BehaviorSpace Guide for details.
はい。最も簡単な方法はモデルを実行するようせっていすること、もしくはBehaviorSpace実験として実行することです。追加のプログラミングは必要ありません。詳細はBehaviorSpaceガイドをご覧ください。
Another option is to use our Controlling API. Some light Java programming is required. See the Controlling Guide for details and sample code.
もう一つの選択肢は我々のControlling APIを使うことです。多少のJavaプログラミングが必要になります。詳細とサンプルコードはControllingガイドをご覧ください。
Only when using BehaviorSpace. BehaviorSpace does parallel runs, one per processor.
BehaviorSpaceを使っているときだけです。BehaviorSpaceはプロセッサごとに1個ずつ平行で実行されます。
For a single model run, only one processor is used.
単一モデル実行の場合は1個のプロセッサだけを使用します。
We are seeking funding to make it possible to split a single model run across multiple processors or multiple computers.
単一モデル実行を分割して複数のプロセッサや複数のコンピュータで実行できるようにするための資金援助を求めています。
Many of the same comments in the previous answer apply. It is not possible to split a single model run across multiple computers, but you can have each machine in a cluster doing one or more separate, independent model runs, using either BehaviorSpace or our Controlling API. We don't have automated support for splitting the runs across clusters, so you'll need to arrange that yourself.
以前の回答に対して同じコメントが数多くありました。一つのモデルを複数のコンピューターに分割して実行することは不可能ですが、BehaviorSpaceかControlling APIを使用して、クラスターを構成する各マシンにおいて1個以上の独立したモデルをそれぞれ実行させることは可能です。クラスター間での実行内容の自動分割はサポートしていませんので、自分で工夫する必要があります。
Various users are already using NetLogo on clusters, with a variety of hardware and software. You can seek them out on the NetLogo Users Group.
さまざまなハードウェアやソフトウェアを用いてNetLogoをクラスター上で使っているユーザーはすでにたくさんいます。そうした人たちはNetLogo Users Groupで探すことができます。
Yes. NetLogo auto-saves files as you are working on them. The auto-save files can be found in your OS-specific temporary directory. On most Unix-like systems (including MacOS) that is /tmp. On Windows XP, logs can be found in C:\Documents and Settings\<user>\Local Settings\Temp, where <user> is the logged in user and on Windows Vista the logs can be found in C:\Users\<user>\AppData\Local\Temp. The files are named according to the following format: autosave_yyyy-MM-dd.HH_mm_ss.nlogo where the time and date are the time and date the model was opened.
はい。NetLogoは実行中にファイルをオートセーブします。オートセーブしたファイルは各OSで使用される一時ファイル用ディレクトリで見つかります。多くのUnix系システム(MacOSを含む)では/tmpです。Windows XPではログインユーザー名が<user>であるならC:\Documents and Settings\<user>\Local Settings\Tempで、Windows VistaならばC:\Users\<user>\AppData\Local\Tempでログが見つかります。ファイル名はautosave_yyyy-MM-dd.HH_mm_ss.nlogoというフォーマットに従います。時刻と日付はモデルがオープンされた時刻と日付になります。
The only way NetLogo can make your model run faster is by updating the view less frequently. As you move the speed slider to the right, view updates become less and less frequent. Since view updates take time, that means more speed.
NetLogoがモデルの動作を速くする唯一の方法はビューの更新頻度を少なくすることです。スピードスライダーを右へ動かすとビューの更新頻度はどんどん少なくなっていきます。ビューの更新には時間がかかりますので、更新が少なくなればスピードは速くなります。
However, fewer updates also means that the updates come farther apart. When several seconds pass between updates, it may seem like your model has stopped. It hasn't. It's running at full speed. Watch the tick counter! (If your model uses it. If it doesn't, watch something else, like a plot.)
しかし、更新が少なくなれば更新間隔は開きます。更新の間に何秒も経過するようになると、モデルが停止しているように見えるかもしれません。モデルは停止しているのではなくフルスピードで動いています。ティックカウンターを見てください(モデルで使っていないのでしたら、プロットなどの他のものを見てください)。
To get a feel for what's going on, try moving the slider to the right gradually rather than suddenly. If you find the updates too infrequent at the rightmost position, just don't push the slider that far.
何かが動いているという感覚を残したいならば、スライダーを一気に左に動かすのではなく少しずつ動かしてください。左端では更新が少なすぎるのであれば、スライダーをそこまでは動かさないでください。
NetLogo does not have a built-in set of painting tools for painting in the view. But with only a few lines of code, you can add painting capability to your model. To see how it's done, look at Mouse Example, in the Code Examples section of the Models Library. The same techniques can be used to let the user interact with your model using the mouse in other ways, too.
NetLogoにはビューを塗るためのペイントツールは付属していません。しかしコードに数行を追加すればモデルにペイント機能を追加することができます。どのようにするかはモデルライブラリのCode Examples節のMouse Exampleを参照してください。同じテクニックはユーザーが他の方法でモデルを操作する方法としても使えます。
Another possibility is to create an image in another program and import it using the import items on the File menu or the import-* primitives.
もう一つの可能性は、他のプログラムで画像を作成し、Fileメニューか import-* プリミティブのインポートアイテムを使ってインポートすることです。
We have tested NetLogo with models that use hundreds of megabytes of RAM and they work fine. We haven't tested models that use gigabytes of RAM, though. Theoretically it should work, but you might hit some limits that are inherent in the underlying Java VM and/or operating system (either designed-in limits, or bugs).
RAMで数百メガバイトを使うモデルをNetLogoでテストし、正常に動作しています。しかしRAMでギガバイトを使うモデルはテストしていません。理論的には動作するはずですが、Java VMやOSに内在する限界(設計されたものかもしれませんしバグかもしれません)にぶつかるかもしれません。
The NetLogo engine has no fixed limits on size. By default, though, NetLogo ships with a one-gigabyte ceiling (or 512 MB on some Windows systems) on how much total RAM it can use. If your model exceeds that limit, you'll get an OutOfMemoryError dialog.
NetLogoのエンジンには固定的なサイズの限界はありません。しかしデフォルトではNetLogoはRAMの使用量の上限を1ギガバイト(一部のWindowsシステムでは512メガバイト)として動作するようになっています。もしモデルがこの上限を超過するようであればOutOfMemoryErrorダイアログが表示されます。
If you are using BehaviorSpace, note that doing runs in parallel will multiply your RAM usage accordingly.
BehaviorSpaceを使っているのであれば、並行して動作させればRAMの使用量はそれによって倍になることに注意してください。
Here's how to raise the limit if you need to:
以下は上限を増やす方法です:
-Xmx1024m
<key>VMOptions</key> <string>-XX:MaxPermSize=128m -Xmx1024m</string>
-Xmx
number to the desired value.-Xmx1024m
<key>VMOptions</key> <string>-XX:MaxPermSize=128m -Xmx1024m</string>
-Xmx
の数値を希望の値に変更してください。Yes, many users are using GIS data with NetLogo. The most complete way to do that is with the GIS extension. See the GIS Extension Guide.
はい。多くのユーザーがNetLogoでGISデータを使っています。最も完全な方法はGIS拡張機能を使うことです。GIS拡張機能ガイドをご覧ください。
A simpler way is to use import-pcolors, but that only works for importing maps that are images, not maps in other formats.
より簡単な方法はimport-pcolorsを使うことですが、地図を画像としてインポートするだけであって、他のフォーマットの地図は使えません。
It is also possible to write NetLogo code that reads GIS data using our file I/O primitives such as file-open. For example, see the Grand Canyon model in the Earth Science section of Sample Models.
NetLogoのコードでfile-openのようなファイル入出力プリミティブを使ってGISデータを読むようにすることもできます。例えば、サンプルモデルのEarth Science節にあるGrand Canyonモデルをご覧ください。
Here's some ways to make it run faster without changing the structure of the code:
コードの構造を変更せずに動作を速くする方法はいくつかあります:
In many cases, though, if you want your model to run faster, you may need to make some changes to the code. Usually the most obvious opportunity for speedup is that you're doing too many computations that involve all the turtles or all the patches. Often this can be reduced by reworking the model so that it does less computation per time step. The members of the NetLogo Users Group may be able to help with this.
しかし多くの場合、モデルをより速く動かしたいのであれば、コードに何らかの変更を加える必要があります。すべてのタートルやパッチを計算対象に含めていることで計算量が増えすぎていることが多いので、これを改めることがスピードアップの方策となります。各時間ステップにおける計算を減らすようモデルを再構成することで全体の計算量を減らすことができます。NetLogoユーザーグループのメンバーはこれを手助けできるかもしれません。
The profiler extension is useful for identifying which parts of your code are taking the most time.
プロファイラー拡張機能はコードのどの部分が計算時間を食っているかを特定するのに役立ちます。
Unless you are running the exact same strings over and over, using run and runresult are much slower than running code directly; you should avoid using these primitives on fresh strings in performance-critical code.
正確に同じ文字列を繰り返して実行しない限り、runとrunresultを使うとコードを直接実行するよりも遅くなります。計算速度が重要となるコードでは、新しい文字列でこれらのプリミティブを用いるのは避けるべきです。
One instance of NetLogo can only have one model open at a time. (We plan to change this in a future version.)
NetLogoの1個のインスタンスで同時に動かすことができるモデルは1個だけです。(将来のバージョンでは見直しを計画しています。)
You can have multiple models open by opening multiple instances of NetLogo, though. On Windows and Linux, simply start the application again. On a Mac, you'll need to duplicate the application (not the whole folder, just the application itself) in the Finder, then open the copy. (The copy takes up only a very small amount of additional disk space.)
しかしNetLogoのインスタンスを複数実行すれば複数のモデルを動かすことができます。WindowsとLinuxでは単にアプリケーションを再度実行してください。MacではFinderでアプリケーションを複製し(フォルダ全体ではなく単にアプリケーション自身のみです)、コピーを実行する必要があります。(このコピーに必要となる追加的なディスクスペースはわずかです。)
At present, no. In a future version of NetLogo, we plan to support this.
現時点では「いいえ」です。NetLogoの将来のバージョンではサポートを計画しています。
Yes, this is available on an experimental basis using the __includes keyword.
はい。この機能は__includesキーワードを使うことで実験的に利用可能です。
This is answered in detail at the end of the Programming Guide.
プログラミングガイドの末尾で詳細に回答しています。
See the Transition Guide for help.
解決のためには移行ガイドを参照してください。
Any of these ways:
以下の方法のいずれかになります:
(- x) -1 * x 0 - x
With the first way, the parentheses are required.
最初の方法を使うときは丸かっこが必要です。
If you have disabled wrapping at the world edges in your model, then the turtle might be at a world edge and unable to move any further. You can test for this using can-move?.
モデルがワールドの1辺から他辺へ行き来できない設定になっていれば、タートルがワールドの辺にいるならそれ以上遠くには進めません。これはcan-move?を使って調べることができます。
Assuming the turtle isn't hitting a world edge, moving forward 1 is only guaranteed to take a turtle to a new patch if the turtle's heading is a multiple of 90 (that is, exactly north, south, east, or west).
タートルがワールドの辺にぶつかっていない前提で、タートルが1前進したときに隣のパッチへ移ると確実に言えるのは、タートルの向きが90の倍数であるときのみです(つまり、正確に東西南北を向いているときです)。
It's because the turtle might not be standing in the center of a patch. It might be near the corner of a patch. For example, suppose your turtle is close to the southwest corner of a patch and is facing northeast. The length of the patch diagonal is 1.414... (the square root of two), so fd 1 will leave the turtle near the northeast corner of the same patch.
なぜならタートルは正確にパッチの中心にいるとは限らないからです。パッチの隅にいるかもしれません。例えば、タートルがパッチの南西隅にいて北東を向いているとします。パッチの対角線の長さは1.414...(2の平方根)ですので、fd 1とするとタートルは同じパッチの北東隅に移動します。
If you don't want to have to think about these issues, one possibility is to write your model in such a way that your turtles always come to rest on patch centers. See next question.
このような問題を考えたくないならば、一つの可能性はタートルが常にパッチの中心にいるようにモデルを書くことです。次の質問を見てください。
A turtle is on a patch center when its xcor and ycor are integers.
タートルは、xcorとycorが整数であるときパッチの中心に位置しています。
You can move a turtle to the center of its current patch with either of these two equivalent commands:
以下の同等なコマンドのいずれかによってタートルをパッチの中心に移動させることができます:
move-to patch-here setxy pxcor pycor
But you'll never need to do that if you never allow turtles off of patch centers in the first place.
しかしタートルを最初に置いた場所のパッチの中心から外へ移動させることがないのであれば、これを実行する必要はありません。
The sprout command creates turtles on patch centers. For example:
sproutコマンドはパッチの中心へタートルを作り出します。例えば:
ask n-of 50 patches [ sprout 1 [ face one-of neighbors4 ] ]
Another way for a turtle to start on a patch center is with a command such as this line of turtle code, which moves it to the center of a random patch:
タートルをパッチの中心からスタートさせるもう一つの方法はタートルコードに下記のようなコマンドを記載することです。これによりランダムなパッチの中心に移動します:
move-to one-of patches
Once a turtle is on a patch center, as long as its heading always stays an exact multiple of 90 (that is to say, due north, east, south, or west), and as it long as it moves forward or back by integer amounts, it will always land on patch centers.
ひとたびタートルがパッチの中心に置かれれば、向きが正確に90の倍数(言い換えれば東西南北)であり、かつ整数だけ前進または後退する限りは、タートルはパッチの中心に位置します。
See Random Grid Walk Example, in the Code Examples section of the Models Library, to see these code snippets in use.
これらのスニペットの実際例は、モデルライブラリのCode Examples節のRandom Grid Walk Exampleをご覧ください。
See the answer two answers up. It's the same issue.
上記の2つの回答をご覧ください。同じ問題です。
This might not be the meaning of "ahead" you were expecting. With patch-ahead, you must specify the distance ahead that you want to look. If you want to know the next patch a turtle would cross into if it moved forward continuously, it is possible to find that out. See Next Patch Example, in the Code Examples section of the Models Library.
これはあなたが "ahead" で期待していた意味と異なるかもしれません。patch-aheadでは移動させたい前方への距離を指定しなければなりません。タートルが連続的に前方へ移動するときに次に入るパッチを知りたいならば、それを見つけることは可能です。モデルライブラリのCode Examples節のNext Patch Exampleをご覧ください。
You can use in-radius to let a turtle see a circular area around it.
in-radiusを使えばタートルに円形の周囲を見るようにすることができます。
Several primitives let the turtle "look" at specific points. The patch-ahead primitive is useful for letting a turtle see what is directly in front of it. If you want the turtle to look in another direction besides straight ahead, try patch-left-and-ahead and patch-right-and-ahead.
タートルに特定の位置を「見る」ようにするプリミティブがいくつかあります。patch-aheadプリミティブはタートルのまっすぐ前方に何があるかを見るようにするために使えます。まっすぐ前方に加えて他の方向も見るようにしたいときは、patch-left-and-aheadとpatch-right-and-aheadを試してみてください。
If you want the turtle to have a full "cone" of vision, use the in-cone primitive.
タートルに「円錐形」の視野を与えたいときは、in-coneプリミティブを使います。
You can also find out the next patch a turtle would cross into if it moved forward continuously. See Next Patch Example, in the Code Examples section of the Models Library.
タートルが連続的に前方へ移動するときにタートルが次に入るパッチを見つけることもできます。モデルライブラリのCode Examples節のNext Patch Exampleをご覧ください。
No. If you want to make marks that agents can sense, use patch colors.
いいえ。エージェントが知覚できるマークを作りたいならばパッチ色を使います。
See the "Math" section of the Programming Guide for a discussion of this issue.
この問題についての議論はプログラミングガイドの「算術計算」節をご覧ください。
It really doesn't matter. Even if 1 were a possible result, it would only come up approximately 1 in 2^64 tries, which means you'd be waiting hundreds of years before it ever came up exactly 1.
大きな問題ではありません。1.0はありうる結果であっても、実際に得られるのは約2^64回の試行の後になります。つまり正確に1.0を得たいならば数百年待つことになるということです。
Nonetheless, if you are convinced that it really must be possible to get 1, you can use precision to round your answer to a certain number of decimal places. For example:
どうしても1.0を得る必要があるのでしたら、結果を任意の小数点の位置で四捨五入するprecisionを使うことができます。例えば:
print precision (random-float 1) 10 0.2745173723
(If you use this method, note that 0 and 1 are only half as likely to come up as other answers. To see why this is so, consider the case where you only keep one digit after the decimal point. Results between 0 and 0.5 get rounded to 0, but results between 0.5 and 1.5 get rounded to 1; the latter range is twice as large. If you want 0, 0.1, 0.2, ..., 0.9, and 1 to all be equally likely, an alternative is to write random 11 / 10; this gives all 11 answers with equal probability.)
(この方法を用いるなら、0.0と1.0を得る確率は他の数値が得られる確率の半分であることに注意してください。小数点以下第2位を四捨五入するとすると、0.00以上0.05未満は0.0に丸められ、0.05以上0.15未満は0.1に丸められます。後者の範囲は前者の2倍になります。もし0, 0.1, 0.2, ..., 0.9, 1.0という数値を等確率で得たいのであれば、一つの選択肢はrandom 11 / 10と書くことです。こうすれば11種類の答えが等確率で得られます。)
See One Turtle Per Patch Example, in the Code Examples section of the Models Library.
モデルライブラリのCode Examples節のOne Turtle Per Patch Exampleをご覧ください。
When a turtle dies, it turns into nobody. nobody is a special value used in NetLogo used to indicate the absence of a turtle or patch. So for example:
タートルが死ぬとnobodyとなります。nobodyはNetLogoで使われている特別の値で、タートルかパッチがないことを指しています。ですので例えば:
if turtle 0 != nobody [ ... ]
You could also use is-turtle?:
is-turtle?を使うこともできます:
if is-turtle? turtle 0 [ ... ]
Most models should just use lists. The usual motivation for using arrays in other programming languages is that they provide fast random access (item) and mutation (replace-item). But NetLogo's lists, even though they are immutable, now provide near constant time performance on these operations.
多くのモデルでは単にリストを使います。他のプログラミング言語で配列を使う通常の理由はランダムアクセスが速いこと(item)と変更可能であること(replace-item)です。しかしNetLogoのリストは、ミュータブルではありませんが、これらの演算をほぼ同じ計算時間で行うことができます。
Lists in earlier versions of NetLogo (4.1 and 4.0) were simple singly-linked lists and therefore these operations took linear time. The data structure underlying NetLogo's lists now is the immutable Vector class from the Scala collections library. It uses 32-wide hash array mapped tries, as implemented by Tiark Rompf, based in part on work by Phil Bagwell and Rich Hickey.
NetLogoの以前のバージョン(4.1と4.0)でのリストは単方向リストであり、線形の処理時間が必要でした。現在のNetLogoのリストのデータ構造はScalaコレクションライブラリのイミュータブルベクトルクラスです。これはPhil BagwellとRich Hickeyasの研究をもとに、Tiark Rompfにより実装された幅32のハッシュアレイマップのトライ木を使っています。
If you are certain you want to use raw, mutable JVM arrays in your model, they are provided by the array extension. See the Arrays & Tables section of the User Manual.
もしモデルで未使用のミュータブルなJVM配列を使いたいときは、配列拡張機能で提供されています。ユーザーマニュアルの「配列とテーブル」節をご覧ください。
Yes, using the table extension. See the Arrays & Tables section of the User Manual.
はい。テーブル拡張機能を使います。ユーザーマニュアルの「配列とテーブル」節をご覧ください。
The in-radius primitives lets you access circular neighborhoods of any radius.
in-radiusプリミティブを用いれば任意の半径の円形内の近傍にアクセスすることができます。
The neighbors primitive gives you a Moore neighborhood of radius 1, and the neighbors4 primitive gives you a Von Neumann neighborhood of radius 1.
neighborsプリミティブは半径1のムーア近傍となり、neighbors4プリミティブは半径1のノイマン近傍となります。
For Moore or Von Neumann neighborhoods of a larger radius, see Moore & Von Neumann Example in the Code Examples section of the Models Library.
より大きい半径でのムーア近傍またはノイマン近傍を用いたいときは、モデルライブラリのCode Examples節のMoore & Von Neumann Exampleをご覧ください。
If you want the list in a particular order, use the sort or sort-by primitives. The Lists section of the Programming Guide explains how to do this. See also Ask Ordering Example, in the Code Examples section of the Models Library.
リストを特定の順番に並べ替えたいのであればsortかsort-byプリミティブを使います。プログラミングガイドの「リスト」節でこの方法を説明しています。モデルライブラリのCode Examples節のAsk Ordering Exampleも参照してください。
If you want the list in a random order, here's how:
リストをランダムな順序で並べ替えたいときはこのようにします:
[self] of <agentset>
Because all operations on agentsets are in random order, the resulting list is in random order.
エージェント集合に対するあらゆる操作はランダムな順序で行われますので、結果としてられるリストはランダムな順序となります。
To convert a list of agents to an agentset, use the turtle-set, patch-set, or link-set primitives.
エージェントのリストをエージェント集合に変換するにはturtle-set、patch-set、link-setプリミティブを使います。
To stop a foreach from executing you need to define a separate procedure that contains only the foreach, for example:
foreachを実行状態から止めるには、そのforeachだけを含む別のプロシージャを定義する必要があります:
to test foreach [1 2 3] [ if ? = 2 [ stop ] print ? ] end
This code will only print the number 1. The stop returns from the current procedure so nothing after the foreach will be executed either. (If the procedure is a reporter procedure, use report instead of stop.)
このコードは数字の1を表示するだけです。stopによって実行中のプロシージャから戻ってきますので、foreachから後も何も実行されません。(プロシージャがレポーターであるときは、stopの代わりにreportを使います。)
This is normal when doing multiple runs in parallel. For a discussion of the issue, see the section on parallel runs in the BehaviorSpace Guide section of the User Manual.
これはパラレルに複数を実行すれば通常の結果です。この問題に関する議論はユーザーマニュアルのBehaviorSpaceガイド節のパラレル実行の節をご覧ください。
Use repeat in your experiment's go commands, e.g.:
あなの実験のgoコマンドでrepeatを使います。例えば:
repeat 10 [ go ]
to measure the run after every 10 ticks. Essentially you are making one experiment step equal 10 ticks.
とすれば10ティックごとに実行結果を計測します。つまり1つの実験ステップを10ティックと等しいものとしています。
It's probably because your setup commands or setup procedure are using clear-all, causing the values set by BehaviorSpace to be cleared.
それはおそらくセットアップコマンドかセットアッププロシージャでclear-allを使っているからでしょう。BehaviorSpaceによって設定された値もクリアされてしまいます。
One possible workaround is to change your experiment's setup commands to preserve the value of the variable, e.g.:
1つの回避策は、あなたの実験のセットアップコマンドを変数の値を保存するように変更することです。例えば:
let old-var1 var1 setup set var1 old-var1
This works because even clear-all doesn't clear the values of local variables made with let
clear-allでもletで作成されたローカル変数の値まではクリアしないので、これは有効に動作します。
Another possible workaround is to change your model's setup procedure to use more specific clearing commands to clear only what you want cleared.
もう1つの回避策は、クリアしたいものだけをクリアする特定のクリアコマンドをセットアッププロシージャで使用するようモデルを改変することです。
In some versions of Excel, spreadsheets can't have more than 256 columns. (See a Microsoft support article on the subject.)
Excelのいくつかのバージョンではスプレッドシートは256列までしか扱えません。(この問題についてのMicrosoft support articleをご覧ください。)
Possible workarounds include:
回避策は以下のようなものがあります:
Not at this time. Perhaps in some future version of NetLogo.
現在はできません。NetLogoの将来のバージョンではできるようになるかもしれません。
NetLogo supports fullscreen exclusive mode. If that is all your device needs then, possibly yes. However, it can be tricky to get it working. We don't have any such devices so it is difficult for us to make the process easier. If your device needs something else, for example, quadbuffers enabled, the answer is probably no.
NetLogoは全画面モードをサポートしています。あなたのデバイスでそれで足りるのでしたら「はい」と言えるかもしれません。しかし意図したとおりに動作するかはわかりません。私たちはそのようなデバイスを持っていませんので、処理を容易にすることは困難です。あなたのデバイスがクワッドバッファのような機能が必要なのでしたら、答えはおそらく「いいえ」でしょう。
You need to add NetLogo.jar to your classpath when compiling. NetLogo.jar is included with NetLogo.
コンパイルする際はNetLogo.jarをクラスパスに追加する必要があります。NetLogo.jarはNetLogoに含まれています。