「ノード」を含む日記 RSS

はてなキーワード: ノードとは

2024-11-12

多夫多妻によって構築されたセックスネットワーク性病マルチ商法に弱く、30ノードほど単位で切り出して独立させ、感染したクラスタは見殺しにするという修羅

[増田アイディア]

2024-11-08

ブロックチェーンジレンマ

ブロックチェーンのニワカの分際で恐縮だが、気になることがある。

とあるCHINPOというパブリックチェーンがあるとする。

何かしらのきっかけでユーザー(ノード?)が増えていく。

すると、CHONPOの価値は上がっていく。

こうなると、単純に使う人増えれば増えるほどCHINPOの価値が上がって取引コストガンガン上がる。

使われれば使われるほど取引コストが上がってしまって実質使えなくね?ってなった次第です。

投機以外で高いコスト払って使いたい人いる?

って思ったです。

詳しい人教えてください。

2024-11-02

[]

11月になった。イベと月次/ver限の進捗

原神螺旋
☑シアター
花神誕祭テーマイベ
戦闘イベ[ongoing]
魔神任務
☑熱闘モード
☐鋳境の研鑽
☑お試し
☑月次チケダスト交換
☑5.1追加アチーブ
☑5.1追加レシピ
スタレ☑末日
☑裏庭
☑叙事
☑立本サンポイベ[ongoing]
音ゲーテーマイベ
不可知域(進捗:凡人集2/6,シミュレーション記録84%)
☑お試し
☑月次チケエンバー交換
☑2.6追加アチーブ(宇宙以外)
ゼンゼロ☑立本ショウルイベ[@1]
チートピアテーマイベ
☑激変ノード
☑お試し
☑月次チケ残響交換
☐1.2追加アチーブ(@ポンペイ転倒とギアコイン3万)
3rd花火Webイベ
☑年次回顧Webイベ
☑メイン探索[エリア開放待]
牧場テーマイベ[ongoing/Lv7]
☑お試し
☑月次基地チケ交換

柳のPVフェチ要素や蒼角の可愛さに気を取られそうになるけど普通に映像表現すごすぎないか

ライティングボケアニメメガネ表現や小物の揺れとかどんだけ凝れば気が済むのか

原神ラジオシカコ回おもろかったな

写真部はちょいちょい笑いの神が降りてくるな

魔神任務がかつてないほど重かったのも衝撃だけどそれに早速ガッツリネタバレトークで触れてくれたの珍しい

10年前から久保さん推しってお便りの人絶対ラブライバーでしょわかりみしかない

2024-10-27

B層とは何か

B層」という概念は、消費者行動理論マーケティングにおいて特定消費者群を指す。以下にB層定義、特徴、数理的アプローチ考察する。

1. 定義

B層は、消費者情報リテラシー社会的影響意思決定プロセスに基づく分類であり、以下の特性を持つ。

2. 特徴

B層消費者の行動には以下の特徴が見られる。

3. 数理的アプローチ

B層特性定量的分析するためには数理モデル有効である

P_i = (I_m * W_m + I_s * W_s) / C

ここでP_iはエージェントiの購買選択確率、I_mはメディアから情報強度、W_mはメディア情報信頼性、I_sは社会的影響強度、W_sは社会的情報信頼性、Cは情報選択コストを示す。このモデルB層情報受容と意思決定分析できる。

P(i → j) = k_j / Σk_l

ここでP(i → j)はノードiからjへの情報伝播確率であり、k_jはノードjの接続数を示す。このアプローチB層消費者社会的影響を受けるメカニズム分析可能

2024-09-29

anond:20240929092551

計算機科学知識体系とネットワーク技術

計算機科学は、情報理論的基盤から実用的な応用まで、広範な領域カバーする学問です。以下に、計算機科学の主要な分野と、特にネットワークに関連するトピックを体系的にまとめます

1. 計算機科学の主要分野

1.1 アルゴリズムデータ構造

アルゴリズム設計: 問題解決のための効率的な手順の開発。

データ構造: データの整理と管理効率化するための手法

1.2 プログラミング言語コンパイラ

プログラミングパラダイム: 手続き型、オブジェクト指向関数型、論理型など。

コンパイラ設計: 高水言語機械語翻訳する技術

1.3 オペレーティングシステム

プロセス管理: CPUスケジューリングマルチタスキング

メモリ管理: 仮想メモリメモリ割り当て。

ファイルシステム: データの保存とアクセス方法

1.4 データベースシステム

リレーショナルデータベース: SQLによるデータ操作

NoSQLデータベース: 非構造データ管理

1.5 人工知能機械学習

機械学習アルゴリズム: 教師あり学習教師なし学習強化学習

深層学習: ニューラルネットワークによる高度なパターン認識

1.6 ソフトウェア工学

開発プロセス: アジャイルウォーターフォールモデル

品質保証: テスト手法バグトラッキング

1.7 セキュリティ暗号

暗号アルゴリズム: 対称鍵暗号公開鍵暗号

セキュリティプロトコル: SSL/TLSIPsec

2. ネットワーク技術

ネットワークは、情報の共有と通信可能にする計算機科学の核心的な分野です。

2.1 ネットワークの基本概念

OSI参照モデル: ネットワーク通信を7つのレイヤーに分割し、それぞれの機能定義

物理層: 電気信号ビット伝送。

データリンク層: フレーム転送エラー検出。

ネットワーク層: パケットルーティング

トランスポート層: エンドツーエンドの通信制御

セッション層: コネクションの管理

プレゼンテーション層: データ形式の変換。

アプリケーション層: ユーザーアプリケーション使用するプロトコル

TCP/IPモデル: 現実インターネット使用される4層モデル

2.2 ネットワークトポロジー

スター型: 中央ハブを介して各ノード接続

リング型: 各ノードが一方向または双方向に隣接ノード接続

バス型: すべてのノードが一本の通信ラインを共有。

メッシュ型: ノード間が多重に接続され、高い冗長性を持つ。

2.3 ネットワークプロトコル

IPInternet Protocol): データパケット化とアドレッシング

TCPTransmission Control Protocol): 信頼性のある通信提供

UDPUser Datagram Protocol): 信頼性よりも速度を重視した通信

HTTP/HTTPS: ウェブデータの送受信。

FTP/SFTP: ファイル転送プロトコル

SMTP/POP3/IMAP: 電子メールの送受信。

2.4 ネットワークデバイス

ルーター: 異なるネットワーク間のパケット転送ルーティング

スイッチ: 同一ネットワーク内でのフレーム転送

ブリッジ: ネットワークセグメントの接続

ゲートウェイ: 異なるプロトコル間の通信可能にする。

2.5 ワイヤレスネットワーク

Wi-Fi802.11規格): 無線LANの標準技術

Bluetooth: 近距離間のデータ通信

セルラーネットワーク: モバイル通信3G、4G、5G)。

2.6 ネットワークセキュリティ

ファイアウォール: 不正アクセスを防止。

IDS/IPS(侵入検知/防止システム): ネットワーク攻撃の検出と防御。

VPN仮想プライベートネットワーク): 安全リモートアクセス提供

暗号技術: データの機密性を保護

2.7 クラウドネットワーキング

クラウドサービスモデル: IaaSPaaSSaaS

仮想ネットワーク: ソフトウェアによるネットワーク構築。

SDNSoftware-Defined Networking): ネットワークの柔軟な管理制御

2.8 分散システム

分散コンピューティング: 複数ノードタスク分散処理。

ブロックチェーン: 分散型台帳技術

2.9 IoTモノのインターネット

センサーネットワーク: デバイス間の通信データ収集

IoTプロトコル: MQTT、CoAPなどの軽量プロトコル

2.10 ネットワーク管理モニタリング

SNMPSimple Network Management Protocol): ネットワークデバイス管理

ネットワークトラフィック分析: パフォーマンスセキュリティ最適化

3. ネットワーク技術の最新動向

3.1 5Gと次世代通信

帯域幅と低遅延: リアルタイムアプリケーションの実現。

エッジコンピューティング: データ処理の分散化。

3.2 SD-WANSoftware-Defined Wide Area Network

ネットワーク仮想化: 柔軟なWAN構築とコスト削減。

中央集中的な管理: ネットワークポリシーの一元管理

3.3 ネットワーク自動化AI

ネットワークオーケストレーション: 自動化された設定と管理

AIによるトラフィック最適化: パフォーマンスの向上と障害予測

3.4 ゼロトラストセキュリティ

信頼しない設計: 常に認証検証を行うセキュリティモデル

マイクロセグメンテーション: ネットワーク内部の細かなアクセス制御

4. 学習リソースと参考文献

4.1 推奨書籍

コンピュータネットワーク』 アンドリュー・S・タネンバウム著

TCP/IP詳解』 W. リチャード・スティーブンス著

ネットワークはなぜつながるのか』 戸根勤著

4.2 オンラインコース

Coursera: 「コンピュータネットワーク」、「ネットワークセキュリティコース

edX: 「Computer Networking」、「Cybersecurity Fundamentals」

4.3 標準化団体リソース

IETFInternet Engineering Task Force): ietf.org

IEEE Communications Society: comsoc.org

W3CWorld Wide Web Consortium): w3.org

2024-08-17

anond:20240817015407

依存関係は木で表現

ノードロック持たせる

ロックに条件持たせる

やりたいことはできてるように見えるが、うーんしんどい

# Entity Relation Diagram
# ```mermaid
# ---
# title: Rental Office example
# ---
# erDiagram
# OFFICE ||--|{ ROOM : x
# OFFICE {
# number office_id
# }
# ROOM {
# number office_id
# number room_id
# }
# ROOM ||--|{ SCHEDULE : x
# SCHEDULE {
# number room_id
# datetime start_at
# datetime end_at
# }
# OFFICE ||--|{ BUSINESS_HOUR : x
# BUSINESS_HOUR {
# number office_id
# enum week_of_day
# datetime start_at
# datetime end_at
# }
# ```

# Directed Acyclic Graph
#
# ```mermaid
# graph LR
# A[OFFICE] --> B[ROOM]
# B --> C[SCHEDULE]
# A[OFFICE] --> D[BUSINESS_HOUR]
# D --> C
# A --> C
# ```


# 基底クラス: EntityLock
class EntityLock
attr_accessor :entity_name, :entity_locked, :attribute_locks

def initialize(entity_name)
@entity_name = entity_name
@entity_locked = false # エンティティ全体のロック状態を保持
@attribute_locks = {} # IDに対するロック管理するハッシュ
end

def lock_entity
@entity_locked = true
puts "Entity '#{@entity_name}' is now locked."
end

def unlock_entity
@entity_locked = false
puts "Entity '#{@entity_name}' is now unlocked."
end

def lock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && !@attribute_locks[entity_id]
@attribute_locks[entity_id] = true
puts "#{@entity_name} with ID '#{entity_id}' is now locked."
end
end

def unlock(attributes)
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
@attribute_locks.delete(entity_id)
puts "#{@entity_name} with ID '#{entity_id}' is now unlocked."
end
end

def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked

# 次に特定IDロックされているかチェック
entity_id = attributes["#{@entity_name.downcase}_id"]
if entity_id && @attribute_locks[entity_id]
return true
end

# ロックされていなければfalseを返す
false
end
end

# 子クラス: OfficeLock, RoomLock, ScheduleLock
class OfficeLock < EntityLock
def initialize
super("Office")
end
end

class RoomLock < EntityLock
def initialize
super("Room")
end
end

class ScheduleLock < EntityLock
def initialize
super("Schedule")
end
end

# 子クラス: BusinessHourLock
class BusinessHourLock < EntityLock
def initialize
super("BusinessHour")
@attribute_locks = [] # BusinessHour用のロック配列管理
end

def lock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at &amp;&amp; end_at
@attribute_locks << [start_at, end_at]
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now locked."
end
end

def unlock(attributes)
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if @attribute_locks.include?([start_at, end_at])
@attribute_locks.delete([start_at, end_at])
puts "BusinessHour from '#{start_at}' to '#{end_at}' is now unlocked."
end
end

def locked?(attributes)
# まずエンティティ全体がロックされているかチェック
return true if @entity_locked

# 次に特定時間範囲ロックされているかチェック
start_at = attributes["start_at"]
end_at = attributes["end_at"]
if start_at &amp;&amp; end_at
@attribute_locks.each do |(locked_start, locked_end)|
if locked_start <= start_at &amp;&amp; end_at <= locked_end
return true
end
end
end

# ロックされていなければfalseを返す
false
end
end

# TreeNodeクラス
class TreeNode
attr_accessor :name, :children, :parents, :lock

def initialize(name, lock)
@name = name
@children = []
@parents = [] # 複数の親ノードを保持する配列
@lock = lock # TreeNodeにロックを持たせる
end

def add_child(child_node)
child_node.parents << self # 子ノードにこのノードを親として追加
@children << child_node
end

def display(level = 0)
indent = " " * (level * 4)
puts "#{indent}#{@name}"
@children.each { |child| child.display(level + 1) }
end

def has_dependency
return false if @parents.empty?

@parents.each do |parent|
puts "#{@name} is dependent on #{parent.name}"
return true
end

@parents.any?(&amp;:has_dependency)
end

def locked?(attributes = {})
# 自身ロックされているか確認
return true if @lock.locked?(attributes)

# 親ノードロックされているか再帰的に確認
@parents.any? { |parent| parent.locked?(attributes) }
end
end

# 木構造の組み立て

# ロックオブジェクト作成
office_lock = OfficeLock.new
room_lock = RoomLock.new
schedule_lock = ScheduleLock.new
business_hour_lock = BusinessHourLock.new

# ノード作成
office_node = TreeNode.new("Office", office_lock)
room_node = TreeNode.new("Room", room_lock)
schedule_node = TreeNode.new("Schedule", schedule_lock)
business_hour_node = TreeNode.new("BusinessHour", business_hour_lock)

# ノード間の依存関係の設定
office_node.add_child(room_node) # Office -> Room
room_node.add_child(schedule_node) # Room -> Schedule
office_node.add_child(business_hour_node) # Office -> BusinessHour
business_hour_node.add_child(schedule_node) # BusinessHour -> Schedule

# 木構造の表示
office_node.display

# ロック確認
puts "Case 1. Office全体がロックされた場合"
puts "Is office_node locked? #{office_node.locked?({})}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # false
office_lock.lock_entity
puts "Is office_node locked? #{office_node.locked?({})}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({})}" # true
office_lock.unlock_entity

puts "Case 2. Room id:1 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.lock({ "room_id" => 1 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 2 })}" # false
room_lock.unlock({ "room_id" => 1 })

puts "Case 3. BusinessHour start_at:0 end_at:5 がロックされた場合"
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # false
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.lock({ "start_at" => 0, "end_at" => 5 })
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 0, "end_at" => 5 })}" # true
puts "Is schedule_node locked? #{schedule_node.locked?({ "room_id" => 1, "start_at" => 5, "end_at" => 10 })}" # false
business_hour_lock.unlock({ "start_at" => 0, "end_at" => 5 })

anond:20240817001425

・・・できたけど木の組み立てがしんどすぎるー

class TreeNode:
def __init__(self, name, attributes=None):
self.name = name
self.attributes = attributes or {}
self.children = []

def add_child(self, child_node):
self.children.append(child_node)

def display(self, level=0):
indent = " " * level
print(f"{indent}{self.name} {self.attributes}")
for child in self.children:
child.display(level + 1)

def has_dependency(self):
# ルートノード属性を持たないノード依存関係を判定しない
if not self.children:
return False

for child in self.children:
# 子ノードがBusinessHourかScheduleかをチェック
if "start_at" in child.attributes and "end_at" in child.attributes:
child_start = child.attributes["start_at"]
child_end = child.attributes["end_at"]

# 現在ノードがBusinessHourで、子がScheduleの場合
if "start_at" in self.attributes and "end_at" in self.attributes:
self_start = self.attributes["start_at"]
self_end = self.attributes["end_at"]

if self_start &lt;= child_start and self_end &gt;= child_end:
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is dependent on {self.name} (start_at: {self_start}, end_at: {self_end})")
else:
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is NOT dependent on {self.name} (start_at: {self_start}, end_at: {self_end})")

# 現在ノードがRoomで、子がScheduleの場合
elif self.name.startswith("Room"):
print(f"{child.name} (start_at: {child_start}, end_at: {child_end}, room_id: {child.attributes['room_id']}) is dependent on Room {self.name[-1]}")
else:
child.has_dependency()

# 子ノード属性を持たない場合再帰的に依存関係をチェック
else:
child.has_dependency()

# ノード作成
root = TreeNode("Root")
office_node = TreeNode("Office")

# Roomノード作成
room1_node = TreeNode("Room1")
room2_node = TreeNode("Room2")

# BusinessHourノード作成
business_hour1_node = TreeNode("BusinessHour1", {"start_at": 9, "end_at": 12})
business_hour2_node = TreeNode("BusinessHour2", {"start_at": 13, "end_at": 17})

# Scheduleノード作成
schedule1_node = TreeNode("Schedule1", {"start_at": 10, "end_at": 11, "room_id": 1})
schedule2_node = TreeNode("Schedule2", {"start_at": 14, "end_at": 15, "room_id": 1})
schedule3_node = TreeNode("Schedule3", {"start_at": 10, "end_at": 11, "room_id": 2})
schedule4_node = TreeNode("Schedule4", {"start_at": 14, "end_at": 15, "room_id": 2})

# 木構造の構築
root.add_child(office_node)
office_node.add_child(room1_node)
office_node.add_child(room2_node)
office_node.add_child(business_hour1_node)
office_node.add_child(business_hour2_node)

# Room1にSchedule1, Schedule2を追加
room1_node.add_child(schedule1_node)
room1_node.add_child(schedule2_node)

# Room2にSchedule3, Schedule4を追加
room2_node.add_child(schedule3_node)
room2_node.add_child(schedule4_node)

# BusinessHour1にSchedule1, Schedule3を追加
business_hour1_node.add_child(schedule1_node)
business_hour1_node.add_child(schedule3_node)

# BusinessHour2にSchedule2, Schedule4を追加
business_hour2_node.add_child(schedule2_node)
business_hour2_node.add_child(schedule4_node)

# 木構造の表示
root.display()

# 依存関係のチェック
office_node.has_dependency()
room1_node.has_dependency()
room2_node.has_dependency()
business_hour1_node.has_dependency()
business_hour2_node.has_dependency()

Root {}
Office {}
Room1 {}
Schedule1 {'start_at': 10, 'end_at': 11, 'room_id': 1}
Schedule2 {'start_at': 14, 'end_at': 15, 'room_id': 1}
Room2 {}
Schedule3 {'start_at': 10, 'end_at': 11, 'room_id': 2}
Schedule4 {'start_at': 14, 'end_at': 15, 'room_id': 2}
BusinessHour1 {'start_at': 9, 'end_at': 12}
Schedule1 {'start_at': 10, 'end_at': 11, 'room_id': 1}
Schedule3 {'start_at': 10, 'end_at': 11, 'room_id': 2}
BusinessHour2 {'start_at': 13, 'end_at': 17}
Schedule2 {'start_at': 14, 'end_at': 15, 'room_id': 1}
Schedule4 {'start_at': 14, 'end_at': 15, 'room_id': 2}
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on Room 1
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on Room 1
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on Room 2
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on Room 2
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on Room 1
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on Room 1
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on Room 2
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on Room 2
Schedule1 (start_at: 10, end_at: 11, room_id: 1) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule3 (start_at: 10, end_at: 11, room_id: 2) is dependent on BusinessHour1 (start_at: 9, end_at: 12)
Schedule2 (start_at: 14, end_at: 15, room_id: 1) is dependent on BusinessHour2 (start_at: 13, end_at: 17)
Schedule4 (start_at: 14, end_at: 15, room_id: 2) is dependent on BusinessHour2 (start_at: 13, end_at: 17)

anond:20240816235943

高さ3の有向木で根からAという節点が生えAからBという葉が生える

class TreeNode:
def __init__(self, name, attributes=None):
self.name = name
self.attributes = attributes or {}
self.children = []

def add_child(self, child_node):
self.children.append(child_node)

def display(self, level=0):
indent = " " * level
print(f"{indent}{self.name} {self.attributes}")
for child in self.children:
child.display(level + 1)

def has_dependency(self):
# ルートノード属性を持たないノード依存関係を判定しない
if not self.children or "start" not in self.attributes or "end" not in self.attributes:
return False

# Aノードのstartとendを取得
start = self.attributes["start"]
end = self.attributes["end"]

# すべての子ノード(Bノード)に対して依存関係をチェック
for child in self.children:
if "position" in child.attributes:
position = child.attributes["position"]
if start &lt;= position &lt;= end:
print(f"{child.name} (position: {position}) is dependent on {self.name} (start: {start}, end: {end})")
return True
else:
print(f"{child.name} (position: {position}) is NOT dependent on {self.name} (start: {start}, end: {end})")
return False

# ノード作成
root = TreeNode("Root")
a_node = TreeNode("A", {"start": 10, "end": 20})
b1_node = TreeNode("B1", {"position": 15})
b2_node = TreeNode("B2", {"position": 25})

# 木構造の構築
root.add_child(a_node)
a_node.add_child(b1_node)
a_node.add_child(b2_node)

# 木構造の表示
root.display()

# 依存関係のチェック
a_node.has_dependency()

こうかー

2024-08-08

[] いくつかの数学理論統合

1. 無差別曲線分析

効用関数 U: X → ℝ が消費者の選好を定義し、効用空間 X 上のレベルセットが無差別曲線形成する。無差別曲線 U⁻¹(c) は効用関数 U のレベルセットとして定義される。

無差別曲線効用空間内でのプレーン対応し、その勾配 ∇U は無差別曲線直交する。

2. ゲーム理論

ゲーム理論では、プレイヤー i の戦略空間多様体 S_i とし、全プレイヤー戦略空間を S = ∏_i S_i とする。プレイヤーの利得関数 π_i: S → ℝ はゲームの結果として得られる。

プレイヤー戦略選択戦略空間 S 上の点で表現され、ゲームの均衡は戦略空間上での最大化問題としてモデル化される。

3. 完全ベイズ均衡

完全ベイズ均衡では、情報の不完全性を考慮し、プレイヤーの信念と戦略統合する。プレイヤー i のタイプ空間を Θ_i とし、信念空間を Δ(Θ_i) とする。信念 μ_i はプレイヤー i のタイプ θ_i に対する確率分布を示す。

  • 信念: μ_i ∈ Δ(Θ_i)。
  • 均衡条件: プレイヤー i の戦略 σ_i が、信念に基づく利得の期待値を最大化する場合、均衡が成立する。すなわち、σ_i(θ_i) ∈ argmax_{s_i ∈ S_i} E[π_i(s_i, s_{-i}) | θ_i]。

4. 情報理論との統合

情報理論の要素をゲーム理論統合するために、以下のように対応させる:

1. エントロピーと不確実性:

2. ゲーム情報構造:

3. 情報量と戦略選択:

統合的枠組み

ゲーム理論情報理論統合するために、以下の枠組みを考える:

1. 共通多様体: 効用空間 X、戦略空間 S、信念空間 Δ(Θ)、情報空間 ℙ を統一的な多様体としてモデル化する。

2. ファイバーバンドル: 各理論構造ファイバーバンドルとして表現し、効用戦略、信念、情報抽象的に結びつける。

3. リーマン計量: 各多様体上のリーマン計量を用いて、効用戦略、信念、情報の変化を統一的に扱う。

graphvizによる視覚

digraph G {
    // グラフの設定
    rankdir=LR;
    node [shape=box, color=lightgrey];

    // ノード定義
    UtilitySpace [label="効用空間\n(X, U)", shape=ellipse];
    StrategySpace [label="戦略空間\n(S, π)", shape=ellipse];
    BeliefSpace [label="信念空間\n(Δ(Θ), μ)", shape=ellipsel];
    InformationSpace [label="情報空間\n(ℙ, H)", shape=ellipse];

    // ノード間の関係
    UtilitySpace -&gt; StrategySpace [label="効用関数\nU(x)"];
    StrategySpace -&gt; BeliefSpace [label="戦略期待値\nE[π_i | θ_i]"];
    BeliefSpace -&gt; InformationSpace [label="エントロピー\nH(μ)"];
    InformationSpace -&gt; UtilitySpace [label="情報多様体\nℙ"];

    // フォーマット設定
    edge [color=black, arrowhead=normal];
}
digraph G {
    rankdir=LR;
    node [shape=ellipse, style=filled, color=white, fontcolor=black, penwidth=2, fillcolor=white, color=black];

    // Nodes
    UtilitySpace [label="Utility Space (X)"];
    StrategySpace [label="Strategy Space (S)"];
    BeliefSpace [label="Belief Space (Δ(Θ))"];
    InformationSpace [label="Information Space (ℙ)"];
    FiberBundle [label="Fiber Bundle"];
    RiemannMetric [label="Riemannian Metric"];
    KL_Divergence [label="Minimize D_{KL}(μ_i || ν_i)"];
    ParetoOptimality [label="Pareto Optimality"];
    Constraints [label="Constraints"];
    Optimization [label="Optimization"];

    // Edges
    UtilitySpace -&gt; FiberBundle;
    StrategySpace -&gt; FiberBundle;
    BeliefSpace -&gt; FiberBundle;
    InformationSpace -&gt; FiberBundle;
    FiberBundle -&gt; RiemannMetric;
    RiemannMetric -&gt; KL_Divergence [label="Measure Change"];
    KL_Divergence -&gt; Optimization;
    Constraints -&gt; Optimization;
    Optimization -&gt; ParetoOptimality [label="Achieve"];

    // Subgraph for constraints
    subgraph cluster_constraints {
        label="Constraints";
        node [style=filled, color=white, fontcolor=black, penwidth=2];
        StrategyChoice [label="Strategy Choice"];
        BeliefUpdate [label="Belief Update"];
        StrategyChoice -&gt; BeliefUpdate;
        BeliefUpdate -&gt; Constraints;
    }
}

2024-07-28

「全ての間の関係」とはどういうことか

偉い人に「全ての間の関係を保存するシステムを作れねぇか」と言われたことがある

要件がざっくりしすぎてなんのことを言っているか全くわからないだろう、俺もわからん

で、数学的に分析した結果、関係とは、ノード集合Vがまず存在し、

r: ∪(V^{q+1}) → R

意味する。要するに、この世の森羅万象を表すノード任意個引っ張ってきて、そこに数値(あるいはラベル)を割り当てるわけだ。

ところが、森羅万象など事前に知ることは出来ない。どうするのか。

と、アイデアはいくつかあった。

結局、ビジネスの衰退によりそのようなシステムを作ることはなくなったが、以下のようなツールはそれに近いと思う。

Compare anything: https://www.diffen.com/

このツールでは、「関係性」を見つける代わりに、ノード属性説明比較させるような仕組みになっている。

なーるほど、こういうやり方があったかぁ、とこれを見たときは思ったね。

でも日本では流行らない可能性が高い。というのも、こういうツールは、Wikipedia編集レベルで熱意がなければ知識全然増えていかないのである

使い方としては、2つのアイテム名を入力してポチッボタンを押し、記事があればそれを表示、なければノード属性を表示、なければ編集ボタンを表示、となっている。

森羅万象ノード編集を誰が行うのか、という話である

だが、最近のLLMの進化により、関係説明属性抽出自動的に行える可能性が出てきた。

その場合、「○○(ジャンル)の属性A1,...,Anです。これらをインターネット上の情報から抽出してください」といったプロンプトになるかもしれない。

少なくとも「インターネット上に存在する」様々な物事関係性を、LLMを用いて自動抽出し、それを保存できるわけである

Diffbotというツールがあるが、LLMはそれよりも高価な代替案であり、成功すればかなり便利な知識グラフを構築できる可能性がある (ただしLLMとサーバーの利用コストは高い)

 

追記: 次のリンクのような議論は関連性が高い。https://community.openai.com/t/entity-and-relation-extraction-fine-tuning/35464

追記2:

いか、まず関係抽出ってのは知識DB任意エンティティ間の関係ベル予測するような問題なんよ

で、ネット情報などをクロールして関係ベルを見つけるってタスクがあるんだけど、LLMが出る前は精度の低い方法文書構造化するような方法しかなかったわけ

で今思い出したんだけど、「じゃあLLMつかえるじゃん」ってね

過去にできなかったことができるようになったという思いつきを書いたまでよ

2024-07-21

決定木とは何か

レベル1: 小学生向け

決定木は、質問を使って答えを見つけるゲームのようなものです。木の形をした図を使って、質問と答えを整理します。例えば、「今日は外で遊べるかな?」という大きな質問から始めます

まず「雨が降っていますか?」と聞きます。「はい」なら「家で遊ぼう」、「いいえ」なら次の質問に進みます。次に「宿題は終わっていますか?」と聞きます。「はい」なら「外で遊ぼう」、「いいえ」なら「宿題をしてから遊ぼう」となります

このように、質問を重ねていくことで、最終的な答えにたどり着きます。決定木は、こうした「もし〜なら」という考え方を使って、物事を順序立てて考えるのに役立ちます

レベル2: 大学生向け

決定木は、機械学習における重要な分類・回帰アルゴリズムの一つです。データ特定の特徴に基づいて分割し、ツリー構造形成することで、新しいデータの分類や予測を行います

決定木の構造は以下の要素から成り立っています

1. ルートノード最初の分割点

2. 内部ノード中間の分割点

3. 葉ノード:最終的な予測や分類結果

4. 枝:各ノードを結ぶ線、条件を表す

決定木の構築プロセスは、以下のステップで行われます

1. 最も情報量の多い特徴を選択

2. その特徴に基づいてデータを分割

3. 各サブセットに対して1と2を再帰的に繰り返す

4. 停止条件(深さ制限や最小サンプル数など)に達したら終了

決定木の利点は、解釈が容易で直感であること、非線形関係性も捉えられること、特徴量の重要度を評価できることなどです。一方で、過学習やすい傾向があり、小さなデータの変化に敏感に反応する欠点もあります

レベル3: 大学院生向け

決定木は、分類および回帰問題適用可能な非パラメトリック監督学習アルゴリズムです。特徴空間再帰的に分割し、各分割点で最適な特徴と閾値選択することで、データ階層的に構造します。

決定木の構築プロセスは、以下の数学基準に基づいて行われます

1. 分類問題場合

  • 情報利得(Information Gain): ΔI = H(S) - Σ((|Sv| / |S|) * H(Sv))
  • ジニ不純度(Gini Impurity): G = 1 - Σ(pi^2)

2. 回帰問題場合

ここで、H(S)はエントロピーSvは分割後のサブセット、piクラスiの確率、yiは実際の値、ŷiは予測値を表します。

過学習を防ぐために、以下の手法が用いられます

1. 事前剪定(Pre-pruning):成長の早期停止

2. 事後剪定(Post-pruning):完全に成長した木を後から刈り込む

決定木の性能向上のために、アンサンブル学習手法ランダムフォレスト、勾配ブースティング木など)と組み合わせることが一般的です。

レベル4: 専門家向け

決定木は、特徴空間再帰的分割に基づく非パラメトリック監督学習アルゴリズムであり、分類および回帰タスク適用可能です。その理論的基盤は、情報理論統計学に深く根ざしています

決定木の構築アルゴリズムとして最も一般的なのはCART(Classification and Regression Trees)です。CARTは以下の手順で実装されます

1. 特徴選択:各ノードで最適な分割特徴を選択

  • 分類:ジニ不純度または情報利得を最小化
  • 回帰:平均二乗誤差を最小化

2. 分割点の決定:連続値特徴の場合、最適な閾値を決定

3. 木の成長:再帰的に子ノードを生成

4. 剪定過学習を防ぐために木を最適化

  • コスト複雑度剪定(Cost-Complexity Pruning): α(T) = (R(t) - R(T)) / (|T| - 1) ここで、R(t)は根ノードtの誤差、R(T)は部分木Tの誤差、|T|は葉ノード

決定木の理論特性

決定木の拡張

1. 多変量決定木:複数の特徴の線形結合を用いて分割

2. 軟判別木:確率的な分割を行い、滑らかな決定境界を生成

3. 条件付き推論木:統計的仮説検定に基づく特徴選択を行う

これらの高度な手法により、決定木の表現力と汎化性能が向上し、より複雑なパターン学習可能となります

レベル5: 廃人向け

決定木は、特徴空間Xの再帰的分割に基づく非パラメトリック監督学習アルゴリズムであり、その理論的基盤は統計的学習理論情報理論、および計算学習理論に深く根ざしています

決定木の数学的定式化:

Let D = {(x₁, y₁), ..., (xₙ, yₙ)} be the training set, where xᵢ ∈ X and yᵢ ∈ Y. The decision tree T: X → Y is defined as a hierarchical set of decision rules.

For classification: P(y|x) = Σᵢ P(y|leaf_i) * I(x ∈ leaf_i)

For regression: f(x) = Σᵢ μᵢ * I(x ∈ leaf_i) where I(·) is the indicator function, leaf_i represents the i-th leaf node.

決定木の最適化問題: min_T Σᵢ L(yᵢ, T(xᵢ)) + λ * Complexity(T) where L is the loss function, λ is the regularization parameter, and Complexity(T) is a measure of tree complexity (e.g., number of leaves).

特徴選択と分割基準

1. エントロピー相互情報量

H(Y|X) = -Σᵧ Σₓ p(x,y) log(p(y|x))

I(X;Y) = H(Y) - H(Y|X)

2. ジニ不純度:

Gini(t) = 1 - Σᵢ p(i|t)²

3. 平均二乗誤差(回帰):

MSE(t) = (1/|t|) * Σᵢ (yᵢ - ȳ_t)²

高度な理論考察

1. 一致性と収束速度: 決定木の一致性は、Breiman et al. (1984)によって証明されました。収束速度はO(n^(-1/(d+2)))であり、dは特徴空間次元です。

2. バイアス-バリアンストレードオフ:深い木は低バイアス・高バリアンス、浅い木は高バイアス・低バリアンスとなります。最適な深さは、バイアスバリアンスのトレードオフによって決定されます

3. 決定木の表現力:任意のブール関数は、十分に深い決定木で表現可能です。これは、決定木がユニバーサル近似器であることを意味します。

4. 計算複雑性理論:最適な決定木の構築はNP完全問題であることが知られています(Hyafil &amp; Rivest, 1976)。そのため、実用的なアルゴリズム貪欲な近似アプローチ採用しています

5. 正則化構造リスク最小化:L0正則化(葉ノード数のペナルティ)やL2正則化(葉ノード予測値に対するペナルティ)を用いて、構造リスク最小化原理に基づいたモデル選択を行います

6. 情報幾何学解釈: 決定木の学習過程は、特徴空間上の確率分布の漸進的な分割と見なすことができ、情報幾何学観点から解析可能です。

7. カーネル決定木:非線形カーネル関数を用いて特徴空間を暗黙的に高次元化し、より複雑な決定境界学習する手法です。

8. 量子決定木:量子コンピューティング原理を応用し、古典的な決定木を量子系に拡張した手法です。量子重ね合わせを利用して、指数関数的に多くの分岐を同時に評価できる可能性があります

これらの高度な理論技術を組み合わせることで、決定木アルゴリズムの性能と適用範囲を大幅に拡張し、より複雑な学習タスク対応することが可能となります

2024-06-27

anond:20240627150149

Q.

1つのCPUコアでの逐次処理を高速化することには限界があるため、コア数を増やし並列化させることで性能を向上させる必要がある、という考え方について、市販サーバコンピュータスーパーコンピュータで違いはありますか?

A.

この考え方に関して、市販サーバコンピュータスーパーコンピュータの間には基本的な違いはありません。両者とも、シングルコアの性能向上に限界がある中で、並列化によって全体的な処理能力を高めるという方向性を共有していますしかし、その実現方法や規模には大きな違いがありますサーバコンピュータスーパーコンピュータの並列化アプローチ比較
1. 並列化の規模

サーバコンピュータ: 数個から数百個のコアを使用
スーパーコンピュータ: 数万から数百万個のコアを使用

2. 並列化の方法

サーバコンピュータ:

主にSMP(対称型マルチプロセッシング)やNUMA(非一様メモリアセスアーキテクチャ採用
比較的少数のプロセッサを密結合


スーパーコンピュータ:

大規模な分散メモリシステム採用
多数のノードを高速ネットワーク接続



3. 相互接続技術

サーバコンピュータ:

一般的ネットワーク技術イーサネットなど)を使用


スーパーコンピュータ:

専用の高速相互接続技術(InfiniBand、Tofu Interconnectなど)を使用



4. ソフトウェアプログラミングモデル

サーバコンピュータ:

OpenMPやpthreadsなど、比較シンプルな並列プログラミングモデル使用


スーパーコンピュータ:

MPIなどの複雑な分散メモリプログラミングモデル使用
ハイブリッド並列化(MPI+OpenMP)などの高度な技術適用



5. スケーラビティ

サーバコンピュータ:

中規模までの並列化に適しているが、大規模になるとスケーラビティ課題


スーパーコンピュータ:

極めて大規模な並列化に対応できるよう設計されている



6. 用途

サーバコンピュータ:

ウェブサービスデータベースビジネスアプリケーションなど、比較的汎用的な用途


スーパーコンピュータ:

気象予報、宇宙物理学シミュレーション分子動力計算など、極めて計算負荷の高い科学技術計算

2024-06-18

プロジェクトX、出演NGなのでは。あるいは富士通半導体の敗北の歴史

富士通忖度してるとか言ってるけど、あれ、普通に取材NGだったんじゃないかな。

当時の経緯を知ってると「私の名前は出さないでください」ってなったとしても不思議じゃないと思う。そうなれば当然NHK富士通も触れないし、本人が拒否したんですなんて発表するわけもないし(例え親族が声を上げたとしても)

コンピュータって、富士通半導体最後打ち上げ花火だったんだよ。

当時の話

京の開発が進み、実際に生産されるころは、経営方針として富士通半導体撤退をするかどうかで揉めていたころだった。

コンピュータは、富士通自社工場で作った最後スパコンであると同時に、国のトップ開発のHPCにおいて、富士通が単体で作り上げた初めてのHPCでもあった。

これは、富士通が優れている、というよりも、逃げ遅れたと表現してもよいかもしれない。HPCプロジェクトからは、NEC東芝が次々と撤退していたのだ。

当時半導体の重い投資に堪えられなくなった電機各社とその銀行団は、自社から半導体部門、少なくとも工場を切り離したがっていた。まさに、それどころではなかったのだ。

しか富士通はまだ撤退決断せず、他社とは一線と画した対応をしていた。

ようにみえた。

富士通撤退戦を開始

コンピュータCPUは、45nmのプロセスで作ると言うことで言っていたためか、富士通はなんとか自社で開発した。けれど、京に乗せたプロセッサ最後になった。次のプロセスは開発されていない。

https://news.mynavi.jp/techplus/article/architecture-467/

さらに、当時、45nmのプロセスは安定して無い状況で無理矢理作ったと言う話もあったはずだ。これは京コンピュータ以降はTSMC委託することが決まっていたため、既に投資が絞られていたためでもある。

(後にTSMC版の進んだプロセス製造されたSPARCを使ったミニコンピュータが何個か作られたのだが、ノード辺りの性能が30%以上アップしたと言う。これはプロセスが細分化された以上の性能向上であった)


富士通が、自社の半導体部門富士通セミコンとして切り離したのが2008年。京コンピュータ用のプロセッサ生産したのが2010年三重工場であった。

その三重工場2013年さらに別会社として切り離され、現在は完全に売却されて富士通に残ってない。

また、同じく半導体工場としては福島県の會津富士通があったんだが、その時の工場撤退エピソードは、今でも大企業黒字でも簡単工場撤退させる事例として有名になった。かなり悲惨事態だったと言える。

そうして重荷になっていたとされる工場を切り離しファブレスに近い業態にしたのは、富士通半導体を残すためだったと思われる。

しかし、そうした建前などなかったかのように2014年にはシステムLSI/SoCの開発部隊分社化を決定。それが現在のソシオネクストであるPanasonicLSI部隊と合弁した会社で、分離した当時、富士通設立当初40%の株式を保持していたが、現在は完全に売却してしまった。

現在富士通半導体部門はFeRAMや光回路用の超特殊ものを除いて完全売却で撤退している。


なお、その後、ルネサステクノロジ(※富士通は合弁に参加していない)が組込向け半導体でほぼ世界首位と同率2位まで上り詰め、国内半導体必要性が新たに叫ばれTSMC国内半導体工場建設。Rapidusという日米政府が関わる半導体企業ができる流れになっている。もし将来、RapidusがプロジェクトXになるときには、大手電機産業からリストラされた技術者達の奮起という文脈が語られそうな気がする。閑話休題

2012年。京が世界一を取ってその後、富士通半導体の敗北が確定した年

件の方がご退任をされたと言う2012年は、半導体さらなる切り離し、売却などの決断と、次期スパコン(つまり富岳)がSPARCを捨ててARMになるという決断が行われた年であったと考えられる。(発表は後になる)

半導体を専門にされてずっとやってきた方には堪えられないもだったのではないかと拝察する。仮に、思い出したくもないし、宣伝にも使われたくないと判断されても仕方がないことでは無いかと思う。(もちろん 出演NGされたと言うのはワイの妄想なので注意)


その後、富士通SPARCを使ったUNIXサーバーを作り続けてはいたが、大きくアーキテクチャ改善する開発は行われないまま(保守設計は続けられていたが)メインフレームとともに撤退が発表された。これはやむを得ないことだろう。

また、ARM化された富岳は、確かに能面や利用面、汎用性では高い成果を出したが、富士通ビジネス的にはさっぱりだったと思われる。


アーキテクチャARMに切り替えた理由は、ビジネス面でもあった。高性能タイプARMを作ることによって、旺盛なクラウドDC需要などに対して食い込んでARMサーバを大きく拡販していくことだったと思われる。

が。富岳に乗せたARMプロセッサを利用した波及製品はみられなかった。

なぜか。それはAWSMS AzureGoogleなど膨大な需要を持つ企業は、需要が巨大すぎてARMが搭載されたコンピュータを買うのではなく、自社でARMIPを購入し独自開発することを選んだためである

彼ら相手には商売にならなかった。それ以外のクラウドベンダーは無きに等しい。ARMなどアーキテクチャが影響しないのはPaaS以上の象徴度を持つサービスだが、寡占状態にある大手以外まともに提供出来ていないため、市場が無いのだ。


ただし、この時富士通ARMの競業によってARMは成果をあげた。アウトオブオーダー実行など、ARMは高性能コンピュータ必要技術富士通から取り込んで現在に至る。

それ故、富士通商売は上手くいかなかったが、世の中的には良かったとは言えるのではあるのだ。そのIP大手クラウド各社は自社向け半導体を作って商売をしているのだから

エピローグ または今後について

今、富岳の次のHPC予算要求の山場を迎えている。

https://newswitch.jp/p/41595

から今のタイミングプロジェクトXに乗ったのだと思うが、綺麗事では語れない話がたくさんありすぎる。


受注はまず間違い無く富士通だと言われている。と言うのは、開発の一部は既に行われているから。

https://monoist.itmedia.co.jp/mn/articles/2310/12/news074.html

そして、国内にもう国産HPCを作ることの出来る会社NEC富士通ぐらいになってしまったためである

富士通は新しいHPCは1位を目指さないかもしれないという考えから計算効率の方に大きく振った開発を進めおり、国内トップHPC採用されたという実績を背景に売り出そうというつもりではあると思われる。富岳の夢再び、だ。

しかし、富士通は今年1月ハードウエア会社を分離した

https://cloud.watch.impress.co.jp/docs/special/1560540.html

この新会社、分離時には綺麗事を書いてあるが、

https://www.fsastech.com/about/

ご覧の通り、富士通ブランドを一切使っていないのだ。既存商品から富士通マークを取り払っている。さらに、会社概要株主欄がなく、富士通名前が出てこない。(他の関連会社はそういった記載がある)

半導体がどうなったかの流れを知っていると、暗い予感しかしない。

そして、HPCレイヤーの低い、ハードウエアに近い部分、さらメカニカル設計や冷却など物理的な部分のノウハウが多く必要とされる。それを富士通分社化して製造能力を失っていく中で、果たしてまともにHPCが作れるのだろうか?

さらに、確かに2010年代半ばのころはワークロード不足に陥ってコンピュータは安売りに陥っていたが、現在AIと言う巨大な需要が生み出され、価格回復ハードウエアが再び重要と考えられ始めている。ハードウエアと同時に提案できる能力が強みになりつつある。

しかし、既に富士通はそれらに対応するための強みを、はした金と決算数字をよくするためだけに売り払った後である案の定、粉飾紛いの異様に高い目標に対して、結果が出ないと言う発表を繰り返している。

富士通アクセンチュアを真似ていると言われる。以下の記事にはこうある

https://xtech.nikkei.com/atcl/nxt/column/18/00848/00049/

目指す先はアクセンチュア富士通が主力工場を総務に移管する理由

時田社長2019年9月に開いた初の記者会見で「開発製造拠点をどう整理するのか」という質問に「既に方向は定まっている。後は状況判断と時期の問題富士通サービスに集中する企業になる」と応じていた。

時田社長方針は「アクセンチュアにないもの富士通もいらない」とみてよい。

そこまでやったのに、ここ3年ほど株価は伸び悩みが続いている。アクセンチュアの真似をしますと言ったときは撥ねたがが、その後は同業他社業界全体の株価上昇率に及ばない状況が続く。
それはそうだ。アクセンチュアの真似をしていてはアクセンチュアには勝てない。まして工場売却を通じ、元々の強みを捨て弱みまでアクセンチュアの真似をしているのだ。富士通この先生きのこるにはどうすればいいのか?


これがプロジェクトXの真のエピローグではないかとワイは思いました。

2024-05-14

anond:20240514123614

そこでP2P参加ノード全部と通信しなくても、ネットワーク全体として整合性あるデータ更新可能にしたのがブロックチェーン革命的なとこなんだよなあ

2024-04-30

ビットコインは悪意を前提にシステム設計されたがまだ悪意に対する認識が甘かった

世界で1ノードのみがブロック生成の報酬を得られるという仕組みは牧歌的すぎたし、

マイニングプール運用するメリットが無くなるような仕組みが必要だった。

2024-01-07

anond:20240107192256

きみは一回既存企業のフルマネージド化みたいな現実サービス構造に触れた方がいいと思うよ。

世の中きみが思ってる程小規模でもなければ単純でもないし、たかだか200ノード程度の"小規模システム"でも現実に向き合ってればそんな発言は出てこないからさ。

2023-09-05

DavinciResolveって勿体ないよな

Fusion触っていて思うのは、これはノーコードエディタなのでプログラミング感覚で触れる反面、そういう素養がない人にはとてつもなく使いづらいってことだ

画像データノードでつないでエフェクトマスクをかけるというのは、プログラミング的だと思う

けど一般的には画像映像を暗くしたりするにはちょっとパラメータいじるとか、そういうことを前提にしているだろうからノード中心の仕様はとっつきにくいよな

でも18.5でマルチマージによってレイヤー表現がでてきたし、よりわかりやすくなってはきている

DRは海外勢に人気だけど、日本だとYMM4やAviUtilみたいなアニメーションに強いソフトが台頭している。DRでも再現可能だけどデフォルトにはあまりないしプラグインも少ない。けど海外でも日本のような立ち絵アニメを多用する映像作品をDRで作りたいという要望はあるらしく、そういう機能を今後どんどん追加していって欲しいな

2023-08-23

脅迫FAX事件って犯人のポカ無かったら捕まらなかったんだな

日本警察とき国境跨いでTorの出口ノード抑えるとかいう高度な捜査できんやろ、と思ってたけど

実際別サービスIP漏洩から又引しただけだった 犯人弱者男性であることを祈るRTAかよ・・・

2023-08-20

産総研のABCI2.0GPU数は1208基ではなく5312基

話題になってるこの記事

https://wirelesswire.jp/2023/08/85203/

はてブでも過去プレスリリースと食い違っていないかと指摘されてたが、以下の記述おかしい。

日本で最大規模のディープラーニング計算資源産総研管理するABCI(AI橋渡しクラウド基盤)である

ただし、4世代前のV100を1088基と、3世代前のA100(40GB)を120基しかない。足してもわずか1208基である

ABCIの公式サイト説明には、V100を搭載した「計算ノード(V)」が1088台、A100を搭載した「計算ノード(A)」が120台とある

https://abci.ai/ja/about_abci/computing_resource.html

が、ちょっと読めば分かるように、ABCIは1ノード複数GPUが搭載されているのだ。「計算ノード(V)」は1ノードにつき4基、「計算ノード(A)」は1ノードにつき8基のGPUが載っている。

まり産総研のABCI2.0GPU数は1208基ではなく5312基である

2023-07-19

anond:20230719115004

ノード1が中国とか謎の東南アジアとか南米とかで製造されて、それを”合法”に利用したAI絵が氾濫するだけや

結局何の解決にもならん

anond:20230719114524

ノード1だけ違法にすれば良いんじゃないっすかね

AI学習違法化なんか無理だからアキラメロン

とりあえず絵に絞るとしてもだ。

仮に有名絵師AさんとBさんとCさんが自身作品学習不可としたとする。

仮にAI学習違法化が通って、AI学習使用した全データを公開しないといけなくなったとする。

 

AさんとBさんとCさんの作品を”違法に”学習したAI絵を学習した場合、どうなるだろうか?

違法作成された絵を学習たか違法

じゃあ、AさんとBさんとCさんの作品を”違法に”学習したAI絵を学習したAI絵を学習した場合は?

学習データに使われた絵の学習に使われた絵の学習権を毎回誰かが確認しに行くのか?

これが学習ロンダリング使用してどんどんノードが深くなっていったらどうする?

 

学習許可を得ていないデータ学習禁止するとしても結果的には一緒。

違法学習イラスト学習許可を出した場合はどうする?→それを学習したイラスト許可出してそれを学習した以下略

 

AI作成された絵の学習禁止する?どういう理屈で?

ログイン ユーザー登録
ようこそ ゲスト さん