MétaCan
Menu
Retour à la cohorte
Enregistrement W6912213797 · doi:10.5281/zenodo.15313946

kececilayout

2025· other· tr· W6912213797 sur OpenAlexaff

Notice bibliographique

RevueZenodo (CERN European Organization for Nuclear Research) · 2025
Typeother
Languetr
Domaine
Thématique
Établissements canadiensCanadian Association of Physicists
Organismes subventionnairesnon disponible
Mots-clésOffset (computer science)GraphPerpendicularTime complexityPath (computing)Node (physics)Python (programming language)

Résumé

récupéré en direct d'OpenAlex

Kececi Layout (Keçeci Yerleşimi): A deterministic graph layout algorithm designed for visualizing linear or sequential structures with a characteristic "zig-zag" or "serpentine" pattern. Python implementation of the Keçeci layout algorithm for graph visualization. Description / Açıklama This algorithm arranges nodes sequentially along a primary axis and offsets them alternately along a secondary axis. It's particularly useful for path graphs, chains, or showing progression. Bu algoritma, düğümleri birincil eksen boyunca sıralı olarak yerleştirir ve ikincil eksen boyunca dönüşümlü olarak kaydırır. Yol grafları, zincirler veya ilerlemeyi göstermek için özellikle kullanışlıdır. English Description Keçeci Layout: A deterministic node placement algorithm used in graph visualization. In this layout, nodes are arranged sequentially along a defined primary axis. Each subsequent node is then alternately offset along a secondary, perpendicular axis, typically moving to one side of the primary axis and then the other. Often, the magnitude of this secondary offset increases as nodes progress along the primary axis, creating a characteristic "zig-zag" or "serpentine" pattern. Key Characteristics: Linear Focus: Particularly useful for visualizing linear or sequential structures, such as paths, chains, or ordered processes. Deterministic: Produces the exact same layout for the same graph and parameters every time. Overlap Reduction: Helps prevent node collisions by spreading nodes out away from the primary axis. Parametric: Can be customized using parameters such as the primary direction (e.g., top-down), the starting side for the secondary offset (e.g., start_right), and the spacing along both axes (primary_spacing, secondary_spacing). Türkçe Tanımlama Keçeci Yerleşimi (Keçeci Layout): Graf görselleştirmede kullanılan deterministik bir düğüm yerleştirme algoritmasıdır. Bu yöntemde düğümler, belirlenen birincil (ana) eksen boyunca sıralı olarak yerleştirilir. Her bir sonraki düğüm, ana eksenin bir sağına bir soluna (veya bir üstüne bir altına) olmak üzere, ikincil eksen doğrultusunda dönüşümlü olarak kaydırılır. Genellikle, ana eksende ilerledikçe ikincil eksendeki kaydırma miktarı artar ve bu da karakteristik bir "zıgzag" veya "yılanvari" desen oluşturur. Temel Özellikleri: Doğrusal Odak: Özellikle yollar (paths), zincirler veya sıralı süreçler gibi doğrusal veya ardışık yapıları görselleştirmek için kullanışlıdır. Deterministik: Aynı graf ve parametrelerle her zaman aynı sonucu üretir. Çakışmayı Azaltma: Düğümleri ana eksenden uzağa yayarak çakışmaları önlemeye yardımcı olur. Parametrik: Ana eksenin yönü (örn. top-down), ikincil kaydırmanın başlangıç yönü (örn. start_right) ve eksenler arası boşluklar (primary_spacing, secondary_spacing) gibi parametrelerle özelleştirilebilir. Installation / Kurulum conda install bilgi::kececilayout -y pip install kececilayout https://anaconda.org/bilgi/kececilayout https://pypi.org/project/KececiLayout/ https://github.com/WhiteSymmetry/kececilayout Supported Backends NetworkX igraph Rustworkx Networkit Graphillion graph-tool Note: All backends are supported via unified kececi_layout function. v0.5.0: layouts = ['2d', 'cylindrical', 'cubic', 'spherical', 'elliptical', 'toric'] styles = ['standard', 'default', 'curved', 'helix', '3d', 'weighted', 'colored'] v0.5.1: edge (kececi_layout_edge) v0.6.0: periodic table v0.6.3: KececiBayesianOptimizer, kececi_barbell_layout v0.6.5: show_menu() v0.6.6: DAG & Transitive redused DAG v0.6.7: Quantum Circuit: Kuantum Devresi import kececilayout as kl from kececilayout import show_menu, draw_kececi # Menüyü başlat show_menu() KEÇECİ Layout GÖRSELLEŞTİRME MENÜSÜ TEMEL STİLLER Curved Style Standart 2D Layout Transparent Kenarlar Ağırlıklı Keçeci (Weighted) Renkli Düğümler (Colored) 3D Heliks Görünümü KENAR & PARAMETRE ANALİZ Edge‑Aware vs Basic Karşılaştırması ZZ Şampiyon Testi Bayesian Optimizasyon Demosu expanding=True vs False primary_direction Çeşitleri secondary_start & Aralık Etkisi PERİYODİK TABLO Hızlı 3D Periyodik Tablo 4'lü Karşılaştırma Figürü Demo Serisi (Otomatik) Özelleştirilmiş Tablo Element Vurgulama (Fe, Au, Hg) Periyodik Tablo PNG Kaydet Element Bilgisi (sembol ile) ALTERNATİF YERLEŞİMLER Barbell Layout Silindirik Layout (3D) Kübik Layout (3D) Küresel Layout (3D) Eliptik Layout (2D) Torik Layout (3D) KÜTÜPHANE DESTEĞİ & KARŞILAŞTIRMALAR igraph Graf Çizimi Keçeci vs Kamada‑Kawai Rastgele Graf Oluştur ve Çiz (NetworkX) Rustworkx Graf Testi NetworKit Graf Testi GELİŞMİŞ ANALİZ & DİĞER Tek Graf ZZ Skoru Hesapla Edge Crossing Analizi (K3,3) Graphillion Graf Denemesi graph‑tool Desteği (Linux) Pure Node Listesi Layout Spacing Parametreleri Geçişi 3D Heliks Parametre Taraması Tüm Stilleri Sırayla Göster GNN‑GRU Renkli Karşılaştırma (Tüm Layout'lar) SATRANÇ & OYUN AĞAÇLARI Oyun Ağacı (Satranç/Go) Görselleştirme Satranç Kısa Matlar – 2B Keçeci Layout (Zigzag) Satranç Kısa Matlar – 3B Keçeci Layout (Silindirik) Satranç Kısa Matlar – 3B Keçeci Layout (Küresel) Satranç Kısa Matlar – 3B Keçeci Layout (Torik) python‑chess Oyun Ağacı – 2D Zigzag python‑chess Oyun Ağacı – 3D Silindirik python‑chess Oyun Ağacı – 3D Küresel python‑chess Oyun Ağacı – 3D Torik Rastgele Satranç Açılış Hamle Sırası FİZİKSEL MODELLER Termodinamik Kavram Haritası (Keçeci) Kuantum Mekaniği Kavram Haritası (Keçeci) Kuantum Alan Teorisi Kavram Haritası (Keçeci) DAG ANALİZLERİ 2B DAG vs Transitive Reduction (Keçeci) 3B DAG vs Transitive Reduction (Silindirik) Kuantum Devre Analizleri ve Temsilleri OR3 Gate Circuit – VEYA(3) Kapısı Devresi, 3D Helix Sanatsal Temsili OR3 Gate Circuit – VEYA(3) Kapısı Devresi (DAG) OR3 Gate Circuit – VEYA(3) Kapısı Devresi, 3D Helix Sanatsal Temsili Quantum Circuit – Kuantum Devresi Çıkış Installation conda install bilgi::kececilayout -y pip install kececilayout 🔗 PyPI | Conda | GitHub Usage Example with NetworkX import networkx as nx import matplotlib.pyplot as plt import kececilayout as kl G = nx.path_graph(10) pos = kl.kececi_layout( G, primary_spacing=1.0, secondary_spacing=0.5, primary_direction='top_down', secondary_start='right' ) plt.figure(figsize=(6, 8)) nx.draw(G, pos=pos, with_labels=True, node_color='skyblue', node_size=500) plt.title("Kececi Layout with NetworkX") plt.axis('equal') plt.show() Example with iGraph import igraph as ig import matplotlib.pyplot as plt import kececilayout as kl G = ig.Graph.Ring(10, circular=False) # Get the positions using kececi_layout with proper conversion try: # Method 1: Direct conversion pos = kl.kececi_layout(G, primary_direction='left-to-right', secondary_start='up') # If pos is not iterable, it might be returning an error code if not hasattr(pos, '__iter__'): raise TypeError("kececi_layout returned non-iterable object") except (TypeError, AttributeError) as e: print(f"Direct approach failed: {e}") print("Using NetworkX conversion method...") # Method 2: Convert to NetworkX first import networkx as nx nx_graph = nx.Graph() nx_graph.add_nodes_from(range(G.vcount())) nx_graph.add_edges_from(G.get_edgelist()) pos = kl.kececi_layout(nx_graph, primary_direction='left-to-right', secondary_start='up') # Ensure we have proper coordinates if isinstance(pos, dict): # Convert dictionary to list pos_list = [pos[i] for i in range(G.vcount())] else: # Assume it's already a list of coordinates pos_list = pos layout = ig.Layout(pos_list) fig, ax = plt.subplots(figsize=(8, 6)) ig.plot(G, target=ax, layout=layout, vertex_label=[f"N{i}" for i in range(G.vcount())], vertex_size=30, edge_width=2, margin=50) ax.set_title("Keçeci Layout with igraph") ax.set_aspect('equal') plt.show() Example with RustworkX import matplotlib.pyplot as plt from matplotlib.collections import LineCollection # Efficient edge drawing import math import rustworkx as rx import kececilayout as kl import random try: import kececilayout as kl except ImportError: print("Error: 'kececi_layout.py' not found or could not be imported.") print("Please ensure the file containing kececi_layout is accessible.") exit() # --- General Layout Parameters --- LAYOUT_PARAMS = { 'primary_spacing': 1.0, 'secondary_spacing': 0.6, # Make the zigzag noticeable 'primary_direction': 'top_down', 'secondary_start': 'right' } N_NODES = 10 # Number of nodes in the example graph # === Rustworkx Example === try: import rustworkx as rx print("\n--- Rustworkx Example ---") # Generate graph (Path graph) G_rx = rx.generators.path_graph(N_NODES) print(f"Rustworkx graph generated: {G_rx.num_nodes()} nodes, {G_rx.num_edges()} edges") # Calculate layout print("Calculating Keçeci Layout...") # Call the layout function from the imported module pos_rx = kl.kececi_layout(G_rx, **LAYOUT_PARAMS) # print("Rustworkx positions:", pos_rx) # Debug print if needed # Plot using Matplotlib directly (Rustworkx doesn't have a built-in draw) print("Plotting graph using Matplotlib...") plt.figure(figsize=(6, 8)) ax = plt.gca() # Get current axes node_indices_rx = G_rx.node_indices() # Get node indices [0, 1, ...] # Check if all nodes have positions if not all(idx in pos_rx for idx in node_indices_rx): print("ERROR: Rustworkx positions dictionary does not cover all nodes!") # Decide how to handle: exit, plot partial, etc. else: # Draw nodes x_coords_rx = [pos_rx[i][0] for i in node_indices_rx] y_coords_rx = [pos_rx[i][1] for i in node_indices_rx] ax.scatter(x_coords_rx, y_coords_rx, s=700, c='#88CCEE'

Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.

Comment cette classification a été obtenuedéplier

Prédiction machine sur la base complète

Imitation des enseignants

Ni prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.

score de la tête « metaresearch » (Codex)0,001
score de la tête « metaresearch » (Gemma)0,006
Version: metacan-v3-hybrid-931329e0061cStatut de validation: machine_predicted_unvalidated
Catégories candidatesCharge utile insuffisante (le modèle a refusé de juger)
Catégories consensuellesCharge utile insuffisante (le modèle a refusé de juger)
DomaineSignal candidat: aucune · Signal consensuel: aucune
Devis d'étudeSignal candidat: Sans objet · Signal consensuel: Sans objet
GenreSignal candidat: Autre · Signal consensuel: Autre
Score de désaccord entre enseignants0,350
Score d'incertitude au seuil0,499

Scores du classifieur distillé par catégorie (deux têtes)

CatégorieCodexGemma
Métarecherche0,0010,006
Méta-épidémiologie (sens strict)0,0020,001
Méta-épidémiologie (sens large)0,0010,001
Bibliométrie0,0020,002
Études des sciences et des technologies0,0010,001
Communication savante0,0060,005
Science ouverte0,0020,004
Intégrité de la recherche0,0020,002
Charge utile insuffisante (le modèle a refusé de juger)0,6500,481

Scores machine (provisoires)

Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.

Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.

Tête enseignante Opus0,035
Tête enseignante GPT0,258
Écart entre enseignants0,223 · la distance entre les deux têtes enseignantes sur ce seul travail
Statut de validationscore_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découle

Classification

machine, non validée

Prédiction automatique; l’étiquette directe de Gemma et le classifieur distillé Codex s’accordent sur ce qui est montré ici.

Devis d'étudeSans objet
Domainenon disponible
GenreAutre

Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».

En bref

Citations6
Publié2025
Routes d'admission1
Résumé présentoui

Explorer davantage

Même revueZenodo (CERN European Organization for Nuclear Research)Travaux en français237 207