Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

A (one dimensional) cellular automaton is a function1 F : Σ → Σ with the property that there is a K > 0 such that F (x)i depends only on the 2K + 1 coordinates xi−K , xi−K+1, . . . , xi−1, xi, xi+1, . . . , xi+K . A periodic point of σ is any x such that σ^p (x) = x for some p ∈ N, and a periodic point of F is any x such that F^q (x) = x for some q ∈ N. Given a cellular automaton F, a point x ∈ Σ is jointly periodic if there are p, q ∈ N such that σ^p (x) = F^q (x) = x, that is, it is a periodic point under both functions.

This project aims to explore the nature of one-dimensional Cellular Automata, in the hope of finding the structure of cellular automata through its periodic points.

2034 views
License: MIT
ubuntu2004
/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Hewlett-Packard Company makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 *
 *
 * Copyright (c) 1996,1997
 * Silicon Graphics Computer Systems, Inc.
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Silicon Graphics makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 */

#ifndef __SGI_STL_ALGO_H
#define __SGI_STL_ALGO_H

#include <algobase.h>
#include <tempbuf.h>
#include <stl_algo.h>
#include <stl_numeric.h>

#ifdef __STL_USE_NAMESPACES

// Names from <stl_algo.h>
using __STD::for_each; 
using __STD::find; 
using __STD::find_if; 
using __STD::adjacent_find; 
using __STD::count; 
using __STD::count_if; 
using __STD::search; 
using __STD::search_n; 
using __STD::swap_ranges; 
using __STD::transform; 
using __STD::replace; 
using __STD::replace_if; 
using __STD::replace_copy; 
using __STD::replace_copy_if; 
using __STD::generate; 
using __STD::generate_n; 
using __STD::remove; 
using __STD::remove_if; 
using __STD::remove_copy; 
using __STD::remove_copy_if; 
using __STD::unique; 
using __STD::unique_copy; 
using __STD::reverse; 
using __STD::reverse_copy; 
using __STD::rotate; 
using __STD::rotate_copy; 
using __STD::random_shuffle; 
using __STD::random_sample; 
using __STD::random_sample_n; 
using __STD::partition; 
using __STD::stable_partition; 
using __STD::sort; 
using __STD::stable_sort; 
using __STD::partial_sort; 
using __STD::partial_sort_copy; 
using __STD::nth_element; 
using __STD::lower_bound; 
using __STD::upper_bound; 
using __STD::equal_range; 
using __STD::binary_search; 
using __STD::merge; 
using __STD::inplace_merge; 
using __STD::includes; 
using __STD::set_union; 
using __STD::set_intersection; 
using __STD::set_difference; 
using __STD::set_symmetric_difference; 
using __STD::min_element; 
using __STD::max_element; 
using __STD::next_permutation; 
using __STD::prev_permutation; 
using __STD::find_first_of; 
using __STD::find_end; 
using __STD::is_sorted; 
using __STD::is_heap; 

// Names from stl_heap.h
using __STD::push_heap;
using __STD::pop_heap;
using __STD::make_heap;
using __STD::sort_heap;

// Names from <stl_numeric.h>
using __STD::accumulate; 
using __STD::inner_product; 
using __STD::partial_sum; 
using __STD::adjacent_difference; 
using __STD::power; 
using __STD::iota; 

#endif /* __STL_USE_NAMESPACES */

#endif /* __SGI_STL_ALGO_H */

// Local Variables:
// mode:C++
// End: