武家における同性愛の一つには仏門のそれとは異なり、若衆とよばれる少年がより経験豊かな年長の男性より武術の訓練を受ける慣習から拡がったとされる、衆道といわれるものがある。年長者は「念者」「念友」などと呼ばれ、年少者の同意を以て成年までの期間に恋愛関係を持つことができた。この関係性は兄弟愛の関係性に基づくものであったとされ、両者には他の男性との関係性を持たないことが求められた。この慣習は仏門における少年愛とともに「世代的関係性のある同性愛」として体系化され、"若衆の道"を意味する「若衆道」と呼ばれ、その短縮語として「衆道」と呼ばれるようになった。念者の役割を果たす年長者は若衆に対して武術や武士の礼法、武士道的規律を教える立場となり模範的な振舞いを求められた。そのため衆道における関係性は「互いに高め合う効果」をも持っていた。さらに互いに対する忠誠心は死に至るまで続き、封建的な責務や決闘や復讐などの道義心に基づく責務をも期待されていた。両者における性的関係は、若年側の成人を以て終わるものの、関係性は生涯における友情となることが理想とされていた。女性との関係性についてはどちらの側にも制限はなく、若年側が若衆を求めることは成人を以て自由となるとされる。
仏門における男色関係は、若年側が未成年とされる年齢構造の典型的な少年愛の関係性であったとされる。年長側は「念者」とよばれる僧侶であり、若年側は稚児と呼ばれる思春期前後の少年であった。この関係性は稚児が成人となるか寺社を離れるまで続いた。両者には関係性の尊重が求められ、念者側には貞節の誓願が求められていた。一方で寺社外からは、僧侶は青少年に対する偏愛を持っているとの下品なユーモアの対象となっていた。日本における神道では宗教的な同性愛に対する反発はない。江戸時代において八幡や妙心寺、神明、天神などは男色に関連した神とみられるようになっていた。この時代の作家井原西鶴は日本書紀における神々の初期3世代に女性が存在しないことを指摘して、本当の男色の起源であると冗談で主張したとされる。
平安末期には武士社会は台頭していたが、中世室町時代には武士の間で男色が盛んになり、その主従関係の価値観と重ね合わせられた。後にこの関係は「衆道」と呼ばれる（後述）。三代将軍・足利義満は能役者の世阿弥が少年だった頃、彼を寵愛した。この二人の男色関係は芸能の発展において多大な影響を与えたとされている。また六代将軍・足利義教は赤松貞村という武士を愛して領地を加増した。後、同族の赤松満祐にこれを不満に思われたことも理由の一つとなり、義教は暗殺される。八代将軍・足利義政は有馬持家、烏丸資任ら寵童を側に置いた。その他の武士にも男色を風雅の道として行う者がいた。この時代に成立した能や狂言には男色がとても多く取り入れられており、代表的なものに『菊慈童』、『花月』などがある。また『幻夢物語』、『嵯峨物語』、『鳥辺山物語』などの稚児物語が多くつくられ、内容は公家や寺院におけるものが多くを占める。これは物語をつくる能力が公家らに独占されていたからだとされ、武士の間で男色が少なかったことを意味しない。
平安時代末期には男色の流行が公家にも及び、その片鱗は、例えば複数の男色関係を明言している藤原頼長（平安時代末期）の日記『台記』に伺える。また源義経（平安時代末期 - 鎌倉時代初期）と、弁慶や佐藤継信・佐藤忠信兄弟との主従関係にも制度的な片鱗を見出す説がある。北畠親房（鎌倉時代後期 - 南北朝時代）は『神皇正統記』で男色の流行に言及しており、その頃にも流行していた証拠とされている。14世紀（鎌倉末期-室町初期）に成立したと推定されている『稚児観音縁起』には稚児と僧の関系が描かれている。
コンピュータに関係するシミュレーションであるが、前の節で説明しているものとはおもむきが大きくことなるものなので、節を分けて説明する。計算理論では、たとえば万能チューリングマシン（のような、模倣する能力を持つ機械）が、模倣対象（たとえば、なんらかのチューリングマシン）の状態遷移と入力と出力を記述した状態遷移表を実行すること（現代風に言うと、コンピュータがそのようなプログラムを走らすこと）を、シミュレーションと言う。これは、状態遷移系間の関係といった、意味論の研究などで使われている。少し理論的でないが、興味深いコンピュータ・シミュレーションの応用は、コンピュータを使ったコンピュータのシミュレートである。コンピュータ・アーキテクチャでは、一般にエミュレータと呼ばれるシミュレータを、しばしば実機で走らせるのがめんどう（たとえば、新しく設計されたコンピュータでまだ構築されていないとか、過去のコンピュータで既に存在しないとか）なプログラムを実行するのに使う。また、緊密に制御されたテスト環境でプログラムを実行するのに使う（仮想化も参照のこと）。たとえば、マイクロプログラムやアプリケーションプログラムを、実機に送り込む前にデバッグするのに使う。コンピュータの動作がシミュレートなので、コンピュータの動作の全ての情報をプログラマが直接的に利用でき、速度を変えたりステップ実行したりなど好きなようにできる。一方でいわゆる「ゲートレベル」の完全なエミュレーションは現実的でないことが多く、また普通はそこまで厳密にエミュレーションする必要はないことも多いが、例えばエミュレートしきれない部分の実機にバグがある場合のデバッグはできない。性能が必要な場合は、FPGAなどといったプログラマブルなハードウェアを利用して、エミュレーションないしシミュレーションを行うこともある。シミュレータを使ってフォルトツリー解析を行うこともある。マイクロプロセッサなどといった高度に複雑なディジタルLSIの論理設計も、実際に製造に入る前にシミュレータでテストされる。シンボリックシミュレーションでは、変数を、未知の値を表すのに使う。最適化問題の分野では、物理プロセスのシミュレーションが進化的計算と共に使われ、制御戦略の最適化を行う。