التصنيفات
كودات بايثون مجموعة ٢

كود بايثون لانتاج جداول سودوكو من ١٠ ارقام

Chameleon by khalifa: سر الشيفرة المتكاملة

مقدمة: سر الشيفرة المتكاملة 🔑

مرحبًا بكم في عالم التشفير! الكود الذي ستجدونه أدناه هو جوهر مشروعنا الفريد Chameleon by khalifa. هذا الكود ليس مجرد أداة عادية، بل هو نظام متكامل تم تصميمه لإنشاء مفاتيح تشفير ورموز فريدة لا يمكن تكرارها، وذلك باستخدام قواعد بسيطة ولكنها قوية للغاية.

كيف يعمل هذا الكود؟

يعتمد الكود على خوارزمية ذكية للغاية تقوم بإنشاء جداول أرقام فريدة بمقاس 10×10. لكن العبقرية الحقيقية تكمن في قدرته على مضاعفة الإنتاج باستخدام طريقة مبتكرة:

  • إنشاء الجدول الأساسي: يستخدم الكود تقنية تسمى “التراجع” (Backtracking) لإنتاج جدول واحد صحيح من الألف إلى الياء.
  • التحويلات السحرية: بعد إنشاء الجدول الأساسي، يقوم الكود تلقائيًا بتطبيق “طريقة الانعكاس” التي اكتشفناها:
    • يعكس الجدول أفقيًا (من اليمين إلى اليسار).
    • يعكس الجدول عموديًا (من الأعلى إلى الأسفل).
    وهكذا، ينتج من كل جدول أساسي 3 جداول نهائية فريدة تمامًا، جاهزة للاستخدام في أنظمة التشفير والأمان.

كيف يمكن الاستفادة من هذه الجداول؟

هذه الجداول ليست مجرد أرقام عشوائية، بل هي أصول رقمية قيمة يمكن استخدامها في مجالات متعددة:

  • للمبتكرين والمطورين: يمكن استخدام كل جدول كبصمة فريدة لإنشاء مفاتيح تشفير قوية، أو كقاعدة لبرمجة أنظمة أمان جديدة تعتمد على تسلسل الأرقام غير القابل للتنبؤ.
  • لصانعي الألعاب والمبرمجين: يمكن تحويل كل جدول إلى لغز منطقي جديد، مثل ألعاب الألغاز الرقمية التي تعتمد على استنتاج الأرقام المفقودة.
  • للفنانين والمصممين: يمكن تحويل تسلسل الأرقام إلى أنماط بصرية فريدة أو أعمال فنية رقمية مولدة.
  • للباحثين في مجال الأمن السيبراني: يمكن استخدام الجداول لاختبار مدى قوة خوارزميات التشفير أو أنظمة الأمان الأخرى.

كيفية زيادة “الإنتاج” بنفسك 📈

لا يقتصر الكود على إنتاج 6 جداول فقط! يمكنك التحكم في كمية الإنتاج بنفسك وبكل سهولة.

1. ابحث في نهاية الكود عن هذا السطر: desired_production = 5

2. قم بتغيير الرقم 5 إلى أي عدد تريده.

  • هذا الرقم يمثل عدد الجداول الأساسية التي سيتم إنتاجها.
  • كل جدول أساسي ينتج 3 جداول نهائية.

مثال: إذا قمت بتغيير desired_production = 5 إلى desired_production = 100، سيقوم الكود بإنتاج 300 جدول فريد لك في ثوانٍ.

الكود

عرض/إخفاء الكود

import numpy as np
import random

# Brand Definition
PROGRAM_NAME = "Chameleon"

def create_initial_grid(size=10):
    grid = np.zeros((size, size), dtype=int)
    grid[0] = np.arange(size)
    return grid

def is_valid(grid, row, col, num):
    for i in range(row):
        if grid[i, col] == num:
            return False
    for j in range(col):
        if grid[row, j] == num:
            return False
    return True

def fill_grid_with_backtracking(grid, row, col, possibilities_counter):
    size = grid.shape[0]
    if row == size - 1 and col == size:
        return True
    if col == size:
        row += 1
        col = 0
    if row == 0:
        return fill_grid_with_backtracking(grid, 0, col + 1, possibilities_counter)
    
    numbers_to_try = list(range(size))
    random.shuffle(numbers_to_try)
    
    remaining_possibilities = 0
    valid_numbers = []
    for num in numbers_to_try:
        if is_valid(grid, row, col, num):
            remaining_possibilities += 1
            valid_numbers.append(num)
    
    if remaining_possibilities == 0:
        return False
    
    possibilities_counter['count'] += remaining_possibilities
    
    for num in valid_numbers:
        grid[row, col] = num
        if fill_grid_with_backtracking(grid, row, col + 1, possibilities_counter):
            return True
        grid[row, col] = 0
    
    return False

def transform_grid(grid, transformation_type):
    if transformation_type == 'reverse_rows':
        return np.fliplr(grid)
    elif transformation_type == 'reverse_cols':
        return np.flipud(grid)
    return grid

def generate_and_check_grids(num_initial_grids):
    final_grids = []
    total_all_possibilities_counter = 0
    
    for i in range(num_initial_grids):
        initial_grid = create_initial_grid()
        possibilities_counter = {'count': 0}
        
        if fill_grid_with_backtracking(initial_grid, 0, 0, possibilities_counter):
            final_grids.append({'grid': initial_grid, 'type': 'أساسي'})
            total_all_possibilities_counter += possibilities_counter['count']
            
            final_grids.append({'grid': transform_grid(initial_grid.copy(), 'reverse_rows'), 'type': 'أفقي عكسي'})
            final_grids.append({'grid': transform_grid(initial_grid.copy(), 'reverse_cols'), 'type': 'عمودي عكسي'})

    for i, item in enumerate(final_grids):
        print(f"\n--- الجدول النهائي رقم {i + 1} ({item['type']}) ---")
        for row in item['grid']:
            print(''.join(map(str, row)))
    
    print("\n" + "="*50)
    print("التقارير النهائية")
    print("="*50)

    total_grids_count = len(final_grids)
    vertical_inverse_count = sum(1 for item in final_grids if item['type'] == 'عمودي عكسي')
    horizontal_inverse_count = sum(1 for item in final_grids if item['type'] == 'أفقي عكسي')
    
    print(f"عدد الجداول المحتملة المتبقية: {total_grids_count} جدول.")
    print(f"منها:")
    print(f"   - {vertical_inverse_count} جدول عمودي عكسي.")
    print(f"   - {horizontal_inverse_count} جدول أفقي عكسي يمين إلى اليسار.")
    print("\n" + "-"*50)
    
    is_unique = True
    for i in range(len(final_grids)):
        for j in range(i + 1, len(final_grids)):
            if np.array_equal(final_grids[i]['grid'], final_grids[j]['grid']):
                print(f"❌ تم العثور على جداول متشابهة: الجدول رقم {i + 1} والجدول رقم {j + 1}")
                is_unique = False
    
    if is_unique:
        print("✅ التحقق من عدم التشابه: كل الجداول فريدة من نوعها.")

    # New report for checking duplicates in rows
    print("\n" + "-"*50)
    print("التحقق من تكرار الأرقام في كل سطر")
    print("-" * 50)
    has_row_duplicates = False
    for i, item in enumerate(final_grids):
        for row_index, row in enumerate(item['grid']):
            unique_numbers = len(np.unique(row))
            if unique_numbers != len(row):
                print(f"❌ يوجد رقم مكرر في السطر {row_index + 1} من الجدول رقم {i + 1}.")
                has_row_duplicates = True
    
    if not has_row_duplicates:
        print("✅ لم يتم العثور على أي أرقام مكررة في أي سطر.")

    print("\n" + "-"*50)
    print(f"إجمالي الاحتمالات التي تم فحصها: {total_all_possibilities_counter} احتمال.")
    print("\n" + "---" * 15)
    print("Chameleon by khalifa")
    print(f"الموقع: infinitycipher.com")
    print("الاحتمالات ستزيد مع كثرة الاستخدام تلقائيا.")
    print("---" * 15)


# Main program execution block
if PROGRAM_NAME == "Chameleon":
    desired_production = 5
    generate_and_check_grids(num_initial_grids=desired_production)

Loading

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *